Revision 3106e8cc

View differences:

core/inc/aos_system.h
235 235
  void aosSysStop(void);
236 236
  void aosSysDeinit(void);
237 237
  void aosSysShutdownFinal(aos_shutdown_t shutdown);
238
  palcallback_t aosSysGetStdIntCallback(void);
238 239
#if defined(__cplusplus)
239 240
}
240 241
#endif /* defined(__cplusplus) */
core/src/aos_main.cpp
952 952
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_2_ARGS) */
953 953
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_2) */
954 954

  
955
  // AMiRo-OS and custom OS additions (if any)
955
  // AMiRo-OS, additional interrupts and custom OS additions (if any)
956 956
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true)
957 957
  aosSysInit(moduleShellPrompt);
958 958
#else /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
959 959
  aosSysInit();
960 960
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
961
#if defined(MODULE_INIT_INTERRUPTS)
962
  MODULE_INIT_INTERRUPTS();
963
#endif
961 964
#if defined(MODULE_INIT_OS_EXTRA)
962 965
  MODULE_INIT_OS_EXTRA();
963 966
#endif /* defined(MODULE_INIT_OS_EXTRA) */
......
998 1001
#if defined(MODULE_INIT_PERIPHERY_COMM)
999 1002
  MODULE_INIT_PERIPHERY_COMM();
1000 1003
#endif /* defined(MODULE_INIT_PERIPHERY_COMM) */
1001
#if (SSSP_STAGE3_ENABLE == true )
1004
#if ((SSSP_STAGE3_ENABLE == true) && (HAL_USE_CAN == TRUE))
1002 1005
  // CAN
1003 1006
  if (MODULE_HAL_CAN.state == CAN_STOP) {
1004 1007
    canStart(&MODULE_HAL_CAN, &moduleHalCanConfig);
1005 1008
  }
1006
#endif /* (SSSP_STAGE3_ENABLE == true) */
1009
#endif /* (SSSP_STAGE3_ENABLE == true) && (HAL_USE_CAN == TRUE) */
1007 1010
  // user interface (if any)
1008 1011
#if defined(MODULE_HAL_PROGIF)
1009 1012
  aosIOChannelInit(&_stdiochannel, (BaseAsynchronousChannel*)&MODULE_HAL_PROGIF);
core/src/aos_system.c
672 672
/**
673 673
 * @brief   Generic callback function for GPIO interrupts.
674 674
 *
675
 * @param[in] args   Pointer to the GPIO pad identifier.
675
 * @param[in] args   Pointer to the GPIO line identifier.
676 676
 */
677 677
static void _intCallback(void* args)
678 678
{
679
  aosDbgCheck((args != NULL) && (*((iopadid_t*)args) < sizeof(eventflags_t) * 8));
679
  aosDbgCheck((args != NULL) && (*((ioline_t*)args) != PAL_NOLINE) && (PAL_PAD(*((ioline_t*)args)) < sizeof(eventflags_t) * 8));
680 680

  
681 681
  chSysLockFromISR();
682
  chEvtBroadcastFlagsI(&aos.events.io, AOS_IOEVENT_FLAG(*((iopadid_t*)args)));
682
  chEvtBroadcastFlagsI(&aos.events.io, AOS_IOEVENT_FLAG(PAL_PAD(*((ioline_t*)args))));
683 683
  chSysUnlockFromISR();
684 684

  
685 685
  return;
......
690 690
/**
691 691
 * @brief   Callback function for the Sync signal interrupt.
692 692
 *
693
 * @param[in] args   Pointer to the GPIO pad identifier.
693
 * @param[in] args   Pointer to the GPIO line identifier.
694 694
 */
695 695
static void _signalSyncCallback(void *args)
696 696
{
697
  aosDbgCheck((args != NULL) && (*((iopadid_t*)args) < sizeof(eventflags_t) * 8));
697
  aosDbgCheck((args != NULL) && (*((ioline_t*)args) != PAL_NOLINE) && (PAL_PAD(*((ioline_t*)args)) < sizeof(eventflags_t) * 8));
698 698

  
699 699
  apalControlGpioState_t s_state;
700 700
  aos_timestamp_t uptime;
......
723 723
    }
724 724
  }
725 725
  // broadcast event
726
  chEvtBroadcastFlagsI(&aos.events.io, AOS_IOEVENT_FLAG(*((iopadid_t*)args)));
726
  chEvtBroadcastFlagsI(&aos.events.io, AOS_IOEVENT_FLAG(PAL_PAD(*((ioline_t*)args))));
727 727
  chSysUnlockFromISR();
728 728

  
729 729
  return;
......
840 840
  /* interrupt setup */
841 841
#if (AMIROOS_CFG_SSSP_ENABLE == true)
842 842
  // PD signal
843
  palSetPadCallback(moduleSsspGpioPd.gpio->port, moduleSsspGpioPd.gpio->pad, _intCallback, &moduleSsspGpioPd.gpio->pad);
844
  palEnablePadEvent(moduleSsspGpioPd.gpio->port, moduleSsspGpioPd.gpio->pad, APAL2CH_EDGE(moduleSsspGpioPd.meta.edge));
843
  palSetLineCallback(moduleSsspGpioPd.gpio->line, _intCallback, &moduleSsspGpioPd.gpio->line);
844
  palEnableLineEvent(moduleSsspGpioPd.gpio->line, APAL2CH_EDGE(moduleSsspGpioPd.meta.edge));
845 845
  // SYNC signal
846 846
#if (AMIROOS_CFG_SSSP_MASTER == true)
847
  palSetPadCallback(moduleSsspGpioSync.gpio->port, moduleSsspGpioSync.gpio->pad, _intCallback, &moduleSsspGpioSync.gpio->pad);
847
  palSetLineCallback(moduleSsspGpioSync.gpio->line, _intCallback, &moduleSsspGpioSync.gpio->line);
848 848
#else /* (AMIROOS_CFG_SSSP_MASTER == true) */
849
  palSetPadCallback(moduleSsspGpioSync.gpio->port, moduleSsspGpioSync.gpio->pad, _signalSyncCallback, &moduleSsspGpioSync.gpio->pad);
849
  palSetLineCallback(moduleSsspGpioSync.gpio->line, _signalSyncCallback, &moduleSsspGpioSync.gpio->line);
850 850
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
851
  palEnablePadEvent(moduleSsspGpioSync.gpio->port, moduleSsspGpioSync.gpio->pad, APAL2CH_EDGE(moduleSsspGpioSync.meta.edge));
851
  palEnableLineEvent(moduleSsspGpioSync.gpio->line, APAL2CH_EDGE(moduleSsspGpioSync.meta.edge));
852 852
#if (AMIROOS_CFG_SSSP_STACK_START != true)
853 853
  // DN signal
854
  palSetPadCallback(moduleSsspGpioDn.gpio->port, moduleSsspGpioDn.gpio->pad, _intCallback, &moduleSsspGpioDn.gpio->pad);
855
  palEnablePadEvent(moduleSsspGpioDn.gpio->port, moduleSsspGpioDn.gpio->pad, APAL2CH_EDGE(moduleSsspGpioDn.meta.edge));
854
  palSetLineCallback(moduleSsspGpioDn.gpio->line, _intCallback, &moduleSsspGpioDn.gpio->line);
855
  palEnableLineEvent(moduleSsspGpioDn.gpio->line, APAL2CH_EDGE(moduleSsspGpioDn.meta.edge));
856 856
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
857 857
#if (AMIROOS_CFG_SSSP_STACK_END != true)
858 858
  // UP signal
859
  palSetPadCallback(moduleSsspGpioUp.gpio->port, moduleSsspGpioUp.gpio->pad, _intCallback, &moduleSsspGpioUp.gpio->pad);
860
  palEnablePadEvent(moduleSsspGpioUp.gpio->port, moduleSsspGpioUp.gpio->pad, APAL2CH_EDGE(moduleSsspGpioUp.meta.edge));
859
  palSetLineCallback(moduleSsspGpioUp.gpio->line, _intCallback, &moduleSsspGpioUp.gpio->line);
860
  palEnableLineEvent(moduleSsspGpioUp.gpio->line, APAL2CH_EDGE(moduleSsspGpioUp.meta.edge));
861 861
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
862 862
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
863
#if defined(MODULE_INIT_INTERRUPTS)
864
  // further interrupt signals
865
  MODULE_INIT_INTERRUPTS();
866
#endif /* defined(MODULE_INIT_INTERRUPTS) */
867 863

  
868 864
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true)
869 865
  /* init shell */
......
1168 1164
  return;
1169 1165
}
1170 1166

  
1167
/**
1168
 * @brief   Generic callback function for GPIO interrupts.
1169
 *
1170
 * @param[in] args   Pointer to the GPIO pad identifier.
1171
 */
1172
palcallback_t aosSysGetStdIntCallback(void)
1173
{
1174
  return _intCallback;
1175
}
1176

  
1171 1177
/** @} */
modules/DiWheelDrive_1-1/alldconf.h
33 33
 */
34 34
#define _AMIRO_LLD_CFG_
35 35
#define AMIRO_LLD_CFG_VERSION_MAJOR             1
36
#define AMIRO_LLD_CFG_VERSION_MINOR             0
36
#define AMIRO_LLD_CFG_VERSION_MINOR             1
37 37

  
38 38
/**
39 39
 * @brief   Width of the apalTime_t data type.
modules/DiWheelDrive_1-1/module.c
111 111
SPIConfig moduleHalSpiAccelerometerConfig = {
112 112
  /* circular buffer mode         */ false,
113 113
  /* callback function pointer    */ NULL,
114
  /* chip select line port        */ GPIOC,
115
  /* chip select line pad number  */ GPIOC_ACCEL_SS_N,
114
  /* chip select line port        */ PAL_PORT(LINE_ACCEL_SS_N),
115
  /* chip select line pad number  */ PAL_PAD(LINE_ACCEL_SS_N),
116 116
  /* CR1                          */ SPI_CR1_BR_0,
117 117
  /* CR2                          */ SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN,
118 118
};
......
120 120
SPIConfig moduleHalSpiGyroscopeConfig = {
121 121
  /* circular buffer mode         */ false,
122 122
  /* callback function pointer    */ NULL,
123
  /* chip select line port        */ GPIOC,
124
  /* chip select line pad number  */ GPIOC_GYRO_SS_N,
123
  /* chip select line port        */ PAL_PORT(LINE_GYRO_SS_N),
124
  /* chip select line pad number  */ PAL_PAD(LINE_GYRO_SS_N),
125 125
  /* CR1                          */ SPI_CR1_BR_0,
126 126
  /* CR2                          */ SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN,
127 127
};
......
139 139
 * @brief   LED output signal GPIO.
140 140
 */
141 141
static apalGpio_t _gpioLed = {
142
  /* port */ GPIOA,
143
  /* pad  */ GPIOA_LED,
142
  /* line */ LINE_LED,
144 143
};
145 144
ROMCONST apalControlGpio_t moduleGpioLed = {
146 145
  /* GPIO */ &_gpioLed,
......
155 154
 * @brief   POWER_EN output signal GPIO.
156 155
 */
157 156
static apalGpio_t _gpioPowerEn = {
158
  /* port */ GPIOB,
159
  /* pad  */ GPIOB_POWER_EN,
157
  /* line */ LINE_POWER_EN,
160 158
};
161 159
ROMCONST apalControlGpio_t moduleGpioPowerEn = {
162 160
  /* GPIO */ &_gpioPowerEn,
......
171 169
 * @brief   COMPASS_DRDY output signal GPIO.
172 170
 */
173 171
static apalGpio_t _gpioCompassDrdy = {
174
  /* port */ GPIOB,
175
  /* pad  */ GPIOB_COMPASS_DRDY,
172
  /* line */ LINE_COMPASS_DRDY,
176 173
};
177 174
ROMCONST apalControlGpio_t moduleGpioCompassDrdy = {
178 175
  /* GPIO */ &_gpioCompassDrdy,
......
187 184
 * @brief   IR_INT input signal GPIO.
188 185
 */
189 186
static apalGpio_t _gpioIrInt = {
190
  /* port */ GPIOB,
191
  /* pad  */ GPIOB_IR_INT,
187
  /* line */ LINE_IR_INT,
192 188
};
193 189
ROMCONST apalControlGpio_t moduleGpioIrInt = {
194 190
  /* GPIO */ &_gpioIrInt,
......
203 199
 * @brief   GYRO_DRDY input signal GPIO.
204 200
 */
205 201
static apalGpio_t _gpioGyroDrdy = {
206
  /* port */ GPIOB,
207
  /* pad  */ GPIOB_GYRO_DRDY,
202
  /* line */ LINE_GYRO_DRDY,
208 203
};
209 204
ROMCONST apalControlGpio_t moduleGpioGyroDrdy = {
210 205
  /* GPIO */ &_gpioGyroDrdy,
......
219 214
 * @brief   SYS_UART_UP bidirectional signal GPIO.
220 215
 */
221 216
static apalGpio_t _gpioSysUartUp = {
222
  /* port */ GPIOB,
223
  /* pad  */ GPIOB_SYS_UART_UP,
217
  /* line */ LINE_SYS_UART_UP,
224 218
};
225 219
ROMCONST apalControlGpio_t moduleGpioSysUartUp = {
226 220
  /* GPIO */ &_gpioSysUartUp,
......
235 229
 * @brief   ACCEL_INT input signal GPIO.
236 230
 */
237 231
static apalGpio_t _gpioAccelInt = {
238
  /* port */ GPIOB,
239
  /* pad  */ GPIOB_ACCEL_INT_N,
232
  /* line */ LINE_ACCEL_INT_N,
240 233
};
241 234
ROMCONST apalControlGpio_t moduleGpioAccelInt = {
242 235
  /* GPIO */ &_gpioAccelInt,
......
251 244
 * @brief   SYS_SNYC bidirectional signal GPIO.
252 245
 */
253 246
static apalGpio_t _gpioSysSync = {
254
  /* port */ GPIOC,
255
  /* pad  */ GPIOC_SYS_INT_N,
247
  /* line */ LINE_SYS_INT_N,
256 248
};
257 249
ROMCONST apalControlGpio_t  moduleGpioSysSync = {
258 250
  /* GPIO */ &_gpioSysSync,
......
267 259
 * @brief   PATH_DCSTAT input signal GPIO.
268 260
 */
269 261
static apalGpio_t _gpioPathDcStat = {
270
  /* port */ GPIOC,
271
  /* pad  */ GPIOC_PATH_DCSTAT,
262
  /* line */ LINE_PATH_DCSTAT,
272 263
};
273 264
ROMCONST apalControlGpio_t moduleGpioPathDcStat = {
274 265
  /* GPIO */ &_gpioPathDcStat,
......
283 274
 * @brief   PATH_DCEN output signal GPIO.
284 275
 */
285 276
static apalGpio_t _gpioPathDcEn = {
286
  /* port */ GPIOC,
287
  /* pad  */ GPIOC_PATH_DCEN,
277
  /* line */ LINE_PATH_DCEN,
288 278
};
289 279
ROMCONST apalControlGpio_t moduleGpioPathDcEn = {
290 280
  /* GPIO */ &_gpioPathDcEn,
......
299 289
 * @brief   SYS_PD bidirectional signal GPIO.
300 290
 */
301 291
static apalGpio_t _gpioSysPd = {
302
  /* port */ GPIOC,
303
  /* pad  */ GPIOC_SYS_PD_N,
292
  /* line */ LINE_SYS_PD_N,
304 293
};
305 294
ROMCONST apalControlGpio_t moduleGpioSysPd = {
306 295
  /* GPIO */ &_gpioSysPd,
......
315 304
 * @brief   SYS_REG_EN input signal GPIO.
316 305
 */
317 306
static apalGpio_t _gpioSysRegEn = {
318
  /* port */ GPIOC,
319
  /* pad  */ GPIOC_SYS_REG_EN,
307
  /* line */ LINE_SYS_REG_EN,
320 308
};
321 309
ROMCONST apalControlGpio_t moduleGpioSysRegEn = {
322 310
  /* GPIO */ &_gpioSysRegEn,
......
331 319
 * @brief   SYS_WARMRST bidirectional signal GPIO.
332 320
 */
333 321
static apalGpio_t _gpioSysWarmrst = {
334
  /* port */ GPIOD,
335
  /* pad  */ GPIOD_SYS_WARMRST_N,
322
  /* line */ LINE_SYS_WARMRST_N,
336 323
};
337 324
ROMCONST apalControlGpio_t moduleGpioSysWarmrst = {
338 325
  /* GPIO */ &_gpioSysWarmrst,
modules/DiWheelDrive_1-1/module.h
242 242
/**
243 243
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
244 244
 */
245
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(GPIOC_SYS_INT_N)
245
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
246 246

  
247 247
/**
248 248
 * @brief   Event flag to be set on a SYS_WARMRST interrupt.
249 249
 */
250
#define MODULE_OS_IOEVENTFLAGS_SYSWARMRST       AOS_IOEVENT_FLAG(GPIOD_SYS_WARMRST_N)
250
#define MODULE_OS_IOEVENTFLAGS_SYSWARMRST       AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_WARMRST_N))
251 251

  
252 252
/**
253 253
 * @brief   Event flag to be set on a PATH_DCSTAT interrupt.
254 254
 */
255
#define MODULE_OS_IOEVENTFLAGS_PATHDCSTAT       AOS_IOEVENT_FLAG(GPIOC_PATH_DCEN)
255
#define MODULE_OS_IOEVENTFLAGS_PATHDCSTAT       AOS_IOEVENT_FLAG(PAL_PAD(LINE_PATH_DCEN))
256 256

  
257 257
/**
258 258
 * @brief   Event flag to be set on a COMPASS_DRDY interrupt.
259 259
 */
260
#define MODULE_OS_IOEVENTFLAGS_COMPASSDRDY      AOS_IOEVENT_FLAG(GPIOB_COMPASS_DRDY)
260
#define MODULE_OS_IOEVENTFLAGS_COMPASSDRDY      AOS_IOEVENT_FLAG(PAL_PAD(LINE_COMPASS_DRDY))
261 261

  
262 262
/**
263 263
 * @brief   Event flag to be set on a SYS_PD interrupt.
264 264
 */
265
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(GPIOC_SYS_PD_N)
265
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
266 266

  
267 267
/**
268 268
 * @brief   Event flag to be set on a SYS_REG_EN interrupt.
269 269
 */
270
#define MODULE_OS_IOEVENTFLAGS_SYSREGEN         AOS_IOEVENT_FLAG(GPIOC_SYS_REG_EN)
270
#define MODULE_OS_IOEVENTFLAGS_SYSREGEN         AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_REG_EN))
271 271

  
272 272
/**
273 273
 * @brief   Event flag to be set on a IR_INT interrupt.
274 274
 */
275
#define MODULE_OS_IOEVENTFLAGS_IRINT            AOS_IOEVENT_FLAG(GPIOB_IR_INT)
275
#define MODULE_OS_IOEVENTFLAGS_IRINT            AOS_IOEVENT_FLAG(PAL_PAD(LINE_IR_INT))
276 276

  
277 277
/**
278 278
 * @brief   Event flag to be set on a GYRO_DRDY interrupt.
279 279
 */
280
#define MODULE_OS_IOEVENTFLAGS_GYRODRDY         AOS_IOEVENT_FLAG(GPIOB_GYRO_DRDY)
280
#define MODULE_OS_IOEVENTFLAGS_GYRODRDY         AOS_IOEVENT_FLAG(PAL_PAD(LINE_GYRO_DRDY))
281 281

  
282 282
/**
283 283
 * @brief   Event flag to be set on a SYS_UART_UP interrupt.
284 284
 */
285
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        AOS_IOEVENT_FLAG(GPIOB_SYS_UART_UP)
285
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_UP))
286 286

  
287 287
/**
288 288
 * @brief   Event flag to be set on a ACCEL_INT interrupt.
289 289
 */
290
#define MODULE_OS_IOEVENTFLAGS_ACCELINT         AOS_IOEVENT_FLAG(GPIOB_ACCEL_INT_N)
290
#define MODULE_OS_IOEVENTFLAGS_ACCELINT         AOS_IOEVENT_FLAG(PAL_PAD(LINE_ACCEL_INT_N))
291 291

  
292 292
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
293 293
/**
......
309 309
 */
310 310
#define MODULE_INIT_INTERRUPTS() {                                            \
311 311
  /* COMPASS_DRDY */                                                          \
312
  palSetPadCallback(moduleGpioCompassDrdy.gpio->port, moduleGpioCompassDrdy.gpio->pad, _intCallback, &moduleGpioCompassDrdy.gpio->pad); \
313
  palEnablePadEvent(moduleGpioCompassDrdy.gpio->port, moduleGpioCompassDrdy.gpio->pad, APAL2CH_EDGE(moduleGpioCompassDrdy.meta.edge));  \
312
  palSetLineCallback(moduleGpioCompassDrdy.gpio->line, aosSysGetStdIntCallback(), &moduleGpioCompassDrdy.gpio->line); \
313
  palEnableLineEvent(moduleGpioCompassDrdy.gpio->line, APAL2CH_EDGE(moduleGpioCompassDrdy.meta.edge));                \
314 314
  /* IR_INT */                                                                \
315
  palSetPadCallback(moduleGpioIrInt.gpio->port, moduleGpioIrInt.gpio->pad, _intCallback, &moduleGpioIrInt.gpio->pad); \
316
  palEnablePadEvent(moduleGpioIrInt.gpio->port, moduleGpioIrInt.gpio->pad, APAL2CH_EDGE(moduleGpioIrInt.meta.edge));  \
315
  palSetLineCallback(moduleGpioIrInt.gpio->line, aosSysGetStdIntCallback(), &moduleGpioIrInt.gpio->line); \
316
  palEnableLineEvent(moduleGpioIrInt.gpio->line, APAL2CH_EDGE(moduleGpioIrInt.meta.edge));                \
317 317
  /* GYRO_DRDY */                                                             \
318
  palSetPadCallback(moduleGpioGyroDrdy.gpio->port, moduleGpioGyroDrdy.gpio->pad, _intCallback, &moduleGpioGyroDrdy.gpio->pad);  \
319
  palEnablePadEvent(moduleGpioGyroDrdy.gpio->port, moduleGpioGyroDrdy.gpio->pad, APAL2CH_EDGE(moduleGpioGyroDrdy.meta.edge));   \
318
  palSetLineCallback(moduleGpioGyroDrdy.gpio->line, aosSysGetStdIntCallback(), &moduleGpioGyroDrdy.gpio->line); \
319
  palEnableLineEvent(moduleGpioGyroDrdy.gpio->line, APAL2CH_EDGE(moduleGpioGyroDrdy.meta.edge));                \
320 320
  /* ACCEL_INT */                                                             \
321
  palSetPadCallback(moduleGpioAccelInt.gpio->port, moduleGpioAccelInt.gpio->pad, _intCallback, &moduleGpioAccelInt.gpio->pad);  \
322
  palEnablePadEvent(moduleGpioAccelInt.gpio->port, moduleGpioAccelInt.gpio->pad, APAL2CH_EDGE(moduleGpioAccelInt.meta.edge));   \
321
  palSetLineCallback(moduleGpioAccelInt.gpio->line, aosSysGetStdIntCallback(), &moduleGpioAccelInt.gpio->line); \
322
  palEnableLineEvent(moduleGpioAccelInt.gpio->line, APAL2CH_EDGE(moduleGpioAccelInt.meta.edge));                \
323 323
  /* PATH_DCSTAT */                                                           \
324
  palSetPadCallback(moduleGpioPathDcStat.gpio->port, moduleGpioPathDcStat.gpio->pad, _intCallback, &moduleGpioPathDcStat.gpio->pad);  \
325
  palEnablePadEvent(moduleGpioPathDcStat.gpio->port, moduleGpioPathDcStat.gpio->pad, APAL2CH_EDGE(moduleGpioPathDcStat.meta.edge));   \
324
  palSetLineCallback(moduleGpioPathDcStat.gpio->line, aosSysGetStdIntCallback(), &moduleGpioPathDcStat.gpio->line); \
325
  palEnableLineEvent(moduleGpioPathDcStat.gpio->line, APAL2CH_EDGE(moduleGpioPathDcStat.meta.edge));                \
326 326
  /* SYS_REG_EN */                                                            \
327
  palSetPadCallback(moduleGpioSysRegEn.gpio->port, moduleGpioSysRegEn.gpio->pad, _intCallback, &moduleGpioSysRegEn.gpio->pad);  \
328
  palEnablePadEvent(moduleGpioSysRegEn.gpio->port, moduleGpioSysRegEn.gpio->pad, APAL2CH_EDGE(moduleGpioSysRegEn.meta.edge));   \
327
  palSetLineCallback(moduleGpioSysRegEn.gpio->line, aosSysGetStdIntCallback(), &moduleGpioSysRegEn.gpio->line); \
328
  palEnableLineEvent(moduleGpioSysRegEn.gpio->line, APAL2CH_EDGE(moduleGpioSysRegEn.meta.edge));                \
329 329
  /* SYS_WARMRST */                                                           \
330
  palSetPadCallback(moduleGpioSysWarmrst.gpio->port, moduleGpioSysWarmrst.gpio->pad, _intCallback, &moduleGpioSysWarmrst.gpio->pad);  \
331
  palEnablePadEvent(moduleGpioSysWarmrst.gpio->port, moduleGpioSysWarmrst.gpio->pad, APAL2CH_EDGE(moduleGpioSysWarmrst.meta.edge));   \
330
  palSetLineCallback(moduleGpioSysWarmrst.gpio->line, aosSysGetStdIntCallback(), &moduleGpioSysWarmrst.gpio->line); \
331
  palEnableLineEvent(moduleGpioSysWarmrst.gpio->line, APAL2CH_EDGE(moduleGpioSysWarmrst.meta.edge));                \
332 332
}
333 333

  
334 334
/**
modules/DiWheelDrive_1-2/alldconf.h
33 33
 */
34 34
#define _AMIRO_LLD_CFG_
35 35
#define AMIRO_LLD_CFG_VERSION_MAJOR             1
36
#define AMIRO_LLD_CFG_VERSION_MINOR             0
36
#define AMIRO_LLD_CFG_VERSION_MINOR             1
37 37

  
38 38
/**
39 39
 * @brief   Width of the apalTime_t data type.
modules/DiWheelDrive_1-2/module.c
121 121
 * @brief   LED output signal GPIO.
122 122
 */
123 123
static apalGpio_t _gpioLed = {
124
  /* port */ GPIOA,
125
  /* pad  */ GPIOA_LED,
124
  /* line */ LINE_LED,
126 125
};
127 126
ROMCONST apalControlGpio_t moduleGpioLed = {
128 127
  /* GPIO */ &_gpioLed,
......
137 136
 * @brief   POWER_EN output signal GPIO.
138 137
 */
139 138
static apalGpio_t _gpioPowerEn = {
140
  /* port */ GPIOB,
141
  /* pad  */ GPIOB_POWER_EN,
139
  /* line */ LINE_POWER_EN,
142 140
};
143 141
ROMCONST apalControlGpio_t moduleGpioPowerEn = {
144 142
  /* GPIO */ &_gpioPowerEn,
......
153 151
 * @brief   IR_INT input signal GPIO.
154 152
 */
155 153
static apalGpio_t _gpioIrInt = {
156
  /* port */ GPIOB,
157
  /* pad  */ GPIOB_IR_INT,
154
  /* line */ LINE_IR_INT,
158 155
};
159 156
ROMCONST apalControlGpio_t moduleGpioIrInt = {
160 157
  /* GPIO */ &_gpioIrInt,
......
169 166
 * @brief   SYS_UART_UP bidirectional signal GPIO.
170 167
 */
171 168
static apalGpio_t _gpioSysUartUp = {
172
  /* port */ GPIOB,
173
  /* pad  */ GPIOB_SYS_UART_UP,
169
  /* line */ LINE_SYS_UART_UP,
174 170
};
175 171
ROMCONST apalControlGpio_t moduleGpioSysUartUp = {
176 172
  /* GPIO */ &_gpioSysUartUp,
......
185 181
 * @brief   IMU_INT input signal GPIO.
186 182
 */
187 183
static apalGpio_t _gpioImuInt = {
188
  /* port */ GPIOB,
189
  /* pad  */ GPIOB_IMU_INT,
184
  /* line */ LINE_IMU_INT,
190 185
};
191 186
ROMCONST apalControlGpio_t moduleGpioImuInt = {
192 187
  /* GPIO */ &_gpioImuInt,
......
201 196
 * @brief   SYS_SNYC bidirectional signal GPIO.
202 197
 */
203 198
static apalGpio_t _gpioSysSync = {
204
  /* port */ GPIOC,
205
  /* pad  */ GPIOC_SYS_INT_N,
199
  /* line */ LINE_SYS_INT_N,
206 200
};
207 201
ROMCONST apalControlGpio_t  moduleGpioSysSync = {
208 202
  /* GPIO */ &_gpioSysSync,
......
217 211
 * @brief   IMU_RESET output signal GPIO.
218 212
 */
219 213
static apalGpio_t _gpioImuReset = {
220
  /* port */ GPIOC,
221
  /* pad  */ GPIOC_IMU_RESET_N,
214
  /* line */ LINE_IMU_RESET_N,
222 215
};
223 216
ROMCONST apalControlGpio_t  moduleGpioImuReset = {
224 217
  /* GPIO */ &_gpioImuReset,
......
233 226
 * @brief   PATH_DCSTAT input signal GPIO.
234 227
 */
235 228
static apalGpio_t _gpioPathDcStat = {
236
  /* port */ GPIOC,
237
  /* pad  */ GPIOC_PATH_DCSTAT,
229
  /* line */ LINE_PATH_DCSTAT,
238 230
};
239 231
ROMCONST apalControlGpio_t moduleGpioPathDcStat = {
240 232
  /* GPIO */ &_gpioPathDcStat,
......
249 241
 * @brief   PATH_DCEN output signal GPIO.
250 242
 */
251 243
static apalGpio_t _gpioPathDcEn = {
252
  /* port */ GPIOC,
253
  /* pad  */ GPIOC_PATH_DCEN,
244
  /* line */ LINE_PATH_DCEN,
254 245
};
255 246
ROMCONST apalControlGpio_t moduleGpioPathDcEn = {
256 247
  /* GPIO */ &_gpioPathDcEn,
......
265 256
 * @brief   SYS_PD bidirectional signal GPIO.
266 257
 */
267 258
static apalGpio_t _gpioSysPd = {
268
  /* port */ GPIOC,
269
  /* pad  */ GPIOC_SYS_PD_N,
259
  /* line */ LINE_SYS_PD_N,
270 260
};
271 261
ROMCONST apalControlGpio_t moduleGpioSysPd = {
272 262
  /* GPIO */ &_gpioSysPd,
......
281 271
 * @brief   SYS_REG_EN input signal GPIO.
282 272
 */
283 273
static apalGpio_t _gpioSysRegEn = {
284
  /* port */ GPIOC,
285
  /* pad  */ GPIOC_SYS_REG_EN,
274
  /* line */ LINE_SYS_REG_EN,
286 275
};
287 276
ROMCONST apalControlGpio_t moduleGpioSysRegEn = {
288 277
  /* GPIO */ &_gpioSysRegEn,
......
297 286
 * @brief   IMU_BOOT_LOAD output signal GPIO.
298 287
 */
299 288
static apalGpio_t _gpioImuBootLoad = {
300
  /* port */ GPIOC,
301
  /* pad  */ GPIOC_IMU_BOOT_LOAD_N,
289
  /* line */ LINE_IMU_BOOT_LOAD_N,
302 290
};
303 291
ROMCONST apalControlGpio_t moduleGpioImuBootLoad = {
304 292
  /* GPIO */ &_gpioImuBootLoad,
......
313 301
 * @brief   IMU_BL_IND input signal GPIO.
314 302
 */
315 303
static apalGpio_t _gpioImuBlInd = {
316
  /* port */ GPIOC,
317
  /* pad  */ GPIOC_IMU_BL_IND,
304
  /* line */ LINE_IMU_BL_IND,
318 305
};
319 306
ROMCONST apalControlGpio_t moduleGpioImuBlInd = {
320 307
  /* GPIO */ &_gpioImuBlInd,
......
329 316
 * @brief   SYS_WARMRST bidirectional signal GPIO.
330 317
 */
331 318
static apalGpio_t _gpioSysWarmrst = {
332
  /* port */ GPIOD,
333
  /* pad  */ GPIOD_SYS_WARMRST_N,
319
  /* line */ LINE_SYS_WARMRST_N,
334 320
};
335 321
ROMCONST apalControlGpio_t moduleGpioSysWarmrst = {
336 322
  /* GPIO */ &_gpioSysWarmrst,
modules/DiWheelDrive_1-2/module.h
232 232
/**
233 233
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
234 234
 */
235
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(GPIOC_SYS_INT_N)
235
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
236 236

  
237 237
/**
238 238
 * @brief   Event flag to be set on a SYS_WARMRST interrupt.
239 239
 */
240
#define MODULE_OS_IOEVENTFLAGS_SYSWARMRST       AOS_IOEVENT_FLAG(GPIOD_SYS_WARMRST_N)
240
#define MODULE_OS_IOEVENTFLAGS_SYSWARMRST       AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_WARMRST_N))
241 241

  
242 242
/**
243 243
 * @brief   Event flag to be set on a PATH_DCSTAT interrupt.
244 244
 */
245
#define MODULE_OS_IOEVENTFLAGS_PATHDCSTAT       AOS_IOEVENT_FLAG(GPIOC_PATH_DCEN)
245
#define MODULE_OS_IOEVENTFLAGS_PATHDCSTAT       AOS_IOEVENT_FLAG(PAL_PAD(LINE_PATH_DCEN))
246 246

  
247 247
/**
248 248
 * @brief   Event flag to be set on a SYS_PD interrupt.
249 249
 */
250
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(GPIOC_SYS_PD_N)
250
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
251 251

  
252 252
/**
253 253
 * @brief   Event flag to be set on a SYS_REG_EN interrupt.
254 254
 */
255
#define MODULE_OS_IOEVENTFLAGS_SYSREGEN         AOS_IOEVENT_FLAG(GPIOC_SYS_REG_EN)
255
#define MODULE_OS_IOEVENTFLAGS_SYSREGEN         AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_REG_EN))
256 256

  
257 257
/**
258 258
 * @brief   Event flag to be set on a IR_INT interrupt.
259 259
 */
260
#define MODULE_OS_IOEVENTFLAGS_IRINT            AOS_IOEVENT_FLAG(GPIOB_IR_INT)
260
#define MODULE_OS_IOEVENTFLAGS_IRINT            AOS_IOEVENT_FLAG(PAL_PAD(LINE_IR_INT))
261 261

  
262 262
/**
263 263
 * @brief   Event flag to be set on a SYS_UART_UP interrupt.
264 264
 */
265
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        AOS_IOEVENT_FLAG(GPIOB_SYS_UART_UP)
265
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_UP))
266 266

  
267 267
/**
268 268
 * @brief   Event flag to be set on a IMU_INT interrupt.
269 269
 */
270
#define MODULE_OS_IOEVENTFLAGS_IMUINT         AOS_IOEVENT_FLAG(GPIOB_IMU_INT)
270
#define MODULE_OS_IOEVENTFLAGS_IMUINT         AOS_IOEVENT_FLAG(PAL_PAD(LINE_IMU_INT))
271 271

  
272 272
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
273 273
/**
......
289 289
 */
290 290
#define MODULE_INIT_INTERRUPTS() {                                            \
291 291
  /* IR_INT */                                                                \
292
  palSetPadCallback(moduleGpioIrInt.gpio->port, moduleGpioIrInt.gpio->pad, _intCallback, &moduleGpioIrInt.gpio->pad); \
293
  palEnablePadEvent(moduleGpioIrInt.gpio->port, moduleGpioIrInt.gpio->pad, APAL2CH_EDGE(moduleGpioIrInt.meta.edge));  \
292
  palSetLineCallback(moduleGpioIrInt.gpio->line, aosSysGetStdIntCallback(), &moduleGpioIrInt.gpio->line); \
293
  palEnableLineEvent(moduleGpioIrInt.gpio->line, APAL2CH_EDGE(moduleGpioIrInt.meta.edge));                \
294 294
  /* IMU_INT */                                                               \
295
  palSetPadCallback(moduleGpioImuInt.gpio->port, moduleGpioImuInt.gpio->pad, _intCallback, &moduleGpioImuInt.gpio->pad);  \
296
  palEnablePadEvent(moduleGpioImuInt.gpio->port, moduleGpioImuInt.gpio->pad, APAL2CH_EDGE(moduleGpioImuInt.meta.edge));   \
295
  palSetLineCallback(moduleGpioImuInt.gpio->line, aosSysGetStdIntCallback(), &moduleGpioImuInt.gpio->line); \
296
  palEnableLineEvent(moduleGpioImuInt.gpio->line, APAL2CH_EDGE(moduleGpioImuInt.meta.edge));                \
297 297
  /* PATH_DCSTAT */                                                           \
298
  palSetPadCallback(moduleGpioPathDcStat.gpio->port, moduleGpioPathDcStat.gpio->pad, _intCallback, &moduleGpioPathDcStat.gpio->pad);  \
299
  palEnablePadEvent(moduleGpioPathDcStat.gpio->port, moduleGpioPathDcStat.gpio->pad, APAL2CH_EDGE(moduleGpioPathDcStat.meta.edge));   \
298
  palSetLineCallback(moduleGpioPathDcStat.gpio->line, aosSysGetStdIntCallback(), &moduleGpioPathDcStat.gpio->line); \
299
  palEnableLineEvent(moduleGpioPathDcStat.gpio->line, APAL2CH_EDGE(moduleGpioPathDcStat.meta.edge));                \
300 300
  /* SYS_REG_EN */                                                            \
301
  palSetPadCallback(moduleGpioSysRegEn.gpio->port, moduleGpioSysRegEn.gpio->pad, _intCallback, &moduleGpioSysRegEn.gpio->pad);  \
302
  palEnablePadEvent(moduleGpioSysRegEn.gpio->port, moduleGpioSysRegEn.gpio->pad, APAL2CH_EDGE(moduleGpioSysRegEn.meta.edge));   \
301
  palSetLineCallback(moduleGpioSysRegEn.gpio->line, aosSysGetStdIntCallback(), &moduleGpioSysRegEn.gpio->line); \
302
  palEnableLineEvent(moduleGpioSysRegEn.gpio->line, APAL2CH_EDGE(moduleGpioSysRegEn.meta.edge));                \
303 303
  /* SYS_WARMRST */                                                           \
304
  palSetPadCallback(moduleGpioSysWarmrst.gpio->port, moduleGpioSysWarmrst.gpio->pad, _intCallback, &moduleGpioSysWarmrst.gpio->pad);  \
305
  palEnablePadEvent(moduleGpioSysWarmrst.gpio->port, moduleGpioSysWarmrst.gpio->pad, APAL2CH_EDGE(moduleGpioSysWarmrst.meta.edge));   \
304
  palSetLineCallback(moduleGpioSysWarmrst.gpio->line, aosSysGetStdIntCallback(), &moduleGpioSysWarmrst.gpio->line); \
305
  palEnableLineEvent(moduleGpioSysWarmrst.gpio->line, APAL2CH_EDGE(moduleGpioSysWarmrst.meta.edge));                \
306 306
}
307 307

  
308 308
/**
modules/LightRing_1-0/alldconf.h
33 33
 */
34 34
#define _AMIRO_LLD_CFG_
35 35
#define AMIRO_LLD_CFG_VERSION_MAJOR             1
36
#define AMIRO_LLD_CFG_VERSION_MINOR             0
36
#define AMIRO_LLD_CFG_VERSION_MINOR             1
37 37

  
38 38
/**
39 39
 * @brief   Width of the apalTime_t data type.
modules/LightRing_1-0/module.c
63 63
SPIConfig moduleHalSpiLightConfig = {
64 64
  /* circular buffer mode        */ false,
65 65
  /* callback function pointer   */ NULL,
66
  /* chip select line port       */ GPIOC,
67
  /* chip select line pad number */ GPIOC_LIGHT_XLAT,
66
  /* chip select line port       */ PAL_PORT(LINE_LIGHT_XLAT),
67
  /* chip select line pad number */ PAL_PAD(LINE_LIGHT_XLAT),
68 68
  /* CR1                         */ SPI_CR1_BR_0 | SPI_CR1_BR_1,
69 69
  /* CR2                         */ SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN,
70 70
};
......
72 72
SPIConfig moduleHalSpiWlConfig = {
73 73
  /* circular buffer mode        */ false,
74 74
  /* callback function pointer   */ NULL,
75
  /* chip select line port       */ GPIOB,
76
  /* chip select line pad number */ GPIOB_WL_SS_N,
75
  /* chip select line port       */ PAL_PORT(LINE_WL_SS_N),
76
  /* chip select line pad number */ PAL_PAD(LINE_WL_SS_N),
77 77
  /* CR1                         */ SPI_CR1_BR_0,
78 78
  /* CR2                         */ SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN,
79 79
};
......
89 89
 * @brief   LIGHT_BANK output signal GPIO.
90 90
 */
91 91
static apalGpio_t _gpioLightBlank = {
92
  /* port */ GPIOA,
93
  /* pad  */ GPIOA_LIGHT_BLANK,
92
  /* line */ LINE_LIGHT_BLANK,
94 93
};
95 94
ROMCONST apalControlGpio_t moduleGpioLightBlank = {
96 95
  /* GPIO */ &_gpioLightBlank,
......
105 104
 * @brief   LASER_EN output signal GPIO.
106 105
 */
107 106
static apalGpio_t _gpioLaserEn = {
108
  /* port */ GPIOB,
109
  /* pad  */ GPIOB_LASER_EN,
107
  /* line */ LINE_LASER_EN,
110 108
};
111 109
ROMCONST apalControlGpio_t moduleGpioLaserEn = {
112 110
  /* GPIO */ &_gpioLaserEn,
......
121 119
 * @brief   LASER_OC input signal GPIO.
122 120
 */
123 121
static apalGpio_t _gpioLaserOc = {
124
  /* port */ GPIOB,
125
  /* pad  */ GPIOB_LASER_OC_N,
122
  /* line */ LINE_LASER_OC_N,
126 123
};
127 124
ROMCONST apalControlGpio_t moduleGpioLaserOc = {
128 125
  /* GPIO */ &_gpioLaserOc,
......
137 134
 * @brief   SYS_UART_DN bidirectional signal GPIO.
138 135
 */
139 136
static apalGpio_t _gpioSysUartDn = {
140
  /* port */ GPIOB,
141
  /* pad  */ GPIOB_SYS_UART_DN,
137
  /* line */ LINE_SYS_UART_DN,
142 138
};
143 139
ROMCONST apalControlGpio_t moduleGpioSysUartDn = {
144 140
  /* GPIO */ &_gpioSysUartDn,
......
153 149
 * @brief   WL_GDO2 input signal GPIO.
154 150
 */
155 151
static apalGpio_t _gpioWlGdo2 = {
156
  /* port */ GPIOB,
157
  /* pad  */ GPIOB_WL_GDO2,
152
  /* line */ LINE_WL_GDO2,
158 153
};
159 154
ROMCONST apalControlGpio_t moduleGpioWlGdo2 = {
160 155
  /* GPIO */ &_gpioWlGdo2,
......
169 164
 * @brief   WL_GDO0 input signal GPIO.
170 165
 */
171 166
static apalGpio_t _gpioWlGdo0= {
172
  /* port */ GPIOB,
173
  /* pad  */ GPIOB_WL_GDO0,
167
  /* line */ LINE_WL_GDO0,
174 168
};
175 169
ROMCONST apalControlGpio_t moduleGpioWlGdo0 = {
176 170
  /* GPIO */ &_gpioWlGdo0,
......
182 176
};
183 177

  
184 178
/**
185
 * @brief   LIGHT_XLAT output signal GPIO.
186
 */
187
static apalGpio_t _gpioLightXlat = {
188
  /* port */ GPIOC,
189
  /* pad  */ GPIOC_LIGHT_XLAT,
190
};
191
ROMCONST apalControlGpio_t moduleGpioLightXlat = {
192
  /* GPIO */ &_gpioLightXlat,
193
  /* meta */ {
194
    /* direction      */ APAL_GPIO_DIRECTION_OUTPUT,
195
    /* active state   */ TLC5947_LLD_XLAT_ACTIVE_STATE,
196
    /* interrupt edge */ APAL_GPIO_EDGE_NONE,
197
  },
198
};
199

  
200
/**
201 179
 * @brief   SYS_PD bidirectional signal GPIO.
202 180
 */
203 181
static apalGpio_t _gpioSysPd = {
204
  /* port */ GPIOC,
205
  /* pad  */ GPIOC_SYS_PD_N,
182
  /* line */ LINE_SYS_PD_N,
206 183
};
207 184
ROMCONST apalControlGpio_t moduleGpioSysPd = {
208 185
  /* GPIO */ &_gpioSysPd,
......
217 194
 * @brief   SYS_SYNC bidirectional signal GPIO.
218 195
 */
219 196
static apalGpio_t _gpioSysSync = {
220
  /* port */ GPIOD,
221
  /* pad  */ GPIOD_SYS_INT_N,
197
  /* line */ LINE_SYS_INT_N,
222 198
};
223 199
ROMCONST apalControlGpio_t moduleGpioSysSync = {
224 200
  /* GPIO */ &_gpioSysSync,
......
268 244
TLC5947Driver moduleLldLedPwm = {
269 245
  /* SPI driver         */ &MODULE_HAL_SPI_LIGHT,
270 246
  /* BLANK signal GPIO  */ &moduleGpioLightBlank,
271
  /* XLAT signal GPIO   */ &moduleGpioLightXlat,
247
  /* XLAT signal GPIO   */ NULL,
272 248
};
273 249

  
274 250
TPS20xxBDriver moduleLldPowerSwitchLaser = {
modules/LightRing_1-0/module.h
140 140
extern ROMCONST apalControlGpio_t moduleGpioWlGdo0;
141 141

  
142 142
/**
143
 * @brief   LIGHT_XLAT output signal GPIO.
144
 */
145
extern ROMCONST apalControlGpio_t moduleGpioLightXlat;
146

  
147
/**
148 143
 * @brief   SYS_PD bidirectional signal GPIO.
149 144
 */
150 145
extern ROMCONST apalControlGpio_t moduleGpioSysPd;
......
166 161
/**
167 162
 * @brief   Event flag to be set on a LASER_OC interrupt.
168 163
 */
169
#define MODULE_OS_IOEVENTFLAGS_LASEROC          AOS_IOEVENT_FLAG(GPIOB_LASER_OC_N)
164
#define MODULE_OS_IOEVENTFLAGS_LASEROC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_LASER_OC_N))
170 165

  
171 166
/**
172 167
 * @brief   Event flag to be set on a SYS_UART_DN interrupt.
173 168
 */
174
#define MODULE_OS_IOEVENTFLAGS_SYSUARTDN        AOS_IOEVENT_FLAG(GPIOB_SYS_UART_DN)
169
#define MODULE_OS_IOEVENTFLAGS_SYSUARTDN        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_DN))
175 170

  
176 171
/**
177 172
 * @brief   Event flag to be set on a WL_GDO2 interrupt.
178 173
 */
179
#define MODULE_OS_IOEVENTFLAGS_WLGDO2           AOS_IOEVENT_FLAG(GPIOB_WL_GDO2)
174
#define MODULE_OS_IOEVENTFLAGS_WLGDO2           AOS_IOEVENT_FLAG(PAL_PAD(LINE_WL_GDO2))
180 175

  
181 176
/**
182 177
 * @brief   Event flag to be set on a WL_GDO0 interrupt.
183 178
 */
184
#define MODULE_OS_IOEVENTFLAGS_WLGDO0           AOS_IOEVENT_FLAG(GPIOB_WL_GDO0)
179
#define MODULE_OS_IOEVENTFLAGS_WLGDO0           AOS_IOEVENT_FLAG(PAL_PAD(LINE_WL_GDO0))
185 180

  
186 181
/**
187 182
 * @brief   Event flag to be set on a SYS_PD interrupt.
188 183
 */
189
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(GPIOC_SYS_PD_N)
184
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
190 185

  
191 186
/**
192 187
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
193 188
 */
194
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(GPIOD_SYS_INT_N)
189
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
195 190

  
196 191
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
197 192
/**
......
206 201
 */
207 202
#define MODULE_INIT_INTERRUPTS() {                                            \
208 203
  /* LASER_OC */                                                              \
209
  palSetPadCallback(moduleGpioLaserOc.gpio->port, moduleGpioLaserOc.gpio->pad, _intCallback, &moduleGpioLaserOc.gpio->pad); \
210
  palEnablePadEvent(moduleGpioLaserOc.gpio->port, moduleGpioLaserOc.gpio->pad, APAL2CH_EDGE(moduleGpioLaserOc.meta.edge));  \
204
  palSetLineCallback(moduleGpioLaserOc.gpio->line, aosSysGetStdIntCallback(), &moduleGpioLaserOc.gpio->line); \
205
  palEnableLineEvent(moduleGpioLaserOc.gpio->line, APAL2CH_EDGE(moduleGpioLaserOc.meta.edge));                \
211 206
  /* WL_GDO2 */                                                               \
212
  palSetPadCallback(moduleGpioWlGdo2.gpio->port, moduleGpioWlGdo2.gpio->pad, _intCallback, &moduleGpioWlGdo2.gpio->pad);  \
213
  palEnablePadEvent(moduleGpioWlGdo2.gpio->port, moduleGpioWlGdo2.gpio->pad, APAL2CH_EDGE(moduleGpioWlGdo2.meta.edge));   \
207
  palSetLineCallback(moduleGpioWlGdo2.gpio->line, aosSysGetStdIntCallback(), &moduleGpioWlGdo2.gpio->line); \
208
  palEnableLineEvent(moduleGpioWlGdo2.gpio->line, APAL2CH_EDGE(moduleGpioWlGdo2.meta.edge));                \
214 209
  /* WL_GDO0 */                                                               \
215
  palSetPadCallback(moduleGpioWlGdo0.gpio->port, moduleGpioWlGdo0.gpio->pad, _intCallback, &moduleGpioWlGdo0.gpio->pad);  \
216
  /*palEnablePadEvent(moduleGpioWlGdo0.gpio->port, moduleGpioWlGdo0.gpio->pad, APAL2CH_EDGE(moduleGpioWlGdo0.meta.edge)); // this is broken for some reason*/   \
210
  palSetLineCallback(moduleGpioWlGdo0.gpio->line, aosSysGetStdIntCallback(), &moduleGpioWlGdo0.gpio->line); \
211
  palEnableLineEvent(moduleGpioWlGdo0.gpio->line, APAL2CH_EDGE(moduleGpioWlGdo0.meta.edge));                \
217 212
}
218 213

  
219 214
/**
modules/LightRing_1-2/alldconf.h
33 33
 */
34 34
#define _AMIRO_LLD_CFG_
35 35
#define AMIRO_LLD_CFG_VERSION_MAJOR             1
36
#define AMIRO_LLD_CFG_VERSION_MINOR             0
36
#define AMIRO_LLD_CFG_VERSION_MINOR             1
37 37

  
38 38
/**
39 39
 * @brief   Width of the apalTime_t data type.
modules/LightRing_1-2/module.c
63 63
SPIConfig moduleHalSpiLightConfig = {
64 64
  /* circular buffer mode        */ false,
65 65
  /* callback function pointer   */ NULL,
66
  /* chip select line port       */ GPIOC,
67
  /* chip select line pad number */ GPIOC_LIGHT_XLAT,
66
  /* chip select line port       */ PAL_PORT(LINE_LIGHT_XLAT),
67
  /* chip select line pad number */ PAL_PAD(LINE_LIGHT_XLAT),
68 68
  /* CR1                         */ SPI_CR1_BR_0 | SPI_CR1_BR_1,
69 69
  /* CR2                         */ SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN,
70 70
};
......
81 81
 * @brief   LIGHT_BANK output signal GPIO.
82 82
 */
83 83
static apalGpio_t _gpioLightBlank = {
84
  /* port */ GPIOA,
85
  /* pad  */ GPIOA_LIGHT_BLANK,
84
  /* line */ LINE_LIGHT_BLANK,
86 85
};
87 86
ROMCONST apalControlGpio_t moduleGpioLightBlank = {
88 87
  /* GPIO */ &_gpioLightBlank,
......
97 96
 * @brief   RS232_R_EN_N output signal GPIO.
98 97
 */
99 98
static apalGpio_t _gpioRs232En = {
100
  /* port */ GPIOA,
101
  /* pad  */ GPIOA_RS232_R_EN_N,
99
  /* line */ LINE_RS232_R_EN_N,
102 100
};
103 101
ROMCONST apalControlGpio_t moduleGpioRs232En = {
104 102
  /* GPIO */ &_gpioRs232En,
......
113 111
 * @brief   SW_V33_EN output signal GPIO.
114 112
 */
115 113
static apalGpio_t _gpioSwV33En = {
116
  /* port */ GPIOB,
117
  /* pad  */ GPIOB_SW_V33_EN,
114
  /* line */ LINE_SW_V33_EN,
118 115
};
119 116
ROMCONST apalControlGpio_t moduleGpioSwV33En = {
120 117
  /* GPIO */ &_gpioSwV33En,
......
129 126
 * @brief   SW_V42_EN output signal GPIO.
130 127
 */
131 128
static apalGpio_t _gpioSwV42En = {
132
  /* port */ GPIOB,
133
  /* pad  */ GPIOB_SW_V42_EN,
129
  /* line */ LINE_SW_V42_EN,
134 130
};
135 131
ROMCONST apalControlGpio_t moduleGpioSwV42En = {
136 132
  /* GPIO */ &_gpioSwV42En,
......
145 141
 * @brief   SW_V50_EN output signal GPIO.
146 142
 */
147 143
static apalGpio_t _gpioSwV50En = {
148
  /* port */ GPIOB,
149
  /* pad  */ GPIOB_SW_V50_EN,
144
  /* line */ LINE_SW_V50_EN,
150 145
};
151 146
ROMCONST apalControlGpio_t moduleGpioSwV50En = {
152 147
  /* GPIO */ &_gpioSwV50En,
......
161 156
 * @brief   IO_3 breakout signal GPIO.
162 157
 */
163 158
static apalGpio_t _gpioBreakoutIo3 = {
164
  /* port */ GPIOB,
165
  /* pad  */ GPIOB_IO_3,
159
  /* line */ LINE_IO_3,
166 160
};
167 161
apalControlGpio_t moduleGpioBreakoutIo3 = {
168 162
  /* GPIO */ &_gpioBreakoutIo3,
......
177 171
 * @brief   IO_5 breakout signal GPIO.
178 172
 */
179 173
static apalGpio_t _gpioBreakoutIo5 = {
180
  /* port */ GPIOB,
181
  /* pad  */ GPIOB_IO_5,
174
  /* line */ LINE_IO_5,
182 175
};
183 176
apalControlGpio_t moduleGpioBreakoutIo5 = {
184 177
  /* GPIO */ &_gpioBreakoutIo5,
......
193 186
 * @brief   IO_6 breakout signal GPIO.
194 187
 */
195 188
static apalGpio_t _gpioBreakoutIo6 = {
196
  /* port */ GPIOB,
197
  /* pad  */ GPIOB_IO_6,
189
  /* line */ LINE_IO_6,
198 190
};
199 191
apalControlGpio_t moduleGpioBreakoutIo6 = {
200 192
  /* GPIO */ &_gpioBreakoutIo6,
......
209 201
 * @brief   SYS_UART_DN bidirectional signal GPIO.
210 202
 */
211 203
static apalGpio_t _gpioSysUartDn = {
212
  /* port */ GPIOB,
213
  /* pad  */ GPIOB_SYS_UART_DN,
204
  /* line */ LINE_SYS_UART_DN,
214 205
};
215 206
ROMCONST apalControlGpio_t moduleGpioSysUartDn = {
216 207
  /* GPIO */ &_gpioSysUartDn,
......
225 216
 * @brief   IO_7 breakout signal GPIO.
226 217
 */
227 218
static apalGpio_t _gpioBreakoutIo7 = {
228
  /* port */ GPIOB,
229
  /* pad  */ GPIOB_IO_7,
219
  /* line */ LINE_IO_7,
230 220
};
231 221
apalControlGpio_t moduleGpioBreakoutIo7 = {
232 222
  /* GPIO */ &_gpioBreakoutIo7,
......
241 231
 * @brief   IO_8 breakout signal GPIO.
242 232
 */
243 233
static apalGpio_t _gpioBreakoutIo8 = {
244
  /* port */ GPIOB,
245
  /* pad  */ GPIOB_IO_8,
234
  /* line */ LINE_IO_8,
246 235
};
247 236
apalControlGpio_t moduleGpioBreakoutIo8 = {
248 237
  /* GPIO */ &_gpioBreakoutIo8,
......
257 246
 * @brief   IO_4 breakout signal GPIO.
258 247
 */
259 248
static apalGpio_t _gpioBreakoutIo4 = {
260
  /* port */ GPIOC,
261
  /* pad  */ GPIOC_IO_4,
249
  /* line */ LINE_IO_4,
262 250
};
263 251
apalControlGpio_t moduleGpioBreakoutIo4 = {
264 252
  /* GPIO */ &_gpioBreakoutIo4,
......
273 261
 * @brief   IO_1 breakout signal GPIO.
274 262
 */
275 263
static apalGpio_t _gpioBreakoutIo1 = {
276
  /* port */ GPIOC,
277
  /* pad  */ GPIOC_IO_1,
264
  /* line */ LINE_IO_1,
278 265
};
279 266
apalControlGpio_t moduleGpioBreakoutIo1 = {
280 267
  /* GPIO */ &_gpioBreakoutIo1,
......
289 276
 * @brief   IO_2 breakout signal GPIO.
290 277
 */
291 278
static apalGpio_t _gpioBreakoutIo2 = {
292
  /* port */ GPIOC,
293
  /* pad  */ GPIOC_IO_2,
279
  /* line */ LINE_IO_2,
294 280
};
295 281
apalControlGpio_t moduleGpioBreakoutIo2 = {
296 282
  /* GPIO */ &_gpioBreakoutIo2,
......
305 291
 * @brief   LED output signal GPIO.
306 292
 */
307 293
static apalGpio_t _gpioLed = {
308
  /* port */ GPIOC,
309
  /* pad  */ GPIOC_LED,
294
  /* line */ LINE_LED,
310 295
};
311 296
ROMCONST apalControlGpio_t moduleGpioLed = {
312 297
  /* GPIO */ &_gpioLed,
......
318 303
};
319 304

  
320 305
/**
321
 * @brief   LIGHT_XLAT output signal GPIO.
322
 */
323
static apalGpio_t _gpioLightXlat = {
324
  /* port */ GPIOC,
325
  /* pad  */ GPIOC_LIGHT_XLAT,
326
};
327
ROMCONST apalControlGpio_t moduleGpioLightXlat = {
328
  /* GPIO */ &_gpioLightXlat,
329
  /* meta */ {
330
    /* direction      */ APAL_GPIO_DIRECTION_OUTPUT,
331
    /* active state   */ TLC5947_LLD_XLAT_ACTIVE_STATE,
332
    /* interrupt edge */ APAL_GPIO_EDGE_NONE,
333
  },
334
};
335

  
336
/**
337 306
 * @brief   SW_V18_EN output signal GPIO.
338 307
 */
339 308
static apalGpio_t _gpioSwV18En = {
340
  /* port */ GPIOC,
341
  /* pad  */ GPIOC_SW_V18_EN,
309
  /* line */ LINE_SW_V18_EN,
342 310
};
343 311
ROMCONST apalControlGpio_t moduleGpioSwV18En = {
344 312
  /* GPIO */ &_gpioSwV18En,
......
353 321
 * @brief   SW_VSYS_EN output signal GPIO.
354 322
 */
355 323
static apalGpio_t _gpioSwVsysEn = {
356
  /* port */ GPIOC,
357
  /* pad  */ GPIOC_SW_VSYS_EN,
324
  /* line */ LINE_SW_VSYS_EN,
358 325
};
359 326
ROMCONST apalControlGpio_t moduleGpioSwVsysEn = {
360 327
  /* GPIO */ &_gpioSwVsysEn,
......
369 336
 * @brief   SYS_UART_UP bidirectional signal GPIO.
370 337
 */
371 338
static apalGpio_t _gpioSysUartUp = {
372
  /* port */ GPIOC,
373
  /* pad  */ GPIOC_SYS_UART_UP,
339
  /* line */ LINE_SYS_UART_UP,
374 340
};
375 341
ROMCONST apalControlGpio_t moduleGpioSysUartUp = {
376 342
  /* GPIO */ &_gpioSysUartUp,
......
385 351
 * @brief   SYS_PD bidirectional signal GPIO.
386 352
 */
387 353
static apalGpio_t _gpioSysPd = {
388
  /* port */ GPIOC,
389
  /* pad  */ GPIOC_SYS_PD_N,
354
  /* line */ LINE_SYS_PD_N,
390 355
};
391 356
ROMCONST apalControlGpio_t moduleGpioSysPd = {
392 357
  /* GPIO */ &_gpioSysPd,
......
401 366
 * @brief   SYS_SYNC bidirectional signal GPIO.
402 367
 */
403 368
static apalGpio_t _gpioSysSync = {
404
  /* port */ GPIOD,
405
  /* pad  */ GPIOD_SYS_INT_N,
369
  /* line */ LINE_SYS_INT_N,
406 370
};
407 371
ROMCONST apalControlGpio_t moduleGpioSysSync = {
408 372
  /* GPIO */ &_gpioSysSync,
......
483 447
TLC5947Driver moduleLldLedPwm = {
484 448
  /* SPI driver         */ &MODULE_HAL_SPI_LIGHT,
485 449
  /* BLANK signal GPIO  */ &moduleGpioLightBlank,
486
  /* XLAT signal GPIO   */ &moduleGpioLightXlat,
450
  /* XLAT signal GPIO   */ NULL,
487 451
};
488 452

  
489 453
/** @} */
modules/LightRing_1-2/module.h
185 185
extern ROMCONST apalControlGpio_t moduleGpioLed;
186 186

  
187 187
/**
188
 * @brief   LIGHT_XLAT output signal GPIO.
189
 */
190
extern ROMCONST apalControlGpio_t moduleGpioLightXlat;
191

  
192
/**
193 188
 * @brief   SW_V18_EN output signal GPIO.
194 189
 */
195 190
extern ROMCONST apalControlGpio_t moduleGpioSwV18En;
......
226 221
/**
227 222
 * @brief   Event flag to be set on a IO_4 (breakout) interrupt.
228 223
 */
229
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO4      AOS_IOEVENT_FLAG(GPIOC_IO_4)
224
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO4      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_4))
230 225

  
231 226
/**
232 227
 * @brief   Event flag to be set on a IO_1 (breakout) interrupt.
233 228
 */
234
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO1      AOS_IOEVENT_FLAG(GPIOC_IO_1)
229
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO1      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_1))
235 230

  
236 231
/**
237 232
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
238 233
 */
239
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(GPIOD_SYS_INT_N)
234
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
240 235

  
241 236
/**
242 237
 * @brief   Event flag to be set on a IO_3 (breakout) interrupt.
243 238
 */
244
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO3      AOS_IOEVENT_FLAG(GPIOB_IO_3)
239
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO3      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_3))
245 240

  
246 241
/**
247 242
 * @brief   Event flag to be set on a IO_5 (breakout) interrupt.
248 243
 */
249
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO5      AOS_IOEVENT_FLAG(GPIOB_IO_5)
244
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO5      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_5))
250 245

  
251 246
/**
252 247
 * @brief   Event flag to be set on a IO_6 (breakout) interrupt.
253 248
 */
254
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO6      AOS_IOEVENT_FLAG(GPIOB_IO_6)
249
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO6      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_6))
255 250

  
256 251
/**
257 252
 * @brief   Event flag to be set on a SYS_UART_DN interrupt.
258 253
 */
259
#define MODULE_OS_IOEVENTFLAGS_SYSUARTDN        AOS_IOEVENT_FLAG(GPIOB_SYS_UART_DN)
254
#define MODULE_OS_IOEVENTFLAGS_SYSUARTDN        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_DN))
260 255

  
261 256
/**
262 257
 * @brief   Event flag to be set on a SYS_UART_UP interrupt.
263 258
 */
264
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        AOS_IOEVENT_FLAG(GPIOC_SYS_UART_UP)
259
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_UP))
265 260

  
266 261
/**
267 262
 * @brief   Event flag to be set on a IO_7 (breakout) interrupt.
268 263
 */
269
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO7      AOS_IOEVENT_FLAG(GPIOB_IO_7)
264
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO7      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_7))
270 265

  
271 266
/**
272 267
 * @brief   Event flag to be set on a IO_8 (breakout) interrupt.
273 268
 */
274
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO8      AOS_IOEVENT_FLAG(GPIOB_IO_8)
269
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO8      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_8))
275 270

  
276 271
/**
277 272
 * @brief   Event flag to be set on a SYS_PD interrupt.
278 273
 */
279
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(GPIOC_SYS_PD_N)
274
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
280 275

  
281 276
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
282 277
/**
modules/NUCLEO-F103RB/alldconf.h
33 33
 */
34 34
#define _AMIRO_LLD_CFG_
35 35
#define AMIRO_LLD_CFG_VERSION_MAJOR             1
36
#define AMIRO_LLD_CFG_VERSION_MINOR             0
36
#define AMIRO_LLD_CFG_VERSION_MINOR             1
37 37

  
38 38
/**
39 39
 * @brief   Width of the apalTime_t data type.
......
43 43
 */
44 44
#define AMIROLLD_CFG_TIME_SIZE                  32
45 45

  
46
#define AMIROLLD_CFG_DW1000                     1
46
/**
47
 * @brief   Enable flag for the DW1000 UWB transmitter.
48
 * @note    Uncomment this if the device is attached.
49
 */
50
//#define AMIROLLD_CFG_DW1000                     1
47 51

  
48 52
#endif /* ALLDCONF_H */
49 53

  
modules/NUCLEO-F103RB/board.h
63 63
#define GPIOA_USART2_RX             3U
64 64
#define GPIOA_ARD_A2                4U
65 65
#define GPIOA_ADC1_IN4              4U
66
#define GPIOA_LED_GREEN             5U
67 66
#define GPIOA_ARD_D13               5U
67
#define GPIOA_LED_GREEN             5U
68 68
#define GPIOA_ARD_D12               6U
69 69
#define GPIOA_ARD_D11               7U
70 70
#define GPIOA_ARD_D7                8U
......
80 80
#define GPIOB_ADC1_IN8              0U
81 81
#define GPIOB_PIN1                  1U
82 82
#define GPIOB_PIN2                  2U
83
#define GPIOB_SWO                   3U
84 83
#define GPIOB_ARD_D3                3U
84
#define GPIOB_SWO                   3U
85 85
#define GPIOB_ARD_D5                4U
86 86
#define GPIOB_ARD_D4                5U
87 87
#define GPIOB_ARD_D10               6U
......
166 166
#define GPIOF_PIN13                 13U
167 167
#define GPIOF_PIN14                 14U
168 168
#define GPIOF_PIN15                 15U
169

  
170
/*
171
 * IO lines assignments.
172
 */
173
#define LINE_ARD_A0                 PAL_LINE(GPIOA, GPIOA_ARD_A0)
174
#define LINE_ADC1_IN0               PAL_LINE(GPIOA, GPIOA_ADC1_IN0)
175
#define LINE_ARD_A1                 PAL_LINE(GPIOA, GPIOA_ARD_A1)
176
#define LINE_ADC1_IN1               PAL_LINE(GPIOA, GPIOA_ADC1_IN1)
177
#define LINE_ARD_D1                 PAL_LINE(GPIOA, GPIOA_ARD_D1)
178
#define LINE_USART2_TX              PAL_LINE(GPIOA, GPIOA_USART2_TX)
179
#define LINE_ARD_D0                 PAL_LINE(GPIOA, GPIOA_ARD_D0)
180
#define LINE_USART2_RX              PAL_LINE(GPIOA, GPIOA_USART2_RX)
181
#define LINE_ARD_A2                 PAL_LINE(GPIOA, GPIOA_ARD_A2)
182
#define LINE_ADC1_IN4               PAL_LINE(GPIOA, GPIOA_ADC1_IN4)
183
#define LINE_ARD_D13                PAL_LINE(GPIOA, GPIOA_ARD_D13)
184
#define LINE_LED_GREEN              PAL_LINE(GPIOA, GPIOA_LED_GREEN)
185
#define LINE_ARD_D12                PAL_LINE(GPIOA, GPIOA_ARD_D12)
186
#define LINE_ARD_D11                PAL_LINE(GPIOA, GPIOA_ARD_D11)
187
#define LINE_ARD_D7                 PAL_LINE(GPIOA, GPIOA_ARD_D7)
188
#define LINE_ARD_D8                 PAL_LINE(GPIOA, GPIOA_ARD_D8)
189
#define LINE_ARD_D2                 PAL_LINE(GPIOA, GPIOA_ARD_D2)
190
#define LINE_SWDIO                  PAL_LINE(GPIOA, GPIOA_SWDIO)
191
#define LINE_SWCLK                  PAL_LINE(GPIOA, GPIOA_SWCLK)
192

  
193
#define LINE_ARD_A3                 PAL_LINE(GPIOB, GPIOB_ARD_A3)
194
#define LINE_ADC1_IN8               PAL_LINE(GPIOB, GPIOB_ADC1_IN8)
195
#define LINE_ARD_D3                 PAL_LINE(GPIOB, GPIOB_ARD_D3)
196
#define LINE_SWO                    PAL_LINE(GPIOB, GPIOB_SWO)
197
#define LINE_ARD_D5                 PAL_LINE(GPIOB, GPIOB_ARD_D5)
198
#define LINE_ARD_D4                 PAL_LINE(GPIOB, GPIOB_ARD_D4)
199
#define LINE_ARD_D10                PAL_LINE(GPIOB, GPIOB_ARD_D10)
200
#define LINE_ARD_D15                PAL_LINE(GPIOB, GPIOB_ARD_D15)
201
#define LINE_ARD_D14                PAL_LINE(GPIOB, GPIOB_ARD_D14)
202
#define LINE_ARD_D6                 PAL_LINE(GPIOB, GPIOB_ARD_D6)
203

  
204
#define LINE_ARD_A5                 PAL_LINE(GPIOC, GPIOC_ARD_A5)
205
#define LINE_ADC1_IN11              PAL_LINE(GPIOC, GPIOC_ADC1_IN11)
206
#define LINE_ARD_A4                 PAL_LINE(GPIOC, GPIOC_ARD_A4)
207
#define LINE_ADC1_IN10              PAL_LINE(GPIOC, GPIOC_ADC1_IN10)
208
#define LINE_ARD_D9                 PAL_LINE(GPIOC, GPIOC_ARD_D9)
209
#define LINE_BUTTON                 PAL_LINE(GPIOC, GPIOC_BUTTON)
210

  
211
#define LINE_OSC_IN                 PAL_LINE(GPIOD, GPIOH_OSC_IN)
212
#define LINE_OSC_OUT                PAL_LINE(GPIOD, GPIOH_OSC_OUT)
213

  
214

  
169 215
/*
170 216
 * I/O ports initial setup, this configuration is established soon after reset
171 217
 * in the initialization code.
modules/NUCLEO-F103RB/module.c
85 85
 * @brief   LED output signal GPIO.
86 86
 */
87 87
static apalGpio_t _gpioLed = {
88
  /* port */ GPIOA,
89
  /* pad  */ GPIOA_LED_GREEN,
88
  /* line */ PAL_LINE(GPIOA, GPIOA_LED_GREEN),
90 89
};
91 90
ROMCONST apalControlGpio_t moduleGpioLed = {
92 91
  /* GPIO */ &_gpioLed,
......
103 102
 * @brief   DW1000 reset output signal GPIO.
104 103
 */
105 104
static apalGpio_t _gpioDw1000Reset = {
106
  /* port */ GPIOA,
107
  /* pad  */ GPIOA_ARD_A0,   // PIN0
105
  /* line */ PAL_LINE(GPIOA, GPIOA_ARD_A0),
108 106
};
109 107
ROMCONST apalControlGpio_t moduleGpioDw1000Reset = {
110 108
  /* GPIO */ &_gpioDw1000Reset,
......
120 118
 * @brief   DW1000 interrrupt input signal GPIO.
121 119
 */
122 120
static apalGpio_t _gpioDw1000Irqn = {
123
  /* port */ GPIOB,
124
  /* pad  */ GPIOB_ARD_D6,  // GPIOB_PIN10
121
  /* line */ PAL_LINE(GPIOB, GPIOB_ARD_D6),
125 122
};
126 123
ROMCONST apalControlGpio_t moduleGpioDw1000Irqn = {
127 124
  /* GPIO */ &_gpioDw1000Irqn,
......
137 134
 * @brief   DW1000 SPI chip select output signal GPIO.
138 135
 */
139 136
static apalGpio_t _gpioSpiChipSelect = {
140
  /* port */ GPIOB,
141
  /* pad  */ GPIOB_PIN12,  // GPIOB_PIN10
137
  /* line */ PAL_LINE(GPIOB, GPIOB_PIN12),
142 138
};
143 139
ROMCONST apalControlGpio_t moduleGpioSpiChipSelect = {
144 140
  /* GPIO */ &_gpioSpiChipSelect,
......
155 151
 * @brief   User button input signal GPIO.
156 152
 */
157 153
static apalGpio_t _gpioUserButton = {
158
  /* port */ GPIOC,
159
  /* pad  */ GPIOC_BUTTON,
154
  /* line */ PAL_LINE(GPIOC, GPIOC_BUTTON),
160 155
};
161 156
ROMCONST apalControlGpio_t moduleGpioUserButton = {
162 157
  /* GPIO */ &_gpioUserButton,
......
204 199
  palSetPadMode(GPIOB, GPIOB_PIN13, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
205 200
  palSetPadMode(GPIOB, GPIOB_PIN14, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
206 201
  palSetPadMode(GPIOB, GPIOB_PIN15, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
207
  palSetPadMode(moduleGpioSpiChipSelect.gpio->port, moduleGpioSpiChipSelect.gpio->pad, PAL_MODE_OUTPUT_PUSHPULL);
202
  palSetLineMode(moduleGpioSpiChipSelect.gpio->line, PAL_MODE_OUTPUT_PUSHPULL);
208 203
  apalGpioWrite(moduleGpioSpiChipSelect.gpio, APAL_GPIO_LOW);
209 204
}
210 205

  
modules/NUCLEO-F103RB/module.h
149 149
/**
150 150
 * @brief   Event flag to be call dwt_isr() interrupt.
151 151
 */
152
#define MODULE_OS_IOEVENTFLAGS_DW1000_IRQn      AOS_IOEVENT_FLAG(GPIOB_ARD_D6)
152
#define MODULE_OS_IOEVENTFLAGS_DW1000_IRQn      AOS_IOEVENT_FLAG(PAL_PAD(LINE_ARD_D6))
153 153

  
154 154
/**
155 155
 * @brief   Event flag to be set on a USER_BUTTON interrupt.
156 156
 */
157
#define MODULE_OS_IOEVENTFLAGS_USERBUTTON       AOS_IOEVENT_FLAG(GPIOC_BUTTON)
157
#define MODULE_OS_IOEVENTFLAGS_USERBUTTON       AOS_IOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
158 158

  
159 159

  
160 160
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
......
164 164
extern ROMCONST char* moduleShellPrompt;
165 165
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
166 166

  
167

  
168 167
/**
169 168
 * @brief   Interrupt initialization macro.
170 169
 * @note    SSSP related interrupt signals are already initialized in 'aos_system.c'.
171 170
 */
172 171
#define MODULE_INIT_INTERRUPTS() {                                            \
173 172
  /* user button */                                                           \
174
  palSetPadCallback(moduleGpioUserButton.gpio->port, moduleGpioUserButton.gpio->pad, _intCallback, &moduleGpioUserButton.gpio->pad);  \
175
  palEnablePadEvent(moduleGpioUserButton.gpio->port, moduleGpioUserButton.gpio->pad, APAL2CH_EDGE(moduleGpioUserButton.meta.edge));   \
173
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdIntCallback(), &moduleGpioUserButton.gpio->line); \
174
  palEnableLineEvent(moduleGpioUserButton.gpio->line, APAL2CH_EDGE(moduleGpioUserButton.meta.edge));                \
176 175
  MODULE_INIT_INTERRUPTS_DW1000();                                            \
177 176
}
178 177
#if defined(AMIROLLD_CFG_DW1000)
179 178
  #define MODULE_INIT_INTERRUPTS_DW1000() {                                   \
180
    palSetPadCallback(moduleGpioDw1000Irqn.gpio->port, moduleGpioDw1000Irqn.gpio->pad, _intCallback, &moduleGpioDw1000Irqn.gpio->pad);  \
181
    palEnablePadEvent(moduleGpioDw1000Irqn.gpio->port, moduleGpioDw1000Irqn.gpio->pad, APAL2CH_EDGE(moduleGpioDw1000Irqn.meta.edge));   \
179
    palSetLineCallback(moduleGpioDw1000Irqn.gpio->line, aosSysGetStdIntCallback(), &moduleGpioDw1000Irqn.gpio->line); \
180
    palEnableLineEvent(moduleGpioDw1000Irqn.gpio->line, APAL2CH_EDGE(moduleGpioDw1000Irqn.meta.edge));                \
182 181
  }
183 182
#else /* defined(AMIROLLD_CFG_DW1000) */
184 183
  #define MODULE_INIT_INTERRUPTS_DW1000() {                                   \
modules/NUCLEO-F401RE/alldconf.h
33 33
 */
34 34
#define _AMIRO_LLD_CFG_
35 35
#define AMIRO_LLD_CFG_VERSION_MAJOR             1
36
#define AMIRO_LLD_CFG_VERSION_MINOR             0
36
#define AMIRO_LLD_CFG_VERSION_MINOR             1
37 37

  
38 38
/**
39 39
 * @brief   Width of the apalTime_t data type.
modules/NUCLEO-F401RE/board.h
71 71
#define GPIOA_USART2_RX             3U
72 72
#define GPIOA_ARD_A2                4U
73 73
#define GPIOA_ADC1_IN4              4U
74
#define GPIOA_LED_GREEN             5U
75 74
#define GPIOA_ARD_D13               5U
75
#define GPIOA_LED_GREEN             5U
76 76
#define GPIOA_ARD_D12               6U
77 77
#define GPIOA_ARD_D11               7U
78 78
#define GPIOA_ARD_D7                8U
......
88 88
#define GPIOB_ADC1_IN8              0U
89 89
#define GPIOB_PIN1                  1U
90 90
#define GPIOB_PIN2                  2U
91
#define GPIOB_SWO                   3U
92 91
#define GPIOB_ARD_D3                3U
92
#define GPIOB_SWO                   3U
93 93
#define GPIOB_ARD_D5                4U
94 94
#define GPIOB_ARD_D4                5U
95 95
#define GPIOB_ARD_D10               6U
......
227 227
/*
228 228
 * IO lines assignments.
229 229
 */
230
#define LINE_ARD_A0                 PAL_LINE(GPIOA, 0U)
231
#define LINE_ADC1_IN0               PAL_LINE(GPIOA, 0U)
232
#define LINE_ARD_A1                 PAL_LINE(GPIOA, 1U)
233
#define LINE_ADC1_IN1               PAL_LINE(GPIOA, 1U)
234
#define LINE_ARD_D1                 PAL_LINE(GPIOA, 2U)
235
#define LINE_USART2_TX              PAL_LINE(GPIOA, 2U)
236
#define LINE_ARD_D0                 PAL_LINE(GPIOA, 3U)
237
#define LINE_USART2_RX              PAL_LINE(GPIOA, 3U)
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff