Index: MainTreatmentData/interface.ui =================================================================== diff -u -rbae5b1087788172ce26168cd6b167d490f8993f4 -r03501309d607343ba120663e0abce74faeb34f59 --- MainTreatmentData/interface.ui (.../interface.ui) (revision bae5b1087788172ce26168cd6b167d490f8993f4) +++ MainTreatmentData/interface.ui (.../interface.ui) (revision 03501309d607343ba120663e0abce74faeb34f59) @@ -6,698 +6,744 @@ 0 0 - 732 - 296 + 867 + 542 - 732 - 296 + 100000 + 100000 &3 Treatment/&1 Main treatment - + - + - - - - 0 - 0 - - - - - 352 - 0 - - - - - 10 - - - - false - - - color: rgb(238, 238, 236); -background-color: rgb(92, 53, 102); - - - 61 : [0x3D00] : Saline Bolus - - - Qt::AlignCenter - - - - - + - - - - 180 - 0 - + + + + 10 + - - Target Volume + + color: rgb(238, 238, 236); +background-color: rgb(92, 53, 102); + - - - - - - 10000 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - 0 + Main Treatment Data - - - - - - - - - - - 180 - 0 - + + Qt::AlignCenter - - - 180 - 16777215 - - - - Cumulative Volume - - - - 10000 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - + - 0 + send - - - - - - - - 180 - 0 - - - - - 180 - 16777215 - - + - Current Delivered Volume + reset - - - - 10000 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 0 - - - - - - - - - 50 - 16777215 - - - - State - - - Qt::AlignJustify|Qt::AlignVCenter - - + + + + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 10 + + + + false + + + color: rgb(238, 238, 236); +background-color: rgb(92, 53, 102); + + + 61 : [0x3D00] : Saline Bolus + + + Qt::AlignCenter + + + + + + + + + + 180 + 0 + + + + Target Volume + + + + + + + 10000 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + + 180 + 0 + + + + + 180 + 16777215 + + + + Cumulative Volume + + + + + + + 10000 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + + 180 + 0 + + + + + 180 + 16777215 + + + + Current Delivered Volume + + + + + + + 10000 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + + 50 + 16777215 + + + + State + + + Qt::AlignJustify|Qt::AlignVCenter + + + + + + + + 50 + 16777215 + + + + 1000 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + - - - - - 50 - 16777215 - - - - 1000 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - 0 - 0 - - - - - 352 - 0 - - - - - 16777215 - 16777215 - - - - - 10 - - - - color: rgb(238, 238, 236); + + + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 16777215 + 16777215 + + + + + 10 + + + + color: rgb(238, 238, 236); background-color: rgb(92, 53, 102); - - - 59 : [0x3B00] : Treament Time - - - Qt::AlignCenter - - - - - - - - - - 180 - 0 - - - - TX Duration - - + + + 59 : [0x3B00] : Treament Time + + + Qt::AlignCenter + + + + + + + + + + 180 + 0 + + + + TX Duration + + + + + + + 480 + + + 15 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + + 180 + 0 + + + + Elapsed Time + + + + + + + 480 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + Qt::Vertical + + + + 20 + 60 + + + + + - - - - 480 - - - 15 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 0 - - - - - - - - - - - - 180 - 0 - - - - Elapsed Time - - - - - - - 480 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 0 - - - - - - - - - Qt::Vertical - - - - 20 - 60 - - - - - - - - - - - - - 0 - 0 - - - - - 352 - 0 - - - - - 10 - - - - color: rgb(238, 238, 236); + + + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); background-color: rgb(92, 53, 102); - - - 62 : [0x3E00] : Ultrafiltration - - - Qt::AlignCenter - - - - - - - - - - 180 - 0 - - - - Set Volume L - - + + + 62 : [0x3E00] : Ultrafiltration + + + Qt::AlignCenter + + + + + + + + + + 180 + 0 + + + + Set Volume L + + + + + + + 10000 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + + 180 + 0 + + + + Target Rate L/Hr + + + + + + + 10000 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + + 180 + 0 + + + + Volume Delivered L + + + + + + + 10000 + + + Qt::Horizontal + + + + + + + + 50 + 0 + + + + 0 + + + + + + + + + + + State + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + - - - - 10000 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 0 - - - - - - - - - - - - 180 - 0 - - - - Target Rate L/Hr - - - - - - - 10000 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 0 - - - - - - - - - - - - 180 - 0 - - - - Volume Delivered L - - - - - - - 10000 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 0 - - - - - - - - - - - State - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - 0 - 0 - - - - - 352 - 0 - - - - - 16777215 - 16777215 - - - - - 10 - - - - color: rgb(238, 238, 236); + + + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 16777215 + 16777215 + + + + + 10 + + + + color: rgb(238, 238, 236); background-color: rgb(92, 53, 102); - - - 79 : [0x4F00] : Set Point Data - - - Qt::AlignCenter - - - - - - - - - - 180 - 0 - - - - Blood Flow - - + + + 79 : [0x4F00] : Set Point Data + + + Qt::AlignCenter + + + + + + + + + + 180 + 0 + + + + Blood Flow + + + + + + + + + + + + + + + 180 + 0 + + + + Dial Flow + + + + + + + + + + + + + + + 180 + 0 + + + + Dial Temp + + + + + + + + + + + + Qt::Vertical + + + + 20 + 10 + + + + + - - - - - - - - - - 180 - 0 - - - - Dial Flow - - - - - - - - - - - - - - - 180 - 0 - - - - Dial Temp - - - - - - - - - - - - Qt::Vertical - - - - 20 - 10 - - - - - + Qt::Vertical Index: MainTreatmentData/loader.py =================================================================== diff -u -rf9ec0e263221cccdf36e037c4729b0972cd45c07 -r03501309d607343ba120663e0abce74faeb34f59 --- MainTreatmentData/loader.py (.../loader.py) (revision f9ec0e263221cccdf36e037c4729b0972cd45c07) +++ MainTreatmentData/loader.py (.../loader.py) (revision 03501309d607343ba120663e0abce74faeb34f59) @@ -34,6 +34,9 @@ finds and creates widgets :return: none """ + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.saline_tgt_vol = self.find_widget(QtWidgets.QSlider , 'TargetVolumeSlider' ) self.saline_cum_vol = self.find_widget(QtWidgets.QSlider , 'CumulativeVolumeSlider' ) self.saline_bol_del = self.find_widget(QtWidgets.QSlider , 'SalineCurrDeliveredVolumeSlider' ) @@ -56,6 +59,9 @@ initializes the widgets connections :return: none """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_all_tx_data) + self.saline_tgt_vol .valueChanged.connect(self.do_saline_data) self.saline_cum_vol .valueChanged.connect(self.do_saline_data) self.saline_bol_del .valueChanged.connect(self.do_saline_data) @@ -159,4 +165,15 @@ blood_flow , dialysate_flow , dialysate_temp - ) \ No newline at end of file + ) + + @Slot() + def do_all_tx_data(self): + """ + the slot for treatment set point Data + :return: none + """ + self.do_saline_data() + self.do_uf_data() + self.do_tx_time_data() + self.do_tx_set_point_data() \ No newline at end of file Index: TD_BloodFlow/interface.ui =================================================================== diff -u --- TD_BloodFlow/interface.ui (revision 0) +++ TD_BloodFlow/interface.ui (revision 03501309d607343ba120663e0abce74faeb34f59) @@ -0,0 +1,226 @@ + + + ui_interface + + + + 0 + 0 + 596 + 240 + + + + &3 Treatment/&3 TD Blood Pump + + + + + + + + + 0 + 0 + + + + + 464 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(164, 0, 0); + + + 17 : [0x1100] : TD Blood Flow + + + Qt::AlignCenter + + + + + + + Send + + + + + + + reset + + + + + + + + + + + QLayout::SetMaximumSize + + + 10 + + + + + set Flow (H4) + + + + + + + 999 + + + + + + + rotor Count (H4) + + + + + + + 999 + + + + + + + pres Flow (H4) + + + + + + + 999 + + + + + + + hall State (H6) + + + + + + + 10 + + + + + + + + + 10 + + + + + meas Flow (H4) + + + + + + + 999.990000000000009 + + + + + + + rotor Speed (H4) + + + + + + + 999.990000000000009 + + + + + + + motor Speed (H4) + + + + + + + 999.990000000000009 + + + + + + + RPM (H6) + + + + + + + 999.990000000000009 + + + + + + + current Motor (H4) + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + Index: TD_BloodFlow/loader.py =================================================================== diff -u --- TD_BloodFlow/loader.py (revision 0) +++ TD_BloodFlow/loader.py (revision 03501309d607343ba120663e0abce74faeb34f59) @@ -0,0 +1,96 @@ +""" + The TD Blood Flow ui loader +""" +# Python +import os + +# Qt +from PySide2 import QtCore, QtWidgets +from PySide2.QtCore import Slot + +# parent +from engine.dynamicloader import DynamicLoader + +# hd Simulator +from leahi_dialin.ui.td_messaging import TD_Messaging + + +class Loader(DynamicLoader): + """ + The TD Blood Flow 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.sFlow = self.find_widget(QtWidgets.QSpinBox , 'setFlowSpinBox' ) + self.mFlow = self.find_widget(QtWidgets.QDoubleSpinBox , 'measFlowDoubleSpinBox' ) + self.rotCount = self.find_widget(QtWidgets.QSpinBox , 'rotCountSpinBox' ) + self.rotSpeed = self.find_widget(QtWidgets.QDoubleSpinBox , 'rotSpeedDoubleSpinBox' ) + self.presFlow = self.find_widget(QtWidgets.QSpinBox , 'presFlowSpinBox' ) + self.motSpeed = self.find_widget(QtWidgets.QDoubleSpinBox , 'motSpeedDoubleSpinBox' ) + self.hallState = self.find_widget(QtWidgets.QSpinBox , 'hallStateSpinBox' ) + self.sRPM = self.find_widget(QtWidgets.QDoubleSpinBox , 'rPMDoubleSpinBox' ) + self.currMotor = self.find_widget(QtWidgets.QDoubleSpinBox , 'CurrMotorDoubleSpinBox' ) + + def _init_connections(self): + """ + initializes the widgets connections + :return: none + """ + self.tbReset.clicked.connect(self._init_widgets) + self.tbSend.clicked.connect(self.do_bp_data) + + @Slot() + def _init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ + self.sFlow.setValue(0) + self.mFlow.setValue(0) + self.rotCount.setValue(0) + self.rotSpeed.setValue(0) + self.presFlow.setValue(0) + self.motSpeed.setValue(0) + self.hallState.setValue(0) + self.sRPM.setValue(0) + self.currMotor.setValue(0) + + @Slot() + def do_bp_data(self): + """ + the slot for bp data change + :return: none + """ + H4_set_flow = self.sFlow .value() + H4_meas_flow = self.mFlow .value() + H4_rot_speed = self.rotSpeed .value() + H4_mot_speed = self.motSpeed .value() + H4_curr_motor = self.currMotor .value() + H4_set_rpm = self.sRPM .value() + H4_rot_count = self.rotCount .value() + H4_pres_flow = self.presFlow .value() + H6_rot_hall_state = self.hallState .value() + + self.td_interface.td_blood_flow( + H4_set_flow , + H4_meas_flow , + H4_rot_speed , + H4_mot_speed , + H4_curr_motor , + H4_set_rpm , + H4_rot_count , + H4_pres_flow , + H6_rot_hall_state + ) \ No newline at end of file Fisheye: Tag 03501309d607343ba120663e0abce74faeb34f59 refers to a dead (removed) revision in file `TD_BloodPump/interface.ui'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 03501309d607343ba120663e0abce74faeb34f59 refers to a dead (removed) revision in file `TD_BloodPump/loader.py'. Fisheye: No comparison available. Pass `N' to diff? Index: TD_Pressures/loader.py =================================================================== diff -u -ra374e714c180996c7fb37c3eee15faeec217e96e -r03501309d607343ba120663e0abce74faeb34f59 --- TD_Pressures/loader.py (.../loader.py) (revision a374e714c180996c7fb37c3eee15faeec217e96e) +++ TD_Pressures/loader.py (.../loader.py) (revision 03501309d607343ba120663e0abce74faeb34f59) @@ -32,41 +32,44 @@ finds and creates widgets :return: none """ + self.tbReset = self.find_widget(QtWidgets.QToolButton ,'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton ,'tbSend' ) self.lblArterialTitle = self.find_widget(QtWidgets.QLabel ,'lblArterialTitle') - self.lblVenousTitle = self.find_widget(QtWidgets.QLabel ,'lblVenousTitle') - self.lblTMPTitle = self.find_widget(QtWidgets.QLabel ,'lblTMPTitle') + self.lblVenousTitle = self.find_widget(QtWidgets.QLabel ,'lblVenousTitle' ) + self.lblTMPTitle = self.find_widget(QtWidgets.QLabel ,'lblTMPTitle' ) - self.lblArterialLimitLow = self.find_widget(QtWidgets.QLabel ,'lblArterialLimitLow') - self.lblArterialLimitHigh = self.find_widget(QtWidgets.QLabel ,'lblArterialLimitHigh') - self.lblVenousLimitLow = self.find_widget(QtWidgets.QLabel ,'lblVenousLimitLow') - self.lblVenousLimitHigh = self.find_widget(QtWidgets.QLabel ,'lblVenousLimitHigh') - self.lblTMPLimitLow = self.find_widget(QtWidgets.QLabel ,'lblTMPLimitLow') - self.lblTMPLimitHigh = self.find_widget(QtWidgets.QLabel ,'lblTMPLimitHigh') + self.lblArterialLimitLow = self.find_widget(QtWidgets.QLabel ,'lblArterialLimitLow' ) + self.lblArterialLimitHigh = self.find_widget(QtWidgets.QLabel ,'lblArterialLimitHigh' ) + self.lblVenousLimitLow = self.find_widget(QtWidgets.QLabel ,'lblVenousLimitLow' ) + self.lblVenousLimitHigh = self.find_widget(QtWidgets.QLabel ,'lblVenousLimitHigh' ) + self.lblTMPLimitLow = self.find_widget(QtWidgets.QLabel ,'lblTMPLimitLow' ) + self.lblTMPLimitHigh = self.find_widget(QtWidgets.QLabel ,'lblTMPLimitHigh' ) - self.spnArterialLimitLow = self.find_widget(QtWidgets.QSpinBox ,'spnArterialLimitLow') - self.spnArterialLimitHigh = self.find_widget(QtWidgets.QSpinBox ,'spnArterialLimitHigh') - self.spnVenousLimitLow = self.find_widget(QtWidgets.QSpinBox ,'spnVenousLimitLow') - self.spnVenousLimitHigh = self.find_widget(QtWidgets.QSpinBox ,'spnVenousLimitHigh') - self.spnTMPLimitLow = self.find_widget(QtWidgets.QSpinBox ,'spnTMPLimitLow') - self.spnTMPLimitHigh = self.find_widget(QtWidgets.QSpinBox ,'spnTMPLimitHigh') + self.spnArterialLimitLow = self.find_widget(QtWidgets.QSpinBox ,'spnArterialLimitLow' ) + self.spnArterialLimitHigh = self.find_widget(QtWidgets.QSpinBox ,'spnArterialLimitHigh' ) + self.spnVenousLimitLow = self.find_widget(QtWidgets.QSpinBox ,'spnVenousLimitLow' ) + self.spnVenousLimitHigh = self.find_widget(QtWidgets.QSpinBox ,'spnVenousLimitHigh' ) + self.spnTMPLimitLow = self.find_widget(QtWidgets.QSpinBox ,'spnTMPLimitLow' ) + self.spnTMPLimitHigh = self.find_widget(QtWidgets.QSpinBox ,'spnTMPLimitHigh' ) - self.sldArterialValue = self.find_widget(QtWidgets.QSlider ,'sldArterialValue') - self.sldArterialValueLong = self.find_widget(QtWidgets.QSlider ,'sldArterialValueLong') - self.sldVenousValue = self.find_widget(QtWidgets.QSlider ,'sldVenousValue') - self.sldVenousValueLong = self.find_widget(QtWidgets.QSlider ,'sldVenousValueLong') - self.sldTMPValue = self.find_widget(QtWidgets.QSlider ,'sldTMPValue') + self.sldArterialValue = self.find_widget(QtWidgets.QSlider ,'sldArterialValue' ) + self.sldArterialValueLong = self.find_widget(QtWidgets.QSlider ,'sldArterialValueLong' ) + self.sldVenousValue = self.find_widget(QtWidgets.QSlider ,'sldVenousValue' ) + self.sldVenousValueLong = self.find_widget(QtWidgets.QSlider ,'sldVenousValueLong' ) + self.sldTMPValue = self.find_widget(QtWidgets.QSlider ,'sldTMPValue' ) - self.spnLimitState = self.find_widget(QtWidgets.QSpinBox ,'spnLimitState') + self.spnLimitState = self.find_widget(QtWidgets.QSpinBox ,'spnLimitState' ) + self.lblArterialTitle .setText (f"{self.lblArterialTitle .text()} [{Ranges.ARTERIAL_PRESSURE_MINIMUM},{Ranges.ARTERIAL_PRESSURE_MAXIMUM}]" ) + self.lblVenousTitle .setText (f"{self.lblVenousTitle .text()} [{Ranges.VENOUS_PRESSURE_MINIMUM},{Ranges.VENOUS_PRESSURE_MAXIMUM}]" ) + self.lblTMPTitle .setText (f"{self.lblTMPTitle .text()} [{Ranges.TMP_PRESSURE_MINIMUM},{Ranges.TMP_PRESSURE_MAXIMUM}]" ) + + def _init_widgets(self): """ initializes the widgets' properties :return: none """ - self.lblArterialTitle .setText (f"{self.lblArterialTitle .text()} [{Ranges.ARTERIAL_PRESSURE_MINIMUM},{Ranges.ARTERIAL_PRESSURE_MAXIMUM}]" ) - self.lblVenousTitle .setText (f"{self.lblVenousTitle .text()} [{Ranges.VENOUS_PRESSURE_MINIMUM},{Ranges.VENOUS_PRESSURE_MAXIMUM}]" ) - self.lblTMPTitle .setText (f"{self.lblTMPTitle .text()} [{Ranges.TMP_PRESSURE_MINIMUM},{Ranges.TMP_PRESSURE_MAXIMUM}]" ) - self.lblArterialLimitLow .setText (f"{Ranges.ARTERIAL_PRESSURE_LOW_MIN}\n{Ranges.ARTERIAL_PRESSURE_LOW_MAX}" ) self.lblArterialLimitHigh .setText (f"{Ranges.ARTERIAL_PRESSURE_HIGH_MIN}\n{Ranges.ARTERIAL_PRESSURE_HIGH_MAX}") self.lblVenousLimitLow .setText (f"{Ranges.VENOUS_PRESSURE_LOW_MIN}\n{Ranges.VENOUS_PRESSURE_LOW_MAX}" ) @@ -123,7 +126,9 @@ :return: none """ - # sending the CANBus message when slider value changed + self.tbReset .clicked.connect(self._init_widgets) + self.tbSend .clicked.connect(self.do_pressures_data) + self.sldArterialValue .valueChanged.connect(self.do_pressures_data) self.sldArterialValueLong .valueChanged.connect(self.do_pressures_data) self.sldVenousValue .valueChanged.connect(self.do_pressures_data) Index: TD_TreatmentStates/loader.py =================================================================== diff -u -ra374e714c180996c7fb37c3eee15faeec217e96e -r03501309d607343ba120663e0abce74faeb34f59 --- TD_TreatmentStates/loader.py (.../loader.py) (revision a374e714c180996c7fb37c3eee15faeec217e96e) +++ TD_TreatmentStates/loader.py (.../loader.py) (revision 03501309d607343ba120663e0abce74faeb34f59) @@ -1,5 +1,5 @@ """ - The Ultrafiltration ui loader + The Treatment States ui loader """ # Python import os @@ -20,21 +20,9 @@ class Loader(DynamicLoader): """ - The Ultrafiltration ui loader + The Treatment States ui loader """ - tbSend: QtWidgets.QToolButton - tbReset: QtWidgets.QToolButton - tblSubMode: QtWidgets.QTableWidget - tblUFStates: QtWidgets.QTableWidget - tblSalineStates: QtWidgets.QTableWidget - tblHeparinStates: QtWidgets.QTableWidget - tblRinsebackStates: QtWidgets.QTableWidget - tblRecirculateStates: QtWidgets.QTableWidget - tblBloodPrimeStates: QtWidgets.QTableWidget - tblTreatmentEndStates: QtWidgets.QTableWidget - tblTreatmentStopStates: QtWidgets.QTableWidget - def __init__(self): self.td_interface = TD_Messaging() super().__init__(os.path.dirname(__file__)) @@ -76,9 +64,8 @@ self.tblTreatmentEndStates .currentCellChanged.connect(self.do_treatment_states) self.tblSalineStates .currentCellChanged.connect(self.do_treatment_states) self.tblHeparinStates .currentCellChanged.connect(self.do_treatment_states) - # apply/send the initial states - # self.do_treatment_states() + @Slot() def _init_widgets(self): """ @@ -99,7 +86,7 @@ @Slot() def do_treatment_states(self): """ - the slot for saline bolus state change + the slot for Treatment state changes :return: none """ sub_mode = int(self.tblSubMode .verticalHeaderItem(self.tblSubMode .currentRow()).text())