Index: simulator/plugins/GeneralResponseMessage/loader.py =================================================================== diff -u -r7f0678d0f61fa99a35a1f34fac6c36e12ba93f20 -r7b31e16c71ec5da38ce5759fbfb44a885554cf13 --- simulator/plugins/GeneralResponseMessage/loader.py (.../loader.py) (revision 7f0678d0f61fa99a35a1f34fac6c36e12ba93f20) +++ simulator/plugins/GeneralResponseMessage/loader.py (.../loader.py) (revision 7b31e16c71ec5da38ce5759fbfb44a885554cf13) @@ -23,11 +23,18 @@ """ rbHD: QtWidgets.QRadioButton rbDG: QtWidgets.QRadioButton - leMessageID: QtWidgets.QLineEdit + + chkData: QtWidgets.QCheckBox + spnMessageID: QtWidgets.QSpinBox + btnAccept: QtWidgets.QPushButton btnReject: QtWidgets.QPushButton lblAction: QtWidgets.QLabel spnReason: QtWidgets.QSpinBox + + btnAcknow: QtWidgets.QPushButton + spnSequence: QtWidgets.QSpinBox + spnP0: QtWidgets.QSpinBox spnP1: QtWidgets.QSpinBox spnP2: QtWidgets.QSpinBox @@ -58,6 +65,36 @@ chkF7: QtWidgets.QCheckBox chkF8: QtWidgets.QCheckBox chkF9: QtWidgets.QCheckBox + spnP10: QtWidgets.QSpinBox + spnP11: QtWidgets.QSpinBox + spnP12: QtWidgets.QSpinBox + spnP13: QtWidgets.QSpinBox + spnP14: QtWidgets.QSpinBox + spnP15: QtWidgets.QSpinBox + spnP16: QtWidgets.QSpinBox + spnP17: QtWidgets.QSpinBox + spnP18: QtWidgets.QSpinBox + spnP19: QtWidgets.QSpinBox + chkP10: QtWidgets.QCheckBox + chkP11: QtWidgets.QCheckBox + chkP12: QtWidgets.QCheckBox + chkP13: QtWidgets.QCheckBox + chkP14: QtWidgets.QCheckBox + chkP15: QtWidgets.QCheckBox + chkP16: QtWidgets.QCheckBox + chkP17: QtWidgets.QCheckBox + chkP18: QtWidgets.QCheckBox + chkP19: QtWidgets.QCheckBox + chkF10: QtWidgets.QCheckBox + chkF11: QtWidgets.QCheckBox + chkF12: QtWidgets.QCheckBox + chkF13: QtWidgets.QCheckBox + chkF14: QtWidgets.QCheckBox + chkF15: QtWidgets.QCheckBox + chkF16: QtWidgets.QCheckBox + chkF17: QtWidgets.QCheckBox + chkF18: QtWidgets.QCheckBox + chkF19: QtWidgets.QCheckBox def __init__(self, hd_simulator: HDSimulator): super().__init__(os.path.dirname(__file__), hd_simulator) @@ -69,11 +106,17 @@ """ self.rbHD = self.find_radio_button('rbHD') self.rbDG = self.find_radio_button('rbDG') - self.leMessageID = self.find_line_edit('leMessageID') + self.chkData = self.find_checkbox('chkData') + + self.spnMessageID = self.find_spinbox('spnMessageID') self.btnAccept = self.find_button('btnAccept') self.btnReject = self.find_button('btnReject') self.lblAction = self.find_label('lblAction') self.spnReason = self.find_spinbox('spnReason') + + self.btnAcknow = self.find_button('btnAcknow') + self.spnSequence = self.find_spinbox('spnSequence') + self.spnP0 = self.find_spinbox('spnP0') self.spnP1 = self.find_spinbox('spnP1') self.spnP2 = self.find_spinbox('spnP2') @@ -104,6 +147,36 @@ self.chkF7 = self.find_checkbox('chkF7') self.chkF8 = self.find_checkbox('chkF8') self.chkF9 = self.find_checkbox('chkF9') + self.spnP10 = self.find_spinbox('spnP10') + self.spnP11 = self.find_spinbox('spnP11') + self.spnP12 = self.find_spinbox('spnP12') + self.spnP13 = self.find_spinbox('spnP13') + self.spnP14 = self.find_spinbox('spnP14') + self.spnP15 = self.find_spinbox('spnP15') + self.spnP16 = self.find_spinbox('spnP16') + self.spnP17 = self.find_spinbox('spnP17') + self.spnP18 = self.find_spinbox('spnP18') + self.spnP19 = self.find_spinbox('spnP19') + self.chkP10 = self.find_checkbox('chkP10') + self.chkP11 = self.find_checkbox('chkP11') + self.chkP12 = self.find_checkbox('chkP12') + self.chkP13 = self.find_checkbox('chkP13') + self.chkP14 = self.find_checkbox('chkP14') + self.chkP15 = self.find_checkbox('chkP15') + self.chkP16 = self.find_checkbox('chkP16') + self.chkP17 = self.find_checkbox('chkP17') + self.chkP18 = self.find_checkbox('chkP18') + self.chkP19 = self.find_checkbox('chkP19') + self.chkF10 = self.find_checkbox('chkF10') + self.chkF11 = self.find_checkbox('chkF11') + self.chkF12 = self.find_checkbox('chkF12') + self.chkF13 = self.find_checkbox('chkF13') + self.chkF14 = self.find_checkbox('chkF14') + self.chkF15 = self.find_checkbox('chkF15') + self.chkF16 = self.find_checkbox('chkF16') + self.chkF17 = self.find_checkbox('chkF17') + self.chkF18 = self.find_checkbox('chkF18') + self.chkF19 = self.find_checkbox('chkF19') def _init_widgets(self): """ @@ -119,6 +192,7 @@ """ self.btnAccept.clicked.connect(self.do_accept) self.btnReject.clicked.connect(self.do_reject) + self.btnAcknow.clicked.connect(self.do_acknow) def _make_parameters_payload(self): self.parameters_payload_len = 0 @@ -183,17 +257,86 @@ else: self.parameters_payload += integer_to_bytearray(self.spnP9.value()) self.parameters_payload_len = 10 + if self.chkP10.isChecked(): + if self.chkF10.isChecked(): + self.parameters_payload = float_to_bytearray(self.spnP10.value()) + else: + self.parameters_payload = integer_to_bytearray(self.spnP10.value()) + self.parameters_payload_len = 11 + if self.chkP11.isChecked(): + if self.chkF11.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP11.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP11.value()) + self.parameters_payload_len = 12 + if self.chkP12.isChecked(): + if self.chkF12.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP12.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP12.value()) + self.parameters_payload_len = 13 + if self.chkP13.isChecked(): + if self.chkF13.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP13.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP13.value()) + self.parameters_payload_len = 14 + if self.chkP14.isChecked(): + if self.chkF14.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP14.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP14.value()) + self.parameters_payload_len = 15 + if self.chkP15.isChecked(): + if self.chkF15.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP15.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP15.value()) + self.parameters_payload_len = 16 + if self.chkP16.isChecked(): + if self.chkF16.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP16.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP16.value()) + self.parameters_payload_len = 17 + if self.chkP17.isChecked(): + if self.chkF17.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP17.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP17.value()) + self.parameters_payload_len = 18 + if self.chkP18.isChecked(): + if self.chkF18.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP18.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP18.value()) + self.parameters_payload_len = 19 + if self.chkP19.isChecked(): + if self.chkF19.isChecked(): + self.parameters_payload += float_to_bytearray(self.spnP19.value()) + else: + self.parameters_payload += integer_to_bytearray(self.spnP19.value()) + self.parameters_payload_len = 20 @Slot() def do_accept(self): """ the slot for accept button :return: none """ - message_id = self.leMessageID.text() + message_id = self.spnMessageID.text() self._make_parameters_payload() - self.hd_simulator.cmd_send_general_response(int(message_id), True, 0, self.rbHD.isChecked(), - self.parameters_payload_len > 0, self.parameters_payload) + if self.rbHD.isChecked(): + self.hd_simulator.cmd_send_general_hd_response(int(message_id), True, 0, + self.chkData.isChecked(), + self.parameters_payload_len > 0, + self.parameters_payload) + else: + self.hd_simulator.cmd_send_general_dg_response(int(message_id), True, 0, + self.chkData.isChecked(), + self.parameters_payload_len > 0, + self.parameters_payload) + self.lblAction.setText('Accepted ') @Slot() @@ -202,9 +345,30 @@ the slot for reject button :return: none """ - message_id = self.leMessageID.text() + message_id = self.spnMessageID.text() reason = self.spnReason.value() self._make_parameters_payload() - self.hd_simulator.cmd_send_general_response(int(message_id), False, reason, self.rbHD.isChecked(), - self.parameters_payload_len > 0, self.parameters_payload) + if self.rbHD.isChecked(): + self.hd_simulator.cmd_send_general_hd_response(int(message_id), False, reason, + self.chkData.isChecked(), + self.parameters_payload_len > 0, + self.parameters_payload) + else: + self.hd_simulator.cmd_send_general_dg_response(int(message_id), False, reason, + self.chkData.isChecked(), + self.parameters_payload_len > 0, + self.parameters_payload) + self.lblAction.setText('Rejected ' + "{}".format(reason)) + + @Slot() + def do_acknow(self): + """ + sends the message acknowledge by the sequence number spnSequence + :return: None + """ + seq = self.spnSequence.value() + if self.rbHD.isChecked(): + self.hd_simulator.ack_send_hd(seq) + else: + self.hd_simulator.ack_send_dg(seq)