some fixes

This commit is contained in:
Robin Müller 2023-04-15 21:53:11 +02:00
parent 37bb164cc4
commit 77e90328a1
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
1 changed files with 17 additions and 3 deletions

View File

@ -46,6 +46,7 @@ class ActionId(enum.IntEnum):
CP_HELPER = 52 CP_HELPER = 52
MV_HELPER = 53 MV_HELPER = 53
RM_HELPER = 54 RM_HELPER = 54
MKDIR_HELPER = 55
class ParamId(enum.IntEnum): class ParamId(enum.IntEnum):
@ -68,6 +69,7 @@ class OpCode:
CP_HELPER = "cp_helper" CP_HELPER = "cp_helper"
MV_HELPER = "mv_helper" MV_HELPER = "mv_helper"
RM_HELPER = "rm_helper" RM_HELPER = "rm_helper"
MKDIR_HELPER = "mkdir_helper"
SET_PREF_SD = "set_pref_sd" SET_PREF_SD = "set_pref_sd"
REBOOT_XSC = ["reboot_xsc"] REBOOT_XSC = ["reboot_xsc"]
XSC_REBOOT_SELF = ["reboot_self"] XSC_REBOOT_SELF = ["reboot_self"]
@ -114,6 +116,7 @@ class Info:
CP_HELPER = "Filesystem Copy Helper" CP_HELPER = "Filesystem Copy Helper"
MV_HELPER = "Filesystem Move Helper" MV_HELPER = "Filesystem Move Helper"
RM_HELPER = "Filesystem Removal Helper" RM_HELPER = "Filesystem Removal Helper"
MKDIR_HELPER = "Filesystem Directory Creation Helper"
class Chip(enum.IntEnum): class Chip(enum.IntEnum):
@ -203,6 +206,7 @@ def add_core_controller_definitions(defs: TmtcDefinitionWrapper):
oce.add(keys=OpCode.MV_HELPER, info=Info.MV_HELPER) oce.add(keys=OpCode.MV_HELPER, info=Info.MV_HELPER)
oce.add(keys=OpCode.CP_HELPER, info=Info.CP_HELPER) oce.add(keys=OpCode.CP_HELPER, info=Info.CP_HELPER)
oce.add(keys=OpCode.RM_HELPER, info=Info.RM_HELPER) oce.add(keys=OpCode.RM_HELPER, info=Info.RM_HELPER)
oce.add(keys=OpCode.MKDIR_HELPER, info=Info.MKDIR_HELPER)
defs.add_service(CustomServiceList.CORE.value, "Core Controller", oce) defs.add_service(CustomServiceList.CORE.value, "Core Controller", oce)
@ -412,7 +416,9 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
if rm_force not in [0, 1]: if rm_force not in [0, 1]:
raise ValueError("Invalid value, only 0 or 1 allowed") raise ValueError("Invalid value, only 0 or 1 allowed")
user_data = bytearray([rm_recursive, rm_force]) user_data = bytearray([rm_recursive, rm_force])
user_data.extend(packet_source_dest_path("Copy")) removed_file_or_dir = input("Specify absolute path to be removed: ")
user_data.extend(removed_file_or_dir.encode())
user_data.append(0)
q.add_log_cmd(Info.RM_HELPER) q.add_log_cmd(Info.RM_HELPER)
q.add_pus_tc( q.add_pus_tc(
create_action_cmd(CORE_CONTROLLER_ID, ActionId.RM_HELPER, user_data) create_action_cmd(CORE_CONTROLLER_ID, ActionId.RM_HELPER, user_data)
@ -436,6 +442,14 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
CORE_CONTROLLER_ID, ActionId.LIST_DIR_DUMP_DIRECTLY, user_data CORE_CONTROLLER_ID, ActionId.LIST_DIR_DUMP_DIRECTLY, user_data
) )
) )
elif op_code == OpCode.MKDIR_HELPER:
q.add_log_cmd(Info.MKDIR_HELPER)
user_data = input("Specify absolute path of newly created directory: ")
user_data = bytearray(user_data.encode())
user_data.append(0)
q.add_pus_tc(
create_action_cmd(CORE_CONTROLLER_ID, ActionId.MKDIR_HELPER, user_data)
)
else: else:
_LOGGER.warning( _LOGGER.warning(
f"Unknown operation code {op_code} for core controller commands" f"Unknown operation code {op_code} for core controller commands"
@ -460,8 +474,8 @@ def list_directory_base_user_data() -> bytearray:
def packet_source_dest_path(context: str) -> bytes: def packet_source_dest_path(context: str) -> bytes:
source = input(f"{context} source file") source = input(f"Specify {context} source file: ")
dest = input(f"{context} destination file") dest = input(f"Specify {context} destination file: ")
raw_src_dest = bytearray(source.encode()) raw_src_dest = bytearray(source.encode())
raw_src_dest.append(0) raw_src_dest.append(0)
raw_src_dest.extend(dest.encode()) raw_src_dest.extend(dest.encode())