From: liang_mike Date: Tue, 5 Jan 2010 22:15:57 +0000 (+0000) Subject: Fix Java compilation problem for cthreads' TestCollection app X-Git-Tag: rc_6_tinyos_2_1_1~73 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=d89e053c5c4afbd05c11c7193638f56ab356ad74 Fix Java compilation problem for cthreads' TestCollection app --- diff --git a/apps/tosthreads/capps/TestCollection/MultihopOscilloscope.h b/apps/tosthreads/capps/TestCollection/MultihopOscilloscope.h index 41d8885c..5f040539 100644 --- a/apps/tosthreads/capps/TestCollection/MultihopOscilloscope.h +++ b/apps/tosthreads/capps/TestCollection/MultihopOscilloscope.h @@ -16,15 +16,13 @@ #ifndef MULTIHOP_OSCILLOSCOPE_H #define MULTIHOP_OSCILLOSCOPE_H -#include "Collection.h" - enum { /* Number of readings per message. If you increase this, you may have to increase the message_t size. */ NREADINGS = 5, /* Default sampling period. */ DEFAULT_INTERVAL = 1024, - AM_OSCILLOSCOPE = NEW_COLLECTION_CLIENT_ID(), + AM_OSCILLOSCOPE = 0x93 }; typedef nx_struct oscilloscope { diff --git a/apps/tosthreads/capps/TestCollection/README b/apps/tosthreads/capps/TestCollection/README index bed5de60..6d98ea4a 100644 --- a/apps/tosthreads/capps/TestCollection/README +++ b/apps/tosthreads/capps/TestCollection/README @@ -34,14 +34,13 @@ section. Tools: -The Java application displays readings it receives from motes running the -MultihopOscilloscope demo via a serial forwarder. To run it, change to the -TestCollection/java subdirectory and type: +The Java application displays readings it receives from motes via a +serial forwarder. To run it, change to the java subdirectory and type: make java net.tinyos.sf.SerialForwarder -comm serial@: - # e.g., java net.tinyps.sf.SerialForwarder -comm serial@/dev/ttyUSB0:mica2 - # or java net.tinyps.sf.SerialForwarder -comm serial@COM2:57600 + # e.g., java net.tinyos.sf.SerialForwarder -comm serial@/dev/ttyUSB0:mica2 + # or java net.tinyos.sf.SerialForwarder -comm serial@COM2:57600 ./run NOTE:: The baud rate 57600 must be used telos based motes, as its configuration diff --git a/apps/tosthreads/capps/TestCollection/TestCollection.c b/apps/tosthreads/capps/TestCollection/TestCollection.c index 508c093a..bc2ddceb 100644 --- a/apps/tosthreads/capps/TestCollection/TestCollection.c +++ b/apps/tosthreads/capps/TestCollection/TestCollection.c @@ -40,12 +40,12 @@ * At least two motes must be used by this application, with one of them installed * as a base station. Base station motes can be created by installing them with * NODE_ID % 500 == 0. - * i.e. make threads install.0 - * make threads install.500 - * make threads install.1000 + * i.e. make cthreads install.0 + * make cthreads install.500 + * make cthreads install.1000 * * All other nodes can be installed with arbitrary NODE_IDs. - * make threads install.123 + * make cthreads install.123 * * Successful running of this application is verified by all NON-base station motes * periodically flashing LED1 upon sending a message, and the base station mote, @@ -54,6 +54,7 @@ * section. * * @author Kevin Klues + * @author Chieh-Jan Mike Liang */ #include "tosthread.h" @@ -64,8 +65,6 @@ #include "tosthread_sinesensor.h" #include "MultihopOscilloscope.h" -#define MY_COLLECTION_ID 0x02 - void fatal_problem(); void report_problem(); void report_sent(); @@ -76,7 +75,12 @@ uint8_t reading = 0; /* 0 to NREADINGS */ message_t sendbuf; message_t recvbuf; -void tosthread_main(void* arg) { +enum { + MY_COLLECTION_ID = NEW_COLLECTION_CLIENT_ID(), // Gets a collection sender instance +}; + +void tosthread_main(void* arg) +{ local.interval = DEFAULT_INTERVAL; local.id = TOS_NODE_ID; local.version = 0; @@ -84,13 +88,15 @@ void tosthread_main(void* arg) { while ( amRadioStart() != SUCCESS ); while ( collectionRoutingStart() != SUCCESS ); - collectionSetCollectionId(AM_OSCILLOSCOPE, MY_COLLECTION_ID); + collectionSetCollectionId(MY_COLLECTION_ID, AM_OSCILLOSCOPE); // Associates the collection sender + // with AM_OSCILLOSCOPE collection ID if (local.id % 500 == 0) { while ( amSerialStart() != SUCCESS ); collectionSetRoot(); for (;;) { - if (collectionReceive(&recvbuf, 0, MY_COLLECTION_ID) == SUCCESS) { + // Waits for incoming packets with AM_OSCILLOSCOPE collection ID + if (collectionReceive(&recvbuf, 0, AM_OSCILLOSCOPE) == SUCCESS) { oscilloscope_t *recv_o = (oscilloscope_t *) collectionGetPayload(&recvbuf, sizeof(oscilloscope_t)); oscilloscope_t *send_o = (oscilloscope_t *) serialGetPayload(&sendbuf, sizeof(oscilloscope_t)); memcpy(send_o, recv_o, sizeof(oscilloscope_t)); @@ -109,7 +115,7 @@ void tosthread_main(void* arg) { return; } memcpy(o, &local, sizeof(local)); - if (collectionSend(&sendbuf, sizeof(local), AM_OSCILLOSCOPE) == SUCCESS) { + if (collectionSend(&sendbuf, sizeof(local), MY_COLLECTION_ID) == SUCCESS) { local.count++; report_sent(); } else { @@ -129,7 +135,8 @@ void tosthread_main(void* arg) { } // Use LEDs to report various status issues. -void fatal_problem() { +void fatal_problem() +{ led0On(); led1On(); led2On();