Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

ANT Interrupt Priority

Rank

Total Posts: 4

Joined 2018-01-03

PM

Hello,

I've searched through the message board and the documentation, and I couldn't seem to find an answer to my question, so sorry if this has already been answered.

I am using the D52 starter kit and I have an application running on the same processor that is running the ANT protocol. I have a control loop that is very time sensitive and I am seeing that it has a lower priority than the ANT event handler. There is a significant amount of jitter in my control loop - visible when I turn on and off a GPIO pin upon entering and exiting the code. My control loop is triggered through the RTC. If I vary the priority of my control loop function from 0-7, I do not see a change in the jitter. The only way I have found to get rid of the jitter is to disable ANT altogether.

My question is: how can I set the priority of the ANT events with respect to the priority of my control interrupt?

I have looked through the config settings and I thought I might have success modifying the NRF_SDH_ANT_STACK_OBSERVER_PRIO, although when I lowered this priority - the jitter remained. Here is the description given for this setting:

"This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC."

I'm new to this protocol and relatively inexperienced in embedded programming, so please excuse if my description of the problem is unclear.

Thank you for any guidance you can provide!      
Avatar
RankRankRankRank

Total Posts: 745

Joined 2012-09-14

PM

Unfortunately, the application will always have lower priority than the SoftDevice, you'll have to time your operation in-between SoftDevice activity points. You can find more details on the interrupt model here.