[Tinyos-2-commits] CVS: tinyos-2.x/tos/interfaces State.nc,1.2,1.3

dmm rincon at users.sourceforge.net
Wed Jun 13 18:11:02 PDT 2007


Update of /cvsroot/tinyos/tinyos-2.x/tos/interfaces
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23210/interfaces

Modified Files:
	State.nc 
Log Message:
Added isState(), improved atomic access

Index: State.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/interfaces/State.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** State.nc	12 Dec 2006 18:23:15 -0000	1.2
--- State.nc	14 Jun 2007 01:10:59 -0000	1.3
***************
*** 1,68 ****
! /*
!  * Copyright (c) 2005-2006 Rincon Research Corporation
!  * 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 Arch Rock Corporation 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 THE
!  * ARCHED ROCK 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
!  */
! 
! 
! /**
!  * State machine interface
!  * @author David Moss - dmm at rincon.com
!  */
!  
! interface State {
! 
!   /**
!    * This will allow a state change so long as the current
!    * state is S_IDLE.
!    * @return SUCCESS if the state is change, FAIL if it isn't
!    */
!   async command error_t requestState(uint8_t reqState);
!   
!   /**
!    * Force the state machine to go into a certain state,
!    * regardless of the current state it's in.
!    */
!   async command void forceState(uint8_t reqState);
!   
!   /**
!    * Set the current state back to S_IDLE
!    */
!   async command void toIdle();
!   
!   /**
!    * @return TRUE if the state machine is in S_IDLE
!    */
!   async command bool isIdle();
!   
!   /**
!    * Get the current state
!    */
!   async command uint8_t getState();
! 
! }
--- 1,73 ----
! /*
!  * Copyright (c) 2005-2006 Rincon Research Corporation
!  * 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 Rincon Research Corporation 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 THE
!  * RINCON RESEARCH 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
!  */
! 
! 
! /**
!  * State machine interface
!  * @author David Moss - dmm at rincon.com
!  */
!  
! interface State {
! 
!   /**
!    * This will allow a state change so long as the current
!    * state is S_IDLE.
!    * @return SUCCESS if the state is change, FAIL if it isn't
!    */
!   async command error_t requestState(uint8_t reqState);
!   
!   /**
!    * Force the state machine to go into a certain state,
!    * regardless of the current state it's in.
!    */
!   async command void forceState(uint8_t reqState);
!   
!   /**
!    * Set the current state back to S_IDLE
!    */
!   async command void toIdle();
!   
!   /**
!    * @return TRUE if the state machine is in S_IDLE
!    */
!   async command bool isIdle();
!   
!   /**
!    * @return TRUE if the state machine is in the given state
!    */
!   async command bool isState(uint8_t myState);
!   
!   /**
!    * Get the current state
!    */
!   async command uint8_t getState();
! 
! }



More information about the Tinyos-2-commits mailing list