From: klueska Date: Wed, 18 Jun 2008 19:34:56 +0000 (+0000) Subject: Remove TestLogStorage and add changes to BaseStation app X-Git-Tag: release_tinyos_2_1_0_0~237 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=3df83361dc9ab0a09eb83d7b29f39c641fb9ee0b Remove TestLogStorage and add changes to BaseStation app --- diff --git a/apps/tosthreads/apps/BaseStation/BaseSendReceiveP.nc b/apps/tosthreads/apps/BaseStation/BaseSendReceiveP.nc index 3caa02c7..063fa3a0 100644 --- a/apps/tosthreads/apps/BaseStation/BaseSendReceiveP.nc +++ b/apps/tosthreads/apps/BaseStation/BaseSendReceiveP.nc @@ -29,28 +29,6 @@ * OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* - * Copyright (c) 2008 Johns Hopkins University. - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written - * agreement is hereby granted, provided that the above copyright - * notice, the (updated) modification history and the author appear in - * all copies of this source code. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA, - * OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. -*/ - /** * @author Kevin Klues * @author Chieh-Jan Mike Liang @@ -60,6 +38,7 @@ generic module BaseSendReceiveP() { uses { interface Boot; interface Thread as ReceiveThread; + interface Thread as SnoopThread; interface Thread as SendThread; interface ConditionVariable; interface Mutex; @@ -68,6 +47,7 @@ generic module BaseSendReceiveP() { interface Leds; interface BlockingReceive as BlockingReceiveAny; + interface BlockingReceive as BlockingSnoopAny; interface BlockingAMSend as BlockingAMSend[uint8_t id]; interface Packet as ReceivePacket; interface Packet as SendPacket; @@ -86,6 +66,7 @@ implementation { call Mutex.init(&m_queue); call Mutex.init(&m_pool); call ReceiveThread.start(NULL); + call SnoopThread.start(NULL); call SendThread.start(NULL); } @@ -116,6 +97,33 @@ implementation { } } + event void SnoopThread.run(void* arg) { + message_t* msg; + call Mutex.lock(&m_pool); + msg = call Pool.get(); + call Mutex.unlock(&m_pool); + for(;;) { + if(call BlockingSnoopAny.receive(msg, 0) == SUCCESS) { + call Leds.led0Toggle(); + + call Mutex.lock(&m_queue); + call Queue.enqueue(msg); + call Mutex.unlock(&m_queue); + if( call Queue.size() == 1 ) { + call ConditionVariable.signalAll(&c_queue); + } + + call Mutex.lock(&m_pool); + while( call Pool.empty() ) + call ConditionVariable.wait(&c_pool, &m_pool); + msg = call Pool.get(); + call Mutex.unlock(&m_pool); + + } + else call Leds.led2Toggle(); + } + } + event void SendThread.run(void* arg) { message_t* msg; am_id_t id; @@ -149,4 +157,12 @@ implementation { } } } + + default command error_t BlockingSnoopAny.receive(message_t* m, uint32_t timeout) { return FAIL; } + default command void* BlockingSnoopAny.getPayload(message_t* msg, uint8_t len) { return NULL; } + default command error_t SnoopThread.start(void* arg) { return FAIL; } + default command error_t SnoopThread.stop() { return FAIL; } + default command error_t SnoopThread.pause() { return FAIL; } + default command error_t SnoopThread.resume() { return FAIL; } + default command error_t SnoopThread.sleep(uint32_t milli) { return FAIL; } } diff --git a/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc b/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc index a83de933..46f26a53 100644 --- a/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc +++ b/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc @@ -29,28 +29,6 @@ * OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* - * Copyright (c) 2008 Johns Hopkins University. - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written - * agreement is hereby granted, provided that the above copyright - * notice, the (updated) modification history and the author appear in - * all copies of this source code. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA, - * OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. -*/ - /** * @author Kevin Klues * @author Chieh-Jan Mike Liang @@ -71,6 +49,7 @@ implementation new ThreadC(BOOT_THREAD_STACK_SIZE) as BootThread, new ThreadC(RADIO_RECEIVE_THREAD_STACK_SIZE) as RadioReceiveThread, + new ThreadC(RADIO_SNOOP_THREAD_STACK_SIZE) as RadioSnoopThread, new ThreadC(SERIAL_SEND_THREAD_STACK_SIZE) as SerialSendThread, new ThreadC(SERIAL_RECEIVE_THREAD_STACK_SIZE) as SerialReceiveThread, new ThreadC(RADIO_SEND_THREAD_STACK_SIZE) as RadioSendThread, @@ -89,6 +68,7 @@ implementation BaseStationC.BootThread -> BootThread; RadioReceiveSerialSendP.ReceiveThread -> RadioReceiveThread; + RadioReceiveSerialSendP.SnoopThread -> RadioSnoopThread; RadioReceiveSerialSendP.SendThread -> SerialSendThread; SerialReceiveRadioSendP.ReceiveThread -> SerialReceiveThread; SerialReceiveRadioSendP.SendThread -> RadioSendThread; @@ -116,6 +96,7 @@ implementation RadioReceiveSerialSendP.ReceiveAMPacket -> BlockingRadioActiveMessageC; RadioReceiveSerialSendP.SendAMPacket -> BlockingSerialActiveMessageC; RadioReceiveSerialSendP.BlockingReceiveAny -> BlockingRadioActiveMessageC.BlockingReceiveAny; + RadioReceiveSerialSendP.BlockingSnoopAny -> BlockingRadioActiveMessageC.BlockingSnoopAny; RadioReceiveSerialSendP.BlockingAMSend -> BlockingSerialActiveMessageC; SerialReceiveRadioSendP.ReceivePacket -> BlockingSerialActiveMessageC; diff --git a/apps/tosthreads/apps/BaseStation/BaseStationC.nc b/apps/tosthreads/apps/BaseStation/BaseStationC.nc index db790507..268978d6 100644 --- a/apps/tosthreads/apps/BaseStation/BaseStationC.nc +++ b/apps/tosthreads/apps/BaseStation/BaseStationC.nc @@ -55,5 +55,5 @@ implementation { call BlockingRadioAMControl.start(); call BlockingSerialAMControl.start(); signal BaseStationBoot.booted(); - } + } } diff --git a/apps/tosthreads/apps/BaseStation/stack.h b/apps/tosthreads/apps/BaseStation/stack.h index ad68cf4c..0fdaa44c 100644 --- a/apps/tosthreads/apps/BaseStation/stack.h +++ b/apps/tosthreads/apps/BaseStation/stack.h @@ -39,6 +39,7 @@ enum { BOOT_THREAD_STACK_SIZE = 200, RADIO_RECEIVE_THREAD_STACK_SIZE = 600, + RADIO_SNOOP_THREAD_STACK_SIZE = 600, SERIAL_SEND_THREAD_STACK_SIZE = 600, SERIAL_RECEIVE_THREAD_STACK_SIZE = 600, RADIO_SEND_THREAD_STACK_SIZE = 600, diff --git a/apps/tosthreads/apps/TestBlockStorage/README b/apps/tosthreads/apps/TestBlockStorage/README index dac5ad39..38455e30 100644 --- a/apps/tosthreads/apps/TestBlockStorage/README +++ b/apps/tosthreads/apps/TestBlockStorage/README @@ -1,2 +1,27 @@ -This program erases volume, then randomly write (then verified by read). -Led0 is ON during the test, and Led1 is ON if all tests pass. If there is a problem, all three LEDs will be ON. +README for TOSThreads TestBlockStorage +Author/Contact: tinyos-help@millennium.berkeley.edu + +Description: + +This application is used to test the threaded version of the API for performing +block storage. + +You can install TestBlockStorage on a mote via the following comand: + make threads install + +Valid platforms are currently: tmote, telosb, mica2, and micaz + +This application first erases a block storage volume, then randomly writes records to it, +followed by a verification with read. + +Successful running of this application results in LED0 being ON throughout the duration +of the erase, write, and read sequence, followed by LED1 turning ON if all tests pass, and +all three LEDs turning on if there is a problem. + +Tools: + None. + +Known bugs/limitations: + None. + + diff --git a/apps/tosthreads/apps/TestLogStorage/Makefile b/apps/tosthreads/apps/TestLogStorage/Makefile deleted file mode 100644 index 8d405695..00000000 --- a/apps/tosthreads/apps/TestLogStorage/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -COMPONENT=TestLogStorageAppC - -include $(MAKERULES) diff --git a/apps/tosthreads/apps/TestLogStorage/TestLogStorageAppC.nc b/apps/tosthreads/apps/TestLogStorage/TestLogStorageAppC.nc deleted file mode 100644 index 76def4b3..00000000 --- a/apps/tosthreads/apps/TestLogStorage/TestLogStorageAppC.nc +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2008 Johns Hopkins University. - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written - * agreement is hereby granted, provided that the above copyright - * notice, the (updated) modification history and the author appear in - * all copies of this source code. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA, - * OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/** - * @author Chieh-Jan Mike Liang - */ - -#include "StorageVolumes.h" - -configuration TestLogStorageAppC {} - -implementation -{ - components new BlockingLogStorageC(VOLUME_TESTLOGSTORAGE, TRUE); -} diff --git a/apps/tosthreads/apps/TestLogStorage/TestLogStorageP.nc b/apps/tosthreads/apps/TestLogStorage/TestLogStorageP.nc deleted file mode 100644 index cd9d258d..00000000 --- a/apps/tosthreads/apps/TestLogStorage/TestLogStorageP.nc +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2008 Johns Hopkins University. - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written - * agreement is hereby granted, provided that the above copyright - * notice, the (updated) modification history and the author appear in - * all copies of this source code. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA, - * OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/** - * @author Chieh-Jan Mike Liang - */ - -#include "Storage.h" - -module TestLogStorageP -{ - uses { - interface Boot; - } -} - -implementation -{ - event void Boot.booted() { - } -} diff --git a/apps/tosthreads/apps/TestLogStorage/volumes-at45db.xml b/apps/tosthreads/apps/TestLogStorage/volumes-at45db.xml deleted file mode 100644 index 49878996..00000000 --- a/apps/tosthreads/apps/TestLogStorage/volumes-at45db.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/apps/tosthreads/apps/TestLogStorage/volumes-stm25p.xml b/apps/tosthreads/apps/TestLogStorage/volumes-stm25p.xml deleted file mode 100644 index 4e0bdee6..00000000 --- a/apps/tosthreads/apps/TestLogStorage/volumes-stm25p.xml +++ /dev/null @@ -1,3 +0,0 @@ - - -