Index: TD_Pressures/loader.py =================================================================== diff -u -r03501309d607343ba120663e0abce74faeb34f59 -ra7779af44ced3be6e30e4d4d67125d171a641d09 --- TD_Pressures/loader.py (.../loader.py) (revision 03501309d607343ba120663e0abce74faeb34f59) +++ TD_Pressures/loader.py (.../loader.py) (revision a7779af44ced3be6e30e4d4d67125d171a641d09) @@ -13,6 +13,9 @@ # Plugin specific from leahi_dialin.ui.common import Ranges +from leahi_dialin.protocols import CAN +from leahi_dialin.common.msg_defs import MsgIds +from leahi_dialin.utils import conversions # hd Simulator from leahi_dialin.ui.td_messaging import TD_Messaging @@ -25,7 +28,12 @@ def __init__(self): self.td_interface = TD_Messaging() + self.can_interface = self.td_interface.can_interface super().__init__(os.path.dirname(__file__)) + if self.can_interface is not None: + self.can_interface.register_receiving_publication_function(CAN.CanChannels.ui_to_td_ch_id, + MsgIds.MSG_ID_UI_PRESSURE_LIMIT_WIDEN_REQUEST.value, + self.handle_pressures_widen_request) def _init_loader(self): """ @@ -57,9 +65,15 @@ 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.sldTmpValueLong = self.find_widget(QtWidgets.QSlider ,'sldTmpValueLong' ) + self.sldBarometric = self.find_widget(QtWidgets.QSlider ,'sldBarometric' ) self.spnLimitState = self.find_widget(QtWidgets.QSpinBox ,'spnLimitState' ) + self.tbPressureWidenSend = self.find_widget(QtWidgets.QToolButton ,'tbPressuresWidenSend' ) + self.spnPressureWidenRejection = self.find_widget(QtWidgets.QSpinBox ,'PressuresWidenReasonSpinBox' ) + self.lblPressureWidenReq = self.find_widget(QtWidgets.QLabel ,'lbPressureWidenRequest' ) + 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}]" ) @@ -92,6 +106,12 @@ self.sldTMPValue .setMinimum (Ranges.TMP_PRESSURE_MINIMUM) self.sldTMPValue .setMaximum (Ranges.TMP_PRESSURE_MAXIMUM) self.sldTMPValue .setValue (0) + self.sldTmpValueLong .setMinimum (Ranges.TMP_PRESSURE_MINIMUM) + self.sldTmpValueLong .setMaximum (Ranges.TMP_PRESSURE_MAXIMUM) + self.sldTmpValueLong .setValue (0) + self.sldBarometric .setMinimum (Ranges.TMP_PRESSURE_MINIMUM) + self.sldBarometric .setMaximum (Ranges.TMP_PRESSURE_MAXIMUM) + self.sldBarometric .setValue (0) self.spnArterialLimitLow .setMinimum (Ranges.ARTERIAL_PRESSURE_LOW_MIN) self.spnArterialLimitLow .setMaximum (Ranges.ARTERIAL_PRESSURE_LOW_MAX) @@ -118,6 +138,8 @@ self.spnTMPLimitHigh .setValue (Ranges.TMP_PRESSURE_HIGH_DEF) self.spnLimitState .setValue(0) + self.spnPressureWidenRejection.setValue(0) + self.lblPressureWidenReq.setText("-") def _init_connections(self): @@ -134,6 +156,8 @@ self.sldVenousValue .valueChanged.connect(self.do_pressures_data) self.sldVenousValueLong .valueChanged.connect(self.do_pressures_data) self.sldTMPValue .valueChanged.connect(self.do_pressures_data) + self.sldTmpValueLong .valueChanged.connect(self.do_pressures_data) + self.sldBarometric .valueChanged.connect(self.do_pressures_data) self.spnArterialLimitLow .valueChanged.connect(self.do_pressures_data) self.spnArterialLimitHigh .valueChanged.connect(self.do_pressures_data) @@ -143,8 +167,10 @@ self.spnTMPLimitHigh .valueChanged.connect(self.do_pressures_data) self.spnLimitState .valueChanged.connect(self.do_pressures_data) + self.tbPressureWidenSend .clicked.connect(self.do_pressures_widen_response) + @Slot() def do_pressures_data(self): """ @@ -161,8 +187,10 @@ H2_arterial_long = self.sldArterialValueLong .value() H14_venous_long = self.sldVenousValueLong .value() tmp_pressure = self.sldTMPValue .value() + tmp_long = self.sldTmpValueLong .value() tmp_min = self.spnTMPLimitLow .value() tmp_max = self.spnTMPLimitHigh .value() + barometric = self.sldBarometric .value() self.td_interface.td_pressure( H2_arterial_pressure , @@ -175,6 +203,24 @@ H2_arterial_long , H14_venous_long , tmp_pressure , + tmp_long , tmp_min , - tmp_max - ) \ No newline at end of file + tmp_max , + barometric + ) + + + @Slot() + def handle_pressures_widen_request(self, message, timestamp = 0.0): + """ + Called when the user requests to firmware from UI + @return: None + """ + self.lblPressureWidenReq.setText("Requested") + + + @Slot() + def do_pressures_widen_response(self): + self.lblPressureWidenReq.setText("-") + reason = self.spnPressureWidenRejection.value() + self.td_interface.td_pressures_widen_adjustment_response(reason) \ No newline at end of file