]> git.karo-electronics.de Git - oswald.git/blob - metawatch/hal_io_macros.h
Fix typo
[oswald.git] / metawatch / hal_io_macros.h
1 //==============================================================================
2 //  Copyright Meta Watch Ltd. - http://www.MetaWatch.org/
3 // 
4 //  Licensed under the Meta Watch License, Version 1.0 (the "License");
5 //  you may not use this file except in compliance with the License.
6 //  You may obtain a copy of the License at
7 //  
8 //      http://www.MetaWatch.org/licenses/license-1.0.html
9 //
10 //  Unless required by applicable law or agreed to in writing, software
11 //  distributed under the License is distributed on an "AS IS" BASIS,
12 //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 //  See the License for the specific language governing permissions and
14 //  limitations under the License.
15 //==============================================================================
16
17 /******************************************************************************/
18 /*! \file hal_io_macros.c
19  *
20  * Separate the pin definitions for each board type from the macros
21  *
22  */
23 /******************************************************************************/
24
25 #ifndef HAL_IO_MACROS
26 #define HAL_IO_MACROS
27
28 /******************************************************************************/
29
30 #define BT_CLK_REQ_CONFIG_AS_INPUT() { \
31   BT_CLK_REQ_PDIR &= ~BT_CLK_REQ_PIN; \
32 }
33
34 #define BT_CLK_REQ_CONFIG_AS_OUTPUT_LOW() { \
35   BT_CLK_REQ_PDIR |= BT_CLK_REQ_PIN; \
36   BT_CLK_REQ_POUT &= ~BT_CLK_REQ_PIN; \
37 }
38
39 #define BT_IO1_CONFIG_AS_INPUT() { \
40   BT_IO1_PDIR &= ~BT_IO1_PIN; }
41
42 #define BT_IO1_CONFIG_AS_OUTPUT_LOW() { \
43   BT_IO1_PDIR |= BT_IO1_PIN;  \
44   BT_IO1_POUT &= ~BT_IO1_PIN; \
45 }
46
47 #define BT_IO2_CONFIG_AS_INPUT() { \
48   BT_IO2_PDIR &= ~BT_IO2_PIN; \
49 }
50
51 #define BT_IO2_CONFIG_AS_OUTPUT_LOW() { \
52   BT_IO2_PDIR |= BT_IO2_PIN; \
53   BT_IO2_POUT &= ~BT_IO2_PIN; }
54
55 /******************************************************************************/
56
57 #define ACCELEROMETER_INT_ENABLE() { \
58   ACCELEROMETER_INT_PIFG &= ~ACCELEROMETER_INT_PIN;   \
59   ACCELEROMETER_INT_PIE |= ACCELEROMETER_INT_PIN;     \
60 }
61
62 #define ACCELEROMETER_INT_DISABLE() { \
63   ACCELEROMETER_INT_PIE &= ~ACCELEROMETER_INT_PIN;     \
64   ACCELEROMETER_INT_PIFG &= ~ACCELEROMETER_INT_PIN;    \
65 }
66
67 #define CONFIG_ACCELEROMETER_PINS() { \
68   ACCELEROMETER_SDA_PSEL |= ACCELEROMETER_SDA_PIN;  \
69   ACCELEROMETER_SCL_PSEL |= ACCELEROMETER_SCL_PIN;  \
70   ACCELEROMETER_INT_PDIR &= ~ACCELEROMETER_INT_PIN; \
71 }
72
73 /* only configuration 5 and later boards support turning on/off the power
74  * to the accelerometer
75  */
76 #define ENABLE_ACCELEROMETER_POWER() { \
77   ACCELEROMETER_POWER_PDIR |= ACCELEROMETER_POWER_PINS; \
78   ACCELEROMETER_POWER_POUT |= ACCELEROMETER_POWER_PINS; \
79 }
80
81 #define DISABLE_ACCELEROMETER_POWER() { \
82   ACCELEROMETER_POWER_PDIR |= ACCELEROMETER_POWER_PINS;  \
83   ACCELEROMETER_POWER_POUT &= ~ACCELEROMETER_POWER_PINS; \
84 }
85
86 /******************************************************************************/
87
88 #define ENABLE_MUX_OUTPUT_CONTROL() {    \
89   MUX_CONTROL1_PDIR |= MUX_CONTROL1_PIN; \
90   MUX_CONTROL2_PDIR |= MUX_CONTROL2_PIN; \
91 }
92
93 #define MUX_OUTPUT_OFF() {    \
94   MUX_CONTROL1_POUT &= ~MUX_CONTROL1_PIN; \
95   MUX_CONTROL2_POUT &= ~MUX_CONTROL2_PIN; \
96 }
97
98 #define MUX_OUTPUT_SELECTS_SERIAL() {    \
99   MUX_CONTROL1_POUT |= MUX_CONTROL1_PIN; \
100   MUX_CONTROL2_POUT &= ~MUX_CONTROL2_PIN; \
101 }
102
103 #define MUX_OUTPUT_SELECTS_GND() {    \
104   MUX_CONTROL1_POUT &= ~MUX_CONTROL1_PIN; \
105   MUX_CONTROL2_POUT |= MUX_CONTROL2_PIN; \
106 }
107
108 #define MUX_OUTPUT_SELECTS_SPY() {    \
109   MUX_CONTROL1_POUT |= MUX_CONTROL1_PIN; \
110   MUX_CONTROL2_POUT |= MUX_CONTROL2_PIN; \
111 }
112
113
114 /******************************************************************************/
115
116 #endif /* HAL_IO_MACROS */