diff --git a/tc/obsw_tc_service23.py b/tc/obsw_tc_service23.py index 172b1dc4043df90cba659ca70905ed6aae42efdf..e4a23407b8f6df9674e1ab1bf1cab8f9646d9999 100644 --- a/tc/obsw_tc_service23.py +++ b/tc/obsw_tc_service23.py @@ -224,12 +224,13 @@ def generate_rm_file_srv23_2_packet(filename: str, repository_path: str, return PusTelecommand(service=23, subservice=2, ssc=ssc, app_data=data_to_pack) -def generate_mkdir_srv23_9_packet(directory_name: str, repository_path: str = "", - object_id=bytearray([])): +def generate_mkdir_srv23_9_packet(directory_name: str, ssc: int, repository_path: str = "/", + object_id=g.SD_CARD_HANDLER_ID): """ 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 @param repository_path: The name of the directory to create + @param ssc: source sequence count @param object_id: The object ID of the memory handler which manages the file system :return """ @@ -240,15 +241,16 @@ def generate_mkdir_srv23_9_packet(directory_name: str, repository_path: str = "" data_to_pack += bytearray(directory_name, 'utf-8') # Add string terminator to directory name data_to_pack.append(0) - return PusTelecommand(service=23, subservice=9, ssc=21, app_data=data_to_pack) + return PusTelecommand(service=23, subservice=9, ssc=ssc, app_data=data_to_pack) -def generate_rmdir_srv23_10_packet(directory_name: str, repository_path: str = "", - object_id=bytearray([])): +def generate_rmdir_srv23_10_packet(directory_name: str, repository_path: str, ssc: int, + object_id=g.SD_CARD_HANDLER_ID): """ This function generates a packet which deletes the a directory at the specified repository path. @param directory_name: Name of the directory to delete @param repository_path: Path to directory dirname + @param ssc: source sequence count @param object_id: object ID of the memory handler (e.g. SD Card Handler) @return The application data field of the (23,10) PUS packet """ @@ -259,7 +261,7 @@ def generate_rmdir_srv23_10_packet(directory_name: str, repository_path: str = " data_to_pack += bytearray(directory_name, 'utf-8') # Add string terminator of directory name data_to_pack.append(0) - return PusTelecommand(service=23, subservice=10, ssc=21, app_data=data_to_pack) + return PusTelecommand(service=23, subservice=10, ssc=ssc, app_data=data_to_pack) def generate_append_to_file_srv23_128_packet( @@ -276,13 +278,14 @@ 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, - object_id: bytearray = bytearray([])): +def generate_read_file_srv23_129_packet(repository_path: str, filename: str, ssc: int, + object_id: bytearray = g.SD_CARD_HANDLER_ID): """ 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. @param repository_path: The path of the target file @param filename: Name of file from which the content shall be read + @param ssc: source sequence count @param object_id: object ID of the memory handler (e.g. SD Card Handler) @return: The application data field of the (23,129) PUS packet """ @@ -293,36 +296,41 @@ def generate_read_file_srv23_129_packet(repository_path: str, filename: str, data_to_pack += bytearray(filename, 'utf-8') # Add string terminator of filename data_to_pack.append(0) - return PusTelecommand(service=23, subservice=129, ssc=21, app_data=data_to_pack) + return PusTelecommand(service=23, subservice=129, ssc=ssc, app_data=data_to_pack) def pack_service23_test_into(tc_queue: Deque) -> Deque: - sd_handler_id = g.SD_CARD_HANDLER_ID + # sd_handler_id = g.SD_CARD_HANDLER_ID tc_queue.appendleft(("print", "Testing Service 23")) - # tc_queue.append(("print", "Create directory 'test'")) - # command = generate_service23_subservice9_packet(directory_name="test", object_id=sd_handler_id) - # tc_queue.appendleft(command.pack_command_tuple()) - # tc_queue.append(("print", "Create subdirectory 'subdir' in 'test'")) - # command = generate_service23_subservice9_packet(repository_path="test", directory_name="subdir", - # object_id=sd_handler_id) - # tc_queue.appendleft(command.pack_command_tuple()) - # tc_queue.appendleft(("print", "Create and write in test.bin")) - # command = generate_service23_subservice128_packet( - # "test/subdir", "test.bin", sd_handler_id, file_data=bytearray([0x01, 0x00, 0x01, 0x00])) - # tc_queue.appendleft(command[0].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_service23_subservice129_packet("test/subdir", "test.bin", sd_handler_id) # tc_queue.appendleft(command.pack_command_tuple()) - # tc_queue.appendleft(("print", "Delete 'test.bin'")) - # command = generate_service23_subservice2_packet("test.bin", "test/subdir", object_id=sd_handler_id) - # tc_queue.appendleft(command.pack_command_tuple()) - # tc_queue.appendleft(("print", "Delete 'subdir' directory")) - # command = generateService23Subservice10Packet("subdir", "test", object_id=sd_handler_id) - # tc_queue.appendleft(command.pack_command_tuple()) - # tc_queue.appendleft(("print", "Delete 'test' directory")) - # command = generateService23Subservice10Packet(directory_name="test", object_id=sd_handler_id) - # tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft(("print", "\r")) + 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