Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / DiWheelDrive_1-1 / module.h @ 75d6970a

History | View | Annotate | Download (18.021 KB)

1 e545e620 Thomas Schöpping
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2018  Thomas Schöpping et al.
4

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef _AMIROOS_MODULE_H_
20
#define _AMIROOS_MODULE_H_
21
22
/*===========================================================================*/
23
/**
24
 * @name Module specific functions
25
 * @{
26
 */
27
/*===========================================================================*/
28
29
/** @} */
30
31
/*===========================================================================*/
32
/**
33
 * @name ChibiOS/HAL configuration
34
 * @{
35
 */
36
/*===========================================================================*/
37
#include <hal.h>
38
#include <hal_qei.h>
39
40
/**
41
 * @brief   CAN driver to use.
42
 */
43
#define MODULE_HAL_CAN                          CAND1
44
45
/**
46
 * @brief   Configuration for the CAN driver.
47
 */
48
extern CANConfig moduleHalCanConfig;
49
50
/**
51
 * @brief   Interrupt driver to use.
52
 */
53
#define MODULE_HAL_EXT                          EXTD1
54
55
/**
56
 * @brief   Interrupt driver configuration.
57
 */
58
extern EXTConfig moduleHalExtConfig;
59
60
/**
61
 * @brief   I2C driver to access the compass.
62
 */
63
#define MODULE_HAL_I2C_COMPASS                  I2CD1
64
65
/**
66
 * @brief   Configuration for the compass I2C driver.
67
 */
68
extern I2CConfig moduleHalI2cCompassConfig;
69
70
/**
71
 * @brief   I2C driver to access multiplexer, proximity sensors, EEPROM and power monitor.
72
 */
73
#define MODULE_HAL_I2C_PROX_EEPROM_PWRMTR       I2CD2
74
75
/**
76
 * @brief   Configuration for the multiplexer, proximity, EEPROM and power monitor I2C driver.
77
 */
78
extern I2CConfig moduleHalI2cProxEepromPwrmtrConfig;
79
80
/**
81
 * @brief   PWM driver to use.
82
 */
83
#define MODULE_HAL_PWM_DRIVE                    PWMD2
84
85
/**
86
 * @brief   Configuration for the PWM driver.
87
 */
88
extern PWMConfig moduleHalPwmDriveConfig;
89
90
/**
91
 * @brief   Drive PWM channel for the left wheel forward direction.
92
 */
93
#define MODULE_HAL_PWM_DRIVE_CHANNEL_LEFT_FORWARD     0
94
95
/**
96
 * @brief   Drive PWM channel for the left wheel backward direction.
97
 */
98
#define MODULE_HAL_PWM_DRIVE_CHANNEL_LEFT_BACKWARD    1
99
100
/**
101
 * @brief   Drive PWM channel for the right wheel forward direction.
102
 */
103
#define MODULE_HAL_PWM_DRIVE_CHANNEL_RIGHT_FORWARD    2
104
105
/**
106
 * @brief   Drive PWM channel for the right wheel backward direction.
107
 */
108
#define MODULE_HAL_PWM_DRIVE_CHANNEL_RIGHT_BACKWARD   3
109
110
/**
111
 * @brief   Quadrature encooder for the left wheel.
112
 */
113
#define MODULE_HAL_QEI_LEFT_WHEEL               QEID3
114
115
/**
116
 * @brief   Quadrature encooder for the right wheel.
117
 */
118
#define MODULE_HAL_QEI_RIGHT_WHEEL              QEID4
119
120
/**
121
 * @brief   Configuration for both quadrature encoders.
122
 */
123
extern QEIConfig moduleHalQeiConfig;
124
125
/**
126
 * @brief   QEI increments per wheel revolution.
127
 * @details 2 signal edges per pulse * 2 signals * 16 pulses per motor revolution * 22:1 gearbox
128
 */
129
#define MODULE_HAL_QEI_INCREMENTS_PER_REVOLUTION  (apalQEICount_t)(2 * 2 * 16 * 22)
130
131
/**
132
 * @brief   Serial driver of the programmer interface.
133
 */
134
#define MODULE_HAL_PROGIF                       SD1
135
136
/**
137
 * @brief   Configuration for the programmer serial interface driver.
138
 */
139
extern SerialConfig moduleHalProgIfConfig;
140
141
/**
142
 * @brief   SPI interface driver for the motion sensors (gyroscope and accelerometer).
143
 */
144
#define MODULE_HAL_SPI_MOTION                   SPID1
145
146
/**
147
 * @brief   Configuration for the motion sensor SPI interface  driver to communicate with the accelerometer.
148
 */
149
extern SPIConfig moduleHalSpiAccelerometerConfig;
150
151
/**
152
 * @brief   Configuration for the motion sensor SPI interface  driver to communicate with the gyroscope.
153
 */
154
extern SPIConfig moduleHalSpiGyroscopeConfig;
155
156 8399aeae Thomas Schöpping
/**
157
 * @brief   Real-Time Clock driver.
158
 */
159
#define MODULE_HAL_RTC                          RTCD1
160
161 e545e620 Thomas Schöpping
/** @} */
162
163
/*===========================================================================*/
164
/**
165
 * @name GPIO definitions
166
 * @{
167
 */
168
/*===========================================================================*/
169
#include <amiro-lld.h>
170
171
/**
172
 * @brief   Interrupt channel for the SYS_SYNC signal.
173
 */
174
#define MODULE_GPIO_EXTCHANNEL_SYSSYNC          ((expchannel_t)1)
175
176
/**
177
 * @brief   Interrupt channel for the SYS_WARMRST signal.
178
 */
179
#define MODULE_GPIO_EXTCHANNEL_SYSWARMRST       ((expchannel_t)2)
180
181
/**
182
 * @brief   Interrupt channel for the PATH_DCSTAT signal.
183
 */
184
#define MODULE_GPIO_EXTCHANNEL_PATHDCSTAT       ((expchannel_t)3)
185
186
/**
187
 * @brief   Interrupt channel for the COMPASS_DRDY signal.
188
 */
189
#define MODULE_GPIO_EXTCHANNEL_COMPASSDRDY      ((expchannel_t)5)
190
191
/**
192
 * @brief   Interrupt channel for the SYS_PD signal.
193
 */
194 e1a164f4 Thomas Schöpping
#define MODULE_GPIO_EXTCHANNEL_SYSPD            ((expchannel_t)8)
195 e545e620 Thomas Schöpping
196
/**
197
 * @brief   Interrupt channel for the SYS_REG_EN signal.
198
 */
199 e1a164f4 Thomas Schöpping
#define MODULE_GPIO_EXTCHANNEL_SYSREGEN         ((expchannel_t)9)
200 e545e620 Thomas Schöpping
201
/**
202
 * @brief   Interrupt channel for the IR_INT signal.
203
 */
204
#define MODULE_GPIO_EXTCHANNEL_IRINT            ((expchannel_t)12)
205
206
/**
207
 * @brief   Interrupt channel for the GYRO_DRDY signal.
208
 */
209
#define MODULE_GPIO_EXTCHANNEL_GYRODRDY         ((expchannel_t)13)
210
211
/**
212
 * @brief   Interrupt channel for the SYS_UART_UP signal.
213
 */
214
#define MODULE_GPIO_EXTCHANNEL_SYSUARTUP        ((expchannel_t)14)
215
216
/**
217
 * @brief   Interrupt channel for the ACCEL_INT signal.
218
 */
219
#define MODULE_GPIO_EXTCHANNEL_ACCELINT         ((expchannel_t)15)
220
221
/**
222
 * @brief   LED output signal GPIO.
223
 */
224
extern apalGpio_t moduleGpioLed;
225
226
/**
227
 * @brief   POWER_EN output signal GPIO.
228
 */
229
extern apalGpio_t moduleGpioPowerEn;
230
231
/**
232
 * @brief   COMPASS_DRDY input signal GPIO.
233
 */
234
extern apalGpio_t moduleGpioCompassDrdy;
235
236
/**
237
 * @brief   IR_INT input signal GPIO.
238
 */
239
extern apalGpio_t moduleGpioIrInt;
240
241
/**
242
 * @brief   GYRO_DRDY input signal GPIO.
243
 */
244
extern apalGpio_t moduleGpioGyroDrdy;
245
246
/**
247
 * @brief   SYS_UART_UP bidirectional signal GPIO.
248
 */
249
extern apalGpio_t moduleGpioSysUartUp;
250
251
/**
252
 * @brief   ACCEL_INT input signal GPIO.
253
 */
254
extern apalGpio_t moduleGpioAccelInt;
255
256
/**
257
 * @brief   SYS_SNYC bidirectional signal GPIO.
258
 */
259
extern apalGpio_t moduleGpioSysSync;
260
261
/**
262
 * @brief   PATH_DCSTAT input signal GPIO.
263
 */
264
extern apalGpio_t moduleGpioPathDcStat;
265
266
/**
267
 * @brief   PATH_DCEN output signal GPIO.
268
 */
269
extern apalGpio_t moduleGpioPathDcEn;
270
271
/**
272
 * @brief   SYS_PD bidirectional signal GPIO.
273
 */
274
extern apalGpio_t moduleGpioSysPd;
275
276
/**
277
 * @brief   SYS_REG_EN input signal GPIO.
278
 */
279
extern apalGpio_t moduleGpioSysRegEn;
280
281
/**
282
 * @brief   SYS_WARMRST bidirectional signal GPIO.
283
 */
284
extern apalGpio_t moduleGpioSysWarmrst;
285
286
/** @} */
287
288
/*===========================================================================*/
289
/**
290
 * @name AMiRo-OS core configurations
291
 * @{
292
 */
293
/*===========================================================================*/
294
295
/**
296
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
297
 */
298
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_SYSSYNC))
299
300
/**
301
 * @brief   Event flag to be set on a SYS_WARMRST interrupt.
302
 */
303
#define MODULE_OS_IOEVENTFLAGS_SYSWARMRST       ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_SYSWARMRST))
304
305
/**
306
 * @brief   Event flag to be set on a PATH_DCSTAT interrupt.
307
 */
308
#define MODULE_OS_IOEVENTFLAGS_PATHDCSTAT       ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_PATHDCSTAT))
309
310
/**
311
 * @brief   Event flag to be set on a COMPASS_DRDY interrupt.
312
 */
313
#define MODULE_OS_IOEVENTFLAGS_COMPASSDRDY      ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_COMPASSDRDY))
314
315
/**
316
 * @brief   Event flag to be set on a SYS_PD interrupt.
317
 */
318
#define MODULE_OS_IOEVENTFLAGS_SYSPD            ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_SYSPD))
319
320
/**
321
 * @brief   Event flag to be set on a SYS_REG_EN interrupt.
322
 */
323
#define MODULE_OS_IOEVENTFLAGS_SYSREGEN         ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_SYSREGEN))
324
325
/**
326
 * @brief   Event flag to be set on a IR_INT interrupt.
327
 */
328
#define MODULE_OS_IOEVENTFLAGS_IRINT            ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_IRINT))
329
330
/**
331
 * @brief   Event flag to be set on a GYRO_DRDY interrupt.
332
 */
333
#define MODULE_OS_IOEVENTFLAGS_GYRODRDY         ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_GYRODRDY))
334
335
/**
336
 * @brief   Event flag to be set on a SYS_UART_UP interrupt.
337
 */
338
#define MODULE_OS_IOEVENTFLAGS_SYSUARTUP        ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_SYSUARTUP))
339
340
/**
341
 * @brief   Event flag to be set on a ACCEL_INT interrupt.
342
 */
343
#define MODULE_OS_IOEVENTFLAGS_ACCELINT         ((eventflags_t)(1 << MODULE_GPIO_EXTCHANNEL_ACCELINT))
344
345 6b53f6bf Thomas Schöpping
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
346 e545e620 Thomas Schöpping
/**
347
 * @brief   Shell prompt text.
348
 */
349
extern const char* moduleShellPrompt;
350 6b53f6bf Thomas Schöpping
#endif
351 e545e620 Thomas Schöpping
352
/**
353
 * @brief   Additional HAL initialization hook.
354
 */
355
#define MODULE_INIT_HAL_EXTRA() {                                             \
356
  qeiInit();                                                                  \
357
}
358
359
/**
360
 * @brief   Unit test initialization hook.
361
 */
362
#define MODULE_INIT_TESTS() {                                                 \
363
  /* add unit-test shell commands */                                          \
364 6b53f6bf Thomas Schöpping
  aosShellAddCommand(&aos.shell, &moduleUtAlldA3906.shellcmd);                \
365
  aosShellAddCommand(&aos.shell, &moduleUtAlldAt24c01bn.shellcmd);            \
366
  aosShellAddCommand(&aos.shell, &moduleUtAlldHmc5883l.shellcmd);             \
367
  aosShellAddCommand(&aos.shell, &moduleUtAlldIna219.shellcmd);               \
368
  aosShellAddCommand(&aos.shell, &moduleUtAlldL3g4200d.shellcmd);             \
369
  aosShellAddCommand(&aos.shell, &moduleUtAlldLed.shellcmd);                  \
370
  aosShellAddCommand(&aos.shell, &moduleUtAlldLis331dlh.shellcmd);            \
371
  aosShellAddCommand(&aos.shell, &moduleUtAlldLtc4412.shellcmd);              \
372
  aosShellAddCommand(&aos.shell, &moduleUtAlldPca9544a.shellcmd);             \
373
  aosShellAddCommand(&aos.shell, &moduleUtAlldTps62113.shellcmd);             \
374
  aosShellAddCommand(&aos.shell, &moduleUtAlldVcnl4020.shellcmd);             \
375 e545e620 Thomas Schöpping
}
376
377
/**
378
 * @brief   Periphery communication interfaces initialization hook.
379
 */
380
#define MODULE_INIT_PERIPHERY_COMM() {                                        \
381
  /* serial driver */                                                         \
382
  sdStart(&MODULE_HAL_PROGIF, &moduleHalProgIfConfig);                        \
383
  /* I2C */                                                                   \
384
  moduleHalI2cCompassConfig.clock_speed = (HMC5883L_LLD_I2C_MAXFREQUENCY < moduleHalI2cCompassConfig.clock_speed) ? HMC5883L_LLD_I2C_MAXFREQUENCY : moduleHalI2cCompassConfig.clock_speed;  \
385
  moduleHalI2cCompassConfig.duty_cycle = (moduleHalI2cCompassConfig.clock_speed <= 100000) ? STD_DUTY_CYCLE : FAST_DUTY_CYCLE_2;  \
386
  i2cStart(&MODULE_HAL_I2C_COMPASS, &moduleHalI2cCompassConfig);              \
387
  moduleHalI2cProxEepromPwrmtrConfig.clock_speed = (PCA9544A_LLD_I2C_MAXFREQUENCY < moduleHalI2cProxEepromPwrmtrConfig.clock_speed) ? PCA9544A_LLD_I2C_MAXFREQUENCY : moduleHalI2cProxEepromPwrmtrConfig.clock_speed; \
388
  moduleHalI2cProxEepromPwrmtrConfig.clock_speed = (VCNL4020_LLD_I2C_MAXFREQUENCY < moduleHalI2cProxEepromPwrmtrConfig.clock_speed) ? VCNL4020_LLD_I2C_MAXFREQUENCY : moduleHalI2cProxEepromPwrmtrConfig.clock_speed; \
389
  moduleHalI2cProxEepromPwrmtrConfig.clock_speed = (AT24C01BN_LLD_I2C_MAXFREQUENCY < moduleHalI2cProxEepromPwrmtrConfig.clock_speed) ? AT24C01BN_LLD_I2C_MAXFREQUENCY : moduleHalI2cProxEepromPwrmtrConfig.clock_speed; \
390
  moduleHalI2cProxEepromPwrmtrConfig.clock_speed = (INA219_LLD_I2C_MAXFREQUENCY < moduleHalI2cProxEepromPwrmtrConfig.clock_speed) ? INA219_LLD_I2C_MAXFREQUENCY : moduleHalI2cProxEepromPwrmtrConfig.clock_speed; \
391
  moduleHalI2cProxEepromPwrmtrConfig.duty_cycle = (moduleHalI2cProxEepromPwrmtrConfig.clock_speed <= 100000) ? STD_DUTY_CYCLE : FAST_DUTY_CYCLE_2;  \
392
  i2cStart(&MODULE_HAL_I2C_PROX_EEPROM_PWRMTR, &moduleHalI2cProxEepromPwrmtrConfig);  \
393
  /* SPI is shared between accelerometer and gyroscope and needs to be restarted for each transmission */ \
394
  /* PWM */                                                                   \
395
  pwmStart(&MODULE_HAL_PWM_DRIVE, &moduleHalPwmDriveConfig);                  \
396
  /* QEI */                                                                   \
397
  qeiStart(&MODULE_HAL_QEI_LEFT_WHEEL, &moduleHalQeiConfig);                  \
398
  qeiStart(&MODULE_HAL_QEI_RIGHT_WHEEL, &moduleHalQeiConfig);                 \
399
  qeiEnable(&MODULE_HAL_QEI_LEFT_WHEEL);                                      \
400
  qeiEnable(&MODULE_HAL_QEI_RIGHT_WHEEL);                                     \
401
}
402
403
/**
404
 * @brief   Periphery communication interface deinitialization hook.
405
 */
406
#define MODULE_SHUTDOWN_PERIPHERY_COMM() {                                    \
407
  /* PWM */                                                                   \
408
  pwmStop(&MODULE_HAL_PWM_DRIVE);                                             \
409
  /* QEI */                                                                   \
410
  qeiDisable(&MODULE_HAL_QEI_LEFT_WHEEL);                                     \
411
  qeiDisable(&MODULE_HAL_QEI_RIGHT_WHEEL);                                    \
412
  qeiStop(&MODULE_HAL_QEI_LEFT_WHEEL);                                        \
413
  qeiStop(&MODULE_HAL_QEI_RIGHT_WHEEL);                                       \
414
  /* I2C */                                                                   \
415
  i2cStop(&MODULE_HAL_I2C_COMPASS);                                           \
416
  i2cStop(&MODULE_HAL_I2C_PROX_EEPROM_PWRMTR);                                \
417
  /* don't stop the serial driver so messages can still be printed */         \
418
}
419
420
/** @} */
421
422
/*===========================================================================*/
423
/**
424 6b53f6bf Thomas Schöpping
 * @name Startup Shutdown Synchronization Protocol (SSSP)
425
 * @{
426
 */
427
/*===========================================================================*/
428
429
/**
430
 * @brief   PD signal GPIO.
431
 */
432
extern apalControlGpio_t moduleSsspGpioPd;
433
434
/**
435
 * @brief   SYNC signal GPIO.
436
 */
437
extern apalControlGpio_t moduleSsspGpioSync;
438
439
/**
440
 * @brief   Event flags for PD signal events.
441
 */
442
#define MODULE_SSSP_EVENTFLAGS_PD               MODULE_OS_IOEVENTFLAGS_SYSPD
443
444
/**
445
 * @brief   Event flags for Sync signal events.
446
 */
447
#define MODULE_SSSP_EVENTFLAGS_SYNC             MODULE_OS_IOEVENTFLAGS_SYSSYNC
448
449
/**
450
 * @brief   Hook to handle IO events during SSSP startup synchronization.
451
 */
452
#define MODULE_SSSP_STARTUP_OSINIT_OUTRO_IOEVENT_HOOK(mask, flags) {          \
453
  /* ignore all events */                                                     \
454
  (void)mask;                                                                 \
455
  (void)flags;                                                                \
456
}
457
458
/** @} */
459
460
/*===========================================================================*/
461
/**
462 e545e620 Thomas Schöpping
 * @name Low-level drivers
463
 * @{
464
 */
465
/*===========================================================================*/
466
#include <alld_a3906.h>
467
#include <alld_at24c01bn-sh-b.h>
468
#include <alld_hmc5883l.h>
469
#include <alld_ina219.h>
470
#include <alld_l3g4200d.h>
471
#include <alld_led.h>
472
#include <alld_lis331dlh.h>
473
#include <alld_ltc4412.h>
474
#include <alld_pca9544a.h>
475
#include <alld_tps62113.h>
476
#include <alld_vcnl4020.h>
477
478
/**
479
 * @brief   Motor driver.
480
 */
481
extern A3906Driver moduleLldMotors;
482
483
/**
484
 * @brief   EEPROM driver.
485
 */
486
extern AT24C01BNDriver moduleLldEeprom;
487
488
/**
489
 * @brief   Compass driver.
490
 */
491
extern HMC5883LDriver moduleLldCompass;
492
493
/**
494
 * @brief   Power monitor (VDD) driver.
495
 */
496
extern INA219Driver moduleLldPowerMonitorVdd;
497
498
/**
499
 * @brief   Gyroscope driver.
500
 */
501
extern L3G4200DDriver moduleLldGyroscope;
502
503
/**
504
 * @brief   Status LED driver.
505
 */
506
extern LEDDriver moduleLldStatusLed;
507
508
/**
509
 * @brief   Accelerometer driver.
510
 */
511
extern LIS331DLHDriver moduleLldAccelerometer;
512
513
/**
514
 * @brief   Power path controler (charging pins) driver.
515
 */
516
extern LTC4412Driver moduleLldPowerPathController;
517
518
/**
519
 * @brief   I2C multiplexer driver.
520
 */
521
extern PCA9544ADriver moduleLldI2cMultiplexer;
522
523
/**
524
 * @brief   Step down converter (VDRIVE) driver.
525
 */
526
extern TPS62113Driver moduleLldStepDownConverterVdrive;
527
528
/**
529
 * @brief   Proximity sensor driver.
530
 */
531
extern VCNL4020Driver moduleLldProximity;
532
533
/** @} */
534
535
/*===========================================================================*/
536
/**
537
 * @name Unit tests (UT)
538
 * @{
539
 */
540
/*===========================================================================*/
541
#if (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
542
#include <ut_alld_a3906.h>
543
#include <ut_alld_at24c01bn-sh-b.h>
544
#include <ut_alld_hmc5883l.h>
545
#include <ut_alld_ina219.h>
546
#include <ut_alld_l3g4200d.h>
547
#include <ut_alld_led.h>
548
#include <ut_alld_lis331dlh.h>
549
#include <ut_alld_ltc4412.h>
550
#include <ut_alld_pca9544a.h>
551
#include <ut_alld_tps62113.h>
552
#include <ut_alld_vcnl4020.h>
553
554
/**
555
 * @brief   A3906 (motor driver) unit test object.
556
 */
557
extern aos_unittest_t moduleUtAlldA3906;
558
559
/**
560
 * @brief   AT24C01BN-SH-B (EEPROM) unit test object.
561
 */
562
extern aos_unittest_t moduleUtAlldAt24c01bn;
563
564
/**
565
 * @brief   HMC5883L (compass) unit test object.
566
 */
567
extern aos_unittest_t moduleUtAlldHmc5883l;
568
569
/**
570
 * @brief   INA219 (power monitor) unit test object.
571
 */
572
extern aos_unittest_t moduleUtAlldIna219;
573
574
/**
575
 * @brief   L3G4200D (gyroscope) unit test object.
576
 */
577
extern aos_unittest_t moduleUtAlldL3g4200d;
578
579
/**
580
 * @brief   Status LED unit test object.
581
 */
582
extern aos_unittest_t moduleUtAlldLed;
583
584
/**
585
 * @brief   LIS331DLH (accelerometer) unit test object.
586
 */
587
extern aos_unittest_t moduleUtAlldLis331dlh;
588
589
/**
590
 * @brief   LTC4412 (power path controller) unit test object.
591
 */
592
extern aos_unittest_t moduleUtAlldLtc4412;
593
594
/**
595
 * @brief   PCA9544A (I2C multiplexer) unit test object.
596
 */
597
extern aos_unittest_t moduleUtAlldPca9544a;
598
599
/**
600
 * @brief   TPS62113 (step-down converter) unit test object.
601
 */
602
extern aos_unittest_t moduleUtAlldTps62113;
603
604
/**
605
 * @brief   VCNL4020 (proximity sensor) unit test object.
606
 */
607
extern aos_unittest_t moduleUtAlldVcnl4020;
608
609
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
610
611
/** @} */
612
613
#endif /* _AMIROOS_MODULE_H_ */