/* @(/2/1/4/1/3) ...........................................................*/ static QState Ship_flying_e(Ship * const me) { ScoreEvt *sev; me->score = 0U; /* reset the score */ sev = Q_NEW(ScoreEvt, SCORE_SIG); sev->score = me->score; QACTIVE_POST(AO_Tunnel, (QEvt *)sev, me); return QM_ENTRY(&Ship_flying_s); }
// ${AOs::Table::SM::active::serving} QP::QState Table::serving_e(Table * const me) { for (uint8_t n = 0U; n < N_PHILO; ++n) { // give permissions to eat... if (me->m_isHungry[n] && (me->m_fork[LEFT(n)] == FREE) && (me->m_fork[n] == FREE)) { me->m_fork[LEFT(n)] = USED; me->m_fork[n] = USED; QP::QF::PUBLISH(Q_NEW(TableEvt, EAT_SIG, n), me); me->m_isHungry[n] = false; BSP_displayPhilStat(n, EATING); } } return QM_ENTRY(&serving_s); }
/* @(/1/0/1/1/2/1/3) .......................................................*/ static QState Pelican_carsGreenPedWait_e(Pelican * const me) { BSP_showState(me->super.prio, "carsGreenPedWait"); return QM_ENTRY(&Pelican_carsGreenPedWait_s); }
/* @(/1/0/1/1/2/2) .........................................................*/ static QState Pelican_carsYellow_e(Pelican * const me) { BSP_showState(me->super.prio, "carsYellow"); BSP_signalCars(CARS_YELLOW); QActive_armX(&me->super, 0U, CARS_YELLOW_TOUT); return QM_ENTRY(&Pelican_carsYellow_s); }
/* ${SMs::Calc::SM::on::opEntered} */ static QState Calc_opEntered_e(Calc * const me) { BSP_message("opEntered-ENTRY;"); (void)me; /* avoid compiler warning in case 'me' is not used */ return QM_ENTRY(&Calc_opEntered_s); }
/* @(/1/0/1/1/2/1) .........................................................*/ static QState Pelican_carsGreen_e(Pelican * const me) { BSP_signalCars(CARS_GREEN); QActive_armX(&me->super, 0U, CARS_GREEN_MIN_TOUT); return QM_ENTRY(&Pelican_carsGreen_s); }
/* @(/1/0/0/1) .............................................................*/ static QState Philo_thinking_e(Philo * const me) { QActive_armX(&me->super, 0U, THINK_TIME); return QM_ENTRY(&Philo_thinking_s); }
/* @(/1/0/0/3) .............................................................*/ static QState Philo_eating_e(Philo * const me) { QActive_armX(&me->super, 0U, EAT_TIME); return QM_ENTRY(&Philo_eating_s); }
QP::QState Philo::eating_e(Philo * const me) { me->m_timeEvt.armX(think_time(), 0U); return QM_ENTRY(&eating_s); }
/* @(/1/0/1/2) .............................................................*/ static QState Pelican_offline_e(Pelican * const me) { BSP_showState(me->super.prio, "offline"); QActive_armX(&me->super, 0U, OFF_FLASH_TOUT); me->flashCtr = 0U; return QM_ENTRY(&Pelican_offline_s); }
/* @(/1/0/1/1/5/4/4) .......................................................*/ static QState QMsmTst_s211_e(QMsmTst * const me) { BSP_display("s211-ENTRY;"); return QM_ENTRY(&QMsmTst_s211_s); }
QP::QState Philo::hungry_e(Philo * const me) { AO_Table->POST(Q_NEW(TableEvt, HUNGRY_SIG, PHILO_ID(me)), me); return QM_ENTRY(&hungry_s); }
/* @(/1/1/1/1) .............................................................*/ static QState Ped_wait_e(Ped * const me) { me->retryCtr = N_ATTEMPTS; QActive_armX(&me->super, 0U, WAIT_TOUT); return QM_ENTRY(&Ped_wait_s); }
/* @(/1/1/1/2) .............................................................*/ static QState Ped_off_e(Ped * const me) { QActive_armX(&me->super, 0U, OFF_TOUT); QACTIVE_POST((QActive *)&AO_Pelican, OFF_SIG); return QM_ENTRY(&Ped_off_s); }
/* ${SMs::Calc::SM::on::negated2} */ static QState Calc_negated2_e(Calc * const me) { BSP_message("negated2-ENTRY;"); BSP_negate(); (void)me; /* avoid compiler warning in case 'me' is not used */ return QM_ENTRY(&Calc_negated2_s); }
/* @(/1/0/1/1/3/1) .........................................................*/ static QState Pelican_pedsWalk_e(Pelican * const me) { BSP_showState(me->super.prio, "pedsWalk"); BSP_signalPeds(PEDS_WALK); QActive_armX(&me->super, 0U, PEDS_WALK_TOUT); return QM_ENTRY(&Pelican_pedsWalk_s); }
/* ${AOs::Philo::SM::thinking} */ static QState Philo_thinking_e(Philo * const me) { QTimeEvt_armX(&me->timeEvt, THINK_TIME, 0U); return QM_ENTRY(&Philo_thinking_s); }
/* @(/1/0/1/1/3/2) .........................................................*/ static QState Pelican_pedsFlash_e(Pelican * const me) { BSP_showState(me->super.prio, "pedsFlash"); QActive_armX(&me->super, 0U, PEDS_FLASH_TOUT); me->flashCtr = (PEDS_FLASH_NUM * 2U) + 1U; return QM_ENTRY(&Pelican_pedsFlash_s); }
/* ${AOs::Philo::SM::hungry} */ static QState Philo_hungry_e(Philo * const me) { TableEvt *pe = Q_NEW(TableEvt, HUNGRY_SIG); pe->philoNum = PHILO_ID(me); QACTIVE_POST(AO_Table, &pe->super, me); return QM_ENTRY(&Philo_hungry_s); }
/* @(/2/4/3/2/2) ...........................................................*/ static QState Mine2_exploding_e(Mine2 * const me) { me->exp_ctr = 0U; return QM_ENTRY(&Mine2_exploding_s); }
/* @(/2/1/4/1/4) ...........................................................*/ static QState Ship_exploding_e(Ship * const me) { me->exp_ctr = 0U; return QM_ENTRY(&Ship_exploding_s); }
/* @(/1/0/0/2) .............................................................*/ static QState Philo_hungry_e(Philo * const me) { QACTIVE_POST((QActive *)&AO_Table, HUNGRY_SIG, me->super.prio); return QM_ENTRY(&Philo_hungry_s); }
// ${AOs::Table::SM::active::paused} QP::QState Table::paused_e(Table * const me) { BSP_displayPaused(1U); (void)me; // avoid compiler warning in case 'me' is not used return QM_ENTRY(&paused_s); }
/* ${AOs::Philo::SM::eating} */ static QState Philo_eating_e(Philo * const me) { QTimeEvt_armX(&me->timeEvt, EAT_TIME, 0U); return QM_ENTRY(&Philo_eating_s); }
/* ${SMs::Calc::SM::final} */ static QState Calc_final_e(Calc * const me) { BSP_message("final-ENTRY;"); BSP_exit(); (void)me; /* avoid compiler warning in case 'me' is not used */ return QM_ENTRY(&Calc_final_s); }
QP::QState Mine1::exploding_e(Mine1 * const me) { me->m_exp_ctr = 0U; return QM_ENTRY(&exploding_s); }
/* @(/1/0/1/1) .............................................................*/ static QState Pelican_operational_e(Pelican * const me) { BSP_signalCars(CARS_RED); BSP_signalPeds(PEDS_DONT_WALK); return QM_ENTRY(&Pelican_operational_s); }