Index: TD_OpMode/interface.ui =================================================================== diff -u --- TD_OpMode/interface.ui (revision 0) +++ TD_OpMode/interface.ui (revision 73accac8b9f21826fdb4364db8bc4d8ea046b383) @@ -0,0 +1,550 @@ + + + ui_interface + + + + 0 + 0 + 746 + 343 + + + + &1 States/&1 HD Op Mode + + + + + + + + + 0 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 18 : [0x1200] : TD Op Mode + + + Qt::AlignmentFlag::AlignCenter + + + + + + + reset + + + + + + + Send + + + + + + + + + + + + 320 + 215 + + + + + 8 + false + + + + Qt::ScrollBarPolicy::ScrollBarAlwaysOff + + + Qt::ScrollBarPolicy::ScrollBarAlwaysOff + + + QAbstractItemView::EditTrigger::NoEditTriggers + + + true + + + QAbstractItemView::SelectionMode::SingleSelection + + + QAbstractItemView::SelectionBehavior::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 + false + + + + Qt::ScrollBarPolicy::ScrollBarAlwaysOff + + + Qt::ScrollBarPolicy::ScrollBarAlwaysOff + + + QAbstractItemView::EditTrigger::NoEditTriggers + + + true + + + QAbstractItemView::SelectionMode::SingleSelection + + + QAbstractItemView::SelectionBehavior::SelectRows + + + true + + + false + + + 12 + + + 2 + + + true + + + 285 + + + true + + + true + + + 18 + + + 21 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 1 : SubMode + + + + + Description + + + + + STANDBY_START_STATE + + + + + Start standby + + + + + STANDBY_WAIT_FOR_TREATMENT_STATE + + + + + Wait for treatment + + + + + STANDBY_WAIT_FOR_DISINFECT_STATE + + + + + Wait for disinfection + + + + + STANDBY_WAIT_FOR_DG_FLUSH_CMD_RESPONSE_STATE + + + + + Wait for DG flush command response. + + + + + STANDBY_WAIT_FOR_DG_FLUSH_TO_START_STATE + + + + + Wait for DG flush to start. + + + + + STANDBY_DG_FLUSH_IN_PROGRESS_STATE + + + + + DG flush operation is in progress + + + + + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_CMD_RESPONSE_STATE + + + + + Wait for DG heat disinfect command response. + + + + + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_TO_START_STATE + + + + + Wait for DG heat disinfect to start. + + + + + STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE + + + + + DG heat disinfect operation is in progress. + + + + + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_CMD_RESPONSE_STATE + + + + + Wait for DG chemical disinfect command response. + + + + + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_TO_START_STATE + + + + + Wait for DG chemical disinfect to start. + + + + + STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE + + + + + DG chemical disinfect operation is in progress + + + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 3 + + + + + + + + tbSend + tbReset + tblOpMode + tblSubMode + + + + Index: TD_OpMode/loader.py =================================================================== diff -u --- TD_OpMode/loader.py (revision 0) +++ TD_OpMode/loader.py (revision 73accac8b9f21826fdb4364db8bc4d8ea046b383) @@ -0,0 +1,74 @@ +""" + The HD Op 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 dialin.common.td_defs import TDOpModes +from dialin.common.td_defs import TDStandbyStates + +# hd Simulator +from dialin.ui import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Op Mode ui loader + """ + + def __init__(self): + self.td_interface = TD_Messaging.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.cmd_send_hd_operation_mode( + op_mode, + sub_mode + )