Example #1
0
QState EOSConsole::MainMenu(EOSConsole *me, QEvt const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(3, menuMain);
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            switch (((MenuSelectEvt*)e)->item_index)
            {
                case 0:
                    PrintMenuTitles(3, menuMain);
                    return Q_HANDLED();
                case 1:
                    Eos.Capture();
                    return Q_HANDLED();
                case 2:
                    ShowParams();
                    PrintMenuTitles(3, menuMain);
                    return Q_HANDLED();
                case 3:
                    return Q_TRAN(&EOSConsole::ChangeSettingsMenu);
            }
        }
    }
    return Q_SUPER(&EOSConsole::Active);
}
Example #2
0
// $(AOs::Commands::Statechart::capture) .....................................
QState Commands::capture(Commands *me, QEvent const *e) {
    switch (e->sig) {
        // @(/2/4/4/3)
        case Q_ENTRY_SIG: {
            //Notify(PSTR("AO_Commands: Capture Entry\r\n"));
            //AO_Lights->postLIFO(Q_NEW(QEvent, ALL_LEDS_OFF_SIG));
            //me->cap_delay.postIn(me, CAP_CMD_DELAY);

            //uint16_t ptp_error = Eos.MoveFocus(me->fstep_cmd); /* Eos.Capture(); */
            uint16_t ptp_error = Eos.Capture();
            me->cmd_delay.postIn(me, CAP_CMD_DELAY);
            //me->cap_delay.postIn(me, CAP_CMD_DELAY);
            //AO_Camera->postFIFO(Q_NEW(QEvent, CAP_COMPLETE_SIG));
            /*
            if (ptp_error != PTP_RC_OK) {
                PTPTRACE2("Capture Error", ptp_error);
            }
            */
            //me->postFIFO(Q_NEW(QEvent, CMD_DELAY_SIG));
            //me->cap_delay.disarm();



            return Q_HANDLED();
        }
        // @(/2/4/4/3)
        case Q_EXIT_SIG: {
            //Notify(PSTR("AO_Commands: Capture Exit\r\n"));
            AO_Camera->postFIFO(Q_NEW(QEvent, CAP_COMPLETE_SIG));
            return Q_HANDLED();
        }
        // @(/2/4/4/3/0)
        case CMD_DELAY_SIG: {
            //Notify(PSTR("AO_Commands: Capture Cmd Delay\r\n"));
            return Q_TRAN(&Commands::idle);
        }
    }
    return Q_SUPER(&QHsm::top);
}