Index: TD_AirTrap/interface.ui =================================================================== diff -u --- TD_AirTrap/interface.ui (revision 0) +++ TD_AirTrap/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&2 TD Air Trap + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 42 : [0x2A00] : TD Air Trap + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_AirTrap/loader.py =================================================================== diff -u --- TD_AirTrap/loader.py (revision 0) +++ TD_AirTrap/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file Index: TD_Battery/interface.ui =================================================================== diff -u --- TD_Battery/interface.ui (revision 0) +++ TD_Battery/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&3 TD Battery + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 148 : [0x9400] : TD Battery + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_Battery/loader.py =================================================================== diff -u --- TD_Battery/loader.py (revision 0) +++ TD_Battery/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file Index: TD_BloodPump/interface.ui =================================================================== diff -u --- TD_BloodPump/interface.ui (revision 0) +++ TD_BloodPump/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&4 TD Blood Pump + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 17 : [0x1100] : TD Blood pump + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_BloodPump/loader.py =================================================================== diff -u --- TD_BloodPump/loader.py (revision 0) +++ TD_BloodPump/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file Index: TD_Switches/interface.ui =================================================================== diff -u --- TD_Switches/interface.ui (revision 0) +++ TD_Switches/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&5 TD Switches + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 147 : [0x9300] : TD Switches + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_Switches/loader.py =================================================================== diff -u --- TD_Switches/loader.py (revision 0) +++ TD_Switches/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file Index: TD_Temperatures/interface.ui =================================================================== diff -u --- TD_Temperatures/interface.ui (revision 0) +++ TD_Temperatures/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&6 TD Temperatures + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 145 : [0x9100] : TD Op Mode + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_Temperatures/loader.py =================================================================== diff -u --- TD_Temperatures/loader.py (revision 0) +++ TD_Temperatures/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file Index: TD_Valves/interface.ui =================================================================== diff -u --- TD_Valves/interface.ui (revision 0) +++ TD_Valves/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&7 TD Valves + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + XX : [0xXX00] : TD Valves + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_Valves/loader.py =================================================================== diff -u --- TD_Valves/loader.py (revision 0) +++ TD_Valves/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file Index: TD_Voltages/interface.ui =================================================================== diff -u --- TD_Voltages/interface.ui (revision 0) +++ TD_Voltages/interface.ui (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,449 @@ + + + ui_interface + + + + 0 + 0 + 1026 + 337 + + + + &1 States/&8 TD Voltages + + + + + + + + + 320 + 215 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 9 + + + 2 + + + true + + + 85 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 0 : OP Mode + + + + + Description + + + + + MODE_FAUL + + + + + fault mode + + + + + MODE_SERV + + + + + Service mode + + + + + MODE_INIT + + + + + Initialization & POST mode + + + + + MODE_STAN + + + + + Standby mode + + + + + MODE_TPAR + + + + + Treatment Parameters (Validation) mode + + + + + MODE_PRET + + + + + Pre-Treatment mode + + + + + MODE_TREA + + + + + Treatment mode + + + + + MODE_POST + + + + + Post-Treatment mode + + + + + MODE_NLEG + + + + + illegal mode transition + + + + + + + + + 400 + 285 + + + + + 8 + 50 + false + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QAbstractItemView::NoEditTriggers + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + 6 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby (home actuators). + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment. + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for UI to send disinfect option. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE + + + + + Wait for DD cleaning mode command response state. + + + + + STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE + + + + + Wait for DD cleaning mode to start state. + + + + + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE + + + + + Cleaning mode in progress state. + + + + + + + + + + + + reset + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 29 : [0x1D00] : TD Voltages + + + Qt::AlignCenter + + + + + + + Send + + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_Voltages/loader.py =================================================================== diff -u --- TD_Voltages/loader.py (revision 0) +++ TD_Voltages/loader.py (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) @@ -0,0 +1,74 @@ +""" + The TD Air Trap Mode ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# plugin specific +from leahi_dialin.common.td_defs import TDOpModes +from leahi_dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Air Trap ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging() + super().__init__(os.path.dirname(__file__)) + + + def _init_loader(self): + """ + finds and creates widgets + :return: none + """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) + self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_treatment_states) + # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) + # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) + self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) + self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + + @Slot() + def do_treatment_states(self): + """ + the slot for state change + :return: none + """ + op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) + sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) + self.td_interface.td_operation_mode( + op_mode, + sub_mode + ) \ No newline at end of file