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

app_timer on app_evt_wait - fails / failing / bugging out / cancelling

In moving to the "rev-2 51422 silicon, we find that the app_timer inevitably fails after minutes to several hours. Power requirement moves from about .002ma to 4.5ma then stays there. Prior silicon did not have this problem.

The same routine is called via the handler on every interval. As discovered, we removed ALL instructions in the handler routine - the event timer still fails.

No other instructions are contained in the main where the app_timer is called.

while (forever) app_evt_wait();

a. Is this a known problem? b. why is it not noted in the PAN c. is there a solid fix that will keep it from failing?

tks!

Parents
  • Hi,

    Sorry for the late response. I was wondering if you had an update regarding the initial problem?

    1. You mention that you look at the current consumption to verify that the timeout handler is not running properly. Are you sure that this is the case? If a function fails, a timeout handler can be finished in the matter of clock cycles (depending on what you call) and may be hard to catch by looking at the current consumption. A better alternative is to toggle a LED in the timeout handler to verify that it's running. Could you verify this?

    2. There are several error_handlers in our ANT examples, like "app_error_handler" / "softdevice_assert_callback". Are you sure that you're not stuck in one of these handlers?

    3. Are you stopping / starting your app_timer instances in your application?

    4. Could you verify which version of the SDK you are using?

    Regarding the usage of the ADC, this is a open peripheral and can be accessed directly by the application and should not give any issues unless it's combined with the PPI peripheral (which is accessible via the nrf_soc library)

    Best regards Håkon

Reply
  • Hi,

    Sorry for the late response. I was wondering if you had an update regarding the initial problem?

    1. You mention that you look at the current consumption to verify that the timeout handler is not running properly. Are you sure that this is the case? If a function fails, a timeout handler can be finished in the matter of clock cycles (depending on what you call) and may be hard to catch by looking at the current consumption. A better alternative is to toggle a LED in the timeout handler to verify that it's running. Could you verify this?

    2. There are several error_handlers in our ANT examples, like "app_error_handler" / "softdevice_assert_callback". Are you sure that you're not stuck in one of these handlers?

    3. Are you stopping / starting your app_timer instances in your application?

    4. Could you verify which version of the SDK you are using?

    Regarding the usage of the ADC, this is a open peripheral and can be accessed directly by the application and should not give any issues unless it's combined with the PPI peripheral (which is accessible via the nrf_soc library)

    Best regards Håkon

Children
No Data