]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/cc2420/lpl/DefaultLplP.nc
- commit reorg of 2420 stack to support Ieee154 messaging component
[tinyos-2.x.git] / tos / chips / cc2420 / lpl / DefaultLplP.nc
index 1a68ec15c03a5699739e79a64f2dbeb843622caf..a1cf07cfe6bee4dbeff009d54ec4865b40479cd7 100644 (file)
@@ -54,9 +54,8 @@ module DefaultLplP {
   uses {
     interface Send as SubSend;
     interface CC2420Transmit as Resend;
-    interface RadioBackoff[am_id_t amId];
+    interface RadioBackoff;
     interface Receive as SubReceive;
-    interface AMPacket;
     interface SplitControl as SubControl;
     interface PowerCycle;
     interface CC2420PacketBody;
@@ -230,7 +229,7 @@ implementation {
       return 0;
     }
     
-    return (DUTY_ON_TIME * (10000 - dutyCycle)) / dutyCycle;
+    return ((uint32_t)DUTY_ON_TIME * (10000 - dutyCycle)) / dutyCycle;
   }
   
   /**
@@ -245,7 +244,7 @@ implementation {
       return 10000;
     }
     
-    return getActualDutyCycle((DUTY_ON_TIME * 10000) 
+    return getActualDutyCycle(((uint32_t)DUTY_ON_TIME * 10000) 
         / (sleepInterval + DUTY_ON_TIME));
   }
 
@@ -283,7 +282,7 @@ implementation {
       return SUCCESS;
     }
     
-    return FAIL;
+    return EBUSY;
   }
 
   command error_t Send.cancel(message_t *msg) {
@@ -308,23 +307,23 @@ implementation {
   
   
   /***************** RadioBackoff Events ****************/
-  async event void RadioBackoff.requestInitialBackoff[am_id_t amId](message_t *msg) {
+  async event void RadioBackoff.requestInitialBackoff(message_t *msg) {
     if((call CC2420PacketBody.getMetadata(msg))->rxInterval 
         > ONE_MESSAGE) {
-      call RadioBackoff.setInitialBackoff[amId]( call Random.rand16() 
+      call RadioBackoff.setInitialBackoff( call Random.rand16() 
           % (0x4 * CC2420_BACKOFF_PERIOD) + CC2420_MIN_BACKOFF);
     }
   }
   
-  async event void RadioBackoff.requestCongestionBackoff[am_id_t amId](message_t *msg) {
+  async event void RadioBackoff.requestCongestionBackoff(message_t *msg) {
     if((call CC2420PacketBody.getMetadata(msg))->rxInterval 
         > ONE_MESSAGE) {
-      call RadioBackoff.setCongestionBackoff[amId]( call Random.rand16() 
+      call RadioBackoff.setCongestionBackoff( call Random.rand16() 
           % (0x3 * CC2420_BACKOFF_PERIOD) + CC2420_MIN_BACKOFF);
     }
   }
   
-  async event void RadioBackoff.requestCca[am_id_t amId](message_t *msg) {
+  async event void RadioBackoff.requestCca(message_t *msg) {
   }
   
 
@@ -484,7 +483,7 @@ implementation {
     if(call LowPowerListening.getRxSleepInterval(currentSendMsg) 
       > ONE_MESSAGE) {
     
-      if(call AMPacket.destination(currentSendMsg) == AM_BROADCAST_ADDR) {
+      if((call CC2420PacketBody.getHeader(currentSendMsg))->dest == IEEE154_BROADCAST_ADDR) {
         call PacketAcknowledgements.noAck(currentSendMsg);
       } else {
         // Send it repetitively within our transmit window