[Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/cc2420 CC2420TimeSyncMessageC.nc, 1.1, 1.2 CC2420TimeSyncMessageP.nc, 1.1, 1.2

kusy kusy at users.sourceforge.net
Wed Jul 15 23:41:43 PDT 2009


Update of /cvsroot/tinyos/tinyos-2.x/tos/chips/cc2420
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv15319

Modified Files:
	CC2420TimeSyncMessageC.nc CC2420TimeSyncMessageP.nc 
Log Message:
Using AMSenderC infrastructure to fix CTP+FTSP bug

Index: CC2420TimeSyncMessageC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/cc2420/CC2420TimeSyncMessageC.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CC2420TimeSyncMessageC.nc	17 Jun 2008 07:28:24 -0000	1.1
--- CC2420TimeSyncMessageC.nc	16 Jul 2009 06:41:41 -0000	1.2
***************
*** 61,66 ****
  
          Packet = CC2420TimeSyncMessageP;
!         CC2420TimeSyncMessageP.SubSend -> CC2420ActiveMessageC.AMSend;
!         CC2420TimeSyncMessageP.SubPacket -> CC2420ActiveMessageC.Packet;
  
          CC2420TimeSyncMessageP.PacketTimeStamp32khz -> CC2420PacketC;
--- 61,69 ----
  
          Packet = CC2420TimeSyncMessageP;
!         // use the AMSenderC infrastructure to avoid concurrent send clashes
!         components AMQueueP, ActiveMessageC;
!         CC2420TimeSyncMessageP.SubSend -> AMQueueP.Send[unique(UQ_AMQUEUE_SEND)];
!         CC2420TimeSyncMessageP.AMPacket -> ActiveMessageC;
!         CC2420TimeSyncMessageP.SubPacket -> ActiveMessageC;
  
          CC2420TimeSyncMessageP.PacketTimeStamp32khz -> CC2420PacketC;

Index: CC2420TimeSyncMessageP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/cc2420/CC2420TimeSyncMessageP.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CC2420TimeSyncMessageP.nc	17 Jun 2008 07:28:24 -0000	1.1
--- CC2420TimeSyncMessageP.nc	16 Jul 2009 06:41:41 -0000	1.2
***************
*** 38,42 ****
      uses
      {
!         interface AMSend as SubSend[uint8_t id];
          interface Packet as SubPacket;
  
--- 38,43 ----
      uses
      {
!         interface Send as SubSend;
!         interface AMPacket;
          interface Packet as SubPacket;
  
***************
*** 94,98 ****
          *(timesync_radio_t*)timesync = event_time;
  
!         err = call SubSend.send[id](addr, msg, len + sizeof(timesync_radio_t));
          call PacketTimeSyncOffset.set(msg);
          return err;
--- 95,101 ----
          *(timesync_radio_t*)timesync = event_time;
  
!         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;
***************
*** 102,106 ****
      {
          call PacketTimeSyncOffset.cancel(msg);
!         return call SubSend.cancel[id](msg);
      }
  
--- 105,109 ----
      {
          call PacketTimeSyncOffset.cancel(msg);
!         return call SubSend.cancel(msg);
      }
  
***************
*** 109,118 ****
      command uint8_t TimeSyncAMSend32khz.maxPayloadLength[am_id_t id]()
      {
!         return call SubSend.maxPayloadLength[id]() - 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));
      }
  
--- 112,121 ----
      command uint8_t TimeSyncAMSend32khz.maxPayloadLength[am_id_t id]()
      {
!         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(msg, len + sizeof(timesync_radio_t));
      }
  
***************
*** 143,148 ****
  
  /*----------------- SubSend.sendDone -------------------*/
!     event void SubSend.sendDone[am_id_t id](message_t* msg, error_t error)
      {
          signal TimeSyncAMSend32khz.sendDone[id](msg, error);
          signal TimeSyncAMSendMilli.sendDone[id](msg, error);
--- 146,152 ----
  
  /*----------------- SubSend.sendDone -------------------*/
!     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);



More information about the Tinyos-2-commits mailing list