X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=tos%2Fchips%2Fcc2420%2FCC2420TimeSyncMessageP.nc;h=70e677ae111f712854dcd52c38f6389cdf143740;hp=a4e11573e17c831a31b28d808f994753bda4d19d;hb=aa7578fd1472c62c1d22d0801fe0f55b36093bdf;hpb=c3864fde9bec0c02c0c6b4221ddde0801a82c980 diff --git a/tos/chips/cc2420/CC2420TimeSyncMessageP.nc b/tos/chips/cc2420/CC2420TimeSyncMessageP.nc index a4e11573..70e677ae 100644 --- a/tos/chips/cc2420/CC2420TimeSyncMessageP.nc +++ b/tos/chips/cc2420/CC2420TimeSyncMessageP.nc @@ -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 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); }