Revision 1a8fb642

View differences:

core/inc/aos_system.h
173 173
  struct {
174 174

  
175 175
    /**
176
     * @brief   I/O event source.
176
     * @brief   GPIO event source.
177 177
     */
178
    event_source_t io;
178
    event_source_t gpio;
179 179

  
180 180
    /**
181 181
     * @brief   OS event source.
......
231 231
  void aosSysStop(void);
232 232
  void aosSysDeinit(void);
233 233
  void aosSysShutdownFinal(aos_shutdown_t shutdown);
234
  palcallback_t aosSysGetStdExtiCallback(void);
234
  palcallback_t aosSysGetStdGpioCallback(void);
235 235
#if defined(__cplusplus)
236 236
}
237 237
#endif /* defined(__cplusplus) */
core/inc/aos_types.h
87 87
/**
88 88
 * @brief   Converts a GPIO pad number to a unique event flag.
89 89
 */
90
#define AOS_IOEVENT_FLAG(pad)                   ((eventflags_t)1 << pad)
90
#define AOS_GPIOEVENT_FLAG(pad)                 ((eventflags_t)1 << pad)
91 91

  
92 92
/******************************************************************************/
93 93
/* EXTERN DECLARATIONS                                                        */
core/src/aos_main.cpp
40 40
/******************************************************************************/
41 41

  
42 42
/**
43
 * @brief   Event mask to identify I/O events.
43
 * @brief   Event mask to identify GPIO events.
44 44
 */
45
#define IOEVENT_MASK                            EVENT_MASK(0)
45
#define GPIOEVENT_MASK                          EVENT_MASK(0)
46 46

  
47 47
/**
48 48
 * @brief   Event mask to identify OS events.
......
116 116
/******************************************************************************/
117 117

  
118 118
/**
119
 * @brief   Listener object for I/O events.
119
 * @brief   Listener object for GPIO events.
120 120
 */
121
static event_listener_t _eventListenerIO;
121
static event_listener_t _eventListenerGPIO;
122 122

  
123 123
/**
124 124
 * @brief   Listener object for OS events.
......
126 126
static event_listener_t _eventListenerOS;
127 127

  
128 128
#if defined(MODULE_HAL_PROGIF) || defined(__DOXYGEN__)
129

  
129 130
/**
130 131
 * @brief   I/O channel for the programmer interface.
131 132
 */
......
444 445
      continue;
445 446
    }
446 447
    // if an IO event occurred
447
    if (eventmask & _eventListenerIO.events) {
448
      ioflags = chEvtGetAndClearFlags(&_eventListenerIO);
448
    if (eventmask & _eventListenerGPIO.events) {
449
      ioflags = chEvtGetAndClearFlags(&_eventListenerGPIO);
449 450
      aosDbgPrintf("INFO: IO evt (0x%08X)\n", ioflags);
450 451
      // a power-down event occurred
451
      if (ioflags & MODULE_SSSP_EVENTFLAGS_PD) {
452
      if (ioflags & MODULE_SSSP_EVENTFLAG_PD) {
452 453
        aosDbgPrintf("PD evt\n");
453 454
        // deactivate S and UP
454 455
        aosDbgPrintf("disabling S\n");
455
        apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
456
        apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_OFF);
456 457
#if (AMIROOS_CFG_SSSP_STACK_END != true)
457 458
        aosDbgPrintf("disabling UP\n");
458
        apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_OFF);
459
        apalControlGpioSet(&moduleSsspGpioUP, APAL_GPIO_OFF);
459 460
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
460 461
        // set shutdown flag and exit the loop
461 462
        shutdown = AOS_SHUTDOWN_PASSIVE;
462 463
        break;
463 464
      }
464 465
      // the S signal was deactivated
465
      if (ioflags & MODULE_SSSP_EVENTFLAGS_SYNC) {
466
      if (ioflags & MODULE_SSSP_EVENTFLAG_S) {
466 467
        apalControlGpioState_t sstate;
467
        apalControlGpioGet(&moduleSsspGpioSync, &sstate);
468
        apalControlGpioGet(&moduleSsspGpioS, &sstate);
468 469
        if (sstate == APAL_GPIO_ON) {
469 470
          aosDbgPrintf("S evt (enabled)\n");
470 471
        } else {
......
541 542
          }
542 543
          // activate S
543 544
          aosDbgPrintf("enabling S\n");
544
          apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_ON);
545
          apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_ON);
545 546
#if (AMIROOS_CFG_SSSP_STACK_START == true)
546 547
          // proceed immediately
547 548
          stage = STAGE_3_2;
......
573 574
            eventmask &= ~(eventListenerTimeout.events);
574 575
            // activate S
575 576
            aosDbgPrintf("enabling S\n");
576
            apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_ON);
577
            apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_ON);
577 578
#if (AMIROOS_CFG_SSSP_STACK_START == true)
578 579
            // proceed
579 580
            stage = STAGE_3_2;
......
629 630
        if (eventmask & eventListenerDelay.events) {
630 631
          // activate UP
631 632
          aosDbgPrintf("enabling UP\n");
632
          apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_ON);
633
          apalControlGpioSet(&moduleSsspGpioUP, APAL_GPIO_ON);
633 634
          // deactivate S
634 635
          aosDbgPrintf("disabling S\n");
635
          apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
636
          apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_OFF);
636 637
          // explicitely clear timeout event flag
637 638
          chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE);
638 639
          eventmask &= ~(eventListenerTimeout.events);
......
712 713
        }
713 714

  
714 715
        // if an IO event was received (DN signal)
715
        if ((eventmask & _eventListenerIO.events) && (ioflags & MODULE_SSSP_EVENTFLAGS_DN)) {
716
        if ((eventmask & _eventListenerGPIO.events) && (ioflags & MODULE_SSSP_EVENTFLAG_DN)) {
716 717
          aosDbgPrintf("DN evt\n");
717 718
          // reset timeout timer
718 719
          chVTReset(&timerTimeout);
......
737 738
#if (AMIROOS_CFG_SSSP_STACK_END != true)
738 739
          // activate UP
739 740
          aosDbgPrintf("enabling UP\n");
740
          apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_ON);
741
          apalControlGpioSet(&moduleSsspGpioUP, APAL_GPIO_ON);
741 742
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
742 743
          // deactivate S
743 744
          aosDbgPrintf("disabling S\n");
744
          apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
745
          apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_OFF);
745 746
          // reset the timeout timer
746 747
          chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
747 748
          chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE);
......
787 788
        aos.sssp.stage = AOS_SSSP_STARTUP_3_4;
788 789

  
789 790
        // if an IO event was received (S signal)
790
        if ((eventmask & _eventListenerIO.events) && (ioflags & MODULE_SSSP_EVENTFLAGS_SYNC)) {
791
        if ((eventmask & _eventListenerGPIO.events) && (ioflags & MODULE_SSSP_EVENTFLAG_S)) {
791 792
          // reset the timeout timer
792 793
          chVTReset(&timerTimeout);
793 794
          chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE);
......
843 844

  
844 845
        // deactivate S
845 846
        aosDbgPrintf("disabling SYNC\n");
846
        apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
847
        apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_OFF);
847 848
        // invalidate module ID
848 849
        aos.sssp.moduleId = 0;
849 850

  
850 851
        // if an IO event was received (S signal)
851
        if ((eventmask & _eventListenerIO.events) && (ioflags & MODULE_SSSP_EVENTFLAGS_SYNC)) {
852
        if ((eventmask & _eventListenerGPIO.events) && (ioflags & MODULE_SSSP_EVENTFLAG_S)) {
852 853
          aosDbgPrintf("sequence aborted\n");
853 854
          // exit the sequence
854 855
          flags.loop = false;
......
886 887
  // reset all control signals
887 888
#if (AMIROOS_CFG_SSSP_STACK_END != true)
888 889
  aosDbgPrintf("disabling UP\n");
889
  apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_OFF);
890
  apalControlGpioSet(&moduleSsspGpioUP, APAL_GPIO_OFF);
890 891
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
891 892
  aosDbgPrintf("disabling S\n");
892
  apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
893
  apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_OFF);
893 894
  aosSysGetUptime(&uptime);
894 895
  aosDbgPrintf("done\t%04ums\n", (uint32_t)(uptime / MICROSECONDS_PER_MILLISECOND));
895 896

  
......
905 906
  // local variables
906 907
  eventmask_t eventmask = 0;
907 908
  eventflags_t eventflags = 0;
908
  eventflags_t ioeventflagsmask = AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK;
909
  eventflags_t gpioeventflagsmask = AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK;
909 910
  aos_shutdown_t shutdown = AOS_SHUTDOWN_NONE;
910 911
#if defined(AMIROOS_CFG_MAIN_EXTRA_THREAD_VARIABLES)
911 912
  AMIROOS_CFG_MAIN_EXTRA_THREAD_VARIABLES
......
977 978

  
978 979
  /* event associations */
979 980
#if (AMIROOS_CFG_SSSP_ENABLE == true)
980
  ioeventflagsmask |= MODULE_SSSP_EVENTFLAGS_PD | MODULE_SSSP_EVENTFLAGS_SYNC;
981
  gpioeventflagsmask |= MODULE_SSSP_EVENTFLAG_PD | MODULE_SSSP_EVENTFLAG_S;
981 982
#if (AMIROOS_CFG_SSSP_STACK_START != true)
982
  ioeventflagsmask |= MODULE_SSSP_EVENTFLAGS_DN;
983
  gpioeventflagsmask |= MODULE_SSSP_EVENTFLAG_DN;
983 984
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
984 985
#if (AMIROOS_CFG_SSSP_STACK_END != true)
985
  ioeventflagsmask |= MODULE_SSSP_EVENTFLAGS_UP;
986
  gpioeventflagsmask |= MODULE_SSSP_EVENTFLAG_UP;
986 987
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
987 988
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
988
  if (ioeventflagsmask != 0) {
989
    chEvtRegisterMaskWithFlags(&aos.events.io, &_eventListenerIO, IOEVENT_MASK, ioeventflagsmask);
989
  if (gpioeventflagsmask != 0) {
990
    chEvtRegisterMaskWithFlags(&aos.events.gpio, &_eventListenerGPIO, GPIOEVENT_MASK, gpioeventflagsmask);
990 991
  }
991 992
  chEvtRegisterMask(&aos.events.os, &_eventListenerOS, OSEVENT_MASK);
992 993

  
......
1073 1074

  
1074 1075
#if (AMIROOS_CFG_SSSP_ENABLE == true)
1075 1076
  /* SSSP startup OS synchronization phase (end of startup stage 2) */
1076
  while ((shutdown == AOS_SHUTDOWN_NONE) && (eventmask = aosSysSsspStartupOsInitSyncCheck(&_eventListenerIO)) != 0) {
1077
  while ((shutdown == AOS_SHUTDOWN_NONE) && (eventmask = aosSysSsspStartupOsInitSyncCheck(&_eventListenerGPIO)) != 0) {
1077 1078
    /*
1078 1079
     * This code is executed if the received event was not about the SYS_SYNC control signal.
1079 1080
     * The returned event could be caused by any listener (not only the argument).
1080 1081
     */
1081
    // IO event
1082
    if (eventmask & _eventListenerIO.events) {
1083
      eventflags = chEvtGetAndClearFlags(&_eventListenerIO);
1082
    // GPIO event
1083
    if (eventmask & _eventListenerGPIO.events) {
1084
      eventflags = chEvtGetAndClearFlags(&_eventListenerGPIO);
1084 1085
      // PD event
1085
      if (eventflags & MODULE_SSSP_EVENTFLAGS_PD) {
1086
      if (eventflags & MODULE_SSSP_EVENTFLAG_PD) {
1086 1087
        shutdown = AOS_SHUTDOWN_PASSIVE;
1087 1088
      } else {
1088 1089
#if defined(MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK)
......
1225 1226
#endif /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_0) */
1226 1227

  
1227 1228
    switch (eventmask) {
1228
      // if this was an I/O event
1229
      case IOEVENT_MASK:
1229
      // if this was an GPIO event
1230
      case GPIOEVENT_MASK:
1230 1231
        // evaluate flags
1231
        eventflags = chEvtGetAndClearFlags(&_eventListenerIO);
1232
        eventflags = chEvtGetAndClearFlags(&_eventListenerGPIO);
1232 1233
#if (AMIROOS_CFG_SSSP_ENABLE == true)
1233 1234
        // PD event
1234
        if (eventflags & MODULE_SSSP_EVENTFLAGS_PD) {
1235
        if (eventflags & MODULE_SSSP_EVENTFLAG_PD) {
1235 1236
          shutdown = AOS_SHUTDOWN_PASSIVE;
1236 1237
        }
1237 1238
        // all other events
1238
#if defined(MODULE_MAIN_LOOP_IO_EVENT)
1239
#if defined(MODULE_MAIN_LOOP_GPIOEVENT)
1239 1240
        else {
1240
          MODULE_MAIN_LOOP_IO_EVENT(eventflags);
1241
          MODULE_MAIN_LOOP_GPIOEVENT(eventflags);
1241 1242
        }
1242
#endif /* defined(MODULE_MAIN_LOOP_IO_EVENT) */
1243
#endif /* defined(MODULE_MAIN_LOOP_GPIOEVENT) */
1243 1244
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
1244
#if defined(MODULE_MAIN_LOOP_IO_EVENT)
1245
        MODULE_MAIN_LOOP_IO_EVENT(eventflags);
1246
#endif /* defined(MODULE_MAIN_LOOP_IO_EVENT) */
1245
#if defined(MODULE_MAIN_LOOP_GPIOEVENT)
1246
        MODULE_MAIN_LOOP_GPIOEVENT(eventflags);
1247
#endif /* defined(MODULE_MAIN_LOOP_GPIOEVENT) */
1247 1248
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
1248 1249
        break;
1249 1250

  
core/src/aos_system.c
661 661
 *
662 662
 * @param[in] args   Pointer to the GPIO line identifier.
663 663
 */
664
static void _extiCallback(void* args)
664
static void _gpioCallback(void* args)
665 665
{
666 666
  aosDbgCheck((args != NULL) && (*((ioline_t*)args) != PAL_NOLINE) && (PAL_PAD(*((ioline_t*)args)) < sizeof(eventflags_t) * 8));
667 667

  
668 668
  chSysLockFromISR();
669
  chEvtBroadcastFlagsI(&aos.events.io, AOS_IOEVENT_FLAG(PAL_PAD(*((ioline_t*)args))));
669
  chEvtBroadcastFlagsI(&aos.events.gpio, AOS_GPIOEVENT_FLAG(PAL_PAD(*((ioline_t*)args))));
670 670
  chSysUnlockFromISR();
671 671

  
672 672
  return;
......
690 690
  // if the system is in operation phase
691 691
  if (aos.sssp.stage == AOS_SSSP_OPERATION) {
692 692
    // read signal S
693
    apalControlGpioGet(&moduleSsspGpioSync, &s_state);
693
    apalControlGpioGet(&moduleSsspGpioS, &s_state);
694 694
    // if S was toggled from on to off
695 695
    if (s_state == APAL_GPIO_OFF) {
696 696
      // get current uptime
......
710 710
    }
711 711
  }
712 712
  // broadcast event
713
  chEvtBroadcastFlagsI(&aos.events.io, AOS_IOEVENT_FLAG(PAL_PAD(*((ioline_t*)args))));
713
  chEvtBroadcastFlagsI(&aos.events.gpio, AOS_GPIOEVENT_FLAG(PAL_PAD(*((ioline_t*)args))));
714 714
  chSysUnlockFromISR();
715 715

  
716 716
  return;
......
755 755

  
756 756
  chSysLockFromISR();
757 757
  // toggle and read signal S
758
  apalGpioToggle(moduleSsspGpioSync.gpio);
759
  apalControlGpioGet(&moduleSsspGpioSync, &s_state);
758
  apalGpioToggle(moduleSsspGpioS.gpio);
759
  apalControlGpioGet(&moduleSsspGpioS, &s_state);
760 760
  // if S was toggled from off to on
761 761
  if (s_state == APAL_GPIO_ON) {
762 762
    // reconfigure the timer precisely, because the logically falling edge (next interrupt) snychronizes the system time
......
817 817
  aos.sssp.moduleId = 0;
818 818
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
819 819
  aosIOStreamInit(&aos.iostream);
820
  chEvtObjectInit(&aos.events.io);
820
  chEvtObjectInit(&aos.events.gpio);
821 821
  chEvtObjectInit(&aos.events.os);
822 822

  
823 823
  /* interrupt setup */
824 824
#if (AMIROOS_CFG_SSSP_ENABLE == true)
825 825
  // PD signal
826
  palSetLineCallback(moduleSsspGpioPd.gpio->line, _extiCallback, &moduleSsspGpioPd.gpio->line);
827
  palEnableLineEvent(moduleSsspGpioPd.gpio->line, APAL2CH_EDGE(moduleSsspGpioPd.meta.edge));
826
  palSetLineCallback(moduleSsspGpioPD.gpio->line, _gpioCallback, &moduleSsspGpioPD.gpio->line);
827
  palEnableLineEvent(moduleSsspGpioPD.gpio->line, APAL2CH_EDGE(moduleSsspGpioPD.meta.edge));
828 828
  // SYNC signal
829 829
#if (AMIROOS_CFG_SSSP_MASTER == true)
830
  palSetLineCallback(moduleSsspGpioSync.gpio->line, _extiCallback, &moduleSsspGpioSync.gpio->line);
830
  palSetLineCallback(moduleSsspGpioS.gpio->line, _gpioCallback, &moduleSsspGpioS.gpio->line);
831 831
#else /* (AMIROOS_CFG_SSSP_MASTER == true) */
832
  palSetLineCallback(moduleSsspGpioSync.gpio->line, _signalSyncCallback, &moduleSsspGpioSync.gpio->line);
832
  palSetLineCallback(moduleSsspGpioS.gpio->line, _signalSyncCallback, &moduleSsspGpioS.gpio->line);
833 833
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
834
  palEnableLineEvent(moduleSsspGpioSync.gpio->line, APAL2CH_EDGE(moduleSsspGpioSync.meta.edge));
834
  palEnableLineEvent(moduleSsspGpioS.gpio->line, APAL2CH_EDGE(moduleSsspGpioS.meta.edge));
835 835
#if (AMIROOS_CFG_SSSP_STACK_START != true)
836 836
  // DN signal
837
  palSetLineCallback(moduleSsspGpioDn.gpio->line, _extiCallback, &moduleSsspGpioDn.gpio->line);
838
  palEnableLineEvent(moduleSsspGpioDn.gpio->line, APAL2CH_EDGE(moduleSsspGpioDn.meta.edge));
837
  palSetLineCallback(moduleSsspGpioDN.gpio->line, _gpioCallback, &moduleSsspGpioDN.gpio->line);
838
  palEnableLineEvent(moduleSsspGpioDN.gpio->line, APAL2CH_EDGE(moduleSsspGpioDN.meta.edge));
839 839
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
840 840
#if (AMIROOS_CFG_SSSP_STACK_END != true)
841 841
  // UP signal
842
  palSetLineCallback(moduleSsspGpioUp.gpio->line, _extiCallback, &moduleSsspGpioUp.gpio->line);
843
  palEnableLineEvent(moduleSsspGpioUp.gpio->line, APAL2CH_EDGE(moduleSsspGpioUp.meta.edge));
842
  palSetLineCallback(moduleSsspGpioUP.gpio->line, _gpioCallback, &moduleSsspGpioUP.gpio->line);
843
  palEnableLineEvent(moduleSsspGpioUP.gpio->line, APAL2CH_EDGE(moduleSsspGpioUP.meta.edge));
844 844
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
845 845
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
846 846

  
......
926 926
  aos.sssp.stage = AOS_SSSP_STARTUP_2_2;
927 927

  
928 928
  // deactivate the sync signal to indicate that the module is ready (SSSPv1 stage 2.1 of startup phase)
929
  apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
929
  apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_OFF);
930 930

  
931 931
  // wait for any event to occur (do not apply any filter in order not to miss any event)
932 932
  m = chEvtWaitOne(ALL_EVENTS);
933 933
  f = chEvtGetAndClearFlags(syncEvtListener);
934
  apalControlGpioGet(&moduleSsspGpioSync, &s);
934
  apalControlGpioGet(&moduleSsspGpioS, &s);
935 935

  
936 936
  // if the event was a system event,
937 937
  //   and it was fired because of the SysSync control signal,
938 938
  //   and the SysSync control signal has been deactivated
939 939
  if (m & syncEvtListener->events &&
940
      f == MODULE_SSSP_EVENTFLAGS_SYNC &&
940
      f == MODULE_SSSP_EVENTFLAG_S &&
941 941
      s == APAL_GPIO_OFF) {
942 942
    chSysLock();
943 943
    // start the uptime counter
......
1030 1030
  chSysLock();
1031 1031
  // activate the SYS_PD control signal only, if this module initiated the shutdown
1032 1032
  if (shutdown != AOS_SHUTDOWN_PASSIVE) {
1033
    apalControlGpioSet(&moduleSsspGpioPd, APAL_GPIO_ON);
1033
    apalControlGpioSet(&moduleSsspGpioPD, APAL_GPIO_ON);
1034 1034
  }
1035 1035
  // activate the SYS_SYNC signal
1036
  apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_ON);
1036
  apalControlGpioSet(&moduleSsspGpioS, APAL_GPIO_ON);
1037 1037
  chSysUnlock();
1038 1038
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
1039 1039

  
......
1152 1152
 *
1153 1153
 * @return  Pointer to the callback function.
1154 1154
 */
1155
palcallback_t aosSysGetStdExtiCallback(void)
1155
palcallback_t aosSysGetStdGpioCallback(void)
1156 1156
{
1157
  return _extiCallback;
1157
  return _gpioCallback;
1158 1158
}
1159 1159

  
1160 1160
/** @} */
modules/DiWheelDrive_1-1/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    0
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK 0
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
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(PAL_PAD(LINE_SYS_INT_N))
245
#define MODULE_OS_GPIOEVENTFLAG_SYSSYNC         AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_WARMRST_N))
250
#define MODULE_OS_GPIOEVENTFLAG_SYSWARMRST      AOS_GPIOEVENT_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(PAL_PAD(LINE_PATH_DCEN))
255
#define MODULE_OS_GPIOEVENTFLAG_PATHDCSTAT      AOS_GPIOEVENT_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(PAL_PAD(LINE_COMPASS_DRDY))
260
#define MODULE_OS_GPIOEVENTFLAG_COMPASSDRDY     AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_PD_N))
265
#define MODULE_OS_GPIOEVENTFLAG_SYSPD           AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_REG_EN))
270
#define MODULE_OS_GPIOEVENTFLAG_SYSREGEN        AOS_GPIOEVENT_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(PAL_PAD(LINE_IR_INT))
275
#define MODULE_OS_GPIOEVENTFLAG_IRINT           AOS_GPIOEVENT_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(PAL_PAD(LINE_GYRO_DRDY))
280
#define MODULE_OS_GPIOEVENTFLAG_GYRODRDY        AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_UART_UP))
285
#define MODULE_OS_GPIOEVENTFLAG_SYSUARTUP       AOS_GPIOEVENT_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(PAL_PAD(LINE_ACCEL_INT_N))
290
#define MODULE_OS_GPIOEVENTFLAG_ACCELINT        AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_ACCEL_INT_N))
291 291

  
292 292
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
293 293
/**
......
302 302
 */
303 303
#define MODULE_INIT_INTERRUPTS() {                                            \
304 304
  /* COMPASS_DRDY */                                                          \
305
  palSetLineCallback(moduleGpioCompassDrdy.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioCompassDrdy.gpio->line);  \
305
  palSetLineCallback(moduleGpioCompassDrdy.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioCompassDrdy.gpio->line);  \
306 306
  palEnableLineEvent(moduleGpioCompassDrdy.gpio->line, APAL2CH_EDGE(moduleGpioCompassDrdy.meta.edge));                  \
307 307
  /* IR_INT */                                                                \
308
  palSetLineCallback(moduleGpioIrInt.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioIrInt.gpio->line);  \
308
  palSetLineCallback(moduleGpioIrInt.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioIrInt.gpio->line);  \
309 309
  palEnableLineEvent(moduleGpioIrInt.gpio->line, APAL2CH_EDGE(moduleGpioIrInt.meta.edge));                  \
310 310
  /* GYRO_DRDY */                                                             \
311
  palSetLineCallback(moduleGpioGyroDrdy.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioGyroDrdy.gpio->line);  \
311
  palSetLineCallback(moduleGpioGyroDrdy.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioGyroDrdy.gpio->line);  \
312 312
  palEnableLineEvent(moduleGpioGyroDrdy.gpio->line, APAL2CH_EDGE(moduleGpioGyroDrdy.meta.edge));                  \
313 313
  /* ACCEL_INT */                                                             \
314
  palSetLineCallback(moduleGpioAccelInt.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioAccelInt.gpio->line);  \
314
  palSetLineCallback(moduleGpioAccelInt.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioAccelInt.gpio->line);  \
315 315
  palEnableLineEvent(moduleGpioAccelInt.gpio->line, APAL2CH_EDGE(moduleGpioAccelInt.meta.edge));                  \
316 316
  /* PATH_DCSTAT */                                                           \
317
  palSetLineCallback(moduleGpioPathDcStat.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioPathDcStat.gpio->line);  \
317
  palSetLineCallback(moduleGpioPathDcStat.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioPathDcStat.gpio->line);  \
318 318
  palEnableLineEvent(moduleGpioPathDcStat.gpio->line, APAL2CH_EDGE(moduleGpioPathDcStat.meta.edge));                  \
319 319
  /* SYS_REG_EN */                                                            \
320
  palSetLineCallback(moduleGpioSysRegEn.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioSysRegEn.gpio->line);  \
320
  palSetLineCallback(moduleGpioSysRegEn.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioSysRegEn.gpio->line);  \
321 321
  palEnableLineEvent(moduleGpioSysRegEn.gpio->line, APAL2CH_EDGE(moduleGpioSysRegEn.meta.edge));                  \
322 322
  /* SYS_WARMRST */                                                           \
323
  palSetLineCallback(moduleGpioSysWarmrst.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioSysWarmrst.gpio->line);  \
323
  palSetLineCallback(moduleGpioSysWarmrst.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioSysWarmrst.gpio->line);  \
324 324
  palEnableLineEvent(moduleGpioSysWarmrst.gpio->line, APAL2CH_EDGE(moduleGpioSysWarmrst.meta.edge));                  \
325 325
}
326 326

  
......
328 328
 * @brief   Test initialization hook.
329 329
 */
330 330
#define MODULE_INIT_TESTS() {                                                 \
331
  /* initialize tests and add to shell */                                     \
331
  /* add test commands to shell */                                            \
332 332
  aosShellAddCommand(&aos.shell, &moduleTestA3906ShellCmd);                   \
333 333
  aosShellAddCommand(&aos.shell, &moduleTestAt24c01bShellCmd);                \
334 334
  aosShellAddCommand(&aos.shell, &moduleTestHmc5883lShellCmd);                \
......
398 398
/**
399 399
 * @brief   PD signal GPIO.
400 400
 */
401
#define moduleSsspGpioPd                        moduleGpioSysPd
401
#define moduleSsspGpioPD                        moduleGpioSysPd
402 402

  
403 403
/**
404
 * @brief   SYNC signal GPIO.
404
 * @brief   S signal GPIO.
405 405
 */
406
#define moduleSsspGpioSync                      moduleGpioSysSync
406
#define moduleSsspGpioS                         moduleGpioSysSync
407 407

  
408 408
/**
409 409
 * @brief   UP signal GPIO.
410 410
 */
411
#define moduleSsspGpioUp                        moduleGpioSysUartUp
411
#define moduleSsspGpioUP                        moduleGpioSysUartUp
412 412

  
413 413
/**
414
 * @brief   Event flags for PD signal events.
414
 * @brief   Event flag for PD signal events.
415 415
 */
416
#define MODULE_SSSP_EVENTFLAGS_PD               MODULE_OS_IOEVENTFLAGS_SYSPD
416
#define MODULE_SSSP_EVENTFLAG_PD                MODULE_OS_GPIOEVENTFLAG_SYSPD
417 417

  
418 418
/**
419
 * @brief   Event flags for SYNC signal events.
419
 * @brief   Event flag for S signal events.
420 420
 */
421
#define MODULE_SSSP_EVENTFLAGS_SYNC             MODULE_OS_IOEVENTFLAGS_SYSSYNC
421
#define MODULE_SSSP_EVENTFLAG_S                 MODULE_OS_GPIOEVENTFLAG_SYSSYNC
422 422

  
423 423
/**
424
 * @brief   Event flags for UP signal events.
424
 * @brief   Event flag for UP signal events.
425 425
 */
426
#define MODULE_SSSP_EVENTFLAGS_UP               MODULE_OS_IOEVENTFLAGS_SYSUARTUP
426
#define MODULE_SSSP_EVENTFLAG_UP                MODULE_OS_GPIOEVENTFLAG_SYSUARTUP
427 427

  
428 428
/** @} */
429 429

  
modules/DiWheelDrive_1-1/test/HMC5883L/module_test_HMC5883L.c
41 41

  
42 42
static aos_test_hmc5883ldata_t _data = {
43 43
  /* HMC driver   */ &moduleLldCompass,
44
  /* event source */ &aos.events.io,
45
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_COMPASSDRDY,
44
  /* event source */ &aos.events.gpio,
45
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_COMPASSDRDY,
46 46
  /* timeout      */ MICROSECONDS_PER_SECOND,
47 47
};
48 48

  
modules/DiWheelDrive_1-1/test/L3G4200D/module_test_L3G4200D.c
42 42
static aos_test_l3g4200ddata_t _data = {
43 43
  /* driver            */ &moduleLldGyroscope,
44 44
  /* SPI configuration */ &moduleHalSpiGyroscopeConfig,
45
  /* event source */ &aos.events.io,
46
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_GYRODRDY,
45
  /* event source */ &aos.events.gpio,
46
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_GYRODRDY,
47 47
};
48 48

  
49 49
static AOS_TEST(_test, "L3G4200D", "Gyroscope", moduleTestL3g4200dShellCb, aosTestL3g4200dFunc, &_data);
modules/DiWheelDrive_1-1/test/LIS331DLH/module_test_LIS331DLH.c
42 42
static aos_test_lis331dlhdata_t _data = {
43 43
  /* driver            */ &moduleLldAccelerometer,
44 44
  /* SPI configuration */ &moduleHalSpiAccelerometerConfig,
45
  /* event source */ &aos.events.io,
46
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_ACCELINT,
45
  /* event source */ &aos.events.gpio,
46
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_ACCELINT,
47 47
};
48 48

  
49 49
static AOS_TEST(_test, "LIS331DLH", "Accelerometer", moduleTestLis331dlhShellCb, aosTestLis331dlhFunc, &_data);
modules/DiWheelDrive_1-1/test/VCNL4020/module_test_VCNL4020.c
43 43
static aos_test_vcnl4020data_t _data = {
44 44
  /* driver       */ &moduleLldProximity,
45 45
  /* timeout      */ MICROSECONDS_PER_SECOND,
46
  /* event source */ &aos.events.io,
47
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_IRINT,
46
  /* event source */ &aos.events.gpio,
47
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_IRINT,
48 48
};
49 49

  
50 50
static AOS_TEST(_test, "VCNL4020", "proximity sensor", moduleTestVcnl4020ShellCb, aosTestVcnl4020Func, &_data);
modules/DiWheelDrive_1-2/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    0
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK 0
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
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(PAL_PAD(LINE_SYS_INT_N))
235
#define MODULE_OS_GPIOEVENTFLAG_SYSSYNC         AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_WARMRST_N))
240
#define MODULE_OS_GPIOEVENTFLAG_SYSWARMRST      AOS_GPIOEVENT_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(PAL_PAD(LINE_PATH_DCEN))
245
#define MODULE_OS_GPIOEVENTFLAG_PATHDCSTAT      AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_PD_N))
250
#define MODULE_OS_GPIOEVENTFLAG_SYSPD           AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_REG_EN))
255
#define MODULE_OS_GPIOEVENTFLAG_SYSREGEN        AOS_GPIOEVENT_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(PAL_PAD(LINE_IR_INT))
260
#define MODULE_OS_GPIOEVENTFLAG_IRINT           AOS_GPIOEVENT_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(PAL_PAD(LINE_SYS_UART_UP))
265
#define MODULE_OS_GPIOEVENTFLAG_SYSUARTUP       AOS_GPIOEVENT_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(PAL_PAD(LINE_IMU_INT))
270
#define MODULE_OS_GPIOEVENTFLAG_IMUINT          AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IMU_INT))
271 271

  
272 272
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
273 273
/**
......
282 282
 */
283 283
#define MODULE_INIT_INTERRUPTS() {                                            \
284 284
  /* IR_INT */                                                                \
285
  palSetLineCallback(moduleGpioIrInt.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioIrInt.gpio->line);  \
285
  palSetLineCallback(moduleGpioIrInt.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioIrInt.gpio->line);  \
286 286
  palEnableLineEvent(moduleGpioIrInt.gpio->line, APAL2CH_EDGE(moduleGpioIrInt.meta.edge));                  \
287 287
  /* IMU_INT */                                                               \
288
  palSetLineCallback(moduleGpioImuInt.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioImuInt.gpio->line);  \
288
  palSetLineCallback(moduleGpioImuInt.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioImuInt.gpio->line);  \
289 289
  palEnableLineEvent(moduleGpioImuInt.gpio->line, APAL2CH_EDGE(moduleGpioImuInt.meta.edge));                  \
290 290
  /* PATH_DCSTAT */                                                           \
291
  palSetLineCallback(moduleGpioPathDcStat.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioPathDcStat.gpio->line);  \
291
  palSetLineCallback(moduleGpioPathDcStat.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioPathDcStat.gpio->line);  \
292 292
  palEnableLineEvent(moduleGpioPathDcStat.gpio->line, APAL2CH_EDGE(moduleGpioPathDcStat.meta.edge));                  \
293 293
  /* SYS_REG_EN */                                                            \
294
  palSetLineCallback(moduleGpioSysRegEn.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioSysRegEn.gpio->line);  \
294
  palSetLineCallback(moduleGpioSysRegEn.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioSysRegEn.gpio->line);  \
295 295
  palEnableLineEvent(moduleGpioSysRegEn.gpio->line, APAL2CH_EDGE(moduleGpioSysRegEn.meta.edge));                  \
296 296
  /* SYS_WARMRST */                                                           \
297
  palSetLineCallback(moduleGpioSysWarmrst.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioSysWarmrst.gpio->line);  \
297
  palSetLineCallback(moduleGpioSysWarmrst.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioSysWarmrst.gpio->line);  \
298 298
  palEnableLineEvent(moduleGpioSysWarmrst.gpio->line, APAL2CH_EDGE(moduleGpioSysWarmrst.meta.edge));                  \
299 299
}
300 300

  
......
302 302
 * @brief   Test initialization hook.
303 303
 */
304 304
#define MODULE_INIT_TESTS() {                                                 \
305
  /* initialize tests and add to shell */                                     \
305
  /* add test commands to shell */                                            \
306 306
  aosShellAddCommand(&aos.shell, &moduleTestA3906ShellCmd);                   \
307 307
  aosShellAddCommand(&aos.shell, &moduleTestAt24c01bShellCmd);                \
308 308
  /* TODO: add BNO055 test command */                                         \
......
368 368
/**
369 369
 * @brief   PD signal GPIO.
370 370
 */
371
#define moduleSsspGpioPd                        moduleGpioSysPd
371
#define moduleSsspGpioPD                        moduleGpioSysPd
372 372

  
373 373
/**
374
 * @brief   SYNC signal GPIO.
374
 * @brief   S signal GPIO.
375 375
 */
376
#define moduleSsspGpioSync                      moduleGpioSysSync
376
#define moduleSsspGpioS                         moduleGpioSysSync
377 377

  
378 378
/**
379 379
 * @brief   UP signal GPIO.
380 380
 */
381
#define moduleSsspGpioUp                        moduleGpioSysUartUp
381
#define moduleSsspGpioUP                        moduleGpioSysUartUp
382 382

  
383 383
/**
384
 * @brief   Event flags for PD signal events.
384
 * @brief   Event flag for PD signal events.
385 385
 */
386
#define MODULE_SSSP_EVENTFLAGS_PD               MODULE_OS_IOEVENTFLAGS_SYSPD
386
#define MODULE_SSSP_EVENTFLAG_PD                MODULE_OS_GPIOEVENTFLAG_SYSPD
387 387

  
388 388
/**
389
 * @brief   Event flags for SYNC signal events.
389
 * @brief   Event flag for S signal events.
390 390
 */
391
#define MODULE_SSSP_EVENTFLAGS_SYNC             MODULE_OS_IOEVENTFLAGS_SYSSYNC
391
#define MODULE_SSSP_EVENTFLAG_S                 MODULE_OS_GPIOEVENTFLAG_SYSSYNC
392 392

  
393 393
/**
394
 * @brief   Event flags for UP signal events.
394
 * @brief   Event flag for UP signal events.
395 395
 */
396
#define MODULE_SSSP_EVENTFLAGS_UP               MODULE_OS_IOEVENTFLAGS_SYSUARTUP
396
#define MODULE_SSSP_EVENTFLAG_UP                MODULE_OS_GPIOEVENTFLAG_SYSUARTUP
397 397

  
398 398
/** @} */
399 399

  
modules/DiWheelDrive_1-2/test/VCNL4020/module_test_VCNL4020.c
43 43
static aos_test_vcnl4020data_t _data = {
44 44
  /* driver       */ &moduleLldProximity,
45 45
  /* timeout      */ MICROSECONDS_PER_SECOND,
46
  /* event source */ &aos.events.io,
47
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_IRINT,
46
  /* event source */ &aos.events.gpio,
47
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_IRINT,
48 48
};
49 49

  
50 50
static AOS_TEST(_test, "VCNL4020", "proximity sensor", moduleTestVcnl4020ShellCb, aosTestVcnl4020Func, &_data);
modules/LightRing_1-0/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    0
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK 0
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
modules/LightRing_1-0/module.h
166 166
/**
167 167
 * @brief   Event flag to be set on a LASER_OC interrupt.
168 168
 */
169
#define MODULE_OS_IOEVENTFLAGS_LASEROC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_LASER_OC_N))
169
#define MODULE_OS_GPIOEVENTFLAG_LASEROC         AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_LASER_OC_N))
170 170

  
171 171
/**
172 172
 * @brief   Event flag to be set on a SYS_UART_DN interrupt.
173 173
 */
174
#define MODULE_OS_IOEVENTFLAGS_SYSUARTDN        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_DN))
174
#define MODULE_OS_GPIOEVENTFLAG_SYSUARTDN       AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_DN))
175 175

  
176 176
/**
177 177
 * @brief   Event flag to be set on a WL_GDO2 interrupt.
178 178
 */
179
#define MODULE_OS_IOEVENTFLAGS_WLGDO2           AOS_IOEVENT_FLAG(PAL_PAD(LINE_WL_GDO2))
179
#define MODULE_OS_GPIOEVENTFLAG_WLGDO2          AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_WL_GDO2))
180 180

  
181 181
/**
182 182
 * @brief   Event flag to be set on a WL_GDO0 interrupt.
183 183
 */
184
#define MODULE_OS_IOEVENTFLAGS_WLGDO0           AOS_IOEVENT_FLAG(PAL_PAD(LINE_WL_GDO0))
184
#define MODULE_OS_GPIOEVENTFLAG_WLGDO0          AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_WL_GDO0))
185 185

  
186 186
/**
187 187
 * @brief   Event flag to be set on a SYS_PD interrupt.
188 188
 */
189
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
189
#define MODULE_OS_GPIOEVENTFLAG_SYSPD           AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
190 190

  
191 191
/**
192 192
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
193 193
 */
194
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
194
#define MODULE_OS_GPIOEVENTFLAG_SYSSYNC         AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
195 195

  
196 196
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
197 197
/**
......
206 206
 */
207 207
#define MODULE_INIT_INTERRUPTS() {                                            \
208 208
  /* LASER_OC */                                                              \
209
  palSetLineCallback(moduleGpioLaserOc.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioLaserOc.gpio->line);  \
209
  palSetLineCallback(moduleGpioLaserOc.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioLaserOc.gpio->line);  \
210 210
  palEnableLineEvent(moduleGpioLaserOc.gpio->line, APAL2CH_EDGE(moduleGpioLaserOc.meta.edge));                  \
211 211
  /* WL_GDO2 */                                                               \
212
  palSetLineCallback(moduleGpioWlGdo2.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioWlGdo2.gpio->line);  \
212
  palSetLineCallback(moduleGpioWlGdo2.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioWlGdo2.gpio->line);  \
213 213
  palEnableLineEvent(moduleGpioWlGdo2.gpio->line, APAL2CH_EDGE(moduleGpioWlGdo2.meta.edge));                  \
214 214
  /* WL_GDO0 */                                                               \
215
  palSetLineCallback(moduleGpioWlGdo0.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioWlGdo0.gpio->line);  \
215
  palSetLineCallback(moduleGpioWlGdo0.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioWlGdo0.gpio->line);  \
216 216
  /*palEnableLineEvent(moduleGpioWlGdo0.gpio->line, APAL2CH_EDGE(moduleGpioWlGdo0.meta.edge)); // this is broken for some reason*/  \
217 217
}
218 218

  
......
220 220
 * @brief   Test initialization hook.
221 221
 */
222 222
#define MODULE_INIT_TESTS() {                                                 \
223
  /* initialize tests and add to shell */                                     \
223
  /* add test commands to shell */                                            \
224 224
  aosShellAddCommand(&aos.shell, &moduleTestAt24c01bShellCmd);                \
225 225
  aosShellAddCommand(&aos.shell, &moduleTestTlc5947ShellCmd);                 \
226 226
  aosShellAddCommand(&aos.shell, &moduleTestTps2051bdbvShellCmd);             \
......
266 266
/**
267 267
 * @brief   PD signal GPIO.
268 268
 */
269
#define moduleSsspGpioPd                        moduleGpioSysPd
269
#define moduleSsspGpioPD                        moduleGpioSysPd
270 270

  
271 271
/**
272
 * @brief   SYNC signal GPIO.
272
 * @brief   S signal GPIO.
273 273
 */
274
#define moduleSsspGpioSync                      moduleGpioSysSync
274
#define moduleSsspGpioS                         moduleGpioSysSync
275 275

  
276 276
/**
277 277
 * @brief   DN signal GPIO.
278 278
 */
279
#define moduleSsspGpioDn                        moduleGpioSysUartDn
279
#define moduleSsspGpioDN                        moduleGpioSysUartDn
280 280

  
281 281
/**
282
 * @brief   Event flags for PD signal events.
282
 * @brief   Event flag for PD signal events.
283 283
 */
284
#define MODULE_SSSP_EVENTFLAGS_PD               MODULE_OS_IOEVENTFLAGS_SYSPD
284
#define MODULE_SSSP_EVENTFLAG_PD                MODULE_OS_GPIOEVENTFLAG_SYSPD
285 285

  
286 286
/**
287
 * @brief   Event flags for SYNC signal events.
287
 * @brief   Event flag for S signal events.
288 288
 */
289
#define MODULE_SSSP_EVENTFLAGS_SYNC             MODULE_OS_IOEVENTFLAGS_SYSSYNC
289
#define MODULE_SSSP_EVENTFLAG_S                 MODULE_OS_GPIOEVENTFLAG_SYSSYNC
290 290

  
291 291
/**
292
 * @brief   Event flags for DN signal events.
292
 * @brief   Event flag for DN signal events.
293 293
 */
294
#define MODULE_SSSP_EVENTFLAGS_DN               MODULE_OS_IOEVENTFLAGS_SYSUARTDN
294
#define MODULE_SSSP_EVENTFLAG_DN                MODULE_OS_GPIOEVENTFLAG_SYSUARTDN
295 295

  
296 296
/** @} */
297 297

  
modules/LightRing_1-2/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    0
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK 0
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
modules/LightRing_1-2/module.h
246 246
/**
247 247
 * @brief   Event flag to be set on a IO_4 (breakout) interrupt.
248 248
 */
249
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO4      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_4))
249
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO4     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_4))
250 250

  
251 251
/**
252 252
 * @brief   Event flag to be set on a IO_1 (breakout) interrupt.
253 253
 */
254
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO1      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_1))
254
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO1     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_1))
255 255

  
256 256
/**
257 257
 * @brief   Event flag to be set on a SYS_SYNC interrupt.
258 258
 */
259
#define MODULE_OS_IOEVENTFLAGS_SYSSYNC          AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
259
#define MODULE_OS_GPIOEVENTFLAG_SYSSYNC         AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_SYS_INT_N))
260 260

  
261 261
/**
262 262
 * @brief   Event flag to be set on a IO_3 (breakout) interrupt.
263 263
 */
264
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO3      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_3))
264
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO3     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_3))
265 265

  
266 266
/**
267 267
 * @brief   Event flag to be set on a IO_5 (breakout) interrupt.
268 268
 */
269
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO5      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_5))
269
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO5     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_5))
270 270

  
271 271
/**
272 272
 * @brief   Event flag to be set on a IO_6 (breakout) interrupt.
273 273
 */
274
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO6      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_6))
274
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO6     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_6))
275 275

  
276 276
/**
277 277
 * @brief   Event flag to be set on a SYS_UART_DN interrupt.
278 278
 */
279
#define MODULE_OS_IOEVENTFLAGS_SYSUARTDN        AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_DN))
279
#define MODULE_OS_GPIOEVENTFLAG_SYSUARTDN       AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_SYS_UART_DN))
280 280

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

  
286 286
/**
287 287
 * @brief   Event flag to be set on a IO_7 (breakout) interrupt.
288 288
 */
289
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO7      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_7))
289
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO7     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_7))
290 290

  
291 291
/**
292 292
 * @brief   Event flag to be set on a IO_8 (breakout) interrupt.
293 293
 */
294
#define MODULE_OS_IOEVENTFLAGS_BREAKOUTIO8      AOS_IOEVENT_FLAG(PAL_PAD(LINE_IO_8))
294
#define MODULE_OS_GPIOEVENTFLAG_BREAKOUTIO8     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_IO_8))
295 295

  
296 296
/**
297 297
 * @brief   Event flag to be set on a SYS_PD interrupt.
298 298
 */
299
#define MODULE_OS_IOEVENTFLAGS_SYSPD            AOS_IOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
299
#define MODULE_OS_GPIOEVENTFLAG_SYSPD           AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_SYS_PD_N))
300 300

  
301 301
#if (BOARD_BREAKOUT_MODULE == BOARD_BREAKOUT_UWBv10) || defined(__DOXYGEN__)
302 302

  
303 303
/**
304 304
 * @brief   Event flag to be set on a DW1000 interrupt.
305 305
 */
306
#define MODULE_OS_IOEVENTFLAGS_DW1000           MODULE_OS_IOEVENTFLAGS_BREAKOUTIO8
306
#define MODULE_OS_GPIOEVENTFLAG_DW1000          MODULE_OS_GPIOEVENTFLAGS_BREAKOUTIO8
307 307

  
308 308
#endif /* (BOARD_BREAKOUT_MODULE == BOARD_BREAKOUT_UWBv10) */
309 309

  
......
324 324
}
325 325
#if (BOARD_BREAKOUT_MODULE == BOARD_BREAKOUT_UWBv10)
326 326
  #define MODULE_INIT_INTERRUPTS_BREAKOUT() {                                 \
327
    palSetLineCallback(moduleLldDw1000.gpio_exti->gpio->line, aosSysGetStdExtiCallback(), &moduleLldDw1000.gpio_exti->gpio->line);  \
327
    palSetLineCallback(moduleLldDw1000.gpio_exti->gpio->line, aosSysGetStdGpioCallback(), &moduleLldDw1000.gpio_exti->gpio->line);  \
328 328
    palEnableLineEvent(moduleLldDw1000.gpio_exti->gpio->line, APAL2CH_EDGE(moduleLldDw1000.gpio_exti->meta.edge));                  \
329 329
  }
330 330
#elif (BOARD_BREAKOUT_MODULE == BOARD_BREAKOUT_NONE)
......
333 333
#endif
334 334

  
335 335
/**
336
 * @brief   Unit test initialization hook.
336
 * @brief   Test initialization hook.
337 337
 */
338 338
#define MODULE_INIT_TESTS() {                                                 \
339
  /* initialize tests and add to shell */                                     \
339
  /* add test commands to shell */                                            \
340 340
  aosShellAddCommand(&aos.shell, &moduleTestAt24c01bShellCmd);                \
341 341
  aosShellAddCommand(&aos.shell, &moduleTestIna219ShellCmd);                  \
342 342
  aosShellAddCommand(&aos.shell, &moduleTestLedShellCmd);                     \
......
383 383
 * @brief   Periphery communication interface deinitialization hook.
384 384
 */
385 385
#define MODULE_SHUTDOWN_PERIPHERY_IF() {                                      \
386
  /* breakout module */                                                       \
387
  MODULE_SHUTDOWN_PERIPHERY_COMM_BREAKOUT();                                  \
386 388
  /* SPI */                                                                   \
387 389
  spiStop(&MODULE_HAL_SPI_LIGHT);                                             \
388 390
  /* I2C */                                                                   \
389 391
  i2cStop(&MODULE_HAL_I2C_EEPROM_PWRMTR_BREAKOUT);                            \
390
  /* breakout module */                                                       \
391
  MODULE_SHUTDOWN_PERIPHERY_COMM_BREAKOUT();                                  \
392 392
  /* don't stop the serial driver so messages can still be printed */         \
393 393
}
394 394
#if (BOARD_BREAKOUT_MODULE == BOARD_BREAKOUT_UWBv10)
......
413 413
/**
414 414
 * @brief   PD signal GPIO.
415 415
 */
416
#define moduleSsspGpioPd                        moduleGpioSysPd
416
#define moduleSsspGpioPD                        moduleGpioSysPd
417 417

  
418 418
/**
419
 * @brief   SYNC signal GPIO.
419
 * @brief   S signal GPIO.
420 420
 */
421
#define moduleSsspGpioSync                      moduleGpioSysSync
421
#define moduleSsspGpioS                         moduleGpioSysSync
422 422

  
423 423
/**
424 424
 * @brief   UP signal GPIO.
425 425
 */
426
#define moduleSsspGpioUp                        moduleGpioSysUartUp
426
#define moduleSsspGpioUP                        moduleGpioSysUartUp
427 427

  
428 428
/**
429 429
 * @brief   DN signal GPIO.
430 430
 */
431
#define moduleSsspGpioDn                        moduleGpioSysUartDn
431
#define moduleSsspGpioDN                        moduleGpioSysUartDn
432 432

  
433 433
/**
434
 * @brief   Event flags for PD signal events.
434
 * @brief   Event flag for PD signal events.
435 435
 */
436
#define MODULE_SSSP_EVENTFLAGS_PD               MODULE_OS_IOEVENTFLAGS_SYSPD
436
#define MODULE_SSSP_EVENTFLAG_PD                MODULE_OS_GPIOEVENTFLAG_SYSPD
437 437

  
438 438
/**
439
 * @brief   Event flags for SYNC signal events.
439
 * @brief   Event flag for S signal events.
440 440
 */
441
#define MODULE_SSSP_EVENTFLAGS_SYNC             MODULE_OS_IOEVENTFLAGS_SYSSYNC
441
#define MODULE_SSSP_EVENTFLAG_S                 MODULE_OS_GPIOEVENTFLAG_SYSSYNC
442 442

  
443 443
/**
444
 * @brief   Event flags for UP signal events.
444
 * @brief   Event flag for UP signal events.
445 445
 */
446
#define MODULE_SSSP_EVENTFLAGS_UP               MODULE_OS_IOEVENTFLAGS_SYSUARTUP
446
#define MODULE_SSSP_EVENTFLAG_UP                MODULE_OS_GPIOEVENTFLAGS_SYSUARTUP
447 447

  
448 448
/**
449
 * @brief   Event flags for DN signal events.
449
 * @brief   Event flag for DN signal events.
450 450
 */
451
#define MODULE_SSSP_EVENTFLAGS_DN               MODULE_OS_IOEVENTFLAGS_SYSUARTDN
451
#define MODULE_SSSP_EVENTFLAG_DN                MODULE_OS_GPIOEVENTFLAG_SYSUARTDN
452 452

  
453 453
/** @} */
454 454

  
modules/NUCLEO-F103RB/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    (MODULE_OS_IOEVENTFLAGS_DW1000_IRQn | MODULE_OS_IOEVENTFLAGS_USERBUTTON)
88
//  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    MODULE_OS_IOEVENTFLAGS_USERBUTTON
89
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
90
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
91
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK MODULE_OS_GPIOEVENTFLAG_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
92 91

  
93 92
/**
94 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
modules/NUCLEO-F103RB/module.h
147 147
/**
148 148
 * @brief   Event flag to be call dwt_isr() interrupt.
149 149
 */
150
#define MODULE_OS_IOEVENTFLAGS_DW1000_IRQn      AOS_IOEVENT_FLAG(PAL_PAD(LINE_ARD_D14))
150
#define MODULE_OS_GPIOEVENTFLAG_DW1000_IRQn     AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_ARD_D14))
151 151
//#endif /* (BOARD_DW1000_CONNECTED == true) */
152 152

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

  
158 158
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
159 159
/**
......
168 168
 */
169 169
#define MODULE_INIT_INTERRUPTS() {                                            \
170 170
  /* user button */                                                           \
171
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioUserButton.gpio->line);  \
171
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioUserButton.gpio->line);  \
172 172
  palEnableLineEvent(moduleGpioUserButton.gpio->line, APAL2CH_EDGE(moduleGpioUserButton.meta.edge));                  \
173 173
  MODULE_INIT_INTERRUPTS_DW1000();                                            \
174 174
}
175 175
#if (BOARD_DW1000_CONNECTED == true)
176 176
  #define MODULE_INIT_INTERRUPTS_DW1000() {                                   \
177
    palSetLineCallback(moduleGpioDw1000Irqn.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioDw1000Irqn.gpio->line);  \
177
    palSetLineCallback(moduleGpioDw1000Irqn.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioDw1000Irqn.gpio->line);  \
178 178
    palEnableLineEvent(moduleGpioDw1000Irqn.gpio->line, APAL2CH_EDGE(moduleGpioDw1000Irqn.meta.edge));                  \
179 179
  }
180 180
#else /* (BOARD_DW1000_CONNECTED == true) */
......
187 187
 * @brief   Test initialization hook.
188 188
 */
189 189
#define MODULE_INIT_TESTS() {                                                 \
190
  /* initialize tests and add to shell */                                     \
190
  /* add test commands to shell */                                            \
191 191
  aosShellAddCommand(&aos.shell, &moduleTestLedShellCmd);                     \
192 192
  aosShellAddCommand(&aos.shell, &moduleTestButtonShellCmd);                  \
193 193
  MODULE_INIT_TESTS_DW1000();                                                 \
......
228 228
 */
229 229
#define MODULE_SHUTDOWN_PERIPHERY_IF() {                                      \
230 230
  MODULE_SHUTDOWN_PERIPHERY_IF_DW1000();                                      \
231
  /* don't stop the serial driver so messages can still be printed */         \
231 232
}
232 233
#if (BOARD_DW1000_CONNECTED == true)
233 234
#define MODULE_SHUTDOWN_PERIPHERY_IF_DW1000() {                               \
......
242 243
/**
243 244
 * @brief   HOOK to toggle the LEDs when the user button is pressed.
244 245
 */
245
#define MODULE_MAIN_LOOP_IO_EVENT(eventflags) {                               \
246
  if (eventflags & MODULE_OS_IOEVENTFLAGS_USERBUTTON) {                       \
246
#define MODULE_MAIN_LOOP_GPIOEVENT(eventflags) {                              \
247
  if (eventflags & MODULE_OS_GPIOEVENTFLAG_USERBUTTON) {                      \
247 248
    apalControlGpioState_t buttonstate;                                       \
248 249
    apalControlGpioGet(&moduleGpioUserButton, &buttonstate);                  \
249 250
    apalControlGpioSet(&moduleGpioLed, buttonstate);                          \
250 251
  }                                                                           \
251
  MODULE_MAIN_LOOP_IO_EVENT_DW1000();                                         \
252
  MODULE_MAIN_LOOP_GPIOEVENT_DW1000();                                        \
252 253
}
253 254
#if (BOARD_DW1000_CONNECTED == true)
254 255
  /**
255 256
   * @brief   HOOK to call process_deca_irq() func when the dw1000 interrupt pin is activated.
256 257
   */
257
  #define MODULE_MAIN_LOOP_IO_EVENT_DW1000() {                                \
258
    if(eventflags & MODULE_OS_IOEVENTFLAGS_DW1000_IRQn) {                     \
258
  #define MODULE_MAIN_LOOP_GPIOEVENT_DW1000() {                               \
259
    if(eventflags & MODULE_GPOS_IOEVENTFLAG_DW1000_IRQn) {                    \
259 260
      /*apalGpioToggle(moduleGpioLed.gpio);*/ /* just for debug*/             \
260 261
      process_deca_irq();                                                     \
261 262
    }                                                                         \
262 263
  }
263 264
#else /* (BOARD_DW1000_CONNECTED == true) */
264
  #define MODULE_MAIN_LOOP_IO_EVENT_DW1000() {                                \
265
  #define MODULE_MAIN_LOOP_GPIOEVENT_DW1000() {                               \
265 266
  }
266 267
#endif /* (BOARD_DW1000_CONNECTED == true) */
267 268

  
modules/NUCLEO-F103RB/test/DW1000/module_test_DW1000.c
42 42

  
43 43
static aos_test_dw1000data_t _data = {
44 44
  /* UWB data     */ &moduleLldDw1000,
45
  /* event source */ &aos.events.io,
46
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_DW1000_IRQn,
45
  /* event source */ &aos.events.gpio,
46
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_DW1000_IRQn,
47 47
};
48 48

  
49 49
static AOS_TEST(_test, "DW1000", NULL, moduleTestDw1000ShellCb, aosTestDw1000Func, &_data);
modules/NUCLEO-F103RB/test/button/module_test_button.c
41 41

  
42 42
static aos_test_buttondata_t _data = {
43 43
  /* button       */ &moduleLldUserButton,
44
  /* event source */ &aos.events.io,
45
  /* event flags  */ MODULE_OS_IOEVENTFLAGS_USERBUTTON,
44
  /* event source */ &aos.events.gpio,
45
  /* event flags  */ MODULE_OS_GPIOEVENTFLAG_USERBUTTON,
46 46
};
47 47

  
48 48
static AOS_TEST(_test, "button", NULL, moduleTestButtonShellCb, aosTestButtonFunc, &_data);
modules/NUCLEO-F401RE/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    MODULE_OS_IOEVENTFLAGS_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK MODULE_OS_GPIOEVENTFLAG_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
modules/NUCLEO-F401RE/module.h
91 91
/**
92 92
 * @brief   Event flag to be set on a USER_BUTTON interrupt.
93 93
 */
94
#define MODULE_OS_IOEVENTFLAGS_USERBUTTON       AOS_IOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
94
#define MODULE_OS_GPIOEVENTFLAG_USERBUTTON      AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
95 95

  
96 96
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
97 97
/**
......
106 106
 */
107 107
#define MODULE_INIT_INTERRUPTS() {                                            \
108 108
  /* user button */                                                           \
109
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioUserButton.gpio->line);  \
109
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioUserButton.gpio->line);  \
110 110
  palEnableLineEvent(moduleGpioUserButton.gpio->line, APAL2CH_EDGE(moduleGpioUserButton.meta.edge));                  \
111 111
}
112 112

  
113 113
/**
114
 * @brief   Unit test initialization hook.
114
 * @brief   Test initialization hook.
115 115
 */
116 116
#define MODULE_INIT_TESTS() {                                                 \
117
  /* add unit-test shell commands */                                          \
117
  /* add test commands to shell */                                            \
118 118
}
119 119

  
120 120
/**
......
129 129
 * @brief   Periphery communication interface deinitialization hook.
130 130
 */
131 131
#define MODULE_SHUTDOWN_PERIPHERY_IF() {                                      \
132
  /* don't stop the serial driver so messages can still be printed */         \
132 133
}
133 134

  
134 135
/**
135 136
 * @brief   HOOK to toggle the LEDs when the user button is pressed.
136 137
 */
137
#define MODULE_MAIN_LOOP_IO_EVENT(eventflags) {                               \
138
  if (eventflags & MODULE_OS_IOEVENTFLAGS_USERBUTTON) {                       \
138
#define MODULE_MAIN_LOOP_GPIOEVENT(eventflags) {                              \
139
  if (eventflags & MODULE_OS_GPIOEVENTFLAG_USERBUTTON) {                      \
139 140
    apalControlGpioState_t buttonstate;                                       \
140 141
    apalControlGpioGet(&moduleGpioUserButton, &buttonstate);                  \
141 142
    apalControlGpioSet(&moduleGpioLed, buttonstate);                          \
modules/NUCLEO-F767ZI/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    MODULE_OS_IOEVENTFLAGS_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK MODULE_OS_GPIOEVENTFLAG_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
modules/NUCLEO-F767ZI/module.h
101 101
/**
102 102
 * @brief   Event flag to be set on a USER_BUTTON interrupt.
103 103
 */
104
#define MODULE_OS_IOEVENTFLAGS_USERBUTTON       AOS_IOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
104
#define MODULE_OS_GPIOEVENTFLAG_USERBUTTON      AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
105 105

  
106 106
#if (AMIROOS_CFG_SHELL_ENABLE == true) || defined(__DOXYGEN__)
107 107
/**
......
116 116
 */
117 117
#define MODULE_INIT_INTERRUPTS() {                                            \
118 118
  /* user button */                                                           \
119
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdExtiCallback(), &moduleGpioUserButton.gpio->line);  \
119
  palSetLineCallback(moduleGpioUserButton.gpio->line, aosSysGetStdGpioCallback(), &moduleGpioUserButton.gpio->line);  \
120 120
  palEnableLineEvent(moduleGpioUserButton.gpio->line, APAL2CH_EDGE(moduleGpioUserButton.meta.edge));                  \
121 121
}
122 122

  
123 123
/**
124
 * @brief   Unit test initialization hook.
124
 * @brief   Test initialization hook.
125 125
 */
126 126
#define MODULE_INIT_TESTS() {                                                 \
127
  /* add unit-test shell commands */                                          \
127
  /* add test commands to shell */                                            \
128 128
}
129 129

  
130 130
/**
......
139 139
 * @brief   Periphery communication interface deinitialization hook.
140 140
 */
141 141
#define MODULE_SHUTDOWN_PERIPHERY_IF() {                                      \
142
  /* don't stop the serial driver so messages can still be printed */         \
142 143
}
143 144

  
144 145
/**
145 146
 * @brief   HOOK to toggle the LEDs when the user button is pressed.
146 147
 */
147
#define MODULE_MAIN_LOOP_IO_EVENT(eventflags) {                               \
148
  if (eventflags & MODULE_OS_IOEVENTFLAGS_USERBUTTON) {                       \
148
#define MODULE_MAIN_LOOP_GPIOEVENT(eventflags) {                              \
149
  if (eventflags & MODULE_OS_GPIOEVENTFLAG_USERBUTTON) {                      \
149 150
    apalControlGpioState_t buttonstate;                                       \
150 151
    apalControlGpioGet(&moduleGpioUserButton, &buttonstate);                  \
151 152
    apalControlGpioSet(&moduleGpioLed1, buttonstate);                         \
modules/NUCLEO-L476RG/aosconf.h
80 80
#endif /* !defined(OS_CFG_PROFILE) */
81 81

  
82 82
/**
83
 * @brief   Mask for the control thread to listen to certain IO events.
83
 * @brief   Mask for the control thread to listen to certain GPIO events.
84 84
 * @note    Any mandatory events (e.g. for SSSP) are enabled implicitely despite this configuration.
85 85
 */
86
#if !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    MODULE_OS_IOEVENTFLAGS_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_IOEVENT_MASK    OS_CFG_MAIN_LOOP_IOEVENT_MASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_IOEVENT_MASK) */
86
#if !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK)
87
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK MODULE_OS_GPIOEVENTFLAG_USERBUTTON
88
#else /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
89
  #define AMIROOS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK
90
#endif /* !defined(OS_CFG_MAIN_LOOP_GPIOEVENT_FLAGSMASK) */
91 91

  
92 92
/**
93 93
 * @brief   Timeout value when waiting for events in the main loop in microseconds.
modules/NUCLEO-L476RG/module.h
105 105
/**
106 106
 * @brief   Event flag to be set on a USER_BUTTON interrupt.
107 107
 */
108
#define MODULE_OS_IOEVENTFLAGS_USERBUTTON       AOS_IOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
108
#define MODULE_OS_GPIOEVENTFLAG_USERBUTTON      AOS_GPIOEVENT_FLAG(PAL_PAD(LINE_BUTTON))
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff