From b4d6d37c1bc108f4a3287103000dcf03c163a374 Mon Sep 17 00:00:00 2001 From: rincon Date: Tue, 10 Jul 2007 17:20:46 +0000 Subject: [PATCH] Updated behavior and comments --- .../LplBroadcastPeriodicDelivery/README.txt | 60 ++++++++++++++----- .../TestPeriodicP.nc | 16 ++++- 2 files changed, 60 insertions(+), 16 deletions(-) diff --git a/apps/tests/cc2420/LplBroadcastPeriodicDelivery/README.txt b/apps/tests/cc2420/LplBroadcastPeriodicDelivery/README.txt index e59d430b..b57203e6 100644 --- a/apps/tests/cc2420/LplBroadcastPeriodicDelivery/README.txt +++ b/apps/tests/cc2420/LplBroadcastPeriodicDelivery/README.txt @@ -1,22 +1,52 @@ -Tx != 0 -Rx == 0 +README for RadioCountToLeds +Author/Contact: tinyos-help@millennium.berkeley.edu -This app sends a message from Tx to AM_BROADCAST_ADDR and waits 1000 ms between each delivery -so the Rx mote's radio shuts back off and has to redetect to receive the next +Description: + +To compile for motes with CC2420 radios, you must do: + env CFLAGS="-DLOW_POWER_LISTENING" make + +Install the application to two nodes with the following ID's: + Node 0 (Receiver node): id = 0 + Node 1 (Transmitter node): id = 1 (or.. id > 0) + + +This app sends a message from Transmitter node to +AM_BROADCAST_ADDR and waits 1000 ms between each +delivery so the Rx mote's radio shuts back off and +has to redetect to receive the next message. +EXPECTED OUTPUT + Transmitter Node: + * Toggles its led0 every second. + - led0 ON indicates transmission, which lasts + for a full second. + + Receiver Node: + * led1 remains on (except at the beginning) + * If led0 lights up after the beginning of the + test, without resetting the transmitter node, + there is a problem. This means a duplicate + message was received + * led2 toggles once each for each transmission + received. + +Summary: Receiver node's led2 should be toggling once +a second and led0 should never light up (except at the beginning). + + + +Tools: + +RadioCountMsg.java is a Java class representing the message that +this application sends. RadioCountMsg.py is a Python class representing +the message that this application sends. + +Known bugs/limitations: -EXPECTATIONS -Transmitter - always ID 1 - * Transmitting for 1000 ms, and then pause for 1000 ms. - * Broadcast address will not cut transmission short under any circumstances - * Led0 indicates transmission - * Transmitter receive check interval once every 1000 ms - -Receiver - any other ID than 1 - * Receive check interval once every 1000 ms - * Led1 indicates final reception +None. -Led2 is left up to DutyCycleP to toggle when the radio is on. +$Id$ diff --git a/apps/tests/cc2420/LplBroadcastPeriodicDelivery/TestPeriodicP.nc b/apps/tests/cc2420/LplBroadcastPeriodicDelivery/TestPeriodicP.nc index d572ac0b..fa5c1917 100644 --- a/apps/tests/cc2420/LplBroadcastPeriodicDelivery/TestPeriodicP.nc +++ b/apps/tests/cc2420/LplBroadcastPeriodicDelivery/TestPeriodicP.nc @@ -56,6 +56,8 @@ implementation { uint8_t count; message_t fullMsg; bool transmitter; + + uint8_t lastCount; /**************** Prototypes ****************/ task void send(); @@ -89,8 +91,20 @@ implementation { } event message_t *Receive.receive(message_t *msg, void *payload, uint8_t len) { + TestPeriodicMsg *periodicMsg = (TestPeriodicMsg *) payload; + if(!transmitter) { - call Leds.led1Toggle(); + if(lastCount == periodicMsg->count) { + call Leds.led0On(); + call Leds.led1Off(); + } else { + call Leds.led1On(); + call Leds.led0Off(); + } + + lastCount = periodicMsg->count; + + call Leds.led2Toggle(); } return msg; } -- 2.39.2