]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/cc2420/CC2420TimeSyncMessageP.nc
Upstream commits to tos/chips/cc2420, Aug 7 2008 thru Jul 16 2009, except one.
[tinyos-2.x.git] / tos / chips / cc2420 / CC2420TimeSyncMessageP.nc
index a4e11573e17c831a31b28d808f994753bda4d19d..70e677ae111f712854dcd52c38f6389cdf143740 100644 (file)
@@ -37,7 +37,8 @@ module CC2420TimeSyncMessageP
 
     uses
     {
-        interface AMSend as SubSend[uint8_t id];
+        interface Send as SubSend;
+        interface AMPacket;
         interface Packet as SubPacket;
 
         interface PacketTimeStamp<T32khz,uint32_t> as PacketTimeStamp32khz;
@@ -93,7 +94,9 @@ implementation
         void * timesync = msg->data + len;
         *(timesync_radio_t*)timesync = event_time;
 
-        err = call SubSend.send[id](addr, msg, len + sizeof(timesync_radio_t));
+        call AMPacket.setDestination(msg, addr);
+        call AMPacket.setType(msg, id);
+        err = call SubSend.send(msg, len + sizeof(timesync_radio_t));
         call PacketTimeSyncOffset.set(msg);
         return err;
     }
@@ -101,19 +104,19 @@ implementation
     command error_t TimeSyncAMSend32khz.cancel[am_id_t id](message_t* msg)
     {
         call PacketTimeSyncOffset.cancel(msg);
-        return call SubSend.cancel[id](msg);
+        return call SubSend.cancel(msg);
     }
 
     default event void TimeSyncAMSend32khz.sendDone[am_id_t id](message_t* msg, error_t error) {}
 
     command uint8_t TimeSyncAMSend32khz.maxPayloadLength[am_id_t id]()
     {
-        return call SubSend.maxPayloadLength[id]() - sizeof(timesync_radio_t);
+        return call SubSend.maxPayloadLength() - sizeof(timesync_radio_t);
     }
 
     command void* TimeSyncAMSend32khz.getPayload[am_id_t id](message_t* msg, uint8_t len)
     {
-        return call SubSend.getPayload[id](msg, len + sizeof(timesync_radio_t));
+        return call SubSend.getPayload(msg, len + sizeof(timesync_radio_t));
     }
 
 /*----------------- TimeSyncAMSendMilli -----------------*/
@@ -142,8 +145,9 @@ implementation
     }
 
 /*----------------- SubSend.sendDone -------------------*/
-    event void SubSend.sendDone[am_id_t id](message_t* msg, error_t error)
+    event void SubSend.sendDone(message_t* msg, error_t error)
     {
+        am_id_t id = call AMPacket.type(msg);
         signal TimeSyncAMSend32khz.sendDone[id](msg, error);
         signal TimeSyncAMSendMilli.sendDone[id](msg, error);
     }