]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/pxa27x/gpio/HplPXA27xGPIOPin.nc
Convert to Unix-style line terminators.
[tinyos-2.x.git] / tos / chips / pxa27x / gpio / HplPXA27xGPIOPin.nc
index 0d121b648f0342ca216c3cdba2a3b798865dfd49..02fefd5f662d4109ec58e56cde0a4139df55dfd8 100644 (file)
-/*\r
- * Copyright (c) 2005 Arched Rock Corporation \r
- * All rights reserved. \r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions are\r
- * met:\r
- *     Redistributions of source code must retain the above copyright\r
- * notice, this list of conditions and the following disclaimer.\r
- *     Redistributions in binary form must reproduce the above copyright\r
- * notice, this list of conditions and the following disclaimer in the\r
- * documentation and/or other materials provided with the distribution.\r
- *  \r
- *   Neither the name of the Arched Rock Corporation nor the names of its\r
- * contributors may be used to endorse or promote products derived from\r
- * this software without specific prior written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
- * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ARCHED\r
- * ROCK OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS\r
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\r
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\r
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\r
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\r
- * DAMAGE.\r
- */\r
-/**\r
- * This interface provides a 'per-pin' abstraction for the PXA27x\r
- * GPIO system. It is parameterized by the specific GPIO Pin number\r
- * of the PXA27x. \r
- *\r
- * @author Phil Buonadonna\r
- */\r
-\r
-interface HplPXA27xGPIOPin \r
-{\r
-  /** \r
-   * Returns the logic state of a GPIO Pin.\r
-   *\r
-   * @return bool TRUE if logic '1', FALSE if logic '0'\r
-   */\r
-  async command bool getGPLRbit();\r
-\r
-  /** \r
-   * Configures the direction of a GPIO pin.\r
-   *\r
-   * @param dir TRUE to configure as an output, FALSE to configure as an input.\r
-   */\r
-  async command void setGPDRbit(bool dir);\r
-\r
-  /** \r
-   * Get's the current pin direction configuration.\r
-   *\r
-   * @return bool TRUE if configured as an output, FALSE if configured \r
-   *  as an input.\r
-   */\r
-  async command bool getGPDRbit();\r
-\r
-  /** \r
-   * Sets a GPIO pin configured as an output to a HIGH state.\r
-   *\r
-   */\r
-  async command void setGPSRbit();\r
-\r
-  /** \r
-   * Sets a GPIO pin configured as an output to a LOW state.\r
-   *\r
-   */\r
-  async command void setGPCRbit();\r
-\r
-  /** \r
-   * Enables/Disables events on the rising edge of a GPIO pin \r
-   * signal. Calls to this function are independent of calls\r
-   * to 'setFallingEDEnable()'\r
-   *\r
-   * @param flag TRUE to enable rising edge detection, FASLE to\r
-   * disable.\r
-   *\r
-   */\r
-  async command void setGRERbit(bool flag);\r
-\r
-  /** \r
-   * Returns the status of rising edge detection.\r
-   *\r
-   * @return val TRUE if rising edge detection is enable, FALSE\r
-   * otherwise.\r
-   */\r
-  async command bool getGRERbit();\r
-\r
-  /** \r
-   * Enables/Disables events on the falling edge of a GPIO pin \r
-   * signal. Calls to this function are independent of calls to\r
-   * 'setRisingEDEnable()'\r
-   *\r
-   * @param flag TRUE to enable falling edge detection, FASLE to\r
-   * disable.\r
-   */\r
-  async command void setGFERbit(bool flag);\r
-\r
-  /** \r
-   * Returns the status of falling edge detection.\r
-   *\r
-   * @return val TRUE if falling edge detection is enable, FALSE\r
-   * otherwise.\r
-   */\r
-  async command bool getGFERbit();\r
-\r
-  /** \r
-   * Indicates wether an edge detection event is pending for GPIO Pin\r
-   *\r
-   * @return val TRUE if an event is pending.\r
-   */\r
-  async command bool getGEDRbit();\r
-\r
-  /** \r
-   * Clears the edge detection event status.\r
-   *\r
-   * @return val TRUE if there was a pending event prior to clearing, \r
-   * FALSE otherwise.\r
-   */\r
-  async command bool clearGEDRbit();\r
-\r
-  /** \r
-   * Sets the GPIO pin to one of it's alternate peripheral functions.\r
-   * Refer to the PXA27x Developers Manual for information on available\r
-   * alternate functions.\r
-   *\r
-   * @param func An integer between 0 and 3 indicating the desired \r
-   * pin alternate function. \r
-   */\r
-  async command void setGAFRpin(uint8_t func);\r
-\r
-  /** \r
-   * Returns the current alternate function selected for the GPIO pin.\r
-   *\r
-   * @return val An integer between 0 and 3 indicated the current\r
-   * alternate function.\r
-   */\r
-  async command uint8_t getGAFRpin();\r
-\r
-  /** \r
-   * The pin edge detection event. Signalled when a rising/falling edge\r
-   * occurs on the PIN and the respective edge detect enable is set.\r
-   * The default event DOES NOT clear any pending requests.\r
-   *\r
-   */\r
-  async event void interruptGPIOPin();\r
-}\r
-\r
+/*
+ * Copyright (c) 2005 Arched 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 Arched 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 interface provides a 'per-pin' abstraction for the PXA27x
+ * GPIO system. It is parameterized by the specific GPIO Pin number
+ * of the PXA27x. 
+ *
+ * @author Phil Buonadonna
+ */
+
+interface HplPXA27xGPIOPin 
+{
+  /** 
+   * Returns the logic state of a GPIO Pin.
+   *
+   * @return bool TRUE if logic '1', FALSE if logic '0'
+   */
+  async command bool getGPLRbit();
+
+  /** 
+   * Configures the direction of a GPIO pin.
+   *
+   * @param dir TRUE to configure as an output, FALSE to configure as an input.
+   */
+  async command void setGPDRbit(bool dir);
+
+  /** 
+   * Get's the current pin direction configuration.
+   *
+   * @return bool TRUE if configured as an output, FALSE if configured 
+   *  as an input.
+   */
+  async command bool getGPDRbit();
+
+  /** 
+   * Sets a GPIO pin configured as an output to a HIGH state.
+   *
+   */
+  async command void setGPSRbit();
+
+  /** 
+   * Sets a GPIO pin configured as an output to a LOW state.
+   *
+   */
+  async command void setGPCRbit();
+
+  /** 
+   * Enables/Disables events on the rising edge of a GPIO pin 
+   * signal. Calls to this function are independent of calls
+   * to 'setFallingEDEnable()'
+   *
+   * @param flag TRUE to enable rising edge detection, FASLE to
+   * disable.
+   *
+   */
+  async command void setGRERbit(bool flag);
+
+  /** 
+   * Returns the status of rising edge detection.
+   *
+   * @return val TRUE if rising edge detection is enable, FALSE
+   * otherwise.
+   */
+  async command bool getGRERbit();
+
+  /** 
+   * Enables/Disables events on the falling edge of a GPIO pin 
+   * signal. Calls to this function are independent of calls to
+   * 'setRisingEDEnable()'
+   *
+   * @param flag TRUE to enable falling edge detection, FASLE to
+   * disable.
+   */
+  async command void setGFERbit(bool flag);
+
+  /** 
+   * Returns the status of falling edge detection.
+   *
+   * @return val TRUE if falling edge detection is enable, FALSE
+   * otherwise.
+   */
+  async command bool getGFERbit();
+
+  /** 
+   * Indicates wether an edge detection event is pending for GPIO Pin
+   *
+   * @return val TRUE if an event is pending.
+   */
+  async command bool getGEDRbit();
+
+  /** 
+   * Clears the edge detection event status.
+   *
+   * @return val TRUE if there was a pending event prior to clearing, 
+   * FALSE otherwise.
+   */
+  async command bool clearGEDRbit();
+
+  /** 
+   * Sets the GPIO pin to one of it's alternate peripheral functions.
+   * Refer to the PXA27x Developers Manual for information on available
+   * alternate functions.
+   *
+   * @param func An integer between 0 and 3 indicating the desired 
+   * pin alternate function. 
+   */
+  async command void setGAFRpin(uint8_t func);
+
+  /** 
+   * Returns the current alternate function selected for the GPIO pin.
+   *
+   * @return val An integer between 0 and 3 indicated the current
+   * alternate function.
+   */
+  async command uint8_t getGAFRpin();
+
+  /** 
+   * The pin edge detection event. Signalled when a rising/falling edge
+   * occurs on the PIN and the respective edge detect enable is set.
+   * The default event DOES NOT clear any pending requests.
+   *
+   */
+  async event void interruptGPIOPin();
+}
+