]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Previously reported timestamping bug was only fixed partially: *timesync was computed...
authorkusy <kusy>
Thu, 7 Aug 2008 00:06:53 +0000 (00:06 +0000)
committerkusy <kusy>
Thu, 7 Aug 2008 00:06:53 +0000 (00:06 +0000)
tos/chips/cc2420/transmit/CC2420TransmitP.nc

index 1b6cd48f5e0b5dd0b816d2db0c192e17c262fd2d..bbf76f09f7f41464b70c0dcb09acf34596ea5f4d 100644 (file)
@@ -268,12 +268,12 @@ implementation {
         call CaptureSFD.captureFallingEdge();
         call PacketTimeStamp.set(m_msg, time32);
         if (call PacketTimeSyncOffset.isSet(m_msg)) {
-           nx_uint8_t *taddr = m_msg->data + (call PacketTimeSyncOffset.get(m_msg) - sizeof(cc2420_header_t));
-           timesync_radio_t *timesync = (timesync_radio_t*)taddr;
+           uint8_t absOffset = sizeof(message_header_t)-sizeof(cc2420_header_t)+call PacketTimeSyncOffset.get(m_msg);
+           timesync_radio_t *timesync = (timesync_radio_t *)((nx_uint8_t*)m_msg+absOffset);
            // set timesync event time as the offset between the event time and the SFD interrupt time (TEP  133)
            *timesync  -= time32;
            call CSN.clr();
-           call TXFIFO_RAM.write( call PacketTimeSyncOffset.get(m_msg), (uint8_t*)timesync, sizeof(timesync_radio_t) );
+           call TXFIFO_RAM.write( absOffset, (uint8_t*)timesync, sizeof(timesync_radio_t) );
            call CSN.set();
         }