Compare commits
13 Commits
68ea889d0f
...
v6.1.0
Author | SHA1 | Date | |
---|---|---|---|
73a4260f33 | |||
3358de3e3e | |||
211e79c83e | |||
7f10e5c777 | |||
aab35c26c2 | |||
6ade001d3d | |||
098bdcf82b
|
|||
b131415ea7 | |||
b1dd5aa7d0 | |||
0201eb27c4
|
|||
c070f18c5d
|
|||
00876ed0e0
|
|||
771199e542 |
@@ -10,9 +10,13 @@ list yields a list of all related PRs for each release.
|
||||
|
||||
# [unreleased]
|
||||
|
||||
# [v6.1.0] 2024-02-29
|
||||
|
||||
## Added
|
||||
|
||||
- Added commands to unlock and use STR secondary firmware slot.
|
||||
- STR BlobStats TM handling
|
||||
- New ACS CTRL commands.
|
||||
|
||||
## Fixed
|
||||
|
||||
|
@@ -98,6 +98,7 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
||||
11208;0x2bc8;TLE_TOO_OLD;INFO;The TLE for the SGP4 Propagator has become too old.;mission/acs/defs.h
|
||||
11209;0x2bc9;TLE_FILE_READ_FAILED;LOW;The TLE could not be read from the filesystem.;mission/acs/defs.h
|
||||
11210;0x2bca;PTG_RATE_VIOLATION;MEDIUM;The limits for the rotation in pointing mode were violated.;mission/acs/defs.h
|
||||
11211;0x2bcb;DETUMBLE_TRANSITION_FAILED;HIGH;The detumble transition has failed. //! P1: Last detumble state before failure.;mission/acs/defs.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/power/defs.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/power/defs.h
|
||||
11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/power/defs.h
|
||||
|
|
@@ -53,7 +53,7 @@ FORWARD_SENSOR_TEMPS = False
|
||||
|
||||
@dataclasses.dataclass
|
||||
class HkFilter:
|
||||
object_ids: List[ObjectIdU32]
|
||||
object_ids: List[bytes]
|
||||
set_ids: List[int]
|
||||
|
||||
|
||||
@@ -72,8 +72,7 @@ def handle_hk_packet(
|
||||
named_obj_id = tm_packet.object_id
|
||||
if tm_packet.subservice == 25 or tm_packet.subservice == 26:
|
||||
hk_data = tm_packet.tm_data[8:]
|
||||
|
||||
if named_obj_id in hk_filter.object_ids:
|
||||
if named_obj_id.as_bytes in hk_filter.object_ids:
|
||||
# print(f"PUS TM Base64: {base64.b64encode(raw_tm)}")
|
||||
handle_regular_hk_print(
|
||||
printer=printer,
|
||||
|
@@ -72,6 +72,7 @@ class ActionId(enum.IntEnum):
|
||||
RESTORE_MEKF_NONFINITE_RECOVERY = 2
|
||||
UPDATE_TLE = 3
|
||||
READ_TLE = 4
|
||||
UPDATE_MEKF_STANDARD_DEVIATIONS = 5
|
||||
|
||||
|
||||
CTRL_STRAT_DICT = {
|
||||
@@ -126,6 +127,7 @@ class OpCodes:
|
||||
RESTORE_MEKF_NONFINITE_RECOVERY = "restore_mekf_nonfinite_recovery"
|
||||
UPDATE_TLE = "update_tle"
|
||||
READ_TLE = "read_tle"
|
||||
UPDATE_MEKF_STANDARD_DEVIATIONS = "update_mekf_standard_deviations"
|
||||
SET_PARAMETER_SCALAR = "set_scalar_param"
|
||||
SET_PARAMETER_VECTOR = "set_vector_param"
|
||||
SET_PARAMETER_MATRIX = "set_matrix_param"
|
||||
@@ -148,6 +150,10 @@ class Info:
|
||||
RESTORE_MEKF_NONFINITE_RECOVERY = "Restore MEKF non-finite recovery"
|
||||
UPDATE_TLE = "Update TLE"
|
||||
READ_TLE = "Read the currently stored TLE"
|
||||
UPDATE_MEKF_STANDARD_DEVIATIONS = (
|
||||
"Update the Standard Deviations within the MEKF to the current ACS Parameter "
|
||||
"Values"
|
||||
)
|
||||
SET_PARAMETER_SCALAR = "Set Scalar Parameter"
|
||||
SET_PARAMETER_VECTOR = "Set Vector Parameter"
|
||||
SET_PARAMETER_MATRIX = "Set Matrix Parameter"
|
||||
@@ -183,36 +189,6 @@ def create_acs_ctrl_node() -> CmdTreeNode:
|
||||
return acs_ctrl
|
||||
|
||||
|
||||
@tmtc_definitions_provider
|
||||
def acs_cmd_defs(defs: TmtcDefinitionWrapper):
|
||||
oce = OpCodeEntry()
|
||||
oce.add(keys=OpCodes.OFF, info=Info.OFF)
|
||||
oce.add(keys=OpCodes.SAFE, info=Info.SAFE)
|
||||
oce.add(keys=OpCodes.DTBL, info=Info.DTBL)
|
||||
oce.add(keys=OpCodes.IDLE, info=Info.IDLE)
|
||||
oce.add(keys=OpCodes.NADIR, info=Info.NADIR)
|
||||
oce.add(keys=OpCodes.TARGET, info=Info.TARGET)
|
||||
oce.add(keys=OpCodes.GS, info=Info.GS)
|
||||
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.UPDATE_TLE, info=Info.UPDATE_TLE)
|
||||
oce.add(keys=OpCodes.READ_TLE, info=Info.READ_TLE)
|
||||
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)
|
||||
oce.add(keys=OpCodes.ONE_SHOOT_HK, info=Info.ONE_SHOOT_HK)
|
||||
oce.add(keys=OpCodes.ENABLE_HK, info=Info.ENABLE_HK)
|
||||
oce.add(keys=OpCodes.DISABLE_HK, info=Info.DISABLE_HK)
|
||||
defs.add_service(
|
||||
name=CustomServiceList.ACS_CTRL.value, info="ACS Controller", op_code_entry=oce
|
||||
)
|
||||
|
||||
|
||||
def pack_acs_ctrl_command(q: DefaultPusQueueHelper, cmd_str: str): # noqa C901
|
||||
if cmd_str in OpCodes.OFF:
|
||||
q.add_log_cmd(f"{Info.OFF}")
|
||||
@@ -273,18 +249,14 @@ def pack_acs_ctrl_command(q: DefaultPusQueueHelper, cmd_str: str): # noqa C901
|
||||
print("The line does not have the required length of 69 characters")
|
||||
tle = line1.encode() + line2.encode()
|
||||
q.add_pus_tc(create_action_cmd(ACS_CONTROLLER, ActionId.UPDATE_TLE, tle))
|
||||
elif cmd_str in OpCodes.SET_PARAMETER_SCALAR:
|
||||
q.add_log_cmd(f"{Info.SET_PARAMETER_SCALAR}")
|
||||
set_acs_ctrl_param_scalar(q)
|
||||
elif cmd_str in OpCodes.SET_PARAMETER_VECTOR:
|
||||
q.add_log_cmd(f"{Info.SET_PARAMETER_VECTOR}")
|
||||
set_acs_ctrl_param_vector(q)
|
||||
elif cmd_str in OpCodes.SET_PARAMETER_MATRIX:
|
||||
q.add_log_cmd(f"{Info.SET_PARAMETER_MATRIX}")
|
||||
set_acs_ctrl_param_matrix(q)
|
||||
elif cmd_str == OpCodes.READ_TLE:
|
||||
q.add_log_cmd(f"{Info.READ_TLE}")
|
||||
q.add_pus_tc(create_action_cmd(ACS_CONTROLLER, ActionId.READ_TLE))
|
||||
elif cmd_str == OpCodes.UPDATE_MEKF_STANDARD_DEVIATIONS:
|
||||
q.add_log_cmd(f"{Info.UPDATE_MEKF_STANDARD_DEVIATIONS}")
|
||||
q.add_pus_tc(
|
||||
create_action_cmd(ACS_CONTROLLER, ActionId.UPDATE_MEKF_STANDARD_DEVIATIONS)
|
||||
)
|
||||
elif cmd_str == OpCodes.SET_PARAMETER_SCALAR:
|
||||
q.add_log_cmd(f"{Info.SET_PARAMETER_SCALAR}")
|
||||
set_acs_ctrl_param_scalar(q)
|
||||
|
@@ -1208,7 +1208,7 @@ def handle_blob_stats_set(hk_data: bytes, pw: PrintWrapper):
|
||||
i, noise_list[i], threshold_list[i], lvalid_list[i], oflow_list[i]
|
||||
)
|
||||
)
|
||||
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=4)
|
||||
pw.dlog(FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=4))
|
||||
|
||||
|
||||
def handle_star_tracker_action_replies(
|
||||
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
||||
name = "eive-tmtc"
|
||||
description = "TMTC Commander EIVE"
|
||||
readme = "README.md"
|
||||
version = "6.0.0"
|
||||
version = "6.1.0"
|
||||
requires-python = ">=3.10"
|
||||
license = {text = "Apache-2.0"}
|
||||
authors = [
|
||||
|
Reference in New Issue
Block a user