This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE Mesh App_timer stops after few minutes of work

Hello
I've noted some problems when try to use the app_timer in repeat mode with a tick time <= 100ms.
I see that the BLE Mesh SDK sets the RTC1.CC[0] compare register in order to achieve the minor "tick time" among all app timers running instances.
With such compare time, i've found that after few minutes, the RTC1.CC[0] compare register stops, while the RCT.COUNTER is still running.
So, the RTC1.EVENTS_COMPARE[0] flag is not setted and consequently all the app timers aren't updated inside RTC1_IRQHandler.
The RTC1.CC[0] compare register restarts when the RTC.COUNTER register return to the same value of the RTC1.CC[0] register had when it stop.

I'm using the nRF5_SDK_15.2.0 and the SDKforMeshv300 with s140_nrf52_6.1.1_softdevice

Please help.

Parents
  • Hi, I'm a Lucio's co-worker.
    I' think that the issue is about interrupt priorities after the mesh_stack_start() call.

    I've instantiated an 10ms tick app_timer in repeat mode and I've monitored it with a spy pin inside timer tick handler.
    As you can see in the attached picture, the 10ms tick is jittering and there are many "holes": maybe the system is busy with another higher priority task.

    After few minutes, all the app_timer instances stop working.

    Please help. We are in prodution!

Reply
  • Hi, I'm a Lucio's co-worker.
    I' think that the issue is about interrupt priorities after the mesh_stack_start() call.

    I've instantiated an 10ms tick app_timer in repeat mode and I've monitored it with a spy pin inside timer tick handler.
    As you can see in the attached picture, the 10ms tick is jittering and there are many "holes": maybe the system is busy with another higher priority task.

    After few minutes, all the app_timer instances stop working.

    Please help. We are in prodution!

Children
Related