Skip to content

RX1 window Timer event never reached #38

@slavendam

Description

@slavendam

Describe the bug
endPacket() is never finished after 4:40h of properly working. I've tested 3 times and it blocked at same time (4:40h).
2 times with 10min sending period between (both times it blocked at counter 29) and once tested with 5min sending period (same time period passed, but now it blocked on counter 57).
I did debugging by adding multiple print logs in header files.

Sending is done successfuly, message arrives on gateway - and than it stops, like it is in infinite loop.
RX1 window should be opened, but it seems that this part is never done.
After LoRaMacProcess() function is done once (for sending), function OnRxWindow1TimerEvent() should be called - but it is never called.

I'm using RAK3172 module, EU868 region.
I'm using STM32 Low Power library to send device in DeepSleep, and I'm using RTC Alarm timed wakeup.
Even if it is stuck between TX and RX windows, this alarms work properly (I can see alarm triggers later).
I tried to disable DeepSleep and alarms, and use delay instead, but result is the same.

Transmitted payload has 6 bytes.

  • OS: Windows
  • Arduino IDE version: 2.2.1
  • STM32 core version: 2.7.1
  • Library version: 0.2.0
  • Upload method: Serial
  • Board Name: RAK3172 (without TXCO)

To Reproduce
Set device to send messages every 10min and wait for 29th message. Or set with 5min time period and wait for 57th message.
That last message will be transmitted, endPacket() function will not be finished.

Expected behavior
This is part of logs how it should looks like when it works correctly (note that 2nd section is missing later):

LoRaMacProcess 1 LoRaMacHandleIrqEvents 1 LoRaMacHandleIrqEvents 2 ProcessRadioTxDone ... TIMER_IF_StartTimer Start timer: time=4154841, alarm=4156109 GetTimerTicks 1 GetTimerTicks 2: -4154845, 4154844 TIMER_IF_GetTimerElapsedTime: 6 TIMER_IF_GetTime GetTimerTicks 1 GetTimerTicks 2: -4154847, 4154846 TIMER_IF_BkUp_Read_MSBticks LoRaMacProcess 2 LoRaMacProcess 3 LoRaMacProcess 13 LoRaMacProcess 14 TIMER_IF_SetTimerContext GetTimerTicks 1 GetTimerTicks 2: -4156110, 4156109 OnRxWindow1TimerEvent RxWindowSetup 1 RxWindowSetup 2 RxWindowSetup 3 GetTimerTicks 1 GetTimerTicks 2: -4156114, 4156113 TIMER_IF_GetTimerElapsedTime: 4 GetTimerTicks 1 GetTimerTicks 2: -4156116, 4156115 TIMER_IF_GetTimerElapsedTime: 6 GetTimerTicks 1 GetTimerTicks 2: -4156118, 4156117 TIMER_IF_GetTimerElapsedTime: 8 GetTimerTicks 1 GetTimerTicks 2: -4156120, 4156119 TIMER_IF_StartTimer Start timer: time=4156119, alarm=4156371 OnRadioRxTimeout OnMacProcessNotify ... [logs continue] 

This is log when it stopped:

LoRaMacProcess 1 LoRaMacHandleIrqEvents 1 LoRaMacHandleIrqEvents 2 ProcessRadioTxDone ... TIMER_IF_StartTimer Start timer: time=4308483, alarm=4309750 GetTimerTicks 1 GetTimerTicks 2: -4308487, 4308486 TIMER_IF_GetTimerElapsedTime: 6 TIMER_IF_GetTime GetTimerTicks 1 GetTimerTicks 2: -4308489, 4308488 TIMER_IF_BkUp_Read_MSBticks LoRaMacProcess 2 LoRaMacProcess 3 LoRaMacProcess 13 LoRaMacProcess 14 [logs stopped] 

Has anyone had the same problem, or do you have idea about possible solution?

Thanks!

Metadata

Metadata

Assignees

Labels

bug 🐛Something isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions