From 3974d4134a0cd9944235e225c3362c9148ed2b28 Mon Sep 17 00:00:00 2001 From: meggert Date: Tue, 14 Mar 2023 17:24:21 +0100 Subject: [PATCH 1/5] added action command to restore mekf automatic recovery --- eive_tmtc/tmtc/acs/acs_ctrl.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/eive_tmtc/tmtc/acs/acs_ctrl.py b/eive_tmtc/tmtc/acs/acs_ctrl.py index 5101c0a..8c257a8 100644 --- a/eive_tmtc/tmtc/acs/acs_ctrl.py +++ b/eive_tmtc/tmtc/acs/acs_ctrl.py @@ -60,6 +60,7 @@ class SetId(enum.IntEnum): class ActionId(enum.IntEnum): SOLAR_ARRAY_DEPLOYMENT_SUCCESSFUL = 0 RESET_MEKF = 1 + RESTORE_MEKF_NONFINITE_RECOVERY = 2 class OpCodes: @@ -73,6 +74,7 @@ class OpCodes: INERTIAL = ["ptg_inertial"] SAFE_PTG = ["confirm_deployment"] RESET_MEKF = ["reset_mekf"] + RESTORE_MEKF_NONFINITE_RECOVERY = ["restore_mekf_nonfinite_recovery"] SET_PARAMETER_SCALAR = ["set_scalar_param"] SET_PARAMETER_VECTOR = ["set_vector_param"] SET_PARAMETER_MATRIX = ["set_matrix_param"] @@ -119,6 +121,7 @@ class Info: INERTIAL = "Switch ACS CTRL normal - pointing inertial" SAFE_PTG = "Confirm deployment of both solar arrays" RESET_MEKF = "Reset the MEKF" + RESTORE_MEKF_NONFINITE_RECOVERY = "Restore MEKF non-finite recovery" SET_PARAMETER_SCALAR = "Set Scalar Parameter" SET_PARAMETER_VECTOR = "Set Vector Parameter" SET_PARAMETER_MATRIX = "Set Matrix Parameter" @@ -179,6 +182,7 @@ def acs_cmd_defs(defs: TmtcDefinitionWrapper): oce.add(keys=OpCodes.INERTIAL, info=Info.INERTIAL) oce.add(keys=OpCodes.SAFE_PTG, info=Info.SAFE_PTG) oce.add(keys=OpCodes.RESET_MEKF, info=Info.RESET_MEKF) + oce.add(keys=OpCodes.RESTORE_MEKF_NONFINITE_RECOVERY, info=Info.RESTORE_MEKF_NONFINITE_RECOVERY) oce.add(keys=OpCodes.SET_PARAMETER_SCALAR, info=Info.SET_PARAMETER_SCALAR) oce.add(keys=OpCodes.SET_PARAMETER_VECTOR, info=Info.SET_PARAMETER_VECTOR) oce.add(keys=OpCodes.SET_PARAMETER_MATRIX, info=Info.SET_PARAMETER_MATRIX) @@ -259,6 +263,9 @@ def pack_acs_ctrl_command(p: ServiceProviderParams): elif op_code in OpCodes.RESET_MEKF: q.add_log_cmd(f"{Info.RESET_MEKF}") q.add_pus_tc(create_action_cmd(ACS_CONTROLLER, ActionId.RESET_MEKF)) + elif op_code in OpCodes.RESTORE_MEKF_NONFINITE_RECOVERY: + q.add_log_cmd(f"{Info.RESTORE_MEKF_NONFINITE_RECOVERY}") + q.add_pus_tc(create_action_cmd(ACS_CONTROLLER, ActionId.RESTORE_MEKF_NONFINITE_RECOVERY)) elif op_code in OpCodes.SET_PARAMETER_SCALAR: q.add_log_cmd(f"{Info.SET_PARAMETER_SCALAR}") set_acs_ctrl_param_scalar(q) From 5245cbfdd07bafa2de30e1e8dbbe304a54e2b081 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Thu, 16 Mar 2023 11:21:40 +0100 Subject: [PATCH 2/5] tmp enum --- eive_tmtc/tmtc/tcs/tmp1075.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eive_tmtc/tmtc/tcs/tmp1075.py b/eive_tmtc/tmtc/tcs/tmp1075.py index 6f3f3fc..96173a2 100644 --- a/eive_tmtc/tmtc/tcs/tmp1075.py +++ b/eive_tmtc/tmtc/tcs/tmp1075.py @@ -39,7 +39,7 @@ class Tmp1075ActionId(enum.IntEnum): START_ADC_CONV = 2 -class SetId: +class SetId(enum.IntEnum): TEMPERATURE = 1 From a3bdfe8b04525a013e5c49b0c47c727ed648bf0b Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Thu, 16 Mar 2023 14:35:27 +0100 Subject: [PATCH 3/5] enum --- eive_tmtc/tmtc/payload/rad_sensor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eive_tmtc/tmtc/payload/rad_sensor.py b/eive_tmtc/tmtc/payload/rad_sensor.py index 78c82c3..e9dcff0 100644 --- a/eive_tmtc/tmtc/payload/rad_sensor.py +++ b/eive_tmtc/tmtc/payload/rad_sensor.py @@ -5,6 +5,7 @@ @author J. Meier @date 01.07.2021 """ +import enum import struct from eive_tmtc.config.definitions import CustomServiceList @@ -20,7 +21,7 @@ from tmtccmd.util import ObjectIdU32 from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter -class SetId: +class SetId(enum.IntEnum): HK = 3 From 9b56a3ce068206c9252b3d2197d8706dcfdc89bd Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Thu, 16 Mar 2023 14:41:52 +0100 Subject: [PATCH 4/5] also really important --- eive_tmtc/tmtc/payload/ploc_supervisor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eive_tmtc/tmtc/payload/ploc_supervisor.py b/eive_tmtc/tmtc/payload/ploc_supervisor.py index 8ee470a..0b5df66 100644 --- a/eive_tmtc/tmtc/payload/ploc_supervisor.py +++ b/eive_tmtc/tmtc/payload/ploc_supervisor.py @@ -83,7 +83,7 @@ FACTORY_RESET_OPS = { } -class SupvActionId: +class SupvActionId(enum.IntEnum): HK_REPORT = 1 START_MPSOC = 3 SHUTWOWN_MPSOC = 4 From 350e5d77b8113cc9e21eb72242fc37536368f541 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Thu, 16 Mar 2023 17:45:08 +0100 Subject: [PATCH 5/5] add new event --- eive_tmtc/config/events.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/eive_tmtc/config/events.csv b/eive_tmtc/config/events.csv index ec5050c..2f10693 100644 --- a/eive_tmtc/config/events.csv +++ b/eive_tmtc/config/events.csv @@ -91,6 +91,7 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path 11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;No description;mission/acsDefs.h 11203;0x2bc3;MEKF_INVALID_INFO;INFO;No description;mission/acsDefs.h 11204;0x2bc4;MEKF_INVALID_MODE_VIOLATION;HIGH;No description;mission/acsDefs.h +11205;0x2bc5;SAFE_MODE_CONTROLLER_FAILURE;HIGH;No description;mission/acsDefs.h 11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h 11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h 11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h