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); }
// $(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); }