import enum from config.definitions import CustomServiceList from tmtccmd.config.tmtc import ( tmtc_definitions_provider, TmtcDefinitionWrapper, OpCodeEntry, ) from tmtccmd.tc import service_provider from tmtccmd.tc.decorator import ServiceProviderParams class OpCodes(str, enum.Enum): OFF = "off" SAFE = "safe" IDLE = "idle" class Info(str, enum.Enum): OFF = "Off Command" SAFE = "Safe Mode Command" IDLE = "Idle Mode Command" @service_provider(CustomServiceList.ACS_SS.value) def build_acs_subsystem_cmd(p: ServiceProviderParams): op_code = p.op_code if op_code == OpCodes.OFF: pass if op_code == OpCodes.SAFE: pass if op_code == OpCodes.IDLE: pass @tmtc_definitions_provider def add_acs_subsystem_cmds(defs: TmtcDefinitionWrapper): oce = OpCodeEntry() oce.add(OpCodes.OFF, Info.OFF) oce.add(OpCodes.SAFE, Info.SAFE) oce.add(OpCodes.IDLE, Info.IDLE) defs.add_service(CustomServiceList.ACS_SS, "ACS Subsystem", oce)