add contrast set
EIVE/-/pipeline/pr-main This commit looks good Details

This commit is contained in:
Robin Müller 2023-10-27 11:24:39 +02:00
parent 2ca7bc5a70
commit 5821c60eb4
Signed by: muellerr
GPG Key ID: A649FB78196E3849
1 changed files with 18 additions and 7 deletions

View File

@ -142,6 +142,7 @@ class SetId(enum.IntEnum):
TEMPERATURE = 25
SOLUTION = 24
HISTOGRAM = 28
CONTRAST = 29
CHECKSUM = 50
CAMERA = 67
LIMITS = 68
@ -801,6 +802,8 @@ def handle_str_hk_data(set_id: int, hk_data: bytes, pw: PrintWrapper):
handle_centroid_set(hk_data, pw)
elif set_id == SetId.CENTROIDS:
handle_centroids_set(hk_data, pw)
elif set_id == SetId.CONTRAST:
handle_contrast_set(hk_data, pw)
else:
_LOGGER.warning(f"HK parsing for Star Tracker set ID {set_id} unimplemented")
@ -1050,13 +1053,14 @@ def handle_auto_blob_set(hk_data: bytes, pw: PrintWrapper):
threshold = struct.unpack(
fmt_threshold, hk_data[current_idx : current_idx + inc_len]
)[0]
pw.dlog(f"Threshold {threshold}")
current_idx += inc_len
assert current_idx == len(hk_data) - 1
pw.dlog(f"Threshold {threshold}")
FsfwTmTcPrinter.get_validity_buffer(hk_data[current_idx:], num_vars=3)
def handle_histogram_set(hk_data: bytes, pw: PrintWrapper):
pw.dlog("Received Histogram Set")
def handle_histo_or_contrast_set(name: str, hk_data: bytes, pw: PrintWrapper):
pw.dlog(f"Received {name} Set")
current_idx = unpack_time_hk(hk_data, 0, pw)
fmt_str = "!IIIIIIIII"
bins_list = []
@ -1073,9 +1077,9 @@ def handle_histogram_set(hk_data: bytes, pw: PrintWrapper):
d_bins = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
bins_list.append(d_bins)
pw.dlog(
"Histogram Sections: A Upper Left | B Upper Right | C Lower Left | D Lower Right"
f"{name} Sections: A Upper Left | B Upper Right | C Lower Left | D Lower Right"
)
pw.dlog("{:<12} {:<8} {:<8} {:<8} {:<8}".format("Range", "A", "B", "C", "D"))
pw.dlog("{:<12} {:<10} {:<10} {:<10} {:<10}".format("Range", "A", "B", "C", "D"))
for idx in range(9):
if idx == 0:
val_range = "0 (0-0)"
@ -1084,7 +1088,7 @@ def handle_histogram_set(hk_data: bytes, pw: PrintWrapper):
else:
val_range = f"{idx} ({pow(2, idx - 1)}-{pow(2, idx) - 1})"
pw.dlog(
"{:<12} {:<8} {:<8} {:<8} {:<8}".format(
"{:<12} {:<10} {:<10} {:<10} {:<10}".format(
val_range,
bins_list[0][idx],
bins_list[1][idx],
@ -1092,7 +1096,14 @@ def handle_histogram_set(hk_data: bytes, pw: PrintWrapper):
bins_list[3][idx],
)
)
pass
def handle_histogram_set(hk_data: bytes, pw: PrintWrapper):
handle_histo_or_contrast_set("Histogram", hk_data, pw)
def handle_contrast_set(hk_data: bytes, pw: PrintWrapper):
handle_histo_or_contrast_set("Contrast", hk_data, pw)
def handle_star_tracker_action_replies(