[riot-devel] Counting retransmissions on at86rf2xx

Andreas Weigel andreas.weigel at tuhh.de
Wed Feb 10 15:31:50 CET 2016


Hi Oleg,

probably there is a misunderstanding (I'm also not quite 100% sure at 
which end ;-)  )

> would not pass link-layer ACKs up to software in extended mode
> Hence, I was checking if the link-layer
> part (handling ACKs and taking care of retransmissions) might be already
> available in some other pieces of code.

My suggestion would still use the extended operating mode, with 
automatic ACKS and retransmissions activated (and backoff, cca, address 
filtering) and it would therefore also handle the waiting/timeout for 
ACKs. Thus there is no need to pass those anywhere. It would just do so 
with retransmissions disabled (at86rf2xx_set_max_retries()) and thereby 
providing an opportunity to count the number of transmissions within an 
intermediate layer, i.e., (pseudo-code):

handleTxEnd() {
if result == success:
     pass result success and numRetransmissions to upper layer
else:
     if numRetransmissions < numMaxRetransmissions:
         numRetransmissions++
         pass frame to radio driver again
     else:
         pass result failure to upper layer
}

Therefore I tend to disagree with
> it's a bit more complicated than that

Am I overlooking/misunderstanding something?

Regards,
Andreas

-- 
________________________________________________________________________
  Hamburg University of Technology                andreas.weigel at tuhh.de
  Institute of Telematics (E-17)               Tel.: (+49) 40 42878-3746
  Am Schwarzenbergcampus 3                     Fax:  (+49) 40 42878-2581
  21073 Hamburg, Germany       http://www.ti5.tu-harburg.de/staff/weigel
________________________________________________________________________



More information about the devel mailing list