/*${components::aoGrinder::SM::grinding} ...................................*/ static QState aoGrinder_grinding(aoGrinder * const me) { QState status_; switch (Q_SIG(me)) { /* ${components::aoGrinder::SM::grinding} */ case Q_ENTRY_SIG: { BSP_println("Start grinding."); BSP_ledOn(); QActive_postISR((QActive *)&AO_Scale, SCALE_START_SIG, 0); QActive_postISR((QActive *)&AO_Display, DISPLAY_WEIGHT_SIG, 0); status_ = Q_HANDLED(); break; } /* ${components::aoGrinder::SM::grinding} */ case Q_EXIT_SIG: { BSP_println("Stop grinding."); BSP_ledOff(); status_ = Q_HANDLED(); break; } /* ${components::aoGrinder::SM::grinding::THRESHOLD_REACHED} */ case THRESHOLD_REACHED_SIG: { status_ = Q_TRAN(&aoGrinder_settling); break; } default: { status_ = Q_SUPER(&QHsm_top); break; } } return status_; }
/*${AOs::Blink::SM::OFF} ...................................................*/ static QState Blink_OFF(Blink * const me) { QState status_; switch (Q_SIG(me)) { /* ${AOs::Blink::SM::OFF} */ case Q_ENTRY_SIG: { BSP_ledOff(); QActive_arm((QActive *)me, BLINK_TOUT); status_ = Q_HANDLED(); break; } /* ${AOs::Blink::SM::OFF} */ case Q_EXIT_SIG: { QActive_disarm((QActive *)me); status_ = Q_HANDLED(); break; } /* ${AOs::Blink::SM::OFF::Q_TIMEOUT} */ case Q_TIMEOUT_SIG: { status_ = Q_TRAN(&Blink_ON); break; } default: { status_ = Q_SUPER(&QHsm_top); break; } } return status_; }
QState Blinky_off(Blinky * const me, QEvt const * const e) { QState status; switch (e->sig) { case Q_ENTRY_SIG: { BSP_ledOff(); status = Q_HANDLED(); break; } case TIMEOUT_SIG: { status = Q_TRAN(&Blinky_on); /*<== */ break; } default: { status = Q_SUPER(&QHsm_top); break; } } return status; }
/*${AOs::Blinky::SM::off} ..................................................*/ static QState Blinky_off(Blinky * const me) { QState status_; switch (Q_SIG(me)) { /*${AOs::Blinky::SM::off} */ case Q_ENTRY_SIG: { BSP_ledOff(); status_ = Q_HANDLED(); break; } /*${AOs::Blinky::SM::off::Q_TIMEOUT} */ case Q_TIMEOUT_SIG: { status_ = Q_TRAN(&Blinky_on); break; } default: { status_ = Q_SUPER(&QHsm_top); break; } } return status_; }
/* @(/1/0/1/1) .............................................................*/ static QState Blinky_off(Blinky * const me, QEvt const * const e) { QState status_; switch (e->sig) { /* @(/1/0/1/1) */ case Q_ENTRY_SIG: { BSP_ledOff(); status_ = Q_HANDLED(); break; } /* @(/1/0/1/1/0) */ case TIMEOUT_SIG: { status_ = Q_TRAN(&Blinky_on); break; } default: { status_ = Q_SUPER(&QHsm_top); break; } } return status_; }
/* @(/1/0/0/1) .............................................................*/ static QState Blinky_off(Blinky * const me) { QState status_; switch (Q_SIG(me)) { /* @(/1/0/0/1) */ case Q_ENTRY_SIG: { QActive_arm((QActive *)me, BSP_TICKS_PER_SEC/2); /* 1/2 sec */ BSP_ledOff(); status_ = Q_HANDLED(); break; } /* @(/1/0/0/1/0) */ case Q_TIMEOUT_SIG: { status_ = Q_TRAN(&Blinky_on); break; } default: { status_ = Q_SUPER(&QHsm_top); break; } } return status_; }