diff --git a/tc/obsw_tc_service23.py b/tc/obsw_tc_service23.py index 11b5d1c0abf0a07a885d5de6dbddbdae0465704b..e9718d873706c780d942aca1037a2bfe22de3159 100644 --- a/tc/obsw_tc_service23.py +++ b/tc/obsw_tc_service23.py @@ -184,9 +184,16 @@ class FileTransferHelper: self.tc_queue.appendleft(commands.pack_command_tuple()) +def generate_print_sd_card_packet( + ssc: int, object_id: bytearray = g.SD_CARD_HANDLER_ID) -> PusTelecommand: + app_data = bytearray(object_id) + return PusTelecommand(service=23, subservice=133, ssc=ssc, app_data=app_data) + + def generate_create_file_srv23_1_packet( filename: str, repository_path: str, ssc: int, max_size_of_app_data: int, - initial_data: bytearray = bytearray([]), object_id: bytearray = g.SD_CARD_HANDLER_ID): + initial_data: bytearray = bytearray([]), + object_id: bytearray = g.SD_CARD_HANDLER_ID) -> PusTelecommand: if len(initial_data) > calculate_allowed_file_data_size( max_size_of_app_data, filename, repository_path): LOGGER.error("generate_create_file_srv23_1_packet: Initial data too large!") @@ -204,7 +211,7 @@ def generate_create_file_srv23_1_packet( def generate_rm_file_srv23_2_packet(filename: str, repository_path: str, - ssc: int, object_id=g.SD_CARD_HANDLER_ID): + ssc: int, object_id=g.SD_CARD_HANDLER_ID) -> PusTelecommand: """ This function generates a packet which is used to delete a file on a file-system-capable on-board memory. @@ -225,7 +232,7 @@ def generate_rm_file_srv23_2_packet(filename: str, repository_path: str, def generate_mkdir_srv23_9_packet(directory_name: str, ssc: int, repository_path: str = "/", - object_id: bytearray = g.SD_CARD_HANDLER_ID): + object_id: bytearray = g.SD_CARD_HANDLER_ID) -> PusTelecommand: """ This function generates a packet which is used to create directories on file systems. @param directory_name: The path where the directory shall be created @@ -245,7 +252,7 @@ def generate_mkdir_srv23_9_packet(directory_name: str, ssc: int, repository_path def generate_rmdir_srv23_10_packet(directory_name: str, repository_path: str, ssc: int, - object_id: bytearray = g.SD_CARD_HANDLER_ID): + object_id: bytearray = g.SD_CARD_HANDLER_ID) -> PusTelecommand: """ This function generates a packet which deletes the a directory at the specified repository path. @param directory_name: Name of the directory to delete @@ -267,7 +274,7 @@ def generate_rmdir_srv23_10_packet(directory_name: str, repository_path: str, ss def generate_append_to_file_srv23_128_packet( filename: str, repository_path: str, packet_sequence_number: int, ssc: int, file_data: bytearray = bytearray([]), - object_id: bytearray = g.SD_CARD_HANDLER_ID): + object_id: bytearray = g.SD_CARD_HANDLER_ID) -> PusTelecommand: data_to_pack = bytearray(object_id) data_to_pack += bytearray(repository_path, 'utf-8') # Add string terminator of repository path @@ -281,8 +288,9 @@ def generate_append_to_file_srv23_128_packet( return PusTelecommand(service=23, subservice=128, ssc=ssc, app_data=data_to_pack) -def generate_read_file_srv23_129_packet(repository_path: str, filename: str, ssc: int, - object_id: bytearray = g.SD_CARD_HANDLER_ID): +def generate_read_file_srv23_129_packet( + repository_path: str, filename: str, ssc: int, + object_id: bytearray = g.SD_CARD_HANDLER_ID) -> PusTelecommand: """ This function generates the application data field for a PUS packet with service 23 and subservie 129. Subservice 129 is a custom service to request the data of a file. @@ -305,35 +313,39 @@ def generate_read_file_srv23_129_packet(repository_path: str, filename: str, ssc def pack_service23_test_into(tc_queue: Deque) -> Deque: # sd_handler_id = g.SD_CARD_HANDLER_ID tc_queue.appendleft(("print", "Testing Service 23")) - tc_queue.append(("print", "Create directory 'test'")) - command = generate_mkdir_srv23_9_packet(directory_name="test", repository_path="/", ssc=2300) - tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.append(("print", "Create subdirectory 'subdir' in 'test'")) - command = generate_mkdir_srv23_9_packet(repository_path="test", ssc=2301, - directory_name="subdir") - tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft(("print", "Create test.bin")) - command = generate_create_file_srv23_1_packet( - filename="test.bin", repository_path="test/subdir", ssc=2302, - initial_data=bytearray([0x01, 0x00, 0x01, 0x00]), - max_size_of_app_data=1024) + tc_queue.appendleft(("print", "Printing file structure.")) + command = generate_print_sd_card_packet(ssc=2300) tc_queue.appendleft(command.pack_command_tuple()) + # tc_queue.append(("print", "Create directory 'test'")) + # command = generate_mkdir_srv23_9_packet(directory_name="test", repository_path="/", ssc=2300) + # tc_queue.appendleft(command.pack_command_tuple()) + # tc_queue.append(("print", "Create subdirectory 'subdir' in 'test'")) + # command = generate_mkdir_srv23_9_packet(repository_path="test", ssc=2301, + # directory_name="subdir") + # tc_queue.appendleft(command.pack_command_tuple()) + # + # tc_queue.appendleft(("print", "Create test.bin")) + # command = generate_create_file_srv23_1_packet( + # filename="test.bin", repository_path="test/subdir", ssc=2302, + # initial_data=bytearray([0x01, 0x00, 0x01, 0x00]), + # max_size_of_app_data=1024) + # tc_queue.appendleft(command.pack_command_tuple()) # tc_queue.appendleft(("print", "Read data of test.bin")) # command = generate_read_file_srv23_129_packet("test/subdir", "test.bin", ssc=2303) # tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft(("print", "Delete 'test.bin'")) - command = generate_rm_file_srv23_2_packet(filename="test.bin", repository_path="test/subdir", - ssc=2304) - tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft(("print", "Delete 'subdir' directory")) - command = generate_rmdir_srv23_10_packet(directory_name="subdir", repository_path="test", - ssc=2305) - tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft(("print", "Delete 'test' directory")) - command = generate_rmdir_srv23_10_packet(directory_name="test", repository_path="/", - ssc=2306) - tc_queue.appendleft(command.pack_command_tuple()) + # tc_queue.appendleft(("print", "Delete 'test.bin'")) + # command = generate_rm_file_srv23_2_packet(filename="test.bin", repository_path="test/subdir", + # ssc=2304) + # tc_queue.appendleft(command.pack_command_tuple()) + # tc_queue.appendleft(("print", "Delete 'subdir' directory")) + # command = generate_rmdir_srv23_10_packet(directory_name="subdir", repository_path="test", + # ssc=2305) + # tc_queue.appendleft(command.pack_command_tuple()) + # tc_queue.appendleft(("print", "Delete 'test' directory")) + # command = generate_rmdir_srv23_10_packet(directory_name="test", repository_path="/", + # ssc=2306) + # tc_queue.appendleft(command.pack_command_tuple()) # tc_queue.appendleft(("print", "\r")) return tc_queue