Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Feature request (BURST)

Rank

Total Posts: 4

Joined 2009-11-03

PM

Hi

I would like to make a feature request for upcoming ANT engine.
In the current versions the following call:
ANT_SendBurstTransferPacket(10000000, 0, 1), aucBurstData);

would result in the same as:
ANT_SendAcknowledgedData (0, aucBurstData);

In other words a burst consisting of only one package is turned into standard acknowledged data. This has some side effects:

1/ The ANT protocol sets itself above the user and changes his or her decision that in a certain case it would be best, easiest or simplest to use a specific transmission type.

2/ The receiver must know this artifact and be prepared to act upon acknowledged data even though the transmitter never intentionally transmits acknowledged data. This increases the complexity of the developed code and could create confusion.

3/ If a system needs to maintain a low power consumption and a low transmission failure rate while still keeping a low radio latency - bursting a single command package would be an ideal choice. Within one timeslot the ANT engine would - due to the "burst retransmission" feature - allow up to 5 consecutive acknowledged transmission attempts in order to move a single package from A to B. A programmer could of course just send an extra dummy package in order to circumvent the ANT "intelligence" and create a burst of two packages - BUT sending two packages increases the likelihood of interference and uses more power.

I see no reason not to change this in order to make a more consistent and more flexible protocol. The existing sequence parameters used to synchronize bursting is quite capable of indicating a single package burst â?? just transmit a sequence zero as a last package (100xxxxx).

If there are some unknown internal reasons or other reasons not to implement this change â?? I would like to hear about it.

Best regards
BioLife      
Avatar
RankRankRankRank

Total Posts: 662

Joined 2012-10-09

PM

We are not considering including this into future versions of the ANT protocol engine. The probability of failure of the single packet burst is higher than that of other packets in a multi packet burst, which makes retransmission at the application level more efficient.      
Rank

Total Posts: 4

Joined 2009-11-03

PM

Thanks for your prompt answer!
I will try to decipher what you claim:

I quote: â??The probability of failure of the single packet burst is higher than that of other packets in a multi packet burstâ?.

Since the bursting algorithm fails after the first un-successful single packet transmission, the success rate of any burst transmission is limited only by the success rate of each single package transmission. Each single packet transmission in a burst consists of up to 5 acknowledged packet transmission attempts before the burst is considered failed. This means that you have to multiply the probability of success of each single packet burst transmission N number of times in an N packet burst transmission. If Iâ??m not totally off here, this means that the more packets you transmit in a burst sequence the lower the chance of success. Or in other words, the highest chance of success for a burst sequence is if the burst only consists of a single packet!

It might be that some internal or hidden retransmission takes placed over the air for a standard acknowledged packet transmission â?? but faced with the public info that I can deduct from the ANT specification, bursting a single packet would have a 5 times better chance of success than that of a standard acknowledged packet â?? simply because the engine retries 5 times before giving up.

This leads me to the logical conclusion that, with-in one radio timeslot, a burst consisting of only one packet would have the absolute highest chance of success compared to ANY other ANT transmission method.

You claim the exact opposite!

Could you please try to come up with some facts that support your claims?
I would really hate to use a system or a protocol that I cannot understand.

Best regards
BioLife

PS: If you donâ??t want to change the behavior of the protocol due to backwards compatibility issues thatâ??s fair enough, but one might also add a system setting that could open up for my suggested bursting behavior and let that system setting default to the old way.      
Avatar
RankRankRankRank

Total Posts: 662

Joined 2012-10-09

PM

Note that a master node can keep a channel open and transmit broadcast data without a slave receiving its transmissions. So while in a lab environment you can assume you will always have a receiver around, this is not always the case, so the probability of missing the first packet of a burst is the highest.

With a good understanding of the protocol, it is straight forward to handle both burst and ack messages (two cases of a switch statement), and the added complexity to the ANT protocol engine to support the feature you request is not justified.      
Rank

Total Posts: 4

Joined 2009-11-03

PM

Hi,

Iâ??m beginning to get frustrated here. Iâ??m sorry to say this, but I find neither logic nor any relevant arguments in what you write.

A/
My understanding of acknowledged data is that right after reception of the first (an only) packet the receiver sends an ACK back to the transmitter.
Is that correct â?? if not please elaborate?

B1/
My understanding of burst is that right after reception of the first packet (of many) the receiver sends an ACK back to the receiver.
Is that correct â?? if not please elaborate?

B2/
My understanding of burst is that right after reception of the above mentioned ACK the transmitter advances to transmit the next package according to the method mentioned in B1.
Is that correct â?? if not please elaborate?

B3/
My understanding of burst is that if at any time the transmitter misses an ACK it will retransmit the same packet (up to 5 times) according to the method mentioned in B1.
Is that correct â?? if not please elaborate?

B4/
My understanding of burst is that it actually consists of a series acknowledged data transmissions transmitted (with-out delay) right after each other and if possible with-in the same time slot.
Is that correct â?? if not please elaborate?

B5/
If Iâ??m right in the above B4 assumption, I would like to know why the chance of success for the first packet of a burst consisting of up to 5 acknowledged transmission attempts is smaller than the chance of success for a single acknowledged data transmission only consisting of a single acknowledged transmission attempt.


Please answer each of the above points separately and if Iâ??m getting too technical please forward my questions to a more appropriate instance.

Best regards
BioLife      
Avatar
RankRankRankRank

Total Posts: 662

Joined 2012-10-09

PM

Your understanding of the behavior of the protocol is sufficient to handle acknowledged and burst messages correctly. More specific technical details are proprietary to the protocol, and not relevant to the application implementation.

Once again, changes to the ANT protocol engine to support this feature are not justified.      
Rank

Total Posts: 4

Joined 2009-11-03

PM

Well well well â?? as you can imagine this is not quite the answer I expected.

Considering that the forum post:
â??I noticed that when I send a burst with a single packet, it will fail more often then when I send a burst with multiple packets. Why is that?â? - has been displayed over 1500 times and is not originally written by me but by FAQ, makes me kind of wondering what is going on here. I mean the statement in the post is quit clear: An ANT user claims that sending single packet burst (AKA acknowledged data) has less chance of success compared to multi packet bursts â?? and the answer given to explain why this is so says:
I quote:
â??Single packet bursts are handled identically to Acknowledged messages and are not retried. Multi-packet bursts are retried up to 5 times before failing.â?

So this FAQ post kind of supports my thinking. OK - I understand that you are not willing to change to protocol â?? fair enough â?? but I do not understand why my so called technical question is still unanswered and why you hide behind a story about proprietary issues.

I have been informed by Sebastian that for packets travelling over the air ANT uses a 16bit CRC for the detection of disturbances. I guess that such information is no more proprietary than if you in â??layman's termsâ? could explain to us why sending a single acknowledged packet has a greater chance of success than a burst consisting of lets say 2 packets (just to stay with-in the possible range of the current protocol)!

I have been doing some thinking â?? and I can come up with only one reason why acknowledged data could have a higher chance of success compared to a single or double packet burst. If the ANT bursting mode internally requires the transmitter to inform the receiver that a burst is ready to be transmitted and if this information is sent over the air via a special internal acknowledged packet, then it would make sense not to send single packet bursts because the success of such a burst would be dependant on the success of an internally generated non retransmitted acknowledged packet.

However this functionality could never be categorized as proprietary â?? this is a simple way of implementing a feature â?? and it is surely not what the ANT documentation describes and it not in harmony with the above mentioned FAQ post!
If some of you other user knows anything about this issue - please speak up!

Best regards
BioLife