]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/rf230/RF230ActiveMessageC.nc
Fix the wiring for IEEE154 6LOWPAN
[tinyos-2.x.git] / tos / chips / rf230 / RF230ActiveMessageC.nc
index f5b676e1b6a1351c68e10fabb2e55a25d6809a3b..96a6fa7f3fd313027e7def7303da868940fac47a 100644 (file)
@@ -41,9 +41,9 @@ configuration RF230ActiveMessageC
                interface PacketField<uint8_t> as PacketLinkQuality;
                interface PacketField<uint8_t> as PacketTransmitPower;
                interface PacketField<uint8_t> as PacketRSSI;
-               interface PacketTimeStamp<TRF230, uint16_t>;
 
-               interface PacketLastTouch;
+               interface PacketTimeStamp<TRF230, uint32_t> as PacketTimeStampRadio;
+               interface PacketTimeStamp<TMilli, uint32_t> as PacketTimeStampMilli;
        }
 }
 
@@ -65,13 +65,16 @@ implementation
        PacketLinkQuality = RF230PacketC.PacketLinkQuality;
        PacketTransmitPower = RF230PacketC.PacketTransmitPower;
        PacketRSSI = RF230PacketC.PacketRSSI;
-       PacketTimeStamp = RF230PacketC.PacketTimeStamp;
+       PacketTimeStampRadio = RF230PacketC;
+       PacketTimeStampMilli = RF230PacketC;
        LowPowerListening = LowPowerListeningLayerC;
 
-       PacketLastTouch = RF230PacketC;
-       RF230LayerC.lastTouch -> RF230PacketC.lastTouch;
-
        components ActiveMessageLayerC;
+#ifdef TFRAMES_ENABLED
+       components new DummyLayerC() as IEEE154NetworkLayerC;
+#else
+       components IEEE154NetworkLayerC;
+#endif
 #ifdef LOW_POWER_LISTENING
        components LowPowerListeningLayerC;
 #else  
@@ -96,9 +99,13 @@ implementation
 
        ActiveMessageLayerC.Config -> RF230ActiveMessageP;
        ActiveMessageLayerC.AMPacket -> IEEE154PacketC;
-       ActiveMessageLayerC.SubSend -> UniqueLayerC;
-       ActiveMessageLayerC.SubReceive -> LowPowerListeningLayerC;
+       ActiveMessageLayerC.SubSend -> IEEE154NetworkLayerC;
+       ActiveMessageLayerC.SubReceive -> IEEE154NetworkLayerC;
+
+       IEEE154NetworkLayerC.SubSend -> UniqueLayerC;
+       IEEE154NetworkLayerC.SubReceive -> LowPowerListeningLayerC;
 
+       // the UniqueLayer is wired at two points
        UniqueLayerC.Config -> RF230ActiveMessageP;
        UniqueLayerC.SubSend -> LowPowerListeningLayerC;
 
@@ -136,8 +143,4 @@ implementation
        CsmaLayerC -> RF230LayerC.RadioCCA;
 
        RF230LayerC.RF230Config -> RF230ActiveMessageP;
-       RF230LayerC.PacketLinkQuality -> RF230PacketC.PacketLinkQuality;
-       RF230LayerC.PacketTransmitPower -> RF230PacketC.PacketTransmitPower;
-       RF230LayerC.PacketRSSI -> RF230PacketC.PacketRSSI;
-       RF230LayerC.PacketTimeStamp -> RF230PacketC.PacketTimeStamp;
 }