Revision 1e5f7648 modules/DiWheelDrive_1-1/module.c

View differences:

modules/DiWheelDrive_1-1/module.c
18 18

  
19 19
#include "module.h"
20 20

  
21
#include <amiroos.h>
22

  
21 23
/*===========================================================================*/
22 24
/**
23 25
 * @name Module specific functions
24 26
 * @{
25 27
 */
26 28
/*===========================================================================*/
27
#include <amiroos.h>
28

  
29
/**
30
 * @brief   Interrupt service routine callback for I/O interrupt signals.
31
 *
32
 * @param   args      Channel on which the interrupt was encountered.
33
 */
34
static void _modulePalIsrCallback(void *args) {
35
  chSysLockFromISR();
36
  chEvtBroadcastFlagsI(&aos.events.io, (1 << (*(uint16_t*)args)));
37
  chSysUnlockFromISR();
38

  
39
  return;
40
}
41 29

  
42 30
/** @} */
43 31

  
......
53 41
  /* btr  */ CAN_BTR_SJW(1) | CAN_BTR_TS2(2) | CAN_BTR_TS1(13) | CAN_BTR_BRP(1),
54 42
};
55 43

  
56
aos_interrupt_cfg_t moduleIntConfig[10] = {
57
    /* channel  1 */ { // SYS_INT_N/SYS_SYNC_N: automatic interrupt on event
58
      /* port     */ GPIOC,
59
      /* pad      */ GPIOC_SYS_INT_N,
60
      /* flags    */ AOS_INTERRUPT_AUTOSTART,
61
      /* mode     */ PAL_EVENT_MODE_BOTH_EDGES,
62
      /* callback */ _modulePalIsrCallback,
63
      /* cb arg   */ 1,
64
    },
65
    /* channel  2 */ { // SYS_WARMRST_N: automatic interrupt when activated
66
      /* port     */ GPIOD,
67
      /* pad      */ GPIOD_SYS_WARMRST_N,
68
      /* flags    */ AOS_INTERRUPT_AUTOSTART,
69
      /* mode     */ PAL_EVENT_MODE_FALLING_EDGE,
70
      /* callback */ _modulePalIsrCallback,
71
      /* cb arg   */ 2,
72
    },
73
    /* channel  3 */ { // PATH_DCSTAT: must be enabled explicitely when charging is in progress to detect unexpected voltage drop
74
      /* port     */ GPIOC,
75
      /* pad      */ GPIOC_PATH_DCSTAT,
76
      /* flags    */ 0,
77
      /* mode     */ PAL_EVENT_MODE_FALLING_EDGE,
78
      /* callback */ _modulePalIsrCallback,
79
      /* cb arg   */ 3,
80
    },
81
    /* channel  5 */ { // COMPASS_DRDY: must be enabled explicitely
82
      /* port     */ GPIOB,
83
      /* pad      */ GPIOB_COMPASS_DRDY,
84
      /* flags    */ 0,
85
      /* mode     */ APAL2CH_EDGE(HMC5883L_LLD_INT_EDGE),
86
      /* callback */ _modulePalIsrCallback,
87
      /* cb arg   */ 4,
88
    },
89
    /* channel  8 */ { // SYS_PD_N: automatic interrupt when activated
90
      /* port     */ GPIOC,
91
      /* pad      */ GPIOC_SYS_PD_N,
92
      /* flags    */ AOS_INTERRUPT_AUTOSTART,
93
      /* mode     */ PAL_EVENT_MODE_FALLING_EDGE,
94
      /* callback */ _modulePalIsrCallback,
95
      /* cb arg   */ 5,
96
    },
97
    /* channel  9 */ { // SYS_REG_EN: automatic interrupt when activated
98
      /* port     */ GPIOC,
99
      /* pad      */ GPIOC_SYS_REG_EN,
100
      /* flags    */ AOS_INTERRUPT_AUTOSTART,
101
      /* mode     */ PAL_EVENT_MODE_FALLING_EDGE,
102
      /* callback */ _modulePalIsrCallback,
103
      /* cb arg   */ 6,
104
    },
105
    /* channel 12 */ { // IR_INT: must be enabled explicitely
106
      /* port     */ GPIOB,
107
      /* pad      */ GPIOB_IR_INT,
108
      /* flags    */ 0,
109
      /* mode     */ APAL2CH_EDGE(VCNL4020_LLD_INT_EDGE),
110
      /* callback */ _modulePalIsrCallback,
111
      /* cb arg   */ 7,
112
    },
113
    /* channel 13 */ { // GYRO_DRDY: must be enabled explicitely
114
      /* port     */ GPIOB,
115
      /* pad      */ GPIOB_GYRO_DRDY,
116
      /* flags    */ 0,
117
      /* mode     */ APAL2CH_EDGE(L3G4200D_LLD_INT_EDGE),
118
      /* callback */ _modulePalIsrCallback,
119
      /* cb arg   */ 8,
120
    },
121
    /* channel 14 */ { // SYS_UART_UP: automatic interrupt on event
122
      /* port     */ GPIOB,
123
      /* pad      */ GPIOB_SYS_UART_UP,
124
      /* flags    */ AOS_INTERRUPT_AUTOSTART,
125
      /* mode     */ PAL_EVENT_MODE_BOTH_EDGES,
126
      /* callback */ _modulePalIsrCallback,
127
      /* cb arg   */ 9,
128
    },
129
    /* channel 15 */ { // ACCEL_INT_N: must be enabled explicitely
130
      /* port     */ GPIOB,
131
      /* pad      */ GPIOB_ACCEL_INT_N,
132
      /* flags    */ 0,
133
      /* mode     */ APAL2CH_EDGE(LIS331DLH_LLD_INT_EDGE),
134
      /* callback */ _modulePalIsrCallback,
135
      /* cb arg   */ 10,
136
    },
137
};
138

  
139
aos_interrupt_driver_t moduleIntDriver = {
140
  /* config     */ NULL,
141
  /* interrupts */ 10,
142
};
143

  
144 44
I2CConfig moduleHalI2cCompassConfig = {
145 45
  /* I²C mode   */ OPMODE_I2C,
146 46
  /* frequency  */ 400000,
......
229 129
 */
230 130
/*===========================================================================*/
231 131

  
232
apalGpio_t moduleGpioLed = {
132
/**
133
 * @brief   LED output signal GPIO.
134
 */
135
static apalGpio_t _gpioLed = {
233 136
  /* port */ GPIOA,
234 137
  /* pad  */ GPIOA_LED,
235 138
};
139
apalControlGpio_t moduleGpioLed = {
140
  /* GPIO */ &_gpioLed,
141
  /* meta */ {
142
    /* direction      */ APAL_GPIO_DIRECTION_OUTPUT,
143
    /* active state   */ LED_LLD_GPIO_ACTIVE_STATE,
144
    /* interrupt edge */ APAL_GPIO_EDGE_NONE,
145
  },
146
};
236 147

  
237
apalGpio_t moduleGpioPowerEn = {
238
  /* port */GPIOB,
148
/**
149
 * @brief   POWER_EN output signal GPIO.
150
 */
151
static apalGpio_t _gpioPowerEn = {
152
  /* port */ GPIOB,
239 153
  /* pad  */  GPIOB_POWER_EN,
240 154
};
155
apalControlGpio_t moduleGpioPowerEn = {
156
  /* GPIO */ &_gpioPowerEn,
157
  /* meta */ {
158
    /* direction      */ APAL_GPIO_DIRECTION_OUTPUT,
159
    /* active state   */ APAL_GPIO_ACTIVE_HIGH,
160
    /* interrupt edge */ APAL_GPIO_EDGE_NONE,
161
  },
162
};
241 163

  
242
apalGpio_t moduleGpioCompassDrdy = {
164
/**
165
 * @brief   COMPASS_DRDY output signal GPIO.
166
 */
167
static apalGpio_t _gpioCompassDrdy = {
243 168
  /* port */ GPIOB,
244 169
  /* pad  */ GPIOB_COMPASS_DRDY,
245 170
};
171
apalControlGpio_t moduleGpioCompassDrdy = {
172
  /* GPIO */ &_gpioCompassDrdy,
173
  /* meta */ {
174
    /* direction      */ APAL_GPIO_DIRECTION_INPUT,
175
    /* active state   */ (L3G4200D_LLD_INT_EDGE == APAL_GPIO_EDGE_RISING) ? APAL_GPIO_ACTIVE_HIGH : APAL_GPIO_ACTIVE_LOW,
176
    /* interrupt edge */ L3G4200D_LLD_INT_EDGE,
177
  },
178
};
246 179

  
247
 apalGpio_t moduleGpioIrInt = {
180
/**
181
 * @brief   IR_INT input signal GPIO.
182
 */
183
static apalGpio_t _gpioIrInt = {
248 184
  /* port */ GPIOB,
249 185
  /* pad  */ GPIOB_IR_INT,
250 186
};
187
apalControlGpio_t moduleGpioIrInt = {
188
  /* GPIO */ &_gpioIrInt,
189
  /* meta */ {
190
    /* direction      */ APAL_GPIO_DIRECTION_INPUT,
191
    /* active state   */ (VCNL4020_LLD_INT_EDGE == APAL_GPIO_EDGE_RISING) ? APAL_GPIO_ACTIVE_HIGH : APAL_GPIO_ACTIVE_LOW,
192
    /* interrupt edge */ VCNL4020_LLD_INT_EDGE,
193
  },
194
};
251 195

  
252
apalGpio_t moduleGpioGyroDrdy = {
196
/**
197
 * @brief   GYRO_DRDY input signal GPIO.
198
 */
199
static apalGpio_t _gpioGyroDrdy = {
253 200
  /* port */ GPIOB,
254 201
  /* pad  */ GPIOB_GYRO_DRDY,
255 202
};
203
apalControlGpio_t moduleGpioGyroDrdy = {
204
  /* GPIO */ &_gpioGyroDrdy,
205
  /* meta */ {
206
    /* direction      */ APAL_GPIO_DIRECTION_INPUT,
207
    /* active state   */ (L3G4200D_LLD_INT_EDGE == APAL_GPIO_EDGE_RISING) ? APAL_GPIO_ACTIVE_HIGH : APAL_GPIO_ACTIVE_LOW,
208
    /* interrupt edge */ L3G4200D_LLD_INT_EDGE,
209
  },
210
};
256 211

  
257
apalGpio_t moduleGpioSysUartUp = {
212
/**
213
 * @brief   SYS_UART_UP bidirectional signal GPIO.
214
 */
215
static apalGpio_t _gpioSysUartUp = {
258 216
  /* port */ GPIOB,
259 217
  /* pad  */ GPIOB_SYS_UART_UP,
260 218
};
219
apalControlGpio_t moduleGpioSysUartUp = {
220
  /* GPIO */ &_gpioSysUartUp,
221
  /* meta */ {
222
    /* direction      */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
223
    /* active state   */ APAL_GPIO_ACTIVE_LOW,
224
    /* interrupt edge */ APAL_GPIO_EDGE_BOTH,
225
  },
226
};
261 227

  
262
apalGpio_t moduleGpioAccelInt = {
228
/**
229
 * @brief   ACCEL_INT input signal GPIO.
230
 */
231
static apalGpio_t _gpioAccelInt = {
263 232
  /* port */ GPIOB,
264 233
  /* pad  */ GPIOB_ACCEL_INT_N,
265 234
};
235
apalControlGpio_t moduleGpioAccelInt = {
236
  /* GPIO */ &_gpioAccelInt,
237
  /* meta */ {
238
    /* direction      */ APAL_GPIO_DIRECTION_INPUT,
239
    /* active state   */ (LIS331DLH_LLD_INT_EDGE == APAL_GPIO_EDGE_RISING) ? APAL_GPIO_ACTIVE_HIGH : APAL_GPIO_ACTIVE_LOW,
240
    /* interrupt edge */ LIS331DLH_LLD_INT_EDGE,
241
  },
242
};
266 243

  
267
apalGpio_t moduleGpioSysSync = {
244
/**
245
 * @brief   SYS_SNYC bidirectional signal GPIO.
246
 */
247
static apalGpio_t _gpioSysSync = {
268 248
  /* port */ GPIOC,
269 249
  /* pad  */ GPIOC_SYS_INT_N,
270 250
};
251
apalControlGpio_t moduleGpioSysSync = {
252
  /* GPIO */ &_gpioSysSync,
253
  /* meta */ {
254
    /* direction      */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
255
    /* active state   */ APAL_GPIO_ACTIVE_LOW,
256
    /* interrupt edge */ APAL_GPIO_EDGE_BOTH,
257
  },
258
};
271 259

  
272
apalGpio_t moduleGpioPathDcStat = {
260
/**
261
 * @brief   PATH_DCSTAT input signal GPIO.
262
 */
263
static apalGpio_t _gpioPathDcStat = {
273 264
  /* port */ GPIOC,
274 265
  /* pad  */ GPIOC_PATH_DCSTAT,
275 266
};
267
apalControlGpio_t moduleGpioPathDcStat = {
268
  /* GPIO */ &_gpioPathDcStat,
269
  /* meta */ {
270
    /* direction      */ APAL_GPIO_DIRECTION_INPUT,
271
    /* active state   */ LTC4412_LLD_STAT_ACTIVE_STATE,
272
    /* interrupt edge */ APAL_GPIO_EDGE_BOTH,
273
  },
274
};
276 275

  
277
apalGpio_t moduleGpioPathDcEn = {
276
/**
277
 * @brief   PATH_DCEN output signal GPIO.
278
 */
279
static apalGpio_t _gpioPathDcEn = {
278 280
  /* port */ GPIOC,
279 281
  /* pad  */ GPIOC_PATH_DCEN,
280 282
};
283
apalControlGpio_t moduleGpioPathDcEn = {
284
  /* GPIO */ &_gpioPathDcEn,
285
  /* meta */ {
286
    /* direction      */ APAL_GPIO_DIRECTION_OUTPUT,
287
    /* active state   */ LTC4412_LLD_CTRL_ACTIVE_STATE,
288
    /* interrupt edge */ APAL_GPIO_EDGE_NONE,
289
  },
290
};
281 291

  
282
apalGpio_t moduleGpioSysPd = {
292
/**
293
 * @brief   SYS_PD bidirectional signal GPIO.
294
 */
295
static apalGpio_t _gpioSysPd = {
283 296
  /* port */ GPIOC,
284 297
  /* pad  */ GPIOC_SYS_PD_N,
285 298
};
299
apalControlGpio_t moduleGpioSysPd = {
300
  /* GPIO */ &_gpioSysPd,
301
  /* meta */ {
302
    /* direction      */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
303
    /* active state   */ APAL_GPIO_ACTIVE_LOW,
304
    /* interrupt edge */ APAL_GPIO_EDGE_BOTH,
305
  },
306
};
286 307

  
287
apalGpio_t moduleGpioSysRegEn = {
308
/**
309
 * @brief   SYS_REG_EN input signal GPIO.
310
 */
311
static apalGpio_t _gpioSysRegEn = {
288 312
  /* port */ GPIOC,
289 313
  /* pad  */ GPIOC_SYS_REG_EN,
290 314
};
315
apalControlGpio_t moduleGpioSysRegEn = {
316
  /* GPIO */ &_gpioSysRegEn,
317
  /* meta */ {
318
    /* direction      */ APAL_GPIO_DIRECTION_INPUT,
319
    /* active state   */ APAL_GPIO_ACTIVE_HIGH,
320
    /* interrupt edge */ APAL_GPIO_EDGE_BOTH,
321
  },
322
};
291 323

  
292
apalGpio_t moduleGpioSysWarmrst = {
324
/**
325
 * @brief   SYS_WARMRST bidirectional signal GPIO.
326
 */
327
static apalGpio_t _gpioSysWarmrst = {
293 328
  /* port */ GPIOD,
294 329
  /* pad  */ GPIOD_SYS_WARMRST_N,
295 330
};
331
apalControlGpio_t moduleGpioSysWarmrst = {
332
  /* GPIO */ &_gpioSysWarmrst,
333
  /* meta */ {
334
    /* direction      */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
335
    /* active state   */ APAL_GPIO_ACTIVE_LOW,
336
    /* interrupt edge */ APAL_GPIO_EDGE_BOTH,
337
  },
338
};
296 339

  
297 340
/** @} */
298 341

  
......
316 359
 */
317 360
/*===========================================================================*/
318 361

  
319
apalControlGpio_t moduleSsspGpioPd = {
320
  /* GPIO */ &moduleGpioSysPd,
321
  /* meta */ {
322
    /* active state */ APAL_GPIO_ACTIVE_LOW,
323
    /* edge         */ APAL_GPIO_EDGE_FALLING,
324
    /* direction    */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
325
  },
326
};
327

  
328
apalControlGpio_t moduleSsspGpioSync = {
329
  /* GPIO */ &moduleGpioSysSync,
330
  /* meta */ {
331
    /* active state */ APAL_GPIO_ACTIVE_LOW,
332
    /* edge         */ APAL_GPIO_EDGE_FALLING,
333
    /* direction    */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
334
  },
335
};
336

  
337
apalControlGpio_t moduleSsspGpioUp = {
338
  /* GPIO */ &moduleGpioSysUartUp,
339
  /* meta */ {
340
    /* active state */ APAL_GPIO_ACTIVE_LOW,
341
    /* edge         */ APAL_GPIO_EDGE_FALLING,
342
    /* direction    */ APAL_GPIO_DIRECTION_BIDIRECTIONAL,
343
  },
344
};
345

  
346 362
/** @} */
347 363

  
348 364
/*===========================================================================*/
......
353 369
/*===========================================================================*/
354 370

  
355 371
A3906Driver moduleLldMotors = {
356
  /* power enable GPIO  */ {
357
    /* GPIO */& moduleGpioPowerEn,
358
    /* meta */ {
359
      /* active state */ APAL_GPIO_ACTIVE_HIGH,
360
      /* edge         */ APAL_GPIO_EDGE_NONE,
361
      /* direction    */ APAL_GPIO_DIRECTION_OUTPUT,
362
    },
363
  },
372
  /* power enable GPIO  */ &moduleGpioPowerEn,
364 373
};
365 374

  
366 375
AT24C01BNDriver moduleLldEeprom = {
......
384 393
};
385 394

  
386 395
LEDDriver moduleLldStatusLed = {
387
  /* LED enable Gpio */ {
388
    /* GPIO       */ &moduleGpioLed,
389
    /* GPIO meta  */ {
390
      /* active state */ APAL_GPIO_ACTIVE_LOW,
391
      /* edge         */ APAL_GPIO_EDGE_NONE,
392
      /* direction    */ APAL_GPIO_DIRECTION_OUTPUT,
393
    },
394
  },
396
  /* LED enable Gpio */ &moduleGpioLed,
395 397
};
396 398

  
397 399
LIS331DLHDriver moduleLldAccelerometer = {
......
399 401
};
400 402

  
401 403
LTC4412Driver moduleLldPowerPathController = {
402
  /* Control GPIO */ {
403
    /* GPIO       */ &moduleGpioPathDcEn,
404
    /* GPIO meta  */ {
405
      /* active state */ APAL_GPIO_ACTIVE_HIGH,
406
      /* edge         */ APAL_GPIO_EDGE_NONE,
407
      /* direction    */ APAL_GPIO_DIRECTION_OUTPUT,
408
    },
409
  },
410
  /* Status GPIO */ {
411
    /* GPIO       */ &moduleGpioPathDcStat,
412
    /* GPIO meta  */ {
413
      /* active state */ APAL_GPIO_ACTIVE_HIGH,
414
      /* edge         */ APAL_GPIO_EDGE_NONE,
415
      /* direction    */ APAL_GPIO_DIRECTION_INPUT,
416
    },
417
  },
404
  /* Control GPIO */ &moduleGpioPathDcEn,
405
  /* Status GPIO  */ &moduleGpioPathDcStat,
418 406
};
419 407

  
420 408
PCA9544ADriver moduleLldI2cMultiplexer = {
......
423 411
};
424 412

  
425 413
TPS62113Driver moduleLldStepDownConverterVdrive = {
426
  /* Power enable Gpio */ {
427
    /* GPIO       */ &moduleGpioPowerEn,
428
    /* GPIO meta  */ {
429
      /* 'power on' state */ APAL_GPIO_ACTIVE_HIGH,
430
      /* edge             */ APAL_GPIO_EDGE_NONE,
431
      /* direction        */ APAL_GPIO_DIRECTION_OUTPUT,
432
    },
433
  },
414
  /* Power enable Gpio */ &moduleGpioPowerEn,
434 415
};
435 416

  
436 417
VCNL4020Driver moduleLldProximity = {
......
474 455
    /* increment per revolution */ MODULE_HAL_QEI_INCREMENTS_PER_REVOLUTION,
475 456
  },
476 457
  /* Wheel diameter   */ 0.05571f,
477
  /* timeout          */ 10* MICROSECONDS_PER_SECOND,
458
  /* timeout          */ 10 * MICROSECONDS_PER_SECOND,
478 459
};
479 460
aos_unittest_t moduleUtAlldA3906  = {
480 461
  /* name           */ "A3906",
......
517 498
{
518 499
  (void)argc;
519 500
  (void)argv;
520
  aosIntEnable(&moduleIntDriver, MODULE_GPIO_INT_COMPASSDRDY);
521 501
  aosUtRun(stream, &moduleUtAlldHmc5883l, NULL);
522
  aosIntDisable(&moduleIntDriver, MODULE_GPIO_INT_COMPASSDRDY);
523 502
  return AOS_OK;
524 503
}
525 504
static ut_hmc5883ldata_t _utHmc5883lData = {
526 505
  /* HMC driver   */ &moduleLldCompass,
527 506
  /* event source */ &aos.events.io,
528
  /* event flags  */ (1 << MODULE_GPIO_INT_COMPASSDRDY),
507
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_COMPASSDRDY,
529 508
  /* timeout      */ MICROSECONDS_PER_SECOND,
530 509
};
531 510
aos_unittest_t moduleUtAlldHmc5883l = {
......
571 550
{
572 551
  (void)argc;
573 552
  (void)argv;
574
  aosIntEnable(&moduleIntDriver, MODULE_GPIO_INT_GYRODRDY);
575 553
  spiStart(((ut_l3g4200ddata_t*)moduleUtAlldL3g4200d.data)->l3gd->spid, ((ut_l3g4200ddata_t*)moduleUtAlldL3g4200d.data)->spiconf);
576 554
  aosUtRun(stream, &moduleUtAlldL3g4200d, NULL);
577 555
  spiStop(((ut_l3g4200ddata_t*)moduleUtAlldL3g4200d.data)->l3gd->spid);
578
  aosIntDisable(&moduleIntDriver, MODULE_GPIO_INT_GYRODRDY);
579 556
  return AOS_OK;
580 557
}
581 558
static ut_l3g4200ddata_t _utL3g4200dData = {
582 559
  /* driver            */ &moduleLldGyroscope,
583 560
  /* SPI configuration */ &moduleHalSpiGyroscopeConfig,
584 561
  /* event source */ &aos.events.io,
585
  /* event flags  */ (1 << MODULE_GPIO_INT_GYRODRDY),
562
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_GYRODRDY,
586 563
};
587 564
aos_unittest_t moduleUtAlldL3g4200d = {
588 565
  /* name           */ "L3G4200D",
......
621 598
{
622 599
  (void)argc;
623 600
  (void)argv;
624
  aosIntEnable(&moduleIntDriver, MODULE_GPIO_INT_ACCELINT);
625 601
  spiStart(((ut_lis331dlhdata_t*)moduleUtAlldLis331dlh.data)->lisd->spid, ((ut_lis331dlhdata_t*)moduleUtAlldLis331dlh.data)->spiconf);
626 602
  aosUtRun(stream, &moduleUtAlldLis331dlh, NULL);
627 603
  spiStop(((ut_lis331dlhdata_t*)moduleUtAlldLis331dlh.data)->lisd->spid);
628
  aosIntDisable(&moduleIntDriver, MODULE_GPIO_INT_ACCELINT);
629 604
  return AOS_OK;
630 605
}
631 606
static ut_lis331dlhdata_t _utLis331dlhData = {
632 607
  /* driver            */ &moduleLldAccelerometer,
633 608
  /* SPI configuration */ &moduleHalSpiAccelerometerConfig,
634 609
  /* event source */ &aos.events.io,
635
  /* event flags  */ (1 << MODULE_GPIO_INT_ACCELINT),
610
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_ACCELINT,
636 611
};
637 612
aos_unittest_t moduleUtAlldLis331dlh = {
638 613
  /* name           */ "LIS331DLH",
......
748 723
    _utAlldVcnl4020_disableInterrupt(((ut_vcnl4020data_t*)moduleUtAlldVcnl4020.data)->vcnld);
749 724
    pca9544a_lld_setchannel(&moduleLldI2cMultiplexer, PCA9544A_LLD_CH3, ((ut_vcnl4020data_t*)moduleUtAlldVcnl4020.data)->timeout);
750 725
    _utAlldVcnl4020_disableInterrupt(((ut_vcnl4020data_t*)moduleUtAlldVcnl4020.data)->vcnld);
751
    aosIntEnable(&moduleIntDriver, MODULE_GPIO_INT_IRINT);
752 726
    switch (sensor) {
753 727
      case FL:
754 728
        pca9544a_lld_setchannel(&moduleLldI2cMultiplexer, PCA9544A_LLD_CH3, ((ut_vcnl4020data_t*)moduleUtAlldVcnl4020.data)->timeout);
755
        aosUtRun(stream, &moduleUtAlldVcnl4020, "front left snesor");
729
        aosUtRun(stream, &moduleUtAlldVcnl4020, "front left sensor");
756 730
        break;
757 731
      case FR:
758 732
        pca9544a_lld_setchannel(&moduleLldI2cMultiplexer, PCA9544A_LLD_CH0, ((ut_vcnl4020data_t*)moduleUtAlldVcnl4020.data)->timeout);
......
769 743
      default:
770 744
        break;
771 745
    }
772
    aosIntDisable(&moduleIntDriver, MODULE_GPIO_INT_IRINT);
773 746
    return AOS_OK;
774 747
  }
775 748
  // print help
......
789 762
  /* driver       */ &moduleLldProximity,
790 763
  /* timeout      */ MICROSECONDS_PER_SECOND,
791 764
  /* event source */ &aos.events.io,
792
  /* event flags  */ (1 << MODULE_GPIO_INT_IRINT),
765
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_IRINT,
793 766
};
794 767
aos_unittest_t moduleUtAlldVcnl4020 = {
795 768
  /* name           */ "VCNL4020",

Also available in: Unified diff