[Tinyos-2-commits] CVS: tinyos-2.x/tos/system StateC.nc, 1.2, 1.3 StateImplC.nc, 1.2, 1.3

dmm rincon at users.sourceforge.net
Mon Jan 14 10:35:32 PST 2008


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

Modified Files:
	StateC.nc StateImplC.nc 
Log Message:
d2u State*.nc

Index: StateC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/system/StateC.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** StateC.nc	6 Nov 2006 11:57:20 -0000	1.2
--- StateC.nc	14 Jan 2008 18:35:30 -0000	1.3
***************
*** 1,78 ****
! /*
!  * 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
!  */
! 
! 
! /**
!  * This is a state controller for any and every component's
!  * state machine(s).
!  *
!  * There are several compelling reasons to use the State module/interface
!  * in all your components that have any kind of state associated with them:
!  *
!  *   1) It provides a unified interface to control any state, which makes
!  *      it easy for everyone to understand your code
!  *   2) You can easily keep track of multiple state machines in one component
!  *   3) You could have one state machine control several components
!  *
!  * There are three ways to change a component's state:
!  *  > Request a state change
!  *     The state is only changed if the state is currently in S_IDLE.  If
!  *     the state changes and access is grated, requestState returns SUCCESS.
!  *
!  *  > Force a state change
!  *     The state changes no matter what
!  * 
!  *  > toIdle()
!  *     The state changes to S_IDLE, no matter what state the component is in.
!  *
!  * S_IDLE is the default state, and is always equal to 0.  Therefore,
!  * setup the enums in your internal component so the IDLE/default state is
!  * always 0.
!  *
!  * @author David Moss - dmm at rincon.com
!  */
!  
! #include "State.h"
! 
! generic configuration StateC() {
!   provides {
!     interface State;
!   }
! }
! 
! implementation {
!   components StateImplC;
! 
!   State = StateImplC.State[unique(UQ_STATE)];
! }
! 
! 
! 
--- 1,78 ----
! /*
!  * 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
!  */
! 
! 
! /**
!  * This is a state controller for any and every component's
!  * state machine(s).
!  *
!  * There are several compelling reasons to use the State module/interface
!  * in all your components that have any kind of state associated with them:
!  *
!  *   1) It provides a unified interface to control any state, which makes
!  *      it easy for everyone to understand your code
!  *   2) You can easily keep track of multiple state machines in one component
!  *   3) You could have one state machine control several components
!  *
!  * There are three ways to change a component's state:
!  *  > Request a state change
!  *     The state is only changed if the state is currently in S_IDLE.  If
!  *     the state changes and access is grated, requestState returns SUCCESS.
!  *
!  *  > Force a state change
!  *     The state changes no matter what
!  * 
!  *  > toIdle()
!  *     The state changes to S_IDLE, no matter what state the component is in.
!  *
!  * S_IDLE is the default state, and is always equal to 0.  Therefore,
!  * setup the enums in your internal component so the IDLE/default state is
!  * always 0.
!  *
!  * @author David Moss - dmm at rincon.com
!  */
!  
! #include "State.h"
! 
! generic configuration StateC() {
!   provides {
!     interface State;
!   }
! }
! 
! implementation {
!   components StateImplC;
! 
!   State = StateImplC.State[unique(UQ_STATE)];
! }
! 
! 
! 

Index: StateImplC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/system/StateImplC.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** StateImplC.nc	6 Nov 2006 11:57:20 -0000	1.2
--- StateImplC.nc	14 Jan 2008 18:35:30 -0000	1.3
***************
*** 1,78 ****
! /*
!  * 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
!  */
! 
! /**
!  * This is a state controller for any and every component's
!  * state machine(s).
!  *
!  * There are several compelling reasons to use the State module/interface
!  * in all your components that have any kind of state associated with them:
!  *
!  *   1) It provides a unified interface to control any state, which makes
!  *      it easy for everyone to understand your code
!  *   2) You can easily keep track of multiple state machines in one component
!  *   3) You could have one state machine control several components
!  *
!  * There are three ways to change a component's state:
!  *  > Request a state change
!  *     The state is only changed if the state is currently in S_IDLE.  If
!  *     the state changes and access is grated, requestState returns SUCCESS.
!  *
!  *  > Force a state change
!  *     The state changes no matter what
!  * 
!  *  > toIdle()
!  *     The state changes to S_IDLE, no matter what state the component is in.
!  *
!  * S_IDLE is the default state, and is always equal to 0.  Therefore,
!  * setup the enums in your internal component so the IDLE/default state is
!  * always 0.
!  *
!  * @author David Moss - dmm at rincon.com
!  */
! 
! #include "State.h"
! 
! configuration StateImplC {
!   provides {
!     interface State[uint8_t id];
!   }
! }
! 
! implementation {
!   components MainC, 
!       StateImplP;
! 
!   MainC.SoftwareInit -> StateImplP;
!   State = StateImplP;
!   
! }
! 
--- 1,78 ----
! /*
!  * 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
!  */
! 
! /**
!  * This is a state controller for any and every component's
!  * state machine(s).
!  *
!  * There are several compelling reasons to use the State module/interface
!  * in all your components that have any kind of state associated with them:
!  *
!  *   1) It provides a unified interface to control any state, which makes
!  *      it easy for everyone to understand your code
!  *   2) You can easily keep track of multiple state machines in one component
!  *   3) You could have one state machine control several components
!  *
!  * There are three ways to change a component's state:
!  *  > Request a state change
!  *     The state is only changed if the state is currently in S_IDLE.  If
!  *     the state changes and access is grated, requestState returns SUCCESS.
!  *
!  *  > Force a state change
!  *     The state changes no matter what
!  * 
!  *  > toIdle()
!  *     The state changes to S_IDLE, no matter what state the component is in.
!  *
!  * S_IDLE is the default state, and is always equal to 0.  Therefore,
!  * setup the enums in your internal component so the IDLE/default state is
!  * always 0.
!  *
!  * @author David Moss - dmm at rincon.com
!  */
! 
! #include "State.h"
! 
! configuration StateImplC {
!   provides {
!     interface State[uint8_t id];
!   }
! }
! 
! implementation {
!   components MainC, 
!       StateImplP;
! 
!   MainC.SoftwareInit -> StateImplP;
!   State = StateImplP;
!   
! }
! 



More information about the Tinyos-2-commits mailing list