GithubHelp home page GithubHelp logo

lora-net / lr1110_evk_demo_app Goto Github PK

View Code? Open in Web Editor NEW
17.0 11.0 10.0 133.61 MB

Demonstration application for LR1110 EVK - compatible with transceiver and LoRa Basics Modem-E

C 93.26% C++ 4.33% Assembly 0.16% Makefile 0.07% HTML 0.66% Python 1.52% Shell 0.01%
evaluation-kit lr1110 lora lorawan wifi-scanning gnss-scanning evk

lr1110_evk_demo_app's People

Contributors

matthieuantoine avatar mverdy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lr1110_evk_demo_app's Issues

what does the 'alcsync timestamp' exactly mean?

Hi,
I receive the device data 'alcsync timestamp' from the Semtech Lora cloud (topic in chirpstack AS: '#/integration'). I thought it is the Almanac update date of the Edge Tracker device, but it seems to be different when I checked the recent almanac updated date row in the LoRa Edge config (BLE Android App) .
If it is the timestamp when the device receives satellite coverage, the 'position timestamp' which is included in the 'position solution' element should be the same, but it varies from this 'alcsync timestamp', why is that?!
please see the screenshot (highlighted texts) below:

image

can anyone please help me with this confusion about 'alcsync timestamp' received from Semtech LoRa Cloud Portal?
Regards,
Thangaraj

NAV message payload

Hi,

I can see in the UserManual_LR1110 documentation and in the LR1110_gnss_types.h file that the payload can integrate several information, including pseudo-ranges.
Is there a document that explains how the NAV message payload is built, or a way to extract pseudo-ranges from the payload?

Thank you in advance
Alexis

image
image

lr1110_modem test method

hi,

I have two question.

first, when lr1110 was updated e-modem, how use packet error rate mode ?

lr1110 updated lr1110_modem_1.1.7.h.

so I try to use packet error rate in lr1110_evk_demo_app.

but packet error rate don't operate.

second, when lr1110 updated e-modem, Can I use lr1110_driver("https://github.com/Lora-net/lr1110_driver")?

if updated e-modem lr1110 can use lr1110_driver, how use lr1110_driver?

thank you.

Setup with Keil

Hi,
I am trying to build the app using Keil (version 5.22).
I have the LR1110 Dev Kit with a touch screen LCD.
After cloning the project from the repo, I opened the project in Keil. When I build the project I am getting below errors.

compiling timer_interface_implementation.cpp... Fatal error: C3900U: Unrecognized option '-no-deprecated-register'.

Above Error is for most of the .cpp files and at the end I am getting the below error
linking... .\Objects\lr1110_evk.axf: error: L6002U: Could not open file .\objects\main.o: No such file or directory Finished: 0 information, 0 warning, 0 error and 1 fatal error messages. ".\Objects\lr1110_evk.axf" - 1 Error(s), 0 Warning(s).

Is there a guide or tutorial for compiling and building this Demo Application, I need to add/remove some features using this code as a base.
Apologies If it's too trivial as I am just getting started with the development using this kit.
Any help would be really appreciated.
Regards

Problem with lr1110fieldtest when doing Wifi scan

I wonder if you can help me. I am trying to do a Wifi Scan using the lr1110fieldtest program but it's not working.

My json file looks like this:

> {
>     "infinite_loops": true,
>     "jobs": [
>         {
>             "name": "WiFi Scan",
>             "n_iterations": 1,
>             "reset_before_job_start": false,
>             "wifi_channels": [
>                 "CHANNEL_1",
>                 "CHANNEL_6",
>                 "CHANNEL_11"
>             ],
>             "wifi_types": [
>                 "TYPE_B"
>             ],
>             "wifi_nbr_retrial": 10,
>             "wifi_max_result_per_scan": 5,
>             "wifi_timeout": 110,
>             "wifi_mode": "beacon_and_packet",
>             "wifi_api": "wifi_scan"
>         }
>     ]
> }

(it's based on the supplied jobs.json file)

The logging.log file looks like this:

[2020-11-19 14:03:40.040955] Start
[2020-11-19 14:03:40.043955] Job filename: WiFiScan.json
[2020-11-19 14:03:40.045953] Log filename: testresults\fieldTests_20201119-140339\logging.log
[2020-11-19 14:03:40.047952] Result filename: testresults\fieldTests_20201119-140339\results.res
[2020-11-19 14:03:40.263818] [JobExecutor] Command: CommandGetAlmanacDates: b''
[2020-11-19 14:03:40.264817] [JobExecutor] Response: Almanacs:
0: 574;1: 574;2: 574;3: 574;4: 574;5: 574;6: 574;7: 574;8: 574;9: 574;10: 574;11: 574;12: 574;13: 0;14: 574;15: 574;16: 574;17: 574;18: 574;19: 574;20: 574;21: 574;22: 574;23: 574;24: 574;25: 574;26: 574;27: 574;28: 574;29: 574;30: 574;31: 574;32: 0;33: 0;34: 0;35: 574;36: 0;37: 574;38: 0;39: 574;40: 574;41: 0;42: 574;43: 574;44: 574;45: 574;46: 0;47: 0;48: 574;49: 574;50: 574;51: 0;52: 0;53: 0;54: 0;55: 0;56: 0;57: 0;58: 0;59: 0;60: 0;61: 0;62: 0;63: 0;64: 574;65: 574;66: 574;67: 574;68: 574;69: 574;70: 574;71: 574;72: 574;73: 574;74: 574;75: 574;76: 574;77: 574;78: 0;79: 574;80: 0;81: 0;82: 574;83: 574;84: 574;85: 574;86: 574;87: 574;88: 574;89: 574;90: 574;91: 574;92: 574;93: 574;94: 0;95: 574;96: 574;97: 574;98: 574;99: 574;100: 574;101: 0;102: 0;103: 0;104: 0;105: 0;106: 0;107: 0;108: 0;109: 0;110: 0;111: 0;112: 0;113: 0;114: 0;115: 0;116: 0;117: 0;118: 0;119: 0;120: 0;121: 0;122: 0;123: 0;124: 0;125: 0;126: 0;127: 0
[2020-11-19 14:03:40.267816] [JobExecutor] Almanac ages: {0: 574, 1: 574, 2: 574, 3: 574, 4: 574, 5: 574, 6: 574, 7: 574, 8: 574, 9: 574, 10: 574, 11: 574, 12: 574, 13: 0, 14: 574, 15: 574, 16: 574, 17: 574, 18: 574, 19: 574, 20: 574, 21: 574, 22: 574, 23: 574, 24: 574, 25: 574, 26: 574, 27: 574, 28: 574, 29: 574, 30: 574, 31: 574, 32: 0, 33: 0, 34: 0, 35: 574, 36: 0, 37: 574, 38: 0, 39: 574, 40: 574, 41: 0, 42: 574, 43: 574, 44: 574, 45: 574, 46: 0, 47: 0, 48: 574, 49: 574, 50: 574, 51: 0, 52: 0, 53: 0, 54: 0, 55: 0, 56: 0, 57: 0, 58: 0, 59: 0, 60: 0, 61: 0, 62: 0, 63: 0, 64: 574, 65: 574, 66: 574, 67: 574, 68: 574, 69: 574, 70: 574, 71: 574, 72: 574, 73: 574, 74: 574, 75: 574, 76: 574, 77: 574, 78: 0, 79: 574, 80: 0, 81: 0, 82: 574, 83: 574, 84: 574, 85: 574, 86: 574, 87: 574, 88: 574, 89: 574, 90: 574, 91: 574, 92: 574, 93: 574, 94: 0, 95: 574, 96: 574, 97: 574, 98: 574, 99: 574, 100: 574, 101: 0, 102: 0, 103: 0, 104: 0, 105: 0, 106: 0, 107: 0, 108: 0, 109: 0, 110: 0, 111: 0, 112: 0, 113: 0, 114: 0, 115: 0, 116: 0, 117: 0, 118: 0, 119: 0, 120: 0, 121: 0, 122: 0, 123: 0, 124: 0, 125: 0, 126: 0, 127: 0}
[2020-11-19 14:03:40.269814] [JobExecutor] Command: CommandGetVersion: b''
[2020-11-19 14:03:40.270813] [JobExecutor] Response: Version: software: v1.3.0, LR1110 HW: 0x22, LR1110 FW: 0x0303, almanac crc: 0xa607aeff, chip uid: 00-16-c0-01-f0-00-3e-c5
[2020-11-19 14:03:40.272814] [JobExecutor] Software version: v1.3.0
[2020-11-19 14:03:40.272814] [JobExecutor] LR1110 Hardware version: 0x22
[2020-11-19 14:03:40.273812] [JobExecutor] LR1110 Firmware version: 0x0303
[2020-11-19 14:03:40.277813] [LOG] Execute job #1: [Job WiFi Scan [[WiFi: ['CHANNEL_1', 'CHANNEL_6', 'CHANNEL_11'], ['TYPE_B']]]]
[2020-11-19 14:03:40.278809] [JobExecutor] Configuring...
[2020-11-19 14:03:40.278809] [JobExecutor] Starting...
[2020-11-19 14:03:40.281807] [JobExecutor] Command: CommandStartWifiScan: b'\x01!\x04\x01\n\x05n\x00\x02'
[2020-11-19 14:03:40.281807] [JobExecutor] Response: ResponseStartAck (b'\x01\x00'): Ok
[2020-11-19 14:03:40.282806] [JobExecutor] Waiting for event (timeout: 3.3000000000000003 second(s))...
[2020-11-19 14:03:41.053330] [JobExecutor] Received event. Waited 0:00:00.770524 second(s)
[2020-11-19 14:03:41.053330] [JobExecutor] Fetching results...
[2020-11-19 14:03:41.056330] [JobExecutor] Command: CommandFetchResults: b''
[2020-11-19 14:03:41.138278] [JobExecutor] Response: 5 result(s) to be fetched
[2020-11-19 14:03:41.138278] [EXCEPTION] Communication failure: Unknown command: [2020-11-19 14:03:41.056330] - b'\x81\x00': b"\x0c\xf9\xc0\x03\xbcf\x01\x00\xa9\x00\x00\x00\x00\x8e'\x02\x00\x1a)\x00\x00\xbb_\x00\x00"
[2020-11-19 14:03:41.139279] Remaining message in FIFO: [2020-11-19 14:03:41.059326] - b'\x81\x00': b"\xd8G2\x03na\x06\x00\xde\x00\x00\x00\x00\x8e'\x02\x00\x1a)\x00\x00\xbb_\x00\x00"
[2020-11-19 14:03:41.140277] Remaining message in FIFO: [2020-11-19 14:03:41.060327] - b'\x81\x00': b"4\x8a\xae\x98\x11\xb7\x06\x00\xaf\x00\x00\x00\x00\x8e'\x02\x00\x1a)\x00\x00\xbb_\x00\x00"
[2020-11-19 14:03:41.141278] Remaining message in FIFO: [2020-11-19 14:03:41.062325] - b'\x81\x00': b" G\xed\xd5Q.\x06\x00\xa2\x00\x00\x00\x00\x8e'\x02\x00\x1a)\x00\x00\xbb_\x00\x00"
[2020-11-19 14:03:41.142277] Remaining message in FIFO: [2020-11-19 14:03:41.064324] - b'\x81\x00': b"\xd0X\xfc\x9fH\xfe\x0b\x00\xa7\x00\x00\x00\x00\x8e'\x02\x00\x1a)\x00\x00\xbb_\x00\x00"
[2020-11-19 14:03:42.142659] [LOG] Attempting reset
[2020-11-19 14:03:42.143659] [JobExecutor] Command: CommandReset: b''
[2020-11-19 14:03:42.143659] [JobExecutor] Response: ResponseReset (b'\x04\x00'): Ok
[2020-11-19 14:03:42.145660] [LOG] Terminate job: Job WiFi Scan [[WiFi: ['CHANNEL_1', 'CHANNEL_6', 'CHANNEL_11'], ['TYPE_B']]]

Could someone explain what might be causing the Communication failure exception when the results are being fetched? (The same method for GNSS sniffs is working fine).

Thank you.

Error: Start Host Application during the GNSS Assisted Scan

We have updated LR1110 EVK to Modem-E and flashed the EVK with LR1110 EVK Demo application. The firmware version files used are as follow:

  • Python Host App Software Package : lr1110evk-2.1.0.tar.gz
  • LR1110 Modem Updater File : lr1110_updater_tool_v1.1.0_modem_v1.0.7.bin
  • LR1110 EVK Demo Application : lr1110_evk_demo_app_v2.1.0.bin

While working with the demo application we found some uncertainty in the functionality. During the entire process the device isn’t connected to the LoRaWAN network server.

We performed a WiFi Scan and sent the result to the host application and got location information. In a similar way, we performed GNSS autonomous scan and got location info. After setting the assist locations performed GNSS assisted scan, it was showing an error message “Error Start host application” and in the host application it was showing “Almanac is too old! (>31 days)

image
image

We have updated the almanac and performed the same scans again. While sending the results it shows “Added to stream, See application server” for WiFi and GNSS autonomous scans and “Error Start host application” for GNSS assisted scan on the EVK display. On host application it was showing “Error on serial reading: ''ascii' codec can't decode byte 0x80 in position 0: ordinal not in range(128)'”

image
image
image

Also, while trying to update the almanac for the command tool application for Modem-E (lr1110_modem_command_tool_v1.0.0.bin) we were facing the below issue. Even though we haven’t reset the board while the almanac update, it was showing the same output even after multiple tries.

image

Have a look at above issues and let us know the below information

  1. Could you suggest where we are going wrong?
  2. What does the below errors mean? Generally, when will we get that error?
    a. Error on serial reading: ‘ ‘ascii’ codec can’t decode byte 0x84 in position 0: ordinal not in range(128)’
    b. Error: Start Host Application on LR1110 EVK display during GNSS Assisted scan
  3. Why does the Almanac update fail with modem command tool application? What are the probable reasons for that?
  4. If we use the lora connectivity - Wi-Fi and GNSS Autonomous scan data is added to the stream and being sent to the network server. How can we get the location details??
  5. Before Almanac update and after almanac update what are the changes being made?? As I am able to see the location details directly before the almanac update. But after the almanac update the scan data is being added to the stream.

Not getting LR1110EVK Device Details via UART Interface

I was trying to get the LR1110 EVK Device details such as DEVEUI, APPEUI, DEVICEPIN in two ways

In the LoRa Cloud Device Join Quick start guide it is mentioned that

  1. The device’s EUI and PIN can be found printed on the package.
  2. Retrieving from the device via UART Interface

I am trying to send the commands mentioned in the user manual via UART interface

UART Configuration: COM4, 921600, 8, none, 1

Commands which I am sending are

  1. For DEVEUI I have tried with GetDevEUI, GetDevEUI(), and sending Opcode
  2. For APPEUI I have tried with GetAppEUI, GetAppEUI(), and sending Opcode
  3. For Device pinI have tried with ReadDevicePin , ReadDevicePin(), and sending Opcode

Result/Observation

issue_device_details

Required information:

  1. Can anyone help on this?
  2. Is this the correct way to send commands via UART interface?
  3. If not the correct way, what is the correct way to read the data via the UART interface.

An alternative way which I want to try out is

  1. Calling the API Function which reads the DEVEUI, APPEUI, Device PIN in the application code

can not send negative value as geolocation data, gets parsed as argument

my geolocation starts with -33 (latitude) however Lr1110Demo thinks i'm trying to send an argument.

tried -- -33 and -s-33 and -extra -33 and "-33" and -33 but the geolocation does not get parsed.

how to replicate:

Lr1110Demo -33.xxxx,151.xxxx,100 -33.xxxx,151.xxxx,100 <token 1> <token 2> -r -d /dev/tty.usbmodem14603

Expected behaviour:

geolocation gets parsed correctly

Actual behaviour:

'-' in front of latitude seems to be parsed as token

thanks

Almanac Update failed

I have tried to update the almanac image that is provided to the LR1110 EVK in GNSS assisted mode.

issue_almanac_update_fail

I have got the issue as shown in the above. I have tried to reset the STM32 Nucleo board and reconnected that couldn’t solve the issue.

Can anyone help on this?

Problem with LR1110 control throuh arduino SPI interface

Hi i am trying to use arduino to control LR1110 evk board
I just plug the LR1110 evk board to the arduino, and use arduino to send some SPI data
I send the op code format (like GetVersion) shown on the LR1110 user manual and also receive some data
but i found that the data seems not correct and when i use SetRx command the rx led on evk board did not turned on
so i am not sure it is working well, also during the whole spi transfer the busy pin keep in the low state, according to manual it will turn high when ss pin turn low and ready to start the transfer.

Is there anything i went wrong or missed to do?
thanks for the answering

almanacupdate algorism

I am reviewing lr1110 ev-board at lr1110 gnss assisted function.

this function need to almanac.

but I dont know almanac update algorism at lr1110_evk-master and AlmanacUpdate program.

  1. I want to know almanac update algorism.

  2. I want almanac day check method.

  3. do almanac equal GNSS TOKEN?

please help me.

GNSS solver error [1]: Not enough viewable satellites

Test : GNSS Scanning
Modes tested : GNSS Autonomous and Assisted Modes
Environment : Cloudy

issue_not_enough_satellites_info

Observations:

  1. Got 1-3 satellites found on the LR1110 EVK Display
  2. Got Error from Solver: GNSS Solver error [1]: Not enough viewable satellites on the HOST PC.

Required Information:

  1. Can anyone explain the reason for this behavior?
  2. Any details about that will definitely help us to proceed further

.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.