Index: TD_Vitals/loader.py =================================================================== diff -u -r3106c9d27f114fa3e7e435b3eeba9cfcfe178bf7 -ra7779af44ced3be6e30e4d4d67125d171a641d09 --- TD_Vitals/loader.py (.../loader.py) (revision 3106c9d27f114fa3e7e435b3eeba9cfcfe178bf7) +++ TD_Vitals/loader.py (.../loader.py) (revision a7779af44ced3be6e30e4d4d67125d171a641d09) @@ -30,44 +30,57 @@ self.can_interface = self.td_interface.can_interface super().__init__(os.path.dirname(__file__)) + if self.can_interface is not None: + channel_id = CAN.CanChannels.ui_to_td_ch_id + vitals_request_message_id = MsgIds.MSG_ID_UI_BLOOD_PRESSURE_REQUEST.value + self.can_interface.register_receiving_publication_function(channel_id, + vitals_request_message_id, + self.handle_vitals_request) def _init_loader(self): """ finds and creates widgets :return: none """ - self.tbVitalsRspSend = self.find_widget(QtWidgets.QToolButton , 'tbVitalsRspSend' ) - self.sbVitalsReason = self.find_widget(QtWidgets.QSpinBox , 'VitalsReasonSpinBox' ) - self.tbVitalsSend = self.find_widget(QtWidgets.QToolButton , 'tbVitalsSend' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.tbSendResponse = self.find_widget(QtWidgets.QToolButton , 'tbSendResponse' ) + self.sbSystolic = self.find_widget(QtWidgets.QSpinBox , 'SystolicSpinBox' ) self.sbDiastolic = self.find_widget(QtWidgets.QSpinBox , 'DiastolicSpinBox' ) self.sbHeartRate = self.find_widget(QtWidgets.QSpinBox , 'HeartRateSpinBox' ) + self.sbVitalsReason = self.find_widget(QtWidgets.QSpinBox , 'VitalsReasonSpinBox' ) + self.lbRequest = self.find_widget(QtWidgets.QLabel , 'lbRequest' ) def _init_connections(self): """ initializes the widgets connections :return: none """ - self.tbVitalsRspSend.clicked .connect(self.do_vitals_rsp ) - self.tbVitalsSend .clicked .connect(self.do_vitals_data ) + self.tbSend .clicked .connect(self.do_send ) + self.tbSendResponse .clicked .connect(self.do_sendResponse ) + self.sbSystolic .valueChanged.connect(self.do_vitals_data ) + self.sbDiastolic .valueChanged.connect(self.do_vitals_data ) + self.sbHeartRate .valueChanged.connect(self.do_vitals_data ) - def _init_widgets(self): """ initializes the widgets' properties :return: none """ - self.sbVitalsReason .setValue(0) + self.sbSystolic .setValue(120) self.sbDiastolic .setValue(80) self.sbHeartRate .setValue(100) + self.sbVitalsReason .setValue(0) - @Slot() - def do_vitals_rsp(self): - self.td_interface.td_vitals_adjustment_response(self.sbVitalsReason.value()) + def handle_vitals_request(self, message, timestamp = 0.0): + """ + Called when the user requests to firmware from UI + @return: None + """ + self.lbRequest.setText("Requested") - @Slot() def do_vitals_data(self): """ @@ -83,3 +96,22 @@ diastolic , heartRate ) + + @Slot() + def do_send(self): + """ + the slot for treatment set point Data + :return: none + """ + self.do_vitals_data() + + + @Slot() + def do_sendResponse(self): + """ + the slot for treatment set point Data + :return: none + """ + self.lbRequest.setText("-") + reason = self.sbVitalsReason.value() + self.td_interface.td_vitals_adjustment_response(reason) \ No newline at end of file