From 1f491a72a346eb7801d20eb56b2aafd1dea2d6f0 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Thu, 30 Mar 2023 15:12:33 +0200 Subject: [PATCH] add commands to set gps on or off --- eive_tmtc/tmtc/acs/gps.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/eive_tmtc/tmtc/acs/gps.py b/eive_tmtc/tmtc/acs/gps.py index 03f7a32..833f066 100644 --- a/eive_tmtc/tmtc/acs/gps.py +++ b/eive_tmtc/tmtc/acs/gps.py @@ -7,6 +7,7 @@ from eive_tmtc.config.definitions import CustomServiceList from eive_tmtc.pus_tm.defs import PrintWrapper from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry from tmtccmd.config.tmtc import tmtc_definitions_provider +from tmtccmd.tc.pus_200_fsfw_mode import create_mode_command, Mode from tmtccmd.tc import DefaultPusQueueHelper from tmtccmd.tc.pus_3_fsfw_hk import ( make_sid, @@ -20,6 +21,8 @@ _LOGGER = logging.getLogger(__name__) class OpCode: + OFF = "off" + ON = "on" REQ_OS_HK = ["hk"] ENABLE_HK = ["enable_hk"] DISABLE_HK = ["disable_hk"] @@ -27,6 +30,8 @@ class OpCode: class Info: + OFF = "Off" + ON = "On" REQ_OS_HK = "Request One-Shot HK" ENABLE_HK = "Enable HK" DISABLE_HK = "Disable HK" @@ -44,6 +49,8 @@ def add_gps_cmds(defs: TmtcDefinitionWrapper): oce.add(keys=OpCode.REQ_OS_HK, info=Info.REQ_OS_HK) oce.add(keys=OpCode.ENABLE_HK, info=Info.ENABLE_HK) oce.add(keys=OpCode.DISABLE_HK, info=Info.DISABLE_HK) + oce.add(keys=OpCode.OFF, info=Info.OFF) + oce.add(keys=OpCode.ON, info=Info.ON) defs.add_service( name=CustomServiceList.GPS_CTRL.value, info="GPS/GNSS Controller", @@ -72,6 +79,12 @@ def pack_gps_command(object_id: bytes, q: DefaultPusQueueHelper, op_code: str): if op_code in OpCode.REQ_OS_HK: q.add_log_cmd(f"GPS: {Info.REQ_OS_HK}") q.add_pus_tc(create_request_one_hk_command(sid=sid)) + if op_code in OpCode.ON: + q.add_log_cmd(f"GPS: {Info.ON}") + q.add_pus_tc(create_mode_command(object_id, Mode.ON, 0)) + if op_code in OpCode.OFF: + q.add_log_cmd(f"GPS: {Info.OFF}") + q.add_pus_tc(create_mode_command(object_id, Mode.OFF, 0)) def handle_gps_data(printer: FsfwTmTcPrinter, hk_data: bytes):