Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -rba2793fd2b970fc89af085f1dfe4e8b6fe408353 -r49df2acfce84b66e4f272714329a756be5651c45 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision ba2793fd2b970fc89af085f1dfe4e8b6fe408353) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 49df2acfce84b66e4f272714329a756be5651c45) @@ -182,6 +182,7 @@ MSG_ID_TD_SET_TEST_CONFIGURATION = 0x803A MSG_ID_TD_GET_TEST_CONFIGURATION = 0x803B MSG_ID_TD_RESET_ALL_TEST_CONFIGURATIONS = 0x803C + MSG_ID_TD_TRAINING_TEST_OVERRIDE_REQUEST = 0x8999 MSG_ID_DD_TESTER_LOGIN_REQUEST = 0xA000 MSG_ID_DD_SOFTWARE_RESET_REQUEST = 0xA001 Index: leahi_dialin/td/treatment_delivery.py =================================================================== diff -u -r63d26c9e41e02f8a4c0ad59dab9cc6575e501357 -r49df2acfce84b66e4f272714329a756be5651c45 --- leahi_dialin/td/treatment_delivery.py (.../treatment_delivery.py) (revision 63d26c9e41e02f8a4c0ad59dab9cc6575e501357) +++ leahi_dialin/td/treatment_delivery.py (.../treatment_delivery.py) (revision 49df2acfce84b66e4f272714329a756be5651c45) @@ -357,12 +357,47 @@ @return: none """ - message = DenaliMessage.build_message(channel_id=DenaliChannels.td_to_ui_ch_id, + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_td_ch_id, message_id=MsgIds.MSG_ID_TD_UI_VERSION_INFO_REQUEST.value) self.logger.debug("Sending an UI version request to the TD.") self.can_interface.send(message, 0) + def cmd_training_test_override(self, value: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends a training test override request to the TD. + + @param value: integer - test value to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + + rst = integer_to_bytearray(reset) + val = integer_to_bytearray(value) + payload = rst + val + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_td_ch_id, + message_id=MsgIds.MSG_ID_TD_TRAINING_TEST_OVERRIDE_REQUEST.value, + payload=payload) + + self.logger.debug("Sending a training test override request to the TD.") + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + # self.logger.debug(received_message) + if reset == RESET: + str_res = "reset back to normal: " + else: + str_res = str(val) + " value: " + self.logger.debug("Training test value overridden to " + str_res + + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False + def cmd_op_mode_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the measured op mode broadcast interval override command