-
Good morning, I need help. This doesn't happen often, but I wouldn't want you to reset my part. When a message is received it always passes through the function "void RadioIrqProcess( void )" , but when the message arrives in the following decisions: |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Could you check that all Do you observe hard fault interrupts? Examples: LoRaMac-node/src/radio/sx126x/radio.c Lines 1293 to 1296 in fe8247e
LoRaMac-node/src/radio/sx126x/radio.c Lines 1355 to 1358 in fe8247e
LoRaMac-node/src/radio/sx126x/radio.c Lines 1378 to 1381 in fe8247e
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/LmHandler.c Lines 354 to 358 in fe8247e In order to debug your issue maybe you can launch a debug session and set a break point at first statement inside the concerned |
Beta Was this translation helpful? Give feedback.
-
Thanks for the answer! I managed to solve. I put a flag that only calls the following function when lorawan starts: void RadioOnDioIrq( void ) Also when preamble or CRC error occurred, I reset the radio by pin, put a timeout on the SPI and restarted Lorawan. After that, I had no more problems. |
Beta Was this translation helpful? Give feedback.
Could you check that all
RadioEvents_t
callbacks are properly initialized?Do you observe hard fault interrupts?
If yes, most of the time it means that some callback are not properly initialized. However this should not happen as all callbacks execution are protected.
Examples:
IRQ_CRC_ERROR
LoRaMac-node/src/radio/sx126x/radio.c
Lines 1293 to 1296 in fe8247e
IRQ_PREAMBLE_DETECTED
no code is executed when this happensLoRaMac-node/src/radio/sx126x/radio.c
Lines 1355 to 1358 in fe8247e