Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

invalid data after burst transfer

Rank

Total Posts: 1

Joined 2010-06-03

PM

Hello,

I use the ANT protocol to transfer data with broadcast messages (message rate = 1 Hz). In between I send some burst messages, so the broadcast transfer is interrupted. After the burst transfer completes, the first of the following received broadcast messages contains the data of the last burst message. How can it be? When I trace the transmitter (master) messages, the first broadcast message do not contain this invalid data.

Best regards, Marc


ANT transmitter (master):
ANT_TX: 0x09 0x4E 0x02 0x00 0xFF 0xCB 0xB9 0x00 0x00 0x00 0x00 0x6D
ANT_TX: 0x09 0x50 0x02 0x81 0x81 0x86 0x8A 0x8A 0x8A 0x8A 0x8A 0xF2
ANT_TX: 0x09 0x50 0xA2 0xC1 0xC1 0xC6 0xCA 0xCA 0xCA 0xCA 0xCA 0x52
ANT_RX: 0x03 0x40 0x02 0x01 0x0A 0xEE
ANT_RX: 0x03 0x40 0x02 0x01 0x05 0xE1
ANT_RX: 0x03 0x40 0x02 0x01 0x03 0xE7
ANT_TX: 0x09 0x4E 0x02 0x00 0xFF 0xCB 0xBA 0x00 0x00 0x00 0x00 0x6E
ANT_RX: 0x03 0x40 0x02 0x01 0x03 0xE7
ANT_TX: 0x09 0x4E 0x02 0x00 0xFF 0xCA 0xB8 0x00 0x00 0x00 0x00 0x6D

ANT receiver (slave):
ANT_RX: 0x09 0x4E 0x04 0x00 0xFF 0xCB 0xB9 0x00 0x00 0x00 0x00 0x6A
ANT_RX: 0x09 0x4E 0x04 0x00 0xFF 0xCC 0xB9 0x00 0x00 0x00 0x00 0x6D
ANT_RX: 0x03 0x40 0x04 0x01 0x05 0xE7
ANT_RX: 0x09 0x50 0x04 0x81 0x81 0x86 0x8A 0x8A 0x8A 0x8A 0x8A 0xF5
ANT_RX: 0x09 0x50 0xA4 0x01 0x01 0x06 0x0A 0x0A 0x0A 0x0A 0x0A 0x55
ANT_RX: 0x09 0x4E 0x04 0x01 0x01 0x06 0x0A 0x0A 0x0A 0x0A 0x0A 0xEB

The traces of RX and TX are not made in the same time, so the data payload differs.      
Avatar
RankRankRankRank

Total Posts: 662

Joined 2012-10-09

PM

ANT will transmit the contents of its transmit buffer on every channel period. After you finish bursting, the transmit buffer contains the last packet of the burst, and that is why you see that being transmitted over the air on the next channel period.

In order to avoid this, send a broadcast message to set the correct content you want to send right after the burst was completed (EVENT_TRANSFER_TX_COMPLETE or EVENT_TRANSFER_TX_FAIL).