Frank:

I am not an expert on the stm32 but I think I can answer some of the
questions here. I did not look at the links you posted so maybe more
information is in there so I apologize for that. I do not think there is
any particular rhyme nor reason as to which timers are used and defined. I
took a quick look at the stm code and it does appear that the timers you
mentioned could be used; they just need to be defined. I seem to recall
that not all MCU variants implement all the various timers so that is the
first place I would look to make sure.

As for the crash, it has been a long time since I looked at the lora code.
Did you dump the contents of TxTimeoutTimer? Is the bsp_timer pointer set
to NULL in that struct? I guess I am wondering if the crash is caused by
the timer struct that gets passed into hal_timer_stop or that the timer is
not initialized properly.

Finally, my recollection of the multiple hal_timer_init() calls is that the
timer can be stopped and started to save power. This is called by
lora_enter_low_power() and low_exit_low_power(). You could see if turning
off low power mode temporarily fixes the issue (simply hack the code to do
nothing in the low power functions). In any event, you should keep the call
to hal_timer_init in the stm periph code since the timer should be
initialized by the creation code.

I realize the above might not help all that much but I think once you
determine what is causing the crash (bad parameter to underlying timer not
initialized correctly) you should be able to determine root cause.

If you have further issues let me know and I can see if I can help more.

Will

Reply via email to