[Avrora] CC2420 / Medium lock to transmission
Daniel Minder
daniel.minder at uni-due.de
Fri Jan 8 13:34:21 PST 2010
Hi everyone (especially Rodolfo),
I noticed that PacketMonitor sometimes does not dump a received packet
although it is received by the node since the node sends an ACK and
resends the packet later on. So I started debugging :)
The problem is the "lock to transmission" in Medium. The receiver is
considered as locked as long as a transmission is found. So, if there
are overlapping transmissions the receiver is locked for a long time.
CC2420Radio relies on this locking detection - which is wrong in my
opinion. According to the CC2420 state machine (see data sheet) the
state changes to RX_WAIT and the back to RX_SFD_SEARCH immediately after
the reception of a frame. (BTW: Has anyone figured out how long the FSM
stays in RX_WAIT???). This is completely independent of the Medium lock!
This error does not only affect the monitor, it also delays the sending
of ACKs. Also, some packets might not be received if they follow
immediately.
I would try to fix it but the overall logic is a bit mystic :) Is it
still necessary to call nextByte() in Medium.Receiver.endReceive()? My
plan is to call endReceive() at certain place in the CC2420 state
machine, which is in nextByte(), but then we will have calls like:
nextByte() -> endReceive() -> nextByte()...
Any suggestions?
Best,
Daniel
--
Daniel Minder
University of Duisburg-Essen, Networked Embedded Systems
Bismarckstr. 90, 47057 Duisburg, Germany
Skype: d.minder
More information about the Avrora
mailing list