/*${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_;
}
Exemple #2
0
/*${AOs::Blink::SM::ON} ....................................................*/
static QState Blink_ON(Blink * const me) {
    QState status_;
    switch (Q_SIG(me)) {
        /* ${AOs::Blink::SM::ON} */
        case Q_ENTRY_SIG: {
            BSP_ledOn();
            QActive_arm((QActive *)me, BLINK_TOUT);
            status_ = Q_HANDLED();
            break;
        }
        /* ${AOs::Blink::SM::ON} */
        case Q_EXIT_SIG: {
            QActive_disarm((QActive *)me);
            status_ = Q_HANDLED();
            break;
        }
        /* ${AOs::Blink::SM::ON::Q_TIMEOUT} */
        case Q_TIMEOUT_SIG: {
            status_ = Q_TRAN(&Blink_OFF);
            break;
        }
        default: {
            status_ = Q_SUPER(&QHsm_top);
            break;
        }
    }
    return status_;
}
Exemple #3
0
/*${AOs::Blinky::SM::on} ...................................................*/
static QState Blinky_on(Blinky * const me) {
    QState status_;
    switch (Q_SIG(me)) {
        /*${AOs::Blinky::SM::on} */
        case Q_ENTRY_SIG: {
            BSP_ledOn();
            status_ = Q_HANDLED();
            break;
        }
        /*${AOs::Blinky::SM::on::Q_TIMEOUT} */
        case Q_TIMEOUT_SIG: {
            status_ = Q_TRAN(&Blinky_off);
            break;
        }
        default: {
            status_ = Q_SUPER(&QHsm_top);
            break;
        }
    }
    return status_;
}
Exemple #4
0
/* @(/1/0/1/2) .............................................................*/
static QState Blinky_on(Blinky * const me, QEvt const * const e) {
    QState status_;
    switch (e->sig) {
        /* @(/1/0/1/2) */
        case Q_ENTRY_SIG: {
            BSP_ledOn();
            status_ = Q_HANDLED();
            break;
        }
        /* @(/1/0/1/2/0) */
        case TIMEOUT_SIG: {
            status_ = Q_TRAN(&Blinky_off);
            break;
        }
        default: {
            status_ = Q_SUPER(&QHsm_top);
            break;
        }
    }
    return status_;
}
Exemple #5
0
/* @(/1/0/0/2) .............................................................*/
static QState Blinky_on(Blinky * const me) {
    QState status_;
    switch (Q_SIG(me)) {
        /* @(/1/0/0/2) */
        case Q_ENTRY_SIG: {
            QActive_arm((QActive *)me, BSP_TICKS_PER_SEC/2); /* 1/2 sec */
            BSP_ledOn();
            status_ = Q_HANDLED();
            break;
        }
        /* @(/1/0/0/2/0) */
        case Q_TIMEOUT_SIG: {
            status_ = Q_TRAN(&Blinky_off);
            break;
        }
        default: {
            status_ = Q_SUPER(&QHsm_top);
            break;
        }
    }
    return status_;
}