Index: simulator/plugins/HDOpMode/interface.ui
===================================================================
diff -u
--- simulator/plugins/HDOpMode/interface.ui (revision 0)
+++ simulator/plugins/HDOpMode/interface.ui (revision db6abd41ec9e5a31e858ac8a286cb59520a93ff2)
@@ -0,0 +1,274 @@
+
+
+ ui_interface
+
+
+
+ 0
+ 0
+ 340
+ 271
+
+
+
+ HD Op Mode
+
+
+ -
+
+
+
+ 10
+
+
+
+ color: rgb(238, 238, 236);
+background-color: rgb(52, 105, 2);
+
+
+ HD Op Mode
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ reset
+
+
+
+ -
+
+
-
+
+
+
+ 320
+ 215
+
+
+
+
+ 8
+ 50
+ false
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ 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
+
+
+
+
+ HD 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
+
+
+ -
+
+ illegale mode transition
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 3
+
+
+
+
+
+
+
+
+
Index: simulator/plugins/HDOpMode/loader.py
===================================================================
diff -u
--- simulator/plugins/HDOpMode/loader.py (revision 0)
+++ simulator/plugins/HDOpMode/loader.py (revision db6abd41ec9e5a31e858ac8a286cb59520a93ff2)
@@ -0,0 +1,62 @@
+"""
+ The HD Op Mode ui loader
+"""
+# Python
+import os
+# Qt
+from PySide2 import QtWidgets
+from PySide2.QtCore import Slot
+# parent
+from simulator.dynamicloader import DynamicLoader
+# hd Simulator
+from dialin.ui.hd_simulator import HDSimulator, TXStates
+# plugin specific
+from dialin.common.hd_defs import HDDefs
+
+
+class Loader(DynamicLoader):
+ """
+ The HD Op Mode ui loader
+ """
+ tbReset: QtWidgets.QToolButton
+ tblOpMode: QtWidgets.QTableWidget
+
+ def __init__(self, hd_simulator: HDSimulator):
+ super().__init__(os.path.dirname(__file__), hd_simulator)
+ print(" ---------- ", self.hd_simulator)
+
+ def _init_loader(self):
+ """
+ finds and creates widgets
+ :return: none
+ """
+ self.tbReset = self.find_tool_button('tbReset')
+
+ self.tblOpMode = self.find_table_widget('tblOpMode')
+
+ def _init_connections(self):
+ """
+ initializes the widgets connections
+ :return: none
+ """
+ self.tbReset.clicked.connect(self._init_widgets)
+ self.tblOpMode.cellClicked.connect(self.do_treatment_states)
+
+ @Slot()
+ def _init_widgets(self):
+ """
+ initializes the widgets' properties
+ :return: none
+ """
+ self.tblOpMode.setCurrentCell(HDDefs.MODE_INIT.value, 0)
+
+ @Slot()
+ def do_treatment_states(self):
+ """
+ the slot for state change
+ :return: none
+ """
+ op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text())
+ self.hd_simulator.cmd_send_hd_operation_mode(
+ op_mode
+ )
Index: simulator/plugins/__pretreatmentstates/interface.ui
===================================================================
diff -u
--- simulator/plugins/__pretreatmentstates/interface.ui (revision 0)
+++ simulator/plugins/__pretreatmentstates/interface.ui (revision db6abd41ec9e5a31e858ac8a286cb59520a93ff2)
@@ -0,0 +1,525 @@
+
+
+ ui_interface
+
+
+
+ 0
+ 0
+ 576
+ 690
+
+
+
+ &Pre-Treatment/Pre-Treatment &States
+
+
+ -
+
+
+
+ 10
+
+
+
+ color: rgb(238, 238, 236);
+background-color: rgb(252, 175, 62);
+
+
+ Pre-Treatment States
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ reset
+
+
+
+ -
+
+
-
+
+
+
+ 275
+ 130
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ true
+
+
+ 260
+
+
+ 21
+
+
+
+ Installation States
+
+
+
+
+ -
+
+
+
+ 225
+ 100
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ true
+
+
+ 210
+
+
+ 21
+
+
+
+ Dry Self-Tests States
+
+
+
+
+ -
+
+
+
+ 0
+ 71
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ true
+
+
+ 260
+
+
+ 21
+
+
+
+ Prime States
+
+
+
+
+ -
+
+
+
+ 225
+ 155
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ true
+
+
+ 210
+
+
+ 21
+
+
+
+ Patient Connection States
+
+
+
+
+ -
+
+
+
+ 275
+ 100
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ true
+
+
+ 260
+
+
+ 21
+
+
+
+ No Cartridge Self-Tests States
+
+
+
+
+ -
+
+
+
+ 0
+ 131
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ false
+
+
+ true
+
+
+ 210
+
+
+ 21
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ Water Sample States
+
+
+ -
+
+ SAMPLE_WATER_SETUP_STATE
+
+
+ -
+
+ SAMPLE_WATER_STATE
+
+
+
+
+ -
+
+
+
+ 295
+ 200
+
+
+
+
+ 8
+ 50
+ false
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ true
+
+
+ QAbstractItemView::SingleSelection
+
+
+ QAbstractItemView::SelectRows
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ 540
+
+
+ true
+
+
+ 18
+
+
+ 21
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 2
+
+
+
+
+ 3
+
+
+
+
+ 4
+
+
+
+
+ 5
+
+
+
+
+ 6
+
+
+
+
+ 7
+
+
+
+
+ Pre-Treatment States (subMode)
+
+
+ -
+
+ HD_PRE_TREATMENT_START_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_WATER_SAMPLE_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_CART_INSTALL_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_SELF_TEST_DRY_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_PRIME_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_RECIRCULATE_STATE
+
+
+ -
+
+ HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 3
+
+
+
+
+
+
+
+
+
Index: simulator/plugins/__pretreatmentstates/loader.py
===================================================================
diff -u
--- simulator/plugins/__pretreatmentstates/loader.py (revision 0)
+++ simulator/plugins/__pretreatmentstates/loader.py (revision db6abd41ec9e5a31e858ac8a286cb59520a93ff2)
@@ -0,0 +1,106 @@
+"""
+ The Ultrafiltration ui loader
+"""
+# Python
+import os
+# Qt
+from PySide2 import QtWidgets
+from PySide2.QtCore import Slot
+# parent
+from simulator.dynamicloader import DynamicLoader
+# hd Simulator
+from dialin.ui.hd_simulator import HDSimulator, TXStates
+# plugin specific
+# -- none --
+
+
+class Loader(DynamicLoader):
+ """
+ The Ultrafiltration ui loader
+ """
+ tbReset: QtWidgets.QToolButton
+
+ tblSubMode: QtWidgets.QTableWidget
+ tblWaterSampleStates: QtWidgets.QTableWidget
+ tblNoCartridgeSelfTestStates: QtWidgets.QTableWidget
+ tblInstallationStates: QtWidgets.QTableWidget
+ tblDrySelfTestStates: QtWidgets.QTableWidget
+ tblPrimeStates: QtWidgets.QTableWidget
+ tblPatientConnectionStates: QtWidgets.QTableWidget
+
+ def __init__(self, hd_simulator: HDSimulator):
+ super().__init__(os.path.dirname(__file__), hd_simulator)
+ print(" ---------- ", self.hd_simulator)
+
+ def _init_loader(self):
+ """
+ finds and creates widgets
+ :return: none
+ """
+ self.tbReset = self.find_tool_button('tbReset')
+
+ self.tblSubMode = self.find_table_widget('tblSubMode')
+ self.tblWaterSampleStates = self.find_table_widget('tblWaterSampleStates')
+ self.tblNoCartridgeSelfTestStates = self.find_table_widget('tblNoCartridgeSelfTestStates')
+ self.tblInstallationStates = self.find_table_widget('tblInstallationStates')
+ self.tblDrySelfTestStates = self.find_table_widget('tblDrySelfTestStates')
+ self.tblPrimeStates = self.find_table_widget('tblPrimeStates')
+ self.tblPatientConnectionStates = self.find_table_widget('tblPatientConnectionStates')
+
+ def _init_connections(self):
+ """
+ initializes the widgets connections
+ :return: none
+ """
+ self.tbReset.clicked.connect(self._init_widgets)
+
+ self.tblSubMode.cellClicked.connect(self.do_treatment_states)
+ self.tblWaterSampleStates.cellClicked.connect(self.do_treatment_states)
+ self.tblNoCartridgeSelfTestStates.cellClicked.connect(self.do_treatment_states)
+ self.tblInstallationStates.cellClicked.connect(self.do_treatment_states)
+ self.tblDrySelfTestStates.cellClicked.connect(self.do_treatment_states)
+ self.tblPrimeStates.cellClicked.connect(self.do_treatment_states)
+ self.tblPatientConnectionStates.cellClicked.connect(self.do_treatment_states)
+ # apply/send the initial states
+ # self.do_treatment_states()
+
+ @Slot()
+ def _init_widgets(self):
+ """
+ initializes the widgets' properties
+ :return: none
+ """
+ self.tblSubMode.setCurrentCell(TXStates.TREATMENT_START_STATE, 0)
+ self.tblWaterSampleStates.setCurrentCell(TXStates.UF_OFF_STATE, 0)
+ self.tblNoCartridgeSelfTestStates.setCurrentCell(TXStates.SALINE_BOLUS_STATE_IDLE, 0)
+ self.tblInstallationStates.setCurrentCell(TXStates.HEPARIN_STATE_OFF, 0)
+ self.tblDrySelfTestStates.setCurrentCell(TXStates.RINSEBACK_STOP_INIT_STATE, 0)
+ self.tblPrimeStates.setCurrentCell(TXStates.TREATMENT_RECIRC_RECIRC_STATE, 0)
+ self.tblPatientConnectionStates.setCurrentCell(TXStates.BLOOD_PRIME_RAMP_STATE, 0)
+
+ @Slot()
+ def do_treatment_states(self):
+ """
+ the slot for saline bolus state change
+ :return: none
+ """
+ sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text())
+ uf_state = int(self.tblUFStates.verticalHeaderItem(self.tblUFStates.currentRow()).text())
+ saline = int(self.tblSalineStates.verticalHeaderItem(self.tblSalineStates.currentRow()).text())
+ heparin = int(self.tblHeparinStates.verticalHeaderItem(self.tblHeparinStates.currentRow()).text())
+ rinseback = int(self.tblRinsebackStates.verticalHeaderItem(self.tblRinsebackStates.currentRow()).text())
+ recirculate = int(self.tblRecirculateStates.verticalHeaderItem(self.tblRecirculateStates.currentRow()).text())
+ blood_prime = int(self.tblBloodPrimeStates.verticalHeaderItem(self.tblBloodPrimeStates.currentRow()).text())
+ treatment_end = int(self.tblTreatmentEndStates.verticalHeaderItem(self.tblTreatmentEndStates.currentRow()).text())
+ treatment_stop = int(self.tblTreatmentStopStates.verticalHeaderItem(self.tblTreatmentStopStates.currentRow()).text())
+ self.hd_simulator.cmd_set_treatment_states_data(
+ sub_mode,
+ uf_state,
+ saline,
+ heparin,
+ rinseback,
+ recirculate,
+ blood_prime,
+ treatment_end,
+ treatment_stop
+ )
Index: simulator/plugins/treatmentranges/loader.py
===================================================================
diff -u -r341770d5391499aea02f9a840ac96e6562215699 -rdb6abd41ec9e5a31e858ac8a286cb59520a93ff2
--- simulator/plugins/treatmentranges/loader.py (.../loader.py) (revision 341770d5391499aea02f9a840ac96e6562215699)
+++ simulator/plugins/treatmentranges/loader.py (.../loader.py) (revision db6abd41ec9e5a31e858ac8a286cb59520a93ff2)
@@ -54,7 +54,7 @@
:return: none
"""
self.timer.timeout.connect(self.do_ranges_data)
- self.timer.timeout.connect(self.do_duration_data)
+ # self.timer.timeout.connect(self.do_duration_data)
self.sldDurationValue.valueChanged.connect(self.do_duration_data)
def _init_widgets(self):