While testing ble functionalities, I have noticed random resets during advertising operations.
My custom board is defined to make infinite advertising periods ( Flags : BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE, TimeOut: 0).
When I test it at home or in a public place it sometimes resets ( it can take 10 min or even 8 h), however if I test it in a garage or somewhere where there aren't other ble devices, it never resets.
I don't know what can cause the reset because sometimes it works during many hours so it is difficult to debug.
Which SDK and Softdevice version are you using?
Are you using a watchdog? Could you check the RESETREAS register for the reset reason?
Have you tried implementing advertising in intervals? Does the issue still persists?
I'm using SDK S132 v4.0.3. I don't use watchdog but I tried to debug using other methods.
First, writing in a non-volatile variable to save the information after reset.and second,a SDCard which writes when radio_event_handler is on or off and and second
When using the SD error happens in both situations (on and off). The variable in RAM shows the same behaviour although sometimes it gets corrupt.
I also tried with intervals, when it reached BLE_ADV_EVT_IDLE, I used ble_start_advertising to start again.
I tried both fast and slow advertising and the result is the same. The thing is that sometimes you have to wait many hours until reset happens.
Could you read the RESETREAS register after a reset and share your code?
Hi! Just to close this ticket.
I read the RESETREAS register as you suggested, but I also tried to search the main reason for the reset.
Finally, it seems that it is something related with this ticket
I upgraded softdevice s132_nrf52_4.0.3 to softdevice 4.0.5 and I haven't seen the error anymore.
I will continue testing with others version to stay at the most recent/compatible with my program.