]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
IRIS: reworked the time sync implementation
authormmaroti <mmaroti>
Thu, 29 May 2008 19:03:04 +0000 (19:03 +0000)
committermmaroti <mmaroti>
Thu, 29 May 2008 19:03:04 +0000 (19:03 +0000)
tos/chips/rf230/RF230LayerP.nc

index 1485d226d8e23e092c2db96e854cd1de38b581d6..b2a9bb4921d7f71e218ad1de2976dadef1cf3327 100644 (file)
@@ -634,6 +634,7 @@ implementation
                if( isSpiAcquired() )
                {
                        uint16_t time;
+                       uint32_t time32;
                        uint8_t irq;
                        uint8_t temp;
                        
@@ -713,7 +714,11 @@ implementation
                                         * 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);