From: ayer1 Date: Thu, 18 Feb 2010 18:32:19 +0000 (+0000) Subject: removal predicated on modified implementation placed in shimmer X-Git-Tag: rc_6_tinyos_2_1_1~11 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=da99b7606796b36a1d91c392aa4b84567664a32e removal predicated on modified implementation placed in shimmer platform (no get; debounced). --- diff --git a/tos/platforms/shimmer2/SwitchToggleC.nc b/tos/platforms/shimmer2/SwitchToggleC.nc deleted file mode 100644 index d04990a4..00000000 --- a/tos/platforms/shimmer2/SwitchToggleC.nc +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Copyright (c) 2007 Arch Rock 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 - */ - -/** - * Generic layer to translate a GIO into a toggle switch - * - * @author Gilman Tolle - * @version $Revision$ - * - * @author Mike Healy - * @date May 9, 2009 - modified for use with SHIMMER2 - */ - -#include - -generic module SwitchToggleC() { - provides interface Get; - provides interface Notify; - - uses interface GeneralIO; - uses interface GpioInterrupt; -} - -implementation { - norace bool m_pinHigh; - - task void sendEvent(); - - command bool Get.get() { return call GeneralIO.get(); } - - command error_t Notify.enable() { - call GeneralIO.makeInput(); - - if ( call GeneralIO.get() ) { - m_pinHigh = TRUE; - return call GpioInterrupt.enableFallingEdge(); - } - else { - m_pinHigh = FALSE; - return call GpioInterrupt.enableRisingEdge(); - } - } - - command error_t Notify.disable() { - return call GpioInterrupt.disable(); - } - - async event void GpioInterrupt.fired() { - call GpioInterrupt.disable(); - - m_pinHigh = !m_pinHigh; - - post sendEvent(); - } - - task void sendEvent() { - bool pinHigh; - pinHigh = m_pinHigh; - - signal Notify.notify( pinHigh ); - - if ( pinHigh ) { - call GpioInterrupt.enableFallingEdge(); - } - else { - call GpioInterrupt.enableRisingEdge(); - } - } -} diff --git a/tos/platforms/shimmer2/UserButton.h b/tos/platforms/shimmer2/UserButton.h deleted file mode 100644 index d0207415..00000000 --- a/tos/platforms/shimmer2/UserButton.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2007 Arch Rock 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 - */ - -/** - * Implementation of the user button for the telosb platform - * - * @author Gilman Tolle - * @version $Revision$ - */ - -#ifndef USERBUTTON_H -#define USERBUTTON_H - -typedef enum { BUTTON_RELEASED = 0, BUTTON_PRESSED = 1 } button_state_t; - -#endif diff --git a/tos/platforms/shimmer2/UserButtonC.nc b/tos/platforms/shimmer2/UserButtonC.nc deleted file mode 100644 index e44b2af5..00000000 --- a/tos/platforms/shimmer2/UserButtonC.nc +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Copyright (c) 2007 Arch Rock 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 - */ - -/** - * Implementation of the user button for the telosb platform. Get - * returns the current state of the button by reading the pin, - * regardless of whether enable() or disable() has been called on the - * Interface. Notify.enable() and Notify.disable() modify the - * underlying interrupt state of the pin, and have the effect of - * enabling or disabling notifications that the button has changed - * state. - * - * @author Gilman Tolle - * @version $Revision$ - */ - -#include - -configuration UserButtonC { - provides interface Get; - provides interface Notify; -} -implementation { - components HplUserButtonC; - components new SwitchToggleC(); - SwitchToggleC.GpioInterrupt -> HplUserButtonC.GpioInterrupt; - SwitchToggleC.GeneralIO -> HplUserButtonC.GeneralIO; - - components UserButtonP; - Get = UserButtonP; - Notify = UserButtonP; - - UserButtonP.GetLower -> SwitchToggleC.Get; - UserButtonP.NotifyLower -> SwitchToggleC.Notify; -} diff --git a/tos/platforms/shimmer2/UserButtonP.nc b/tos/platforms/shimmer2/UserButtonP.nc deleted file mode 100644 index 90df16cb..00000000 --- a/tos/platforms/shimmer2/UserButtonP.nc +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright (c) 2007 Arch Rock 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 - */ - -/** - * Implementation of the user button for the telosb platform - * - * @author Gilman Tolle - * @version $Revision$ - * - * @author Mike Healy - * @date May 9, 2009 - modified for use with SHIMMER2 - */ - -#include - -module UserButtonP { - provides interface Get; - provides interface Notify; - - uses interface Get as GetLower; - uses interface Notify as NotifyLower; -} -implementation { - - command button_state_t Get.get() { - // shimmer user button pin is high when pressed - if ( call GetLower.get() ) { - return BUTTON_PRESSED; - } else { - return BUTTON_RELEASED; - } - } - - command error_t Notify.enable() { - return call NotifyLower.enable(); - } - - command error_t Notify.disable() { - return call NotifyLower.disable(); - } - - event void NotifyLower.notify( bool val ) { - // shimmer user button pin is high when pressed - if ( val ) { - signal Notify.notify( BUTTON_PRESSED ); - } else { - signal Notify.notify( BUTTON_RELEASED ) ; - } - } - - default event void Notify.notify( button_state_t val ) { } -}