[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