]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - apps/BaseStation/BaseStationP.nc
For some reason nx_bool was failing on TOSSIM.
[tinyos-2.x.git] / apps / BaseStation / BaseStationP.nc
index a918a6db87437fd9ecb53e5d3383ffb54da3fd14..89f0c68c469b5ba153506ab04c7bca0230b0893e 100644 (file)
@@ -177,7 +177,7 @@ implementation
   task void uartSendTask() {
     uint8_t len;
     am_id_t id;
-    am_addr_t addr;
+    am_addr_t addr, src;
     message_t* msg;
     atomic
       if (uartIn == uartOut && !uartFull)
@@ -190,6 +190,9 @@ implementation
     tmpLen = len = call RadioPacket.payloadLength(msg);
     id = call RadioAMPacket.type(msg);
     addr = call RadioAMPacket.destination(msg);
+    src = call RadioAMPacket.source(msg);
+    call UartPacket.clear(msg);
+    call UartAMPacket.setSource(msg, src);
 
     if (call UartSend.send[id](addr, uartQueue[uartOut], len) == SUCCESS)
       call Leds.led1Toggle();
@@ -251,7 +254,7 @@ implementation
   task void radioSendTask() {
     uint8_t len;
     am_id_t id;
-    am_addr_t addr;
+    am_addr_t addr,source;
     message_t* msg;
     
     atomic
@@ -264,7 +267,12 @@ implementation
     msg = radioQueue[radioOut];
     len = call UartPacket.payloadLength(msg);
     addr = call UartAMPacket.destination(msg);
+    source = call UartAMPacket.source(msg);
     id = call UartAMPacket.type(msg);
+
+    call RadioPacket.clear(msg);
+    call RadioAMPacket.setSource(msg, source);
+    
     if (call RadioSend.send[id](addr, msg, len) == SUCCESS)
       call Leds.led0Toggle();
     else