Giter VIP home page Giter VIP logo

lora_stm32's People

Contributors

dragino avatar engineer-lin avatar goodcheney avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar

lora_stm32's Issues

Digital interrupt: door closed to many payload uplinks

With the following settings: LSN50, firmware=1.6.2, MOD=1, INMOD=1, TDC=900000 I get the following uploads:

  • When the door is open I get an upload to TTN every 15 minutes ( as expected)
  • When the door is closed I get an upload every 3 or 5 seconds ( That is not what I expect)
    Why this high upload frequency by the door closed (This gives a battery drain)??

The second problem is: I see a download on port 0 after every upload???? why a download?

Firmware shamelessly draining battery when using DS18B20

I am convinced that using a DS18B20 with this firmware will drain the battery in a record time, I doubt the 10 years claim.

The DS18B20_GetTemp_SkipRom() function calls DelayMs(750) which shamelessly runs the processor on NOP at full power for the entire duration of the sensor conversion time. While waiting for the sensor reading, firmware should make use of one of the processor's low-power mode.

See page 15 https://www.st.com/resource/en/datasheet/stm32l072v8.pdf
The "Low Power Run" mode seems to be a good candidate at 8 uA and 3 usec wakeup time to normal run mode.

Change default region and customizing payload data

Hello everyone, i'm currently doing a project that require me to customize the payload format, but as far as i know i need to change the default region to asian region, how can i set the default region in the source code? and does changing the AppData variable will automatically converted to the desired payload format in HEX format? or do i need to convert it myself? i'm quite new to this, thanks

is there an alternative compiler to keil?

Hi,

I wanted to compile the firmware with the defines REGION_EU868 and USE_SHT20 in keil uVision 5. But due to limitations of the demo version I'm not able to compile the .hex file. My File is around 50 kbytes of the allowed 32 kbytes.
Could you please:

  • upload a ready compiled firmeware with REGION_EU868 and USE_SHT20 with active LPP_CAYENNE payload format

  • give me a recommondation for a free and unlimited substitution of keil. How about openstm32?

Thank you very much in advance.

Originally posted by @phisch92 in #2 (comment)

DS18B20 reports 0ºC when unable to read

I'm using the LSN50 in work mode 4 to report values from multiple DS18B20 sensors. This works well; I'm currently running about 20 nodes with 2 sensors each. However, occasionally something goes wrong in one of the nodes which causes it to malfunction. At the moment, when the LSN50 is unable to read the value from the sensor, it reports it as being 0x0000, or 0ºC. This is not really helpful as it could easily be a realistic value. I think it would be much better if it would report such as case with a value of 0x8000 (the lowest possible value that an int16 can take), This would equal -3276.8ºC, which is much lower than absolute zero and therefore impossible in a real measurement.

This would enable me to determine whether a sensor is malfunctioning much more easily, discard the measurements so they don't mess up my graphs, and send an alert that a repair is required.

can't connect/join the dragino LG01-N with ST AT command region AS923

Hello, I tried to compile the EWARM project for ST module (CMWX1ZZABZ murata module with STM32 inside) AS923 version by defining the correct define but there is error at compilation level. So I decided to give a try to the hex files provided -> I programmed the hex file for 923 region, seems OK I have a welcome message. But right after the welcome message (version xxx showing + device EUI) then immediately the module sends data 2 times and I dont know what for (2 Tx messages are showing). Anyway I configure then in single frequency with AT+CHS command on 923400000 Mhz (same as the dragino gateway), I also configure OTAA join mode, I make sure the APPKEY/DEVEUI/APPEUI are same as on TTN, but I cannot see a succesfull join command on my side, I cannot see any data received on the 'logread' of the dragino and I can't see anything on the TTN console.
Have you encountered the same issues? Anything I may have missed?
Thanks.

Developments for new sensors

I have implemented the drivers for the Melexis IR sensor MLX90614:

https://github.com/OpenAgriTech/LoRa_STM32/tree/MLX90614

At the moment, if detected, it is reported instead of the SHT Air Temperature and Humidity.

Are there any guidelines or protocols for new sensor developments?

Also, I am sure that the repository is out of sync with the current Firmware Version from Dragino (2021-03-02) while the latest commit is from Nov 2020.

Build with STM32CubeIDE

Is there a chance the firmware project will be ported to STM32CubeIDE (or any other GNU Arm embedded toolchain)?
I tried it on my own and the project builds, but it hangs somewhere at runtime.

AT+INTMOD=x causes WD reset - FIXED

Hi,

I noticed that I was unable to set the interrupt mode with the AT+INTMOD=x command on devices with FW-1.7.2.

The issue appeared to be in at.c#1359 where the uint8_t caused the misery. Replacing with int appears to fix the issue. Not familiar enough with the environment to find if there is a compiler directive I should have set.

ATEerror_t at_INTMOD_set(const char *param) {
//	uint8_t interrputmode;
	int interrputmode;
	if (tiny_sscanf(param, "%d", &interrputmode) != 1) {
		return AT_PARAM_ERROR;
	}

There are several other commands that have the same issue: CHE, RPL...

Environment:
OS: MacOS 11.6.7
IDE: STM32CubeIDE Version: 1.10.0
Toolkit: GNU Tools for STM32 (10.3-2021.10)

Cheers,

Erwin

Sw4STM32

Hi,

First of all thnx!

I successfully created the firmware with keil uVision 5, but i only have i trial license. I followed the manual. (http://wiki.dragino.com/index.php?title=LoRa_Sensor_Node-LSN50) Is it also possible to build with Sw4stm32? I tried importing the project, but no success. Can you help me?

I look forward to hearing from you soon.

AU915 Channel selection not working

@engineer-lin, @goodcheney @dragino
Hi , I have been having trouble with AU915 and selecting Channels 1-8, instead 9-16 are chosen. There seems to be some sort of bug. Are you able to have a look at this and help?

▒No I2C device detected

LSN50 Device
Image Version: v1.6.4
LoRaWan Stack: DR-LWS-003
Frequency Band: AU915
DevEui= A8 40 41 83 41 82 1D 20

[1121]***** UpLinkCounter= 0 *****
[1122]TX on freq 917500000 Hz at DR 6
[1155]txDone
[6142]RX on freq 923900000 Hz at DR 13
[6166]rxTimeOut
[7158]RX on freq 923300000 Hz at DR 8
[7161]rxTimeOut

[8157]***** UpLinkCounter= 0 *****
[8158]TX on freq 916000000 Hz at DR 0
[9645]txDone
[14648]RX on freq 925700000 Hz at DR 8
[14942]rxDone
Rssi= -52
JOINED

Join Accept:
DevAddr:26 04 2e 40
Rx1DrOffset:0
Rx2Datarate:8
ReceiveDelay1:1000 ms
ReceiveDelay2:2000 ms

[16705]***** UpLinkCounter= 0 *****
[16706]TX on freq 915200000 Hz at DR 2
[17082]txDone
[18072]RX on freq 923300000 Hz at DR 10

ADR Message:
ChannelsMask change to ff00 0000 0000 0000 0002 0000
TX Datarate 2 change to 4
TxPower 0 change to 5
NbRep 1 change to 1

[18176]rxDone
Rssi= -48
AT+CHE=?
1
915.2 915.4 915.6 915.8 916.0 916.2 916.4 916.6

OK

ATZ
▒No I2C device detected

LSN50 Device
Image Version: v1.6.4
LoRaWan Stack: DR-LWS-003
Frequency Band: AU915
DevEui= A8 40 41 83 41 82 1D 20

[1121]***** UpLinkCounter= 0 *****
[1122]TX on freq 917500000 Hz at DR 6
[1155]txDone
[6142]RX on freq 923900000 Hz at DR 13
[6166]rxTimeOut
[7158]RX on freq 923300000 Hz at DR 8
[7161]rxTimeOut

[8157]***** UpLinkCounter= 0 *****
[8158]TX on freq 916000000 Hz at DR 0
[9645]txDone
[14648]RX on freq 925700000 Hz at DR 8
[14708]rxTimeOut
[15648]RX on freq 923300000 Hz at DR 8
[15651]rxTimeOut

[156496]***** UpLinkCounter= 0 *****
[156498]TX on freq 917500000 Hz at DR 6
[156530]txDone
[161517]RX on freq 923900000 Hz at DR 13
[161541]rxTimeOut
[162533]RX on freq 923300000 Hz at DR 8
[162536]rxTimeOut

[163533]***** UpLinkCounter= 0 *****
[163535]TX on freq 915800000 Hz at DR 0
[165021]txDone
[170024]RX on freq 925100000 Hz at DR 8
[170318]rxDone
Rssi= -51
JOINED

Join Accept:
DevAddr:26 04 2f fc
Rx1DrOffset:0
Rx2Datarate:8
ReceiveDelay1:1000 ms
ReceiveDelay2:2000 ms

[172081]***** UpLinkCounter= 0 *****
[172082]TX on freq 916600000 Hz at DR 2
[172458]txDone
[173448]RX on freq 927500000 Hz at DR 10

ADR Message:
ChannelsMask change to ff00 0000 0000 0000 0002 0000
TX Datarate 2 change to 5
TxPower 0 change to 5
NbRep 1 change to 1

[173552]rxDone
Rssi= -49
AT

OK

AT+INTMOD=1

OK

[472005]***** UpLinkCounter= 1 **


[472006]TX on freq 918200000 Hz at DR 5
1

OK
[472078]txDone
[473066]RX on freq 927500000 Hz at DR 13
[473090]rxTimeOut
[474081]RX on freq 923300000 Hz at DR 8
[474083]rxTimeOut

[491335]***** UpLinkCounter= 2 *****
[491336]TX on freq 917200000 Hz at DR 5
[491403]txDone
[492391]RX on freq 924500000 Hz at DR 13
[492416]rxTimeOut
[493406]RX on freq 923300000 Hz at DR 8
[493409]rxTimeOut

[498771]***** UpLinkCounter= 3 *****
[498772]TX on freq 917600000 Hz at DR 5
[498838]txDone
[499827]RX on freq 925700000 Hz at DR 13
[499851]rxTimeOut
[500841]RX on freq 923300000 Hz at DR 8
[500844]rxTimeOut
AT+CHE=?
1
915.2 915.4 915.6 915.8 916.0 916.2 916.4 916.6

OK

[523896]***** UpLinkCounter= 4 *****
[523897]TX on freq 917800000 Hz at DR 5
[523963]txDone
[524952]RX on freq 926300000 Hz at DR 13
[524976]rxTimeOut
[525966]RX on freq 923300000 Hz at DR 8
[525969]rxTimeOut

[535683]***** UpLinkCounter= 5 *****
[535684]TX on freq 918000000 Hz at DR 5
[535750]txDone
[536739]RX on freq 926900000 Hz at DR 13
[536763]rxTimeOut
[537753]RX on freq 923300000 Hz at DR 8
[537756]rxTimeOut

[543751]***** UpLinkCounter= 6 *****
[543752]TX on freq 917000000 Hz at DR 5
[543819]txDone
[544807]RX on freq 923900000 Hz at DR 13
[544832]rxTimeOut
[545822]RX on freq 923300000 Hz at DR 8
[545825]rxTimeOut
▒No I2C device detected

LSN50 Device
Image Version: v1.6.4
LoRaWan Stack: DR-LWS-003
Frequency Band: AU915
DevEui= A8 40 41 83 41 82 1D 20

[1121]***** UpLinkCounter= 0 *****
[1122]TX on freq 917500000 Hz at DR 6
[1155]txDone
[6142]RX on freq 923900000 Hz at DR 13
[6166]rxTimeOut
[7158]RX on freq 923300000 Hz at DR 8
[7161]rxTimeOut

[8157]***** UpLinkCounter= 0 *****
[8158]TX on freq 916400000 Hz at DR 0
[9645]txDone
[14648]RX on freq 926900000 Hz at DR 8
[14708]rxTimeOut
[15648]RX on freq 923300000 Hz at DR 8
[15651]rxTimeOut
▒No I2C device detected

LSN50 Device
Image Version: v1.6.4
LoRaWan Stack: DR-LWS-003
Frequency Band: AU915
DevEui= A8 40 41 83 41 82 1D 20

[1121]***** UpLinkCounter= 0 *****
[1122]TX on freq 917500000 Hz at DR 6
[1155]txDone
[6142]RX on freq 923900000 Hz at DR 13
[6166]rxTimeOut
[7158]RX on freq 923300000 Hz at DR 8
[7161]rxTimeOut

[8157]***** UpLinkCounter= 0 *****
[8158]TX on freq 915600000 Hz at DR 0
[9645]txDone
[14648]RX on freq 924500000 Hz at DR 8
[14944]rxDone
Rssi= -50
JOINED

Join Accept:
DevAddr:26 00 18 6a
Rx1DrOffset:0
Rx2Datarate:8
ReceiveDelay1:1000 ms
ReceiveDelay2:2000 ms

[16706]***** UpLinkCounter= 0 *****
[16707]TX on freq 916200000 Hz at DR 2
[17083]txDone
[18073]RX on freq 926300000 Hz at DR 10

ADR Message:
ChannelsMask change to ff00 0000 0000 0000 0002 0000
TX Datarate 2 change to 5
TxPower 0 change to 5
NbRep 1 change to 1

[18177]rxDone
Rssi= -50

[56617]***** UpLinkCounter= 1 *****
[56618]TX on freq 918200000 Hz at DR 5
[56689]txDone
[57677]RX on freq 927500000 Hz at DR 13
[57702]rxTimeOut
[58692]RX on freq 923300000 Hz at DR 8
[58695]rxTimeOut

[64125]***** UpLinkCounter= 2 *****
[64126]TX on freq 916800000 Hz at DR 5
[64193]txDone
[65181]RX on freq 923300000 Hz at DR 13
[65206]rxTimeOut
[66196]RX on freq 923300000 Hz at DR 8
[66199]rxTimeOut
▒No I2C device detected

LSN50 Device
Image Version: v1.6.4
LoRaWan Stack: DR-LWS-003
Frequency Band: AU915
DevEui= A8 40 41 83 41 82 1D 20

[1121]***** UpLinkCounter= 0 *****
[1122]TX on freq 917500000 Hz at DR 6
[1155]txDone
[6142]RX on freq 923900000 Hz at DR 13
[6166]rxTimeOut
[7158]RX on freq 923300000 Hz at DR 8
[7161]rxTimeOut

[8157]***** UpLinkCounter= 0 *****
[8158]TX on freq 916200000 Hz at DR 0
[9645]txDone
[14648]RX on freq 926300000 Hz at DR 8
[14708]rxTimeOut
[15648]RX on freq 923300000 Hz at DR 8
[15651]rxTimeOut
▒No I2C device detected

LSN50 Device
Image Version: v1.6.4
LoRaWan Stack: DR-LWS-003
Frequency Band: AU915
DevEui= A8 40 41 83 41 82 1D 20

[1121]***** UpLinkCounter= 0 *****
[1122]TX on freq 917500000 Hz at DR 6
[1155]txDone
[6142]RX on freq 923900000 Hz at DR 13
[6166]rxTimeOut
[7158]RX on freq 923300000 Hz at DR 8
[7161]rxTimeOut

[8157]***** UpLinkCounter= 0 *****
[8158]TX on freq 915600000 Hz at DR 0
[9645]txDone
[14648]RX on freq 924500000 Hz at DR 8
[14931]rxDone
Rssi= -51
JOINED

Join Accept:
DevAddr:26 00 25 59
Rx1DrOffset:0
Rx2Datarate:8
ReceiveDelay1:1000 ms
ReceiveDelay2:2000 ms

[16005]***** UpLinkCounter= 0 *****
[16006]TX on freq 916000000 Hz at DR 2
[16382]txDone
[17373]RX on freq 925700000 Hz at DR 10

ADR Message:
ChannelsMask change to ff00 0000 0000 0000 0002 0000
TX Datarate 2 change to 5
TxPower 0 change to 5
NbRep 1 change to 1

[17477]rxDone
Rssi= -50

[27354]***** UpLinkCounter= 1 *****
[27355]TX on freq 918200000 Hz at DR 5
[27426]txDone
[28415]RX on freq 927500000 Hz at DR 13
[28439]rxTimeOut
[29429]RX on freq 923300000 Hz at DR 8
[29432]rxTimeOut

[40209]***** UpLinkCounter= 2 *****
[40210]TX on freq 917000000 Hz at DR 5
[40277]txDone
[41265]RX on freq 923900000 Hz at DR 13
[41290]rxTimeOut
[42280]RX on freq 923300000 Hz at DR 8
[42283]rxTimeOut

[69893]***** UpLinkCounter= 3 *****
[69894]TX on freq 917600000 Hz at DR 5
[69960]txDone
[70949]RX on freq 925700000 Hz at DR 13
[70973]rxTimeOut
[71963]RX on freq 923300000 Hz at DR 8
[71966]rxTimeOut

[77393]***** UpLinkCounter= 4 *****
[77394]TX on freq 917800000 Hz at DR 5
[77460]txDone
[78449]RX on freq 926300000 Hz at DR 13
[78473]rxTimeOut
[79463]RX on freq 923300000 Hz at DR 8
[79466]rxTimeOut

[81757]***** UpLinkCounter= 5 *****
[81758]TX on freq 918000000 Hz at DR 5
[81825]txDone
[82813]RX on freq 926900000 Hz at DR 13
[82837]rxTimeOut
[83828]RX on freq 923300000 Hz at DR 8
[83831]rxTimeOut

[87377]***** UpLinkCounter= 6 *****
[87378]TX on freq 917400000 Hz at DR 5
[87445]txDone
[88433]RX on freq 925100000 Hz at DR 13
[88458]rxTimeOut
[89448]RX on freq 923300000 Hz at DR 8
[89451]rxTimeOut

[97278]***** UpLinkCounter= 7 *****
[97279]TX on freq 916800000 Hz at DR 5
[97345]txDone
[98333]RX on freq 923300000 Hz at DR 13
[98358]rxTimeOut
[99348]RX on freq 923300000 Hz at DR 8
[99351]rxTimeOut

[104005]***** UpLinkCounter= 8 *****
[104006]TX on freq 917200000 Hz at DR 5
[104073]txDone
[105061]RX on freq 924500000 Hz at DR 13
[105085]rxTimeOut
[106076]RX on freq 923300000 Hz at DR 8
[106079]rxTimeOut

[109757]***** UpLinkCounter= 9 *****
[109758]TX on freq 916800000 Hz at DR 5
[109825]txDone
[110813]RX on freq 923300000 Hz at DR 13
[110837]rxTimeOut
[111828]RX on freq 923300000 Hz at DR 8
[111831]rxTimeOut

[118388]***** UpLinkCounter= 10 *****
[118390]TX on freq 917200000 Hz at DR 5
[118456]txDone
[119444]RX on freq 924500000 Hz at DR 13
[119468]rxTimeOut
[120458]RX on freq 923300000 Hz at DR 8
[120461]rxTimeOut

[128723]***** UpLinkCounter= 11 *****
[128725]TX on freq 917800000 Hz at DR 5
[128791]txDone
[129779]RX on freq 926300000 Hz at DR 13
[129803]rxTimeOut
[130793]RX on freq 923300000 Hz at DR 8
[130796]rxTimeOut

[176679]***** UpLinkCounter= 12 *****
[176681]TX on freq 918200000 Hz at DR 5
[176747]txDone
[177735]RX on freq 927500000 Hz at DR 13
[177759]rxTimeOut
[178750]RX on freq 923300000 Hz at DR 8
[178752]rxTimeOut

[191764]***** UpLinkCounter= 13 *****
[191766]TX on freq 917000000 Hz at DR 5
[191832]txDone
[192820]RX on freq 923900000 Hz at DR 13
[192844]rxTimeOut
[193834]RX on freq 923300000 Hz at DR 8
[193837]rxTimeOut
AT+CHE=?
1
915.2 915.4 915.6 915.8 916.0 916.2 916.4 916.6

OK

[316694]***** UpLinkCounter= 14 *****
[316696]TX on freq 918000000 Hz at DR 5
[316761]txDone
[317750]RX on freq 926900000 Hz at DR 13
[317774]rxTimeOut
[318764]RX on freq 923300000 Hz at DR 8
[318767]rxTimeOut

AT commads stoped working

Hi,

after sucessfully compiling the firmware (V1.3) for the LSN50 I'm facing another issue.
The Board is not responding to any AT Commands. If I upload any of the privided .hex-files it works again.
So the Problem has to be somewhere in the compiling process. Do I have to avticate any code? I looked through but found only the possibility to active AT+SEND and AT+SENDB but it is neither reacting. For the terminal program I'm using hterm.

Thank you for any hints

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.