Index: dialin/protocols/CAN.py =================================================================== diff -u -r46ebf93d3666db40f25ad1e9170426853aa845d4 -r3b8711be9f252dc72d8bd55cf4b02b6d5f4de491 --- dialin/protocols/CAN.py (.../CAN.py) (revision 46ebf93d3666db40f25ad1e9170426853aa845d4) +++ dialin/protocols/CAN.py (.../CAN.py) (revision 3b8711be9f252dc72d8bd55cf4b02b6d5f4de491) @@ -605,12 +605,12 @@ if message_valid: if self.console_out: - print(complete_dialin_message) + self.do_console_out(complete_dialin_message) # Send an ack if required if DenaliMessage.get_sequence_number(complete_dialin_message) < 0: # ACK required. Send back the received message with the sequence sign bit flipped msg = DenaliMessage.create_ack_message(message=complete_dialin_message, - passive_mode=self.passive_mode) + passive_mode=False) if msg is not None: self.send(msg, 0, is_ack=True) @@ -748,3 +748,26 @@ with open(filename, 'a') as f: f.write("{0}\n".format(packet)) + def do_console_out(self, complete_dialin_message:str) -> None: + """ + prints out the message in hex format similar to the candump + :param complete_dialin_message: the compele can bus message + :return: None + """ + print( + " " # can id + f"{(complete_dialin_message['channel_id']):0{3}X}" + " " # head tag + f"{(complete_dialin_message['message'][0]):0{2}X}" + " " # 2 bytes : seq + f"{(complete_dialin_message['message'][1]):0{2}X}" + f"{(complete_dialin_message['message'][2]):0{2}X}" + " " # 2 bytes : msg id + f"{(complete_dialin_message['message'][3]):0{2}X}" + f"{(complete_dialin_message['message'][4]):0{2}X}" + " " # 1 byte : len + f"{(complete_dialin_message['message'][5]):0{2}X}" + # TODO : add the payload here + # the complete message bytes listp + # , complete_dialin_message['message'] + ) Index: dialin/ui/dg_simulator.py =================================================================== diff -u -r4d32882a7d9092d5c7bb179f33e1de5ce087f54d -r3b8711be9f252dc72d8bd55cf4b02b6d5f4de491 --- dialin/ui/dg_simulator.py (.../dg_simulator.py) (revision 4d32882a7d9092d5c7bb179f33e1de5ce087f54d) +++ dialin/ui/dg_simulator.py (.../dg_simulator.py) (revision 3b8711be9f252dc72d8bd55cf4b02b6d5f4de491) @@ -28,7 +28,8 @@ def __init__(self, can_interface:str="can0", log_level:str=None, console_out:bool=False, - passive_mode:bool=False): + passive_mode:bool=False, + auto_response:bool=False): super().__init__() DGSimulator.instance_count = DGSimulator.instance_count + 1 @@ -45,15 +46,16 @@ if self.can_interface is not None: channel_id = DenaliChannels.ui_to_dg_ch_id - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_DG_SET_RTC_REQUEST.value, - self._handler_set_rtc_request) - self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, - MsgIds.MSG_ID_REQUEST_FW_VERSIONS.value, - self._handler_request_dg_version) - self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, - MsgIdsDialin.MSG_DIALIN_ID_UI_SYSTEM_USAGE_REQUEST.value, - self._handler_system_usage_response) + if auto_response: + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_DG_SET_RTC_REQUEST.value, + self._handler_set_rtc_request) + self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, + MsgIds.MSG_ID_REQUEST_FW_VERSIONS.value, + self._handler_request_dg_version) + self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, + MsgIdsDialin.MSG_DIALIN_ID_UI_SYSTEM_USAGE_REQUEST.value, + self._handler_system_usage_response) def cmd_send_dg_post_single_result(self, result: int, test_num: int) -> None: """ Index: dialin/ui/hd_simulator.py =================================================================== diff -u -r4d32882a7d9092d5c7bb179f33e1de5ce087f54d -r3b8711be9f252dc72d8bd55cf4b02b6d5f4de491 --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 4d32882a7d9092d5c7bb179f33e1de5ce087f54d) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 3b8711be9f252dc72d8bd55cf4b02b6d5f4de491) @@ -34,7 +34,8 @@ def __init__(self, can_interface:str="can0", log_level:bool= None, console_out:bool= False, - passive_mode:bool=False): + passive_mode:bool=False, + auto_response:bool=False): """ The HDSimulator constructor @@ -57,30 +58,31 @@ if self.can_interface is not None: channel_id = DenaliChannels.ui_to_hd_ch_id - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_INITIATE_TREATMENT_REQUEST.value, - self._handler_ui_initiate_treatment) - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_SET_UF_VOLUME_PARAMETER.value, - self._handler_ui_pre_treatment_uf_request) - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_NEW_TREATMENT_PARAMS.value, - self._handler_ui_validate_parameters) - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_USER_CONFIRM_TREATMENT_PARAMS.value, - self._handler_ui_confirm_treatment) - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_TX_END_CMD.value, - self._handler_ui_end_treatment) - self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_HD_SET_RTC_REQUEST.value, - self._handler_set_rtc_request) - self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, - MsgIds.MSG_ID_REQUEST_FW_VERSIONS.value, - self._handler_request_hd_version) - self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, - MsgIdsDialin.MSG_DIALIN_ID_UI_SYSTEM_USAGE_REQUEST.value, - self._handler_system_usage_response) + if auto_response: + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_INITIATE_TREATMENT_REQUEST.value, + self._handler_ui_initiate_treatment) + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_SET_UF_VOLUME_PARAMETER.value, + self._handler_ui_pre_treatment_uf_request) + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_NEW_TREATMENT_PARAMS.value, + self._handler_ui_validate_parameters) + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_USER_CONFIRM_TREATMENT_PARAMS.value, + self._handler_ui_confirm_treatment) + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_TX_END_CMD.value, + self._handler_ui_end_treatment) + self.can_interface.register_receiving_publication_function(channel_id, + MsgIds.MSG_ID_UI_HD_SET_RTC_REQUEST.value, + self._handler_set_rtc_request) + self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, + MsgIds.MSG_ID_REQUEST_FW_VERSIONS.value, + self._handler_request_hd_version) + self.can_interface.register_receiving_publication_function(DenaliChannels.ui_sync_broadcast_ch_id, + MsgIdsDialin.MSG_DIALIN_ID_UI_SYSTEM_USAGE_REQUEST.value, + self._handler_system_usage_response) self.treatment_parameter_rejections = TreatmentParameterRejections()