Index: drydemoxmlstates.scxml =================================================================== diff -u -r38e3ae29c904d9ba0076930d429822260133d7e9 -rc5b453debecfb1b22e40f073537077792fad4ab1 --- drydemoxmlstates.scxml (.../drydemoxmlstates.scxml) (revision 38e3ae29c904d9ba0076930d429822260133d7e9) +++ drydemoxmlstates.scxml (.../drydemoxmlstates.scxml) (revision c5b453debecfb1b22e40f073537077792fad4ab1) @@ -1,8 +1,8 @@ - + - + @@ -23,12 +23,19 @@ + + + + + + + - + - + @@ -45,5 +52,20 @@ + + + + + + + + + + + + + + + Index: sources/MessageGlobals.h =================================================================== diff -u -rb77bb1ccc020bf7ec700ea3e0feda43087516c5f -rc5b453debecfb1b22e40f073537077792fad4ab1 --- sources/MessageGlobals.h (.../MessageGlobals.h) (revision b77bb1ccc020bf7ec700ea3e0feda43087516c5f) +++ sources/MessageGlobals.h (.../MessageGlobals.h) (revision c5b453debecfb1b22e40f073537077792fad4ab1) @@ -120,21 +120,27 @@ }; enum Message_ID_Enum { - ID_NONE = 0x0000, - ID_HD_OP_MODE = 0x2500, - ID_UI_TX_PARAMS_RQST = 0x3500, - ID_HD_NEW_PARAMS_RESP = 0x3600, - ID_UI_RQST_TX = 0x3800, - ID_UI_CONFIRM_TX_PARAMS = 0x3B00, - ID_PRE_TX_STATES_BC = 0x5C00, - ID_SAMPLE_WATER_RESULT = 0x5f00, - ID_FILTER_FLUSH_TIME_BC = 0x6000, - ID_HD_SYS_SELF_TEST_TIME_BC = 0x6100, - ID_UI_INTALLATION_CONFIRM = 0x6200, - ID_HD_DRY_SELF_TEST_TIME_BC = 0x6300, - ID_UI_CONSUMABLES_INSTALL = 0x6800, - ID_HD_UI_CONFIRM_RQST = 0xBA00, - ID_UI_CONFIRM_RESP = 0xBB00, + ID_NONE = 0x0000, + ID_HD_OP_MODE = 0x2500, + ID_UI_TX_PARAMS_RQST = 0x3500, + ID_HD_NEW_PARAMS_RESP = 0x3600, + ID_UI_RQST_TX = 0x3800, + ID_UI_CONFIRM_TX_PARAMS = 0x3B00, + ID_HD_PRIMING_TIME_BC = 0x4300, + ID_UI_SET_UF_VOLUME_RQST = 0x4F00, + ID_HD_SET_UF_VOLUME_RESP = 0x5000, + ID_PRE_TX_STATES_BC = 0x5C00, + ID_SAMPLE_WATER_RESULT = 0x5F00, + ID_FILTER_FLUSH_TIME_BC = 0x6000, + ID_HD_SYS_SELF_TEST_TIME_BC = 0x6100, + ID_UI_INTALLATION_CONFIRM = 0x6200, + ID_HD_DRY_SELF_TEST_TIME_BC = 0x6300, + ID_UI_PATIENT_CONNECTION_RQST = 0x6400, + ID_UI_PATIENT_CONNECTION_CONF_RQST = 0x6600, + ID_HD_PATINET_CONNECTION_CONF_RESP = 0x6700, + ID_UI_CONSUMABLES_INSTALL = 0x6800, + ID_HD_UI_CONFIRM_RQST = 0xBA00, + ID_UI_CONFIRM_RESP = 0xBB00, }; enum HD_OP_MODE { Index: sources/StateController.cpp =================================================================== diff -u -rb77bb1ccc020bf7ec700ea3e0feda43087516c5f -rc5b453debecfb1b22e40f073537077792fad4ab1 --- sources/StateController.cpp (.../StateController.cpp) (revision b77bb1ccc020bf7ec700ea3e0feda43087516c5f) +++ sources/StateController.cpp (.../StateController.cpp) (revision c5b453debecfb1b22e40f073537077792fad4ab1) @@ -11,16 +11,19 @@ connect(&_ApplicationController, SIGNAL(didUnhandledMsgAppController(const QVariantList &)), this , SLOT(doStateControllerUnhandledMsgReceived(const QVariantList &))); - _dryDemo.connectToState("Idle" , this, &StateController::onIdleStateChange ); - _dryDemo.connectToState("Tx_Params" , this, &StateController::onTreatmentParamsStateChange ); - _dryDemo.connectToState("Water_Sample" , this, &StateController::onWaterSampleStateChange ); - _dryDemo.connectToState("Consumables" , this, &StateController::onConsumablesStateChange ); - _dryDemo.connectToState("Disposables" , this, &StateController::onDisposablesStateChange ); - _dryDemo.connectToState("System_Prime" , this, &StateController::onSystemPrimeStateChange ); + _dryDemo.connectToState("Idle" , this, &StateController::onIdleStateChange ); + _dryDemo.connectToState("Tx_Params" , this, &StateController::onTreatmentParamsStateChange ); + _dryDemo.connectToState("Water_Sample" , this, &StateController::onWaterSampleStateChange ); + _dryDemo.connectToState("Consumables" , this, &StateController::onConsumablesStateChange ); + _dryDemo.connectToState("Disposables" , this, &StateController::onDisposablesStateChange ); + _dryDemo.connectToState("System_Prime" , this, &StateController::onSystemPrimeStateChange ); + _dryDemo.connectToState("BP_HR" , this, &StateController::onBPHRStateChange ); + _dryDemo.connectToState("Ultrafiltraion" , this, &StateController::onUltrafiltrationStateChange ); + _dryDemo.connectToState("Connection" , this, &StateController::onConnectionStateChange ); + _dryDemo.connectToState("Start_Tx" , this, &StateController::onStartTreatmentStateChange ); + _dryDemo.connectToState("End_Tx" , this, &StateController::onEndTreatmentStateChange ); + _dryDemo.connectToState("Disinfect" , this, &StateController::onDisinfectStateChange ); - - _dryDemo.connectToState("Disinfect" , this, &StateController::onDisinfectStateChange ); - _index = 0; _broadcastMsgCount = 0; _dryDemoCurrentCmd = CMD_NONE; @@ -132,6 +135,37 @@ isCmdValid = true; break; + case ID_UI_PATIENT_CONNECTION_RQST: + _dryDemoCmds[_dryDemoCurrentCmd][_index][IS_WAIT_NEEDED_INDEX] = false; + _dryDemoCurrentCmd = CMD_BP_HR; + isCmdValid = true; + break; + + case ID_UI_SET_UF_VOLUME_RQST: { + QVariantList msg; + msg.append(static_cast(ID_HD_SET_UF_VOLUME_RESP)); + msg.append(Can_Id::eChlid_HD_UI); + msg.append(1); + msg.append(0); + msg.append(1.8); + emit _ApplicationController.didActionTransmit(msg); + _dryDemoCurrentCmd = CMD_CONNECTION; + isCmdValid = true; + } + break; + + case ID_UI_PATIENT_CONNECTION_CONF_RQST: { + QVariantList msg; + msg.append(static_cast(ID_HD_PATINET_CONNECTION_CONF_RESP)); + msg.append(Can_Id::eChlid_HD_UI); + msg.append(1); + msg.append(0); + emit _ApplicationController.didActionTransmit(msg); + _dryDemoCurrentCmd = CMD_START_TX; + isCmdValid = true; + } + break; + case ID_NONE: case ID_HD_OP_MODE: case ID_FILTER_FLUSH_TIME_BC: @@ -140,6 +174,9 @@ case ID_HD_NEW_PARAMS_RESP: case ID_HD_SYS_SELF_TEST_TIME_BC: case ID_HD_DRY_SELF_TEST_TIME_BC: + case ID_HD_PRIMING_TIME_BC: + case ID_HD_SET_UF_VOLUME_RESP: + case ID_HD_PATINET_CONNECTION_CONF_RESP: // Do nothing break; } @@ -461,18 +498,9 @@ temp.append(static_cast(CMD_NONE)); // auto transition temp.append(static_cast(ID_PRE_TX_STATES_BC)); temp.append(Can_Id::eChlid_HD_Sync); - temp.append(4); - temp.append(0); - temp.append(0); - temp.append(0); - temp.append(0); - temp.append(1); - temp.append(0); - temp.append(0); - temp.append(0); - temp.append(0); - temp.append(0); - temp.append(0); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); temp.clear(); temp.append(true); // this is the timer @@ -484,7 +512,396 @@ temp.append(DEFAULT_TIMEOUT_S); _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(1); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(2); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(3); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(6); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(7); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(8); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(9); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(10); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(11); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(12); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(13); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(14); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(15); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(4); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(16); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(true); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_HD_PRIMING_TIME_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(DEFAULT_TIMEOUT_S); + temp.append(DEFAULT_TIMEOUT_S); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(1); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(2); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(3); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(4); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(5); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(6); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(7); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(8); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(9); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(10); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(11); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(5); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(12); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); // wait + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(6); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(true); // wait + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(6); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_SYSTEM_PRIME].append(temp); + temp.clear(); + temp.append("Transition_2_BP_HR"); + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_HD_OP_MODE)); + temp.append(Can_Id::eChlid_HD_UI); + temp.append(MODE_PRET); + temp.append(0); + _dryDemoCmds[CMD_BP_HR].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); // wait + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(7); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_BP_HR].append(temp); + temp.clear(); + + temp.append("Transition_2_Patient_Connection"); + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_HD_OP_MODE)); + temp.append(Can_Id::eChlid_HD_UI); + temp.append(MODE_PRET); + temp.append(0); + _dryDemoCmds[CMD_CONNECTION].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); // wait + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(7); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(2); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_CONNECTION].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(true); // wait + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(7); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(2); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_CONNECTION].append(temp); + temp.clear(); + + temp.append("Transition_2_Start_Tx"); + temp.append(false); + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_HD_OP_MODE)); + temp.append(Can_Id::eChlid_HD_UI); + temp.append(MODE_PRET); + temp.append(0); + _dryDemoCmds[CMD_START_TX].append(temp); + temp.clear(); + temp.append(false); // this is the timer + temp.append(false); // wait + temp.append(static_cast(CMD_NONE)); // auto transition + temp.append(static_cast(ID_PRE_TX_STATES_BC)); + temp.append(Can_Id::eChlid_HD_Sync); + temp.append(7); temp.append(0); temp.append(0); temp.append(0); temp.append(0); + temp.append(0); temp.append(0); temp.append(0); temp.append(0); temp.append(3); + temp.append(0); temp.append(0); + _dryDemoCmds[CMD_START_TX].append(temp); + temp.clear(); + } void StateController::transitionApplicationToStandBy() @@ -498,6 +915,8 @@ _dryDemoCmds[CMD_DISPOSABLES][2][COUNT_DOWN_TIMER_INDEX] = DEFAULT_TIMEOUT_S; _dryDemoCmds[CMD_DISPOSABLES][4][IS_WAIT_NEEDED_INDEX] = true; + _dryDemoCmds[CMD_SYSTEM_PRIME][2][COUNT_DOWN_TIMER_INDEX] = DEFAULT_TIMEOUT_S; + QVariantList list; list.append(static_cast(ID_HD_OP_MODE)); list.append(Can_Id::eChlid_HD_UI); @@ -586,8 +1005,50 @@ } } +void StateController::onBPHRStateChange(bool active) +{ + if (active) { + qDebug() << "BP_HD active"; + QVariantList msg = _dryDemoCmds[_dryDemoCurrentCmd][_index].mid(RESP_MSG_START_INDEX); + emit _ApplicationController.didActionTransmit(msg); + _index++; + } +} +void StateController::onUltrafiltrationStateChange(bool active) +{ + if (active) { + qDebug() << "Ultrafiltraion active"; + } +} +void StateController::onConnectionStateChange(bool active) +{ + if(active) { + qDebug() << "Connection active"; + QVariantList msg = _dryDemoCmds[_dryDemoCurrentCmd][_index].mid(RESP_MSG_START_INDEX); + emit _ApplicationController.didActionTransmit(msg); + _index++; + } +} + +void StateController::onStartTreatmentStateChange(bool active) +{ + if (active) { + qDebug() << "Start Treatment active"; + QVariantList msg = _dryDemoCmds[_dryDemoCurrentCmd][_index].mid(RESP_MSG_START_INDEX); + emit _ApplicationController.didActionTransmit(msg); + _index++; + } +} + +void StateController::onEndTreatmentStateChange(bool active) +{ + if (active) { + qDebug() << "Treatment end active"; + } +} + void StateController::onDisinfectStateChange(bool active) { if (active) { Index: sources/StateController.h =================================================================== diff -u -rb77bb1ccc020bf7ec700ea3e0feda43087516c5f -rc5b453debecfb1b22e40f073537077792fad4ab1 --- sources/StateController.h (.../StateController.h) (revision b77bb1ccc020bf7ec700ea3e0feda43087516c5f) +++ sources/StateController.h (.../StateController.h) (revision c5b453debecfb1b22e40f073537077792fad4ab1) @@ -43,6 +43,12 @@ CMD_CONSUMABLES, CMD_DISPOSABLES, CMD_SYSTEM_PRIME, + CMD_BP_HR, + CMD_ULTRAFILTRATION, + CMD_CONNECTION, + CMD_START_TX, + CMD_END_TX, + CMD_DISINFECTION, }; QHash > _dryDemoCmds; @@ -64,7 +70,11 @@ void onConsumablesStateChange(bool active); void onDisposablesStateChange(bool active); void onSystemPrimeStateChange(bool active); + void onBPHRStateChange(bool active); + void onUltrafiltrationStateChange(bool active); + void onConnectionStateChange(bool active); + void onStartTreatmentStateChange(bool active); + void onEndTreatmentStateChange(bool active); - void onDisinfectStateChange(bool active); };