Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Message collision in multi-channel device

Rank

Total Posts: 23

Joined 2019-05-06

PM

We have ANT bike trainer which acts both as master when broadcasting FE-C messages and as slave when receiving power and heart rate data from sensors.
We are experiencing two message collision issues:

1) When trainer is searching for power sensor and FE-C is broadcasting at the same time, open display is not able
to send any control command to trainer within acknowledge message. ANT stack notifies about this with EVENT_CHANNEL_COLLISION event.
When power sensor is connected (no searching), both FE-C control command and power sensor commands are received.
Power sensor search channel is already configured with lowest priority, so I would expect that broadcast has higher priority during collision and acknowledge packets should be received successfully.
Below is example of search channel configuration for power sensor:
ant_search_config_t ride_search_config =
{
      
.channel_number channel_number,
      .
low_priority_timeout ANT_LOW_PRIORITY_TIMEOUT,
      .
high_priority_timeout ANT_HIGH_PRIORITY_TIMEOUT,
      .
search_sharing_cycles SEARCH_SHARING_CYCLES,
      .
search_priority ANT_SEARCH_PRIORITY_LOWEST,
      .
waveform ANT_WAVEFORM_DEFAULT
}
;

ant_search_init(&ride;_search_config); 

Is it possible to configure scanning to not impact FE-C?

2) Another issue is that when FE-C is active and power sensor is sending power events (already conencted), power sensor events are often dropped. ANT stack notifies about error with EVENT_RX_FAIL event. Both FE-C and power sensor sampling period is 4Hz which I think is the reason we have power drops.
What is the best way to avoid this power drops?      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

"open display is not able to send any control command to trainer within acknowledge message. ANT stack notifies about this with EVENT_CHANNEL_COLLISION event.": Can you confirm whether a separate display device implementing FE-C slave is seeing this collision event, or you are seeing this event from the radio implementing FE-C master?

Please try setting .high_priority_timeout = ANT_HIGH_PRIORITY_SEARCH_DISABLE. This will prevent the search from going to high priority after ANT_LOW_PRIORITY_TIMEOUT. You may need to lengthen the low priority timeout. It can be disabled so that the search never ends by using a value of ANT_LOW_PRIORITY_TIMEOUT_DISABLE.      

Signature

Ian Haigh

RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

EVENT_RX_FAIL is expected to happen in a normal RF environment. What percentage of channel periods are you seeing EVENT_RX_FAIL instead of a received message?      

Signature

Ian Haigh

Rank

Total Posts: 23

Joined 2019-05-06

PM

Thanks for suggestion, disabling high priority scan timeout resolved this issue