length = call RF230Config.getLength(rxMsg);
call DiagMsg.str("rx");
- call DiagMsg.uint32(call PacketTimeStamp.isSet(rxMsg) ? call PacketTimeStamp.get(rxMsg) : 0);
+ call DiagMsg.uint32(call PacketTimeStamp.isValid(rxMsg) ? call PacketTimeStamp.timestamp(rxMsg) : 0);
call DiagMsg.uint16(call RadioAlarm.getNow());
call DiagMsg.uint8(crc != 0);
call DiagMsg.uint8(length);
if( isSpiAcquired() )
{
uint16_t time;
+ uint32_t time32;
uint8_t irq;
uint8_t temp;
* CMD_TRANSMIT.
*/
if( irq == RF230_IRQ_RX_START ) // just to be cautious
- call PacketTimeStamp.set(rxMsg, time - RX_SFD_DELAY);
+ {
+ time32 = call LocalTime.get();
+ time32 += (int16_t)(time - RX_SFD_DELAY) - (int16_t)(time32);
+ call PacketTimeStamp.set(rxMsg, time32);
+ }
else
call PacketTimeStamp.clear(rxMsg);