Menu

#5 fix unsafe loops in HplMsp430Rf1aP.nc

open
4
2010-08-01
2010-08-01
No

If an application chooses not to use single-use rx buffers, or mis-manages transmit, it is possible for the radio to enter RXFIFO_OV or TXFIFO_OV states. Several places in the code assume that a command strobe can be sent to place the radio in a particular mode. If, at the time the strobe is sent, the radio is already in one of these overflow modes, the loop terminating conditions will not be met and the node will hang, because a different strobe must be used to reset the overflow mode.

Each loop must be reviewed to determine the appropriate reaction should an overflow be detected in the loop.

To replicate the problem with RXFIFO_OV, configure MCSM1 to return the radio to RX mode after an RX completes, and run apps/PlatformTests/OIP/MulticastRadioNet in FAST_MULTICAST mode with at least three nodes. Demonstration of the problem with TXFIFO_OV will require a specially-coded test program.

Discussion

MongoDB Logo MongoDB