Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / DiWheelDrive_1-1 / module.h @ 933df08e

History | View | Annotate | Download (18.231 KB)

1
/*
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
/**
157
 * @brief   Real-Time Clock driver.
158
 */
159
#define MODULE_HAL_RTC                          RTCD1
160

    
161
/** @} */
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
#define MODULE_GPIO_EXTCHANNEL_SYSPD            ((expchannel_t)8)
195

    
196
/**
197
 * @brief   Interrupt channel for the SYS_REG_EN signal.
198
 */
199
#define MODULE_GPIO_EXTCHANNEL_SYSREGEN         ((expchannel_t)9)
200

    
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
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
346
/**
347
 * @brief   Shell prompt text.
348
 */
349
extern const char* moduleShellPrompt;
350
#endif
351

    
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
  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
}
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
 * @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   UP signal GPIO.
441
 */
442
extern apalControlGpio_t moduleSsspGpioUp;
443

    
444
/**
445
 * @brief   Event flags for PD signal events.
446
 */
447
#define MODULE_SSSP_EVENTFLAGS_PD               MODULE_OS_IOEVENTFLAGS_SYSPD
448

    
449
/**
450
 * @brief   Event flags for SYNC signal events.
451
 */
452
#define MODULE_SSSP_EVENTFLAGS_SYNC             MODULE_OS_IOEVENTFLAGS_SYSSYNC
453

    
454
/**
455
 * @brief   Event flags for UP signal events.
456
 */
457
#define MODULE_SSSP_EVENTFLAGS_UP               MODULE_OS_IOEVENTFLAGS_SYSUARTUP
458

    
459
/**
460
 * @brief   Hook to handle IO events during SSSP startup synchronization.
461
 */
462
#define MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK(mask, flags) {                   \
463
  /* ignore all events */                                                     \
464
  (void)mask;                                                                 \
465
  (void)flags;                                                                \
466
}
467

    
468
/** @} */
469

    
470
/*===========================================================================*/
471
/**
472
 * @name Low-level drivers
473
 * @{
474
 */
475
/*===========================================================================*/
476
#include <alld_a3906.h>
477
#include <alld_at24c01bn-sh-b.h>
478
#include <alld_hmc5883l.h>
479
#include <alld_ina219.h>
480
#include <alld_l3g4200d.h>
481
#include <alld_led.h>
482
#include <alld_lis331dlh.h>
483
#include <alld_ltc4412.h>
484
#include <alld_pca9544a.h>
485
#include <alld_tps62113.h>
486
#include <alld_vcnl4020.h>
487

    
488
/**
489
 * @brief   Motor driver.
490
 */
491
extern A3906Driver moduleLldMotors;
492

    
493
/**
494
 * @brief   EEPROM driver.
495
 */
496
extern AT24C01BNDriver moduleLldEeprom;
497

    
498
/**
499
 * @brief   Compass driver.
500
 */
501
extern HMC5883LDriver moduleLldCompass;
502

    
503
/**
504
 * @brief   Power monitor (VDD) driver.
505
 */
506
extern INA219Driver moduleLldPowerMonitorVdd;
507

    
508
/**
509
 * @brief   Gyroscope driver.
510
 */
511
extern L3G4200DDriver moduleLldGyroscope;
512

    
513
/**
514
 * @brief   Status LED driver.
515
 */
516
extern LEDDriver moduleLldStatusLed;
517

    
518
/**
519
 * @brief   Accelerometer driver.
520
 */
521
extern LIS331DLHDriver moduleLldAccelerometer;
522

    
523
/**
524
 * @brief   Power path controler (charging pins) driver.
525
 */
526
extern LTC4412Driver moduleLldPowerPathController;
527

    
528
/**
529
 * @brief   I2C multiplexer driver.
530
 */
531
extern PCA9544ADriver moduleLldI2cMultiplexer;
532

    
533
/**
534
 * @brief   Step down converter (VDRIVE) driver.
535
 */
536
extern TPS62113Driver moduleLldStepDownConverterVdrive;
537

    
538
/**
539
 * @brief   Proximity sensor driver.
540
 */
541
extern VCNL4020Driver moduleLldProximity;
542

    
543
/** @} */
544

    
545
/*===========================================================================*/
546
/**
547
 * @name Unit tests (UT)
548
 * @{
549
 */
550
/*===========================================================================*/
551
#if (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
552
#include <ut_alld_a3906.h>
553
#include <ut_alld_at24c01bn-sh-b.h>
554
#include <ut_alld_hmc5883l.h>
555
#include <ut_alld_ina219.h>
556
#include <ut_alld_l3g4200d.h>
557
#include <ut_alld_led.h>
558
#include <ut_alld_lis331dlh.h>
559
#include <ut_alld_ltc4412.h>
560
#include <ut_alld_pca9544a.h>
561
#include <ut_alld_tps62113.h>
562
#include <ut_alld_vcnl4020.h>
563

    
564
/**
565
 * @brief   A3906 (motor driver) unit test object.
566
 */
567
extern aos_unittest_t moduleUtAlldA3906;
568

    
569
/**
570
 * @brief   AT24C01BN-SH-B (EEPROM) unit test object.
571
 */
572
extern aos_unittest_t moduleUtAlldAt24c01bn;
573

    
574
/**
575
 * @brief   HMC5883L (compass) unit test object.
576
 */
577
extern aos_unittest_t moduleUtAlldHmc5883l;
578

    
579
/**
580
 * @brief   INA219 (power monitor) unit test object.
581
 */
582
extern aos_unittest_t moduleUtAlldIna219;
583

    
584
/**
585
 * @brief   L3G4200D (gyroscope) unit test object.
586
 */
587
extern aos_unittest_t moduleUtAlldL3g4200d;
588

    
589
/**
590
 * @brief   Status LED unit test object.
591
 */
592
extern aos_unittest_t moduleUtAlldLed;
593

    
594
/**
595
 * @brief   LIS331DLH (accelerometer) unit test object.
596
 */
597
extern aos_unittest_t moduleUtAlldLis331dlh;
598

    
599
/**
600
 * @brief   LTC4412 (power path controller) unit test object.
601
 */
602
extern aos_unittest_t moduleUtAlldLtc4412;
603

    
604
/**
605
 * @brief   PCA9544A (I2C multiplexer) unit test object.
606
 */
607
extern aos_unittest_t moduleUtAlldPca9544a;
608

    
609
/**
610
 * @brief   TPS62113 (step-down converter) unit test object.
611
 */
612
extern aos_unittest_t moduleUtAlldTps62113;
613

    
614
/**
615
 * @brief   VCNL4020 (proximity sensor) unit test object.
616
 */
617
extern aos_unittest_t moduleUtAlldVcnl4020;
618

    
619
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
620

    
621
/** @} */
622

    
623
#endif /* _AMIROOS_MODULE_H_ */