[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