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!

  • Note: We're still seeing a like behavior with the timer. We might also note that now (10 hours) on two occasions, the timer quits "ticking" and the timeout does not appear to trigger interrupt. We're watching on spec analyzer (for ant) and hp dmm on current draw. We expect to see "cycles" every 5 seconds. As the current draw reports no changes, we expect that the timeout is not occurring. tks!

  • Response??? Is there an alternative that would give us "equivalent" power efficiency that could replace the app_timer? Examples?

  • 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

  • I'm sorry for the late response. I've updated one of my first post with more questions based upon the information that you've recently posted.

    I was wondering if you had an update about the initial issue? If you still have issues, could you create a support case where you link to this devzone entry and include answers for the four questions I posted in my first answer?

  • 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)

Related