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

Best way to minimize NRF_ANT_ERROR_TRANSFER_IN_PROGRESS

What is the best way to minimize transfer in progress errors when trying to send ANT messages? I am using the S310 stack on an nRF51422. I have a busy ANT channel that is sending messages at 4hz and then every once in a while also sending an out of band acknowledged message in response to a user action. I frequently get NRF_ANT_ERROR_TRANSFER_IN_PROGRESS values returned.

I've tried writing a small retry loop checking sd_ant_channel_in_progress(...) before sending, but I have to set the retries fairly high before it returns and I don't like the idea of blocking for all the retries, so this doesn't seem to be the right approach.

I'm thinking I should possibly use the scheduler implementation similar to how SOFTDEVICE_HANDLER_INIT works with receiving messages via app_sched_event_put? Before I go redesigning the wheel, I wanted to check and see if there is a best practice here?

Related