I'm working on a BTLE application using cc2540.
My application communicates with another mcu via a UART at 115.2 kbps. I have noticed that some system activity is causing bytes to be dropped in the uart communication. Specifically the UART communication works flawlessly when the radio is disabled, and fails when the RF link is up. From this I theorize that the RF communication is disabling interrupts and disrupting the UART communication.
Since I can control when the UART communication happens I would like to synchronize my uart event so that it occurs shortly before the RF event.
I noticed in hal_sleep.c there is a undocumented routine that has the approximate function:
// get LL timeout value already converted to 32kHz ticks
LL_TimeToNextRfEvent( &sleepTimer, &llTimeout );
I would prefer not to use an undocumented function and also it would be preferable to have the time in mS instead of 32kHz ticks.
Does any routine exist in the provided API's that will indicate the time to next RF event in milliseconds?