[Tinyos-2-commits]
CVS: tinyos-2.x/apps/tutorials/LowPowerSensing/Sampler
LowPowerSensingPeriodicSamplerAppC.nc, NONE,
1.1 LowPowerSensingPeriodicSamplerC.nc, NONE, 1.1 Makefile,
NONE, 1.1 volumes-at45db.xml, NONE, 1.1 volumes-stm25p.xml,
NONE, 1.1
Kevin Klues
klueska at users.sourceforge.net
Mon Sep 3 15:46:37 PDT 2007
- Previous message: [Tinyos-2-commits]
CVS: tinyos-2.x/apps/tutorials/LowPowerSensing/Base
LowPowerSensingBaseAppC.nc, NONE, 1.1 LowPowerSensingBaseC.nc,
NONE, 1.1 Makefile, NONE, 1.1 volumes-at45db.xml, NONE,
1.1 volumes-stm25p.xml, NONE, 1.1
- Next message: [Tinyos-2-commits]
CVS: tinyos-2.x/apps/tutorials/LowPowerSensing/java
Constants.class, NONE, 1.1 Constants.java, NONE,
1.1 LowPowerSensingApp.class, NONE, 1.1 LowPowerSensingApp.jar,
NONE, 1.1 LowPowerSensingApp.java, NONE, 1.1 Makefile, NONE,
1.1 SerialRequestSamplesMsg.class, NONE,
1.1 SerialRequestSamplesMsg.java, NONE,
1.1 SerialSampleMsg.class, NONE, 1.1 SerialSampleMsg.java, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-2.x/apps/tutorials/LowPowerSensing/Sampler
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv8308/Sampler
Added Files:
LowPowerSensingPeriodicSamplerAppC.nc
LowPowerSensingPeriodicSamplerC.nc Makefile volumes-at45db.xml
volumes-stm25p.xml
Log Message:
Low Power Sensing Application initial checkin
--- NEW FILE: LowPowerSensingPeriodicSamplerAppC.nc ---
/*
* Copyright (c) 2007 Stanford University.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
* - Neither the name of the Stanford University nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* 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 STANFORD
* UNIVERSITY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* 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 <klueska at cs.stanford.edu>
* @date July 24, 2007
*/
#include "LowPowerSensingConstants.h"
#include "SensorSample.h"
configuration LowPowerSensingPeriodicSamplerAppC {}
implementation {
components new SamplePeriodicLogC(SAMPLING_INTERVAL, VOLUME_SENSOR_SAMPLES);
components MainC, LowPowerSensingPeriodicSamplerC as App;
components SampleNxConverterC;
MainC.Boot <- App;
App.SampleLogRead -> SamplePeriodicLogC;
App.SampleNxConverter -> SampleNxConverterC;
components ActiveMessageC;
App.AMControl -> ActiveMessageC;
App.AMPacket -> ActiveMessageC;
App.Packet -> ActiveMessageC;
components new AMSenderC(AM_SAMPLE_MSG) as SampleSender;
App.SampleSend -> SampleSender;
components new AMReceiverC(AM_REQUEST_SAMPLES_MSG) as RequestSamplesReceiver;
App.RequestSamplesReceive -> RequestSamplesReceiver;
components LedsC as LedsC;
App.Leds -> LedsC;
//Nasty hack since no uniform way of prividing LPL support as of yet
#if defined(PLATFORM_TELOSB) || defined(PLATFORM_TMOTE) || defined(PLATFORM_MICAZ)
components CC2420ActiveMessageC as LPLProvider;
App.LPL -> LPLProvider;
#endif
#if defined(PLATFORM_MICA2)
components CC1000CsmaRadioC as LPLProvider;
App.LPL -> LPLProvider;
#endif
}
--- NEW FILE: LowPowerSensingPeriodicSamplerC.nc ---
/*
* Copyright (c) 2007 Stanford University.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
* - Neither the name of the Stanford University nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* 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 STANFORD
* UNIVERSITY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* 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 <klueska at cs.stanford.edu>
* @date July 24, 2007
*/
#include "LowPowerSensingConstants.h"
#include "SensorSample.h"
module LowPowerSensingPeriodicSamplerC {
uses {
interface Boot;
interface SampleLogRead<sensor_sample_t>;
interface SampleNxConverter;
interface Leds;
interface SplitControl as AMControl;
interface AMPacket;
interface Packet;
interface AMSend as SampleSend;
interface Receive as RequestSamplesReceive;
interface LowPowerListening as LPL;
}
}
implementation {
message_t sample_msg;
bool sendBusy = FALSE;
task void readNextTask();
task void sendSampleMsgTask();
void readNext() {
error_t error = call SampleLogRead.readNext();
if(error == FAIL)
post readNextTask();
else if(error == ECANCEL) {
sendBusy = FALSE;
call Leds.led1Toggle();
}
}
void sendSampleMsg() {
call LPL.setRxSleepInterval(&sample_msg, 0);
if(call SampleSend.send(BASE_STATION_ADDR, &sample_msg, sizeof(nx_sensor_sample_t)) != SUCCESS)
post sendSampleMsgTask();
else call Leds.led2On();
}
task void readNextTask() { readNext(); }
task void sendSampleMsgTask() { sendSampleMsg(); }
event void Boot.booted() {
call LPL.setLocalSleepInterval(LPL_INTERVAL);
call AMControl.start();
}
event void AMControl.startDone(error_t e) {
if(e != SUCCESS)
call AMControl.start();
}
event void AMControl.stopDone(error_t e) {
}
event void SampleLogRead.readDone(sensor_sample_t* sample, error_t error) {
if(error == SUCCESS) {
nx_sensor_sample_t* nx_sample = call SampleSend.getPayload(&sample_msg);
call SampleNxConverter.copyToNx(nx_sample, sample);
sendSampleMsg();
}
else post readNextTask();
}
event message_t* RequestSamplesReceive.receive(message_t* msg, void* payload, uint8_t len) {
call Leds.led0Toggle();
if(sendBusy == FALSE) {
sendBusy = TRUE;
readNext();
}
return msg;
}
event void SampleSend.sendDone(message_t* msg, error_t error) {
if(error != SUCCESS)
post sendSampleMsgTask();
else {
call Leds.led2Off();
readNext();
}
}
}
--- NEW FILE: Makefile ---
COMPONENT=LowPowerSensingPeriodicSamplerAppC
CFLAGS += -I.. -I../sampleLog -I../universal_sensors
CFLAGS += -DCC1K_DEFAULT_FREQ=CC1K_914_077_MHZ
include $(MAKERULES)
--- NEW FILE: volumes-at45db.xml ---
<volume_table>
<volume name="SENSOR_SAMPLES" size="262144"/>
</volume_table>
--- NEW FILE: volumes-stm25p.xml ---
<volume_table>
<volume name="SENSOR_SAMPLES" size="786432"/>
</volume_table>
- Previous message: [Tinyos-2-commits]
CVS: tinyos-2.x/apps/tutorials/LowPowerSensing/Base
LowPowerSensingBaseAppC.nc, NONE, 1.1 LowPowerSensingBaseC.nc,
NONE, 1.1 Makefile, NONE, 1.1 volumes-at45db.xml, NONE,
1.1 volumes-stm25p.xml, NONE, 1.1
- Next message: [Tinyos-2-commits]
CVS: tinyos-2.x/apps/tutorials/LowPowerSensing/java
Constants.class, NONE, 1.1 Constants.java, NONE,
1.1 LowPowerSensingApp.class, NONE, 1.1 LowPowerSensingApp.jar,
NONE, 1.1 LowPowerSensingApp.java, NONE, 1.1 Makefile, NONE,
1.1 SerialRequestSamplesMsg.class, NONE,
1.1 SerialRequestSamplesMsg.java, NONE,
1.1 SerialSampleMsg.class, NONE, 1.1 SerialSampleMsg.java, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-2-commits
mailing list