KETCube
ketCube_mainBoard.h
Go to the documentation of this file.
1 
45 #ifndef __KETCUBE_MAIN_BOARD_H
46 #define __KETCUBE_MAIN_BOARD_H
47 
48 
49 #include "stm32l0xx_hal.h"
50 #include "stm32l0xx_hal_gpio.h"
51 #include "stdlib.h"
52 
53 #include "ketCube_gpio.h"
54 
55 
70 #define KETCUBE_MAIN_REV_A 0
71 #define KETCUBE_MAIN_REV_B 1
72 #define KETCUBE_MAIN_REV_C 2
73 #define KETCUBE_MAIN_REV_D 3
74 #define KETCUBE_MAIN_REV_E 4
75 #define KETCUBE_MAIN_REV_F 5
76 
77 #define KETCUBE_MAIN_REV_DEV (KETCUBE_MAIN_REV_F + 1)
78 
88 #define KETCUBE_MAIN_BOARD_SJ_OPEN 0
89 #define KETCUBE_MAIN_BOARD_SJ_12 1
90 #define KETCUBE_MAIN_BOARD_SJ_23 2
91 
100 #define KETCUBE_MAIN_BOARD_REV (KETCUBE_MAIN_REV_DEV - 1)
101 
102 #define KETCUBE_MAIN_BOARD_OPTION_SJ1 KETCUBE_MAIN_BOARD_SJ_12
103 #define KETCUBE_MAIN_BOARD_OPTION_SJ7 KETCUBE_MAIN_BOARD_SJ_OPEN
104 
105 #define KETCUBE_MAIN_BOARD_OPTION_SJ2 KETCUBE_MAIN_BOARD_SJ_12
106 
107 #define KETCUBE_MAIN_BOARD_OPTION_SJ3 KETCUBE_MAIN_BOARD_SJ_12
108 #define KETCUBE_MAIN_BOARD_OPTION_SJ8 KETCUBE_MAIN_BOARD_SJ_OPEN
109 
110 #define KETCUBE_MAIN_BOARD_OPTION_SJ5 KETCUBE_MAIN_BOARD_SJ_12
111 #define KETCUBE_MAIN_BOARD_OPTION_SJ6 KETCUBE_MAIN_BOARD_SJ_12
112 
113 #define KETCUBE_MAIN_BOARD_OPTION_SJ9 KETCUBE_MAIN_BOARD_SJ_23
114 #define KETCUBE_MAIN_BOARD_OPTION_SJ10 KETCUBE_MAIN_BOARD_SJ_12
115 
116 
126 // Configurable Socket part
127 
128 #define KETCUBE_MAIN_BOARD_PIN_IO1_PIN KETCUBE_GPIO_PIN_10
129 #define KETCUBE_MAIN_BOARD_PIN_IO1_PORT KETCUBE_GPIO_PA
130 
131 #define KETCUBE_MAIN_BOARD_PIN_IO2_PIN KETCUBE_GPIO_PIN_9
132 #define KETCUBE_MAIN_BOARD_PIN_IO2_PORT KETCUBE_GPIO_PA
133 
134 #if (KETCUBE_MAIN_BOARD_OPTION_SJ1 == KETCUBE_MAIN_BOARD_SJ_12)
135 #define KETCUBE_MAIN_BOARD_PIN_IO3_PIN KETCUBE_GPIO_PIN_8
136 #define KETCUBE_MAIN_BOARD_PIN_IO3_PORT KETCUBE_GPIO_PA
137 #else
138 #define KETCUBE_MAIN_BOARD_PIN_IO3_PIN KETCUBE_GPIO_PIN_0
139 #define KETCUBE_MAIN_BOARD_PIN_IO3_PORT NULL
140 #endif
141 
142 #if (KETCUBE_MAIN_BOARD_OPTION_SJ9 == KETCUBE_MAIN_BOARD_SJ_23)
143 #define KETCUBE_MAIN_BOARD_PIN_IO4_PIN KETCUBE_GPIO_PIN_5
144 #define KETCUBE_MAIN_BOARD_PIN_IO4_PORT KETCUBE_GPIO_PA
145 #else
146 #define KETCUBE_MAIN_BOARD_PIN_IO4_PIN KETCUBE_GPIO_PIN_0
147 #define KETCUBE_MAIN_BOARD_PIN_IO4_PORT NULL
148 #endif
149 
150 // MicroBUS Socket part
151 
152 #define KETCUBE_MAIN_BOARD_PIN_AN_PIN KETCUBE_GPIO_PIN_4
153 #define KETCUBE_MAIN_BOARD_PIN_AN_PORT KETCUBE_GPIO_PA
154 
155 #define KETCUBE_MAIN_BOARD_PIN_RST_PIN KETCUBE_GPIO_PIN_0
156 #define KETCUBE_MAIN_BOARD_PIN_RST_PORT KETCUBE_GPIO_PA
157 
158 #define KETCUBE_MAIN_BOARD_PIN_CS_PIN KETCUBE_GPIO_PIN_12
159 #define KETCUBE_MAIN_BOARD_PIN_CS_PORT KETCUBE_GPIO_PB
160 
161 #define KETCUBE_MAIN_BOARD_PIN_SCK_PIN KETCUBE_GPIO_PIN_13
162 #define KETCUBE_MAIN_BOARD_PIN_SCK_PORT KETCUBE_GPIO_PB
163 
164 #define KETCUBE_MAIN_BOARD_PIN_MISO_PIN KETCUBE_GPIO_PIN_14
165 #define KETCUBE_MAIN_BOARD_PIN_MISO_PORT KETCUBE_GPIO_PB
166 
167 #define KETCUBE_MAIN_BOARD_PIN_MOSI_PIN KETCUBE_GPIO_PIN_15
168 #define KETCUBE_MAIN_BOARD_PIN_MOSI_PORT KETCUBE_GPIO_PB
169 
170 #define KETCUBE_MAIN_BOARD_PIN_PWM_PIN KETCUBE_GPIO_PIN_2
171 #define KETCUBE_MAIN_BOARD_PIN_PWM_PORT KETCUBE_GPIO_PB
172 
173 #if (KETCUBE_MAIN_BOARD_REV < KETCUBE_MAIN_BOARD_REV_E)
174 #define KETCUBE_MAIN_BOARD_PIN_INT_PIN KETCUBE_GPIO_PIN_7
175 #define KETCUBE_MAIN_BOARD_PIN_INT_PORT KETCUBE_GPIO_PB
176 #else
177 #define KETCUBE_MAIN_BOARD_PIN_INT_PIN KETCUBE_GPIO_PIN_5
178 #define KETCUBE_MAIN_BOARD_PIN_INT_PORT KETCUBE_GPIO_PB
179 #endif
180 
181 #define KETCUBE_MAIN_BOARD_PIN_RX_PIN KETCUBE_GPIO_PIN_3
182 #define KETCUBE_MAIN_BOARD_PIN_RX_PORT KETCUBE_GPIO_PA
183 
184 #define KETCUBE_MAIN_BOARD_PIN_TX_PIN KETCUBE_GPIO_PIN_2
185 #define KETCUBE_MAIN_BOARD_PIN_TX_PORT KETCUBE_GPIO_PA
186 
187 #define KETCUBE_MAIN_BOARD_PIN_SCL_PIN KETCUBE_GPIO_PIN_8
188 #define KETCUBE_MAIN_BOARD_PIN_SCL_PORT KETCUBE_GPIO_PB
189 
190 #define KETCUBE_MAIN_BOARD_PIN_SDA_PIN KETCUBE_GPIO_PIN_9
191 #define KETCUBE_MAIN_BOARD_PIN_SDA_PORT KETCUBE_GPIO_PB
192 
203 #if (KETCUBE_MAIN_BOARD_REV < KETCUBE_MAIN_BOARD_REV_E)
204 #define KETCUBE_MAIN_BOARD_LED1_PIN KETCUBE_GPIO_PIN_5
205 #define KETCUBE_MAIN_BOARD_LED1_GPIO_PORT KETCUBE_GPIO_PB
206 #else
207 #define KETCUBE_MAIN_BOARD_LED1_PIN KETCUBE_GPIO_PIN_7
208 #define KETCUBE_MAIN_BOARD_LED1_GPIO_PORT KETCUBE_GPIO_PB
209 #endif
210 
211 #define KETCUBE_MAIN_BOARD_LED2_PIN KETCUBE_GPIO_PIN_6
212 #define KETCUBE_MAIN_BOARD_LED2_GPIO_PORT KETCUBE_GPIO_PB
213 
222 static inline void ketCube_mainBoard_Init(void) {
223 
224 }
225 
230 #endif /* __KETCUBE_MAIN_BOARD_H */
ketCube_gpio.h
This file contains definitions for the ketCube GPIO driver.
ketCube_mainBoard_Init
static void ketCube_mainBoard_Init(void)
Initialize KETCube mainBoard.
Definition: ketCube_mainBoard.h:222