Revision cda14729 modules/NUCLEO-F103RB/module.h
modules/NUCLEO-F103RB/module.h | ||
---|---|---|
147 | 147 |
/** |
148 | 148 |
* @brief Event flag to be call dwt_isr() interrupt. |
149 | 149 |
*/ |
150 |
#define MODULE_OS_IOEVENTFLAGS_DW1000_IRQn AOS_IOEVENT_FLAG(PAL_PAD(LINE_ARD_D14))
|
|
150 |
#define MODULE_OS_GPIOEVENTFLAG_DW1000_IRQn AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_ARD_D14))
|
|
151 | 151 |
//#endif /* (BOARD_DW1000_CONNECTED == true) */ |
152 | 152 |
|
153 | 153 |
/** |
154 | 154 |
* @brief Event flag to be set on a USER_BUTTON interrupt. |
155 | 155 |
*/ |
156 |
#define MODULE_OS_IOEVENTFLAGS_USERBUTTON AOS_IOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
|
|
156 |
#define MODULE_OS_GPIOEVENTFLAG_USERBUTTON AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
|
|
157 | 157 |
|
158 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
|
|
158 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__) |
|
159 | 159 |
/** |
160 | 160 |
* @brief Shell prompt text. |
161 | 161 |
*/ |
162 | 162 |
extern ROMCONST char* moduleShellPrompt; |
163 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
163 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) */ |
|
164 | 164 |
|
165 | 165 |
/** |
166 | 166 |
* @brief Interrupt initialization macro. |
167 |
* @note SSSP related interrupt signals are already initialized in 'aos_system.c'. |
|
168 | 167 |
*/ |
169 | 168 |
#define MODULE_INIT_INTERRUPTS() { \ |
170 | 169 |
/* user button */ \ |
171 |
palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioUserButton.gpio->line); \
|
|
170 |
palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioUserButton.gpio->line); \
|
|
172 | 171 |
palEnableLineEvent(moduleGpioUserButton.gpio->line, APAL2CH_EDGE(moduleGpioUserButton.meta.edge)); \ |
173 | 172 |
MODULE_INIT_INTERRUPTS_DW1000(); \ |
174 | 173 |
} |
175 | 174 |
#if (BOARD_DW1000_CONNECTED == true) |
176 | 175 |
#define MODULE_INIT_INTERRUPTS_DW1000() { \ |
177 |
palSetLineCallback(moduleGpioDw1000Irqn.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioDw1000Irqn.gpio->line); \
|
|
176 |
palSetLineCallback(moduleGpioDw1000Irqn.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioDw1000Irqn.gpio->line); \
|
|
178 | 177 |
palEnableLineEvent(moduleGpioDw1000Irqn.gpio->line, APAL2CH_EDGE(moduleGpioDw1000Irqn.meta.edge)); \ |
179 | 178 |
} |
180 | 179 |
#else /* (BOARD_DW1000_CONNECTED == true) */ |
... | ... | |
187 | 186 |
* @brief Test initialization hook. |
188 | 187 |
*/ |
189 | 188 |
#define MODULE_INIT_TESTS() { \ |
190 |
/* initialize tests and add to shell */ \
|
|
189 |
/* add test commands to shell */ \
|
|
191 | 190 |
aosShellAddCommand(&aos.shell, &moduleTestLedShellCmd); \ |
192 | 191 |
aosShellAddCommand(&aos.shell, &moduleTestButtonShellCmd); \ |
193 | 192 |
MODULE_INIT_TESTS_DW1000(); \ |
... | ... | |
228 | 227 |
*/ |
229 | 228 |
#define MODULE_SHUTDOWN_PERIPHERY_IF() { \ |
230 | 229 |
MODULE_SHUTDOWN_PERIPHERY_IF_DW1000(); \ |
230 |
/* don't stop the serial driver so messages can still be printed */ \ |
|
231 | 231 |
} |
232 | 232 |
#if (BOARD_DW1000_CONNECTED == true) |
233 | 233 |
#define MODULE_SHUTDOWN_PERIPHERY_IF_DW1000() { \ |
... | ... | |
242 | 242 |
/** |
243 | 243 |
* @brief HOOK to toggle the LEDs when the user button is pressed. |
244 | 244 |
*/ |
245 |
#define MODULE_MAIN_LOOP_IO_EVENT(eventflags) { \
|
|
246 |
if (eventflags & MODULE_OS_IOEVENTFLAGS_USERBUTTON) { \
|
|
245 |
#define MODULE_MAIN_LOOP_GPIOEVENT(eventflags) { \
|
|
246 |
if (eventflags & MODULE_OS_GPIOEVENTFLAG_USERBUTTON) { \
|
|
247 | 247 |
apalControlGpioState_t buttonstate; \ |
248 | 248 |
apalControlGpioGet(&moduleGpioUserButton, &buttonstate); \ |
249 | 249 |
apalControlGpioSet(&moduleGpioLed, buttonstate); \ |
250 | 250 |
} \ |
251 |
MODULE_MAIN_LOOP_IO_EVENT_DW1000(); \
|
|
251 |
MODULE_MAIN_LOOP_GPIOEVENT_DW1000(); \
|
|
252 | 252 |
} |
253 | 253 |
#if (BOARD_DW1000_CONNECTED == true) |
254 | 254 |
/** |
255 | 255 |
* @brief HOOK to call process_deca_irq() func when the dw1000 interrupt pin is activated. |
256 | 256 |
*/ |
257 |
#define MODULE_MAIN_LOOP_IO_EVENT_DW1000() { \
|
|
258 |
if(eventflags & MODULE_OS_IOEVENTFLAGS_DW1000_IRQn) { \
|
|
257 |
#define MODULE_MAIN_LOOP_GPIOEVENT_DW1000() { \
|
|
258 |
if(eventflags & MODULE_GPOS_IOEVENTFLAG_DW1000_IRQn) { \
|
|
259 | 259 |
/*apalGpioToggle(moduleGpioLed.gpio);*/ /* just for debug*/ \ |
260 | 260 |
process_deca_irq(); \ |
261 | 261 |
} \ |
262 | 262 |
} |
263 | 263 |
#else /* (BOARD_DW1000_CONNECTED == true) */ |
264 |
#define MODULE_MAIN_LOOP_IO_EVENT_DW1000() { \
|
|
264 |
#define MODULE_MAIN_LOOP_GPIOEVENT_DW1000() { \
|
|
265 | 265 |
} |
266 | 266 |
#endif /* (BOARD_DW1000_CONNECTED == true) */ |
267 | 267 |
|
... | ... | |
274 | 274 |
*/ |
275 | 275 |
/*===========================================================================*/ |
276 | 276 |
|
277 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) || defined(__DOXYGEN__) |
|
278 |
|
|
279 |
// SSSP is not yet supported on this module |
|
280 |
|
|
281 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */ |
|
282 |
|
|
277 | 283 |
/** @} */ |
278 | 284 |
|
279 | 285 |
/*===========================================================================*/ |
Also available in: Unified diff