Index: sources/StateController.h =================================================================== diff -u -r260229a756a3ee29c681132bdc4d32204c215ceb -r38e3ae29c904d9ba0076930d429822260133d7e9 --- sources/StateController.h (.../StateController.h) (revision 260229a756a3ee29c681132bdc4d32204c215ceb) +++ sources/StateController.h (.../StateController.h) (revision 38e3ae29c904d9ba0076930d429822260133d7e9) @@ -28,19 +28,43 @@ void timerEvent(QTimerEvent *) override; private: + #define DEFAULT_TIMEOUT_S 10 #define TRANSITION_EVENT_INDEX 0 - #define RESP_MSG_START_INDEX 1 + #define RESP_MSG_START_INDEX 3 + #define IS_TIMER_INDEX 0 + #define IS_WAIT_NEEDED_INDEX 1 + #define NEXT_AUTO_TRANSITION_INDEX 2 + #define COUNT_DOWN_TIMER_INDEX 6 - QHash _dryDemoMsgTable; - QHash _dryDemoBroadcast; - drydemoXMLstates _dryDemo; - Can::MessageID _activeMessageID = Can::ID_NONE; + enum User_Command_ID { + CMD_NONE = -1, + CMD_TX_PARAMS = 0 , + CMD_WATER_SAMPLE, + CMD_CONSUMABLES, + CMD_DISPOSABLES, + }; - void initReceivedMessagesHash(); - void initBroadcastMessagesHash(); - void transitionToStandBy(); + QHash > _dryDemoCmds; + quint16 _index; + quint16 _broadcastMsgCount; + User_Command_ID _dryDemoCurrentCmd; + + QHash _dryDemoMsgTable; // TODO remove + QHash _dryDemoBroadcast; // TODo remove + drydemoXMLstates _dryDemo; // todo REMOVE + Can::MessageID _activeMessageID = Can::ID_NONE; // TODO remove + + void initMessagesHashTable(); + void transitionApplicationToStandBy(); + void onIdleStateChange(bool active); void onTreatmentParamsStateChange(bool active); + void onWaterSampleStateChange(bool active); + void onConsumablesStateChange(bool active); + void onDisposablesStateChange(bool active); + void onSystemPrimeStateChange(bool active); + + void onDisinfectStateChange(bool active); };