/*${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_;
}
예제 #2
0
/*${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_;
}
예제 #3
0
파일: qep_qtran.c 프로젝트: KnightSch/qpc
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;
}
예제 #4
0
파일: blinky.c 프로젝트: QuantumLeaps/qpn
/*${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_;
}
예제 #5
0
파일: blinky.c 프로젝트: MCUapps/qpc-gnu
/* @(/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_;
}
예제 #6
0
파일: blinky.c 프로젝트: MCUapps/gpn-gnu
/* @(/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_;
}