コード例 #1
0
ファイル: smfsm.cpp プロジェクト: jamehuang2012/fsm
// create the realted state under this statement
int SMFsm::initialization()
{
    m_mainState = new MainIdle(this);
    m_chargeState = new ChargerState(this);
    QFinalState *finalState =new QFinalState(this);

    addState(m_mainState);
    addState(m_chargeState);
    addState(finalState);

    // add Transaction
    m_mainState->addTransition(m_mainState,SIGNAL(gotoCharge()),m_chargeState);
    m_chargeState->addTransition(m_chargeState,SIGNAL(moveToIdle()),m_mainState);

    setInitialState(m_mainState);
    qDebug() << "SMFsm :: initialization";
}
コード例 #2
0
ファイル: smfsm.cpp プロジェクト: jamehuang2012/fsm
void ChargerState::stateProc(int index)
{
    qDebug() << "ChargerState::stateProc index=" << index;
    switch(index) {
    case 0x00:
    case 0x01:
        // If timeout , go back to main user
        //clean all source

        emit moveToIdle();
        break;
    case 0x02:
    case 0x03:
    case 0x04:
    default:
        break;
    }
}
コード例 #3
0
ファイル: MainLoop.cpp プロジェクト: nlurkin/Drone
void MainLoop::calibrationLoop(){
	if(fLoopCalib.processLoop()) moveToIdle();
}
コード例 #4
0
ファイル: MainLoop.cpp プロジェクト: nlurkin/Drone
void MainLoop::stillLoop() {
	if(fLoopStill.processLoop()) moveToIdle();
}
コード例 #5
0
ファイル: MainLoop.cpp プロジェクト: nlurkin/Drone
void MainLoop::initializationLoop(){
	moveToIdle();
}