From 7eef5953487232ad9fd3dfe722a4d0fe293748d5 Mon Sep 17 00:00:00 2001 From: Marko Mecina <marko.mecina@univie.ac.at> Date: Sat, 16 Dec 2023 14:42:37 +0100 Subject: [PATCH] add function to extract TC(3,1) from file --- Ccs/ccs_function_lib.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Ccs/ccs_function_lib.py b/Ccs/ccs_function_lib.py index 71365c7..46def20 100644 --- a/Ccs/ccs_function_lib.py +++ b/Ccs/ccs_function_lib.py @@ -5892,6 +5892,28 @@ def dump_large_data(pool_name, starttime=0, endtime=None, outdir="", dump_all=Fa return filedict +def get_hk_def_tcs(filename, sid=None, sidoff=TC_HEADER_LEN, sidbs=2): + """ + Search binary pool dump for HK definitions (TC(3,1)) + + @param filename: + @param sid: Only return HK definitions with this SID if not None + @param sidoff: + @param sidbs: + @return: + """ + + with open(filename, 'rb') as fd: + pkts = extract_pus(fd) + + if sid is None: + pkts = [pkt for pkt in pkts if (pkt[7] == 3) and (pkt[8] == 1)] + else: + pkts = [pkt for pkt in pkts if (pkt[7] == 3) and (pkt[8] == 1) and (int.from_bytes(pkt[sidoff:sidoff+sidbs], 'big') == sid)] + + return pkts + + class DbTools: """ SQL database management tools -- GitLab