Index: TD_Pressures/loader.py =================================================================== diff -u -r03501309d607343ba120663e0abce74faeb34f59 -r2127613b536bd68ebbcec1923b5b31d95234be0c --- TD_Pressures/loader.py (.../loader.py) (revision 03501309d607343ba120663e0abce74faeb34f59) +++ TD_Pressures/loader.py (.../loader.py) (revision 2127613b536bd68ebbcec1923b5b31d95234be0c) @@ -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.DenaliChannels.ui_to_td_ch_id, + MsgIds.MSG_ID_UI_PRESSURE_LIMIT_WIDEN_REQUEST.value, + self.handle_pressures_widen_request) def _init_loader(self): """ @@ -59,7 +67,11 @@ self.sldTMPValue = self.find_widget(QtWidgets.QSlider ,'sldTMPValue' ) 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}]" ) @@ -118,6 +130,8 @@ self.spnTMPLimitHigh .setValue (Ranges.TMP_PRESSURE_HIGH_DEF) self.spnLimitState .setValue(0) + self.spnPressureWidenRejection.setValue(0) + self.lblPressureWidenReq.setText("-") def _init_connections(self): @@ -143,8 +157,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): """ @@ -177,4 +193,20 @@ tmp_pressure , tmp_min , tmp_max - ) \ No newline at end of file + ) + + + @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