Revision 1e5f7648 os/core/src/aos_main.cpp

View differences:

os/core/src/aos_main.cpp
111 111
static inline void _unexpectedEventError(const eventmask_t mask, const eventflags_t flags)
112 112
{
113 113
#if (AMIROOS_CFG_DBG == true)
114
  aosprintf("unexpected/unknown event received. mask: 0x%08X; flags: 0x%08X\n", mask, flags);
114
  aosprintf("CTRL: unexpected/unknown event received. mask: 0x%08X; flags: 0x%08X\n", mask, flags);
115 115
#else
116 116
  (void)(mask);
117 117
  (void)(flags);
......
366 366
    if (flags.wfe) {
367 367
      // wait for any event to occur
368 368
      aosDbgPrintf("WFE...");
369
      eventmask = chEvtWaitAnyTimeout(ALL_EVENTS, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT));
369
      eventmask = chEvtWaitAnyTimeout(ALL_EVENTS, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT));
370 370
      aosDbgPrintf("\t0x%08X", eventmask);
371 371
    } else {
372 372
      aosDbgPrintf("WFE skipped");
......
483 483
          flags.wfe_next = false;
484 484
#else
485 485
          // set the timeout timer
486
          chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
486
          chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
487 487
          // proceed
488 488
          stage = STAGE_3_3_WAITFORFIRSTID;
489 489
#endif
490 490
#else
491 491
          // set the timeout timer
492
          chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
492
          chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
493 493
#endif
494 494
        }
495 495

  
......
515 515
            flags.wfe_next = false;
516 516
#else
517 517
            // set the timeout timer
518
            chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
518
            chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
519 519
            // proceed
520 520
            stage = STAGE_3_3_WAITFORFIRSTID;
521 521
#endif
......
556 556
          stage = STAGE_3_3_WAITFORID;
557 557
#else
558 558
          // set the delay timer so the UP signal is activated later
559
          chVTSet(&timerDelay, TIME_US2I(AMIROOS_CFG_SSSP_SIGNALDELAY), _ssspTimerCallback, &eventSourceDelay);
559
          chVTSet(&timerDelay, chTimeUS2I(AMIROOS_CFG_SSSP_SIGNALDELAY), _ssspTimerCallback, &eventSourceDelay);
560 560
#endif
561 561
        }
562 562

  
......
597 597
              // store received ID
598 598
              lastid = _deserialize(canRxFrame.data8, 4);
599 599
              // restart timeout timer
600
              chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
600
              chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
601 601
              // proceed
602 602
              stage = STAGE_3_3_WAITFORIDORSIG;
603 603
            } else {
......
633 633
              // store received ID
634 634
              lastid = _deserialize(canRxFrame.data8, 4);
635 635
              // restart timeout timer
636
              chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
636
              chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
637 637
            } else {
638 638
              aosDbgPrintf("ERR: invalid ID\n");
639 639
              // abort
......
664 664
            break;
665 665
          }
666 666
          // set delay timer
667
          chVTSet(&timerDelay, TIME_US2I(AMIROOS_CFG_SSSP_SIGNALDELAY), _ssspTimerCallback, &eventSourceDelay);
667
          chVTSet(&timerDelay, chTimeUS2I(AMIROOS_CFG_SSSP_SIGNALDELAY), _ssspTimerCallback, &eventSourceDelay);
668 668
        }
669 669

  
670 670
        // if a delay event occurred
......
678 678
          aosDbgPrintf("S-\n");
679 679
          apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF);
680 680
          // reset the timeout timer
681
          chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
681
          chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
682 682
          chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE);
683 683
          eventmask &= ~(eventListenerTimeout.events);
684 684
          // proceed
......
707 707
            aosDbgPrintf("ID (%u)\n", lastid);
708 708
#endif
709 709
            // restart timeout timer
710
            chVTSet(&timerTimeout, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
710
            chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout);
711 711
            chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE);
712 712
            eventmask &= ~(eventListenerTimeout.events);
713 713
          }
......
728 728
          chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE);
729 729
          eventmask &= ~(eventListenerTimeout.events);
730 730
          //set the delay timer
731
          chVTSet(&timerDelay, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceDelay);
731
          chVTSet(&timerDelay, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceDelay);
732 732
        }
733 733

  
734 734
        // if a CAN event was received
......
809 809

  
810 810
    // apply wfe value for next iteration
811 811
    flags.wfe = flags.wfe_next;
812
  }
812
  } /* end of FSM loop */
813 813
  aosDbgPrintf("\n");
814 814

  
815 815
  // unregister all events (timeout, delay, CAN receive)
......
919 919
#endif
920 920

  
921 921
  /* event associations */
922
  chEvtRegisterMask(&aos.events.io, &_eventListenerIO, IOEVENT_MASK);
922
#if (AMIROOS_CFG_SSSP_STACK_START == true) && (AMIROOS_CFG_SSSP_STACK_END == true)
923
  chEvtRegisterMaskWithFlags(&aos.events.io, &_eventListenerIO, IOEVENT_MASK, MODULE_SSSP_EVENTFLAGS_PD | MODULE_SSSP_EVENTFLAGS_SYNC);
924
#elif (AMIROOS_CFG_SSSP_STACK_START == true)
925
  chEvtRegisterMaskWithFlags(&aos.events.io, &_eventListenerIO, IOEVENT_MASK, MODULE_SSSP_EVENTFLAGS_PD | MODULE_SSSP_EVENTFLAGS_SYNC | MODULE_SSSP_EVENTFLAGS_UP);
926
#elif (AMIROOS_CFG_SSSP_STACK_END == true)
927
  chEvtRegisterMaskWithFlags(&aos.events.io, &_eventListenerIO, IOEVENT_MASK, MODULE_SSSP_EVENTFLAGS_PD | MODULE_SSSP_EVENTFLAGS_SYNC | MODULE_SSSP_EVENTFLAGS_DN);
928
#else
929
  chEvtRegisterMaskWithFlags(&aos.events.io, &_eventListenerIO, IOEVENT_MASK, MODULE_SSSP_EVENTFLAGS_PD | MODULE_SSSP_EVENTFLAGS_SYNC | MODULE_SSSP_EVENTFLAGS_DN | MODULE_SSSP_EVENTFLAGS_UP);
930
#endif
923 931
  chEvtRegisterMask(&aos.events.os, &_eventListenerOS, OSEVENT_MASK);
924 932

  
925 933
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_5)
......
1057 1065

  
1058 1066
    aosDbgPrintf("receiving current date/time...\t");
1059 1067
    // receive message
1060
    if (canReceiveTimeout(&MODULE_HAL_CAN, CAN_ANY_MAILBOX, &frame, TIME_US2I(AOS_SYSTEM_SSSP_TIMEOUT)) == MSG_OK) {
1068
    if (canReceiveTimeout(&MODULE_HAL_CAN, CAN_ANY_MAILBOX, &frame, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT)) == MSG_OK) {
1061 1069
      // validate message
1062 1070
      if (frame.DLC == 8 &&
1063 1071
          frame.RTR == CAN_RTR_DATA &&
......
1111 1119
  while (shutdown == AOS_SHUTDOWN_NONE) {
1112 1120
    // wait for an event
1113 1121
#if (AMIROOS_CFG_MAIN_LOOP_TIMEOUT != 0)
1114
    eventmask = chEvtWaitOneTimeout(ALL_EVENTS, TIME_US2I(AMIROOS_CFG_MAIN_LOOP_TIMEOUT));
1122
    eventmask = chEvtWaitOneTimeout(ALL_EVENTS, chTimeUS2I(AMIROOS_CFG_MAIN_LOOP_TIMEOUT));
1115 1123
#else
1116 1124
    eventmask = chEvtWaitOne(ALL_EVENTS);
1117 1125
#endif
......
1243 1251
#endif
1244 1252

  
1245 1253
  // finally hand over to bootloader
1246
  aosSysShutdownFinal(&moduleIntDriver, shutdown);
1254
  aosSysShutdownFinal(shutdown);
1247 1255

  
1248 1256
  /*
1249 1257
   * ##########################################################################

Also available in: Unified diff