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)
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();
task void radioSendTask() {
uint8_t len;
am_id_t id;
- am_addr_t addr;
+ am_addr_t addr,source;
message_t* msg;
atomic
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