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

nRF51922 - Channel Collision Between Ant and BLE Stack

Hello,

When the Ant stack want to transmit a packet while the BLE stack is using the radio, an event called EVENT_CHANNEL _COLLISION will be returned, is that correct?

On the other hand, when the BLE stack want to transmit a packet while the Ant stack is using the radio, the BLE stack will retry at next connection time, is that correct?

Thank you! Joseph

Parents
  • Hi

    As stated in the S310 Softdevice Specification v0.7, there is no configuration or consideration required from the application developer to operate the protocols concurrently. There will be occasional timeslots where both BLE and ANT both want to send/receive packets, as both protocols share the same radio. Sometimes ANT packet will be dropped, sometimes BLE packet will be dropped. The drop is interpreted by the peer device as a lost packet that needs to be retransmitted, it will then be retransmitted in the subsequent slot. The application receives no event when BLE and ANT want to use the same timeslot.

    To ensure correct functionality of the stack, you should keep default priority settings of ANT packets and avoid calling the sd_ant_coex_config_set function. There might be specification later on for how to prioritize BLE packets higher than ANT or ANT packets higher than BLE, but current recommendation is to not call sd_ant_coex_config_set, just keep the default settings.

Reply
  • Hi

    As stated in the S310 Softdevice Specification v0.7, there is no configuration or consideration required from the application developer to operate the protocols concurrently. There will be occasional timeslots where both BLE and ANT both want to send/receive packets, as both protocols share the same radio. Sometimes ANT packet will be dropped, sometimes BLE packet will be dropped. The drop is interpreted by the peer device as a lost packet that needs to be retransmitted, it will then be retransmitted in the subsequent slot. The application receives no event when BLE and ANT want to use the same timeslot.

    To ensure correct functionality of the stack, you should keep default priority settings of ANT packets and avoid calling the sd_ant_coex_config_set function. There might be specification later on for how to prioritize BLE packets higher than ANT or ANT packets higher than BLE, but current recommendation is to not call sd_ant_coex_config_set, just keep the default settings.

Children
Related