]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - apps/RadioSenseToLeds/RadioSenseToLedsC.nc
Merge TinyOS 2.1.1 into master.
[tinyos-2.x.git] / apps / RadioSenseToLeds / RadioSenseToLedsC.nc
index 0d1fc0caa5053e45dc843ad0cd3949ab2bf38e43..dd8710b2dde67fd34de3d4e526cff89f2fcb7da6 100644 (file)
@@ -43,7 +43,7 @@
  * @date   June 6 2005
  */
 
-module RadioSenseToLedsC {
+module RadioSenseToLedsC @safe(){
   uses {
     interface Leds;
     interface Boot;
@@ -82,8 +82,8 @@ implementation {
     else {
       radio_sense_msg_t* rsm;
 
-      rsm = (radio_sense_msg_t*)call Packet.getPayload(&packet, NULL);
-      if (call Packet.maxPayloadLength() < sizeof(radio_sense_msg_t)) {
+      rsm = (radio_sense_msg_t*)call Packet.getPayload(&packet, sizeof(radio_sense_msg_t));
+      if (rsm == NULL) {
        return;
       }
       rsm->error = result;
@@ -101,19 +101,18 @@ implementation {
     else {
       radio_sense_msg_t* rsm = (radio_sense_msg_t*)payload;
       uint16_t val = rsm->data;
-      call Leds.led0Toggle();
-      if (val & 0x8000) {
-       call Leds.led1On();
-      }
-      else {
-       call Leds.led1Off();
-      }
-      if (val & 0x4000) {
-       call Leds.led2On();
-      }
-      else {
-       call Leds.led2Off();
-      }
+      if (val & 0x0004)
+        call Leds.led2On();
+      else
+        call Leds.led2Off();
+      if (val & 0x0002)
+        call Leds.led1On();
+      else
+        call Leds.led1Off();
+      if (val & 0x0001)
+        call Leds.led0On();
+      else
+        call Leds.led0Off();
       return bufPtr;
     }
   }