[Tinyos-2-commits] CVS: tinyos-2.x/apps/tosthreads/capps/TestCollection MultihopOscilloscope.h, NONE, 1.1 Makefile, 1.1, 1.2 TestCollection.c, 1.1, 1.2
Kevin Klues
klueska at users.sourceforge.net
Tue Jun 17 12:07:52 PDT 2008
Update of /cvsroot/tinyos/tinyos-2.x/apps/tosthreads/capps/TestCollection
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27309/capps/TestCollection
Modified Files:
Makefile TestCollection.c
Added Files:
MultihopOscilloscope.h
Log Message:
Update to TestCollection for C based API
--- NEW FILE: MultihopOscilloscope.h ---
/*
* Copyright (c) 2006 Intel Corporation
* All rights reserved.
*
* This file is distributed under the terms in the attached INTEL-LICENSE
* file. If you do not find these files, copies can be found by writing to
* Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,
* 94704. Attention: Intel License Inquiry.
*/
/**
* @author David Gay
* @author Kyle Jamieson
*/
#ifndef MULTIHOP_OSCILLOSCOPE_H
#define MULTIHOP_OSCILLOSCOPE_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 = 0x93
};
typedef nx_struct oscilloscope {
nx_uint16_t version; /* Version of the interval. */
nx_uint16_t interval; /* Samping period. */
nx_uint16_t id; /* Mote id of sending mote. */
nx_uint16_t count; /* The readings are samples count * NREADINGS onwards */
nx_uint16_t readings[NREADINGS];
} oscilloscope_t;
#endif
Index: Makefile
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/apps/tosthreads/capps/TestCollection/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Makefile 16 Jun 2008 21:28:25 -0000 1.1
--- Makefile 17 Jun 2008 19:07:49 -0000 1.2
***************
*** 1,3 ****
--- 1,11 ----
TOSTHREAD_MAIN=TestCollection.c
+ CFLAGS += -I$(TOSDIR)/lib/tosthreads/sensorboards/universal
+
+ CFLAGS += -I$(TOSDIR)/lib/tosthreads/lib/net/
+ CFLAGS += -I$(TOSDIR)/lib/net/
+
+ CFLAGS += -I$(TOSDIR)/lib/tosthreads/lib/net/ctp
+ CFLAGS += -I$(TOSDIR)/lib/net/ctp -I$(TOSDIR)/lib/net/4bitle
+
include $(MAKERULES)
Index: TestCollection.c
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/apps/tosthreads/capps/TestCollection/TestCollection.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TestCollection.c 16 Jun 2008 21:28:25 -0000 1.1
--- TestCollection.c 17 Jun 2008 19:07:49 -0000 1.2
***************
*** 1,29 ****
/*
! * 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 <cliang4 at cs.jhu.edu>
*/
#include "tosthread.h"
! void tosthread_main(void* arg) {}
--- 1,110 ----
/*
! * Copyright (c) 2008 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>
*/
#include "tosthread.h"
+ #include "tosthread_amradio.h"
+ #include "tosthread_amserial.h"
+ #include "tosthread_leds.h"
+ #include "tosthread_collection.h"
+ #include "tosthread_sinesensor.h"
+ #include "MultihopOscilloscope.h"
! void fatal_problem();
! void report_problem();
! void report_sent();
! void report_received();
!
! oscilloscope_t local;
! uint8_t reading = 0; /* 0 to NREADINGS */
! message_t sendbuf;
! message_t recvbuf;
!
! void tosthread_main(void* arg) {
! local.interval = DEFAULT_INTERVAL;
! local.id = TOS_NODE_ID;
! local.version = 0;
!
! while ( amRadioStart() != SUCCESS );
! while ( collectionRoutingStart() != SUCCESS );
!
! if (local.id % 500 == 0) {
! while ( amSerialStart() != SUCCESS);
! collectionSetRoot();
! for (;;) {
! if ( collectionReceive(&recvbuf, 0, AM_OSCILLOSCOPE) == SUCCESS) {
! amSerialSend(AM_BROADCAST_ADDR, &recvbuf, sizeof(local), AM_OSCILLOSCOPE);
! report_received();
! }
! }
! } else {
! uint16_t var;
!
! for (;;) {
! if (reading == NREADINGS) {
! oscilloscope_t *o = o;
! o = (oscilloscope_t *) collectionGetPayload(&sendbuf, sizeof(oscilloscope_t));
! if (o == NULL) {
! fatal_problem();
! return;
! }
! memcpy(o, &local, sizeof(local));
! if (collectionSend(&sendbuf, sizeof(local), AM_OSCILLOSCOPE) == SUCCESS) {
! report_sent();
! } else {
! report_problem();
! }
!
! reading = 0;
! }
!
! if (sinesensor_read(&var) == SUCCESS) {
! local.readings[reading++] = var;
! }
!
! tosthread_sleep(local.interval);
! }
! }
! }
!
! // Use LEDs to report various status issues.
! void fatal_problem() {
! led0On();
! led1On();
! led2On();
! }
!
! void report_problem() { led0Toggle(); }
! void report_sent() { led1Toggle(); }
! void report_received() { led2Toggle(); }
More information about the Tinyos-2-commits
mailing list