diff --git a/obsw_tmtc_client.py b/obsw_tmtc_client.py index 69eb88c247c081de3f119e9638f3e1b8139317d1..e502717fda8cd2ba2db5c963c394fec2eec3ea43 100755 --- a/obsw_tmtc_client.py +++ b/obsw_tmtc_client.py @@ -205,7 +205,7 @@ class TmTcHandler: elif self.mode == g.ModeList.BinaryUploadMode: # Upload binary, prompt user for input, in the end prompt for new mode and enter that # mode - perform_file_upload(self.communication_interface, self.tmtc_printer) + perform_file_upload(self.communication_interface, self.tmtc_printer, self.tm_listener) self.command_received = True self.mode = g.ModeList.ListenerMode diff --git a/utility/obsw_binary_uploader.py b/utility/obsw_binary_uploader.py index 2354ad2394200fc343cb0da73b2d014c1bbf2272..fbd00cc53c8f77f16b2c04aae66a3f6b07a075f5 100644 --- a/utility/obsw_binary_uploader.py +++ b/utility/obsw_binary_uploader.py @@ -14,14 +14,15 @@ from collections import deque from tmtc_core.comIF.obsw_com_interface import CommunicationInterface from tc.obsw_tc_service23_sdcard import FileTransferHelper, generate_generic_folder_structure import config.obsw_config as g -from tmtc_core.tc.obsw_pus_tc_base import PusTelecommand from tmtc_core.utility.obsw_tmtc_printer import TmTcPrinter, DisplayMode from tmtc_core.utility.obsw_logger import get_logger +from tmtc_core.sendreceive.obsw_tm_listener import TmListener LOGGER = get_logger() -def perform_file_upload(com_if: CommunicationInterface, tmtc_printer: TmTcPrinter): +def perform_file_upload(com_if: CommunicationInterface, tmtc_printer: TmTcPrinter, + tm_listener: TmListener): # TODO: prompt whether this is a binary upload or a normal file upload. Or use op code # two different commands to achieve the same. print("Please select file to upload") @@ -95,9 +96,11 @@ def perform_file_upload(com_if: CommunicationInterface, tmtc_printer: TmTcPrinte init_ssc = 0 tmtc_printer.set_display_mode(DisplayMode.SHORT) + file_transfer_helper.set_data_from_file(file_path) file_transfer_helper.set_to_delete_old_file() file_transfer_helper.generate_packets(init_ssc) + tm_listener.set_listener_mode(TmListener.ListenerModes.MANUAL) print_string = "BinaryUploader: Detected file size: " + str(file_transfer_helper.file_size()) LOGGER.info(print_string) print_string = "BinaryUploader: " + str(file_transfer_helper.number_of_packets) + \ @@ -117,9 +120,6 @@ def perform_file_upload(com_if: CommunicationInterface, tmtc_printer: TmTcPrinte LOGGER.info(tc_info) time.sleep(0.5) - tm_list = com_if.receive_telemetry() - for tm_packet in tm_list: - # gotta configure tm listener for this to work.. - tmtc_printer.print_telemetry(tm_packet) + tmtc_printer.print_telemetry_queue(tm_listener.retrieve_tm_packet_queue()) print_string = "BinaryUploader: All binary packets were sent!" LOGGER.info(print_string)