From e8b2da477f8e0f006d7847fbaef2a803f7c5e52e Mon Sep 17 00:00:00 2001
From: "Robin.Mueller" <robin.mueller.m@gmail.com>
Date: Wed, 7 Oct 2020 01:25:08 +0200
Subject: [PATCH] improving binary uploader

---
 obsw_tmtc_client.py             |  2 +-
 utility/obsw_binary_uploader.py | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/obsw_tmtc_client.py b/obsw_tmtc_client.py
index 69eb88c..e502717 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 2354ad2..fbd00cc 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)
-- 
GitLab