changed calibration method to use processed data

This commit is contained in:
Marius Eggert 2023-02-06 17:15:15 +01:00
parent 66867ad9d2
commit f50aac689f

View File

@ -514,8 +514,6 @@ def handle_raw_mgm_data(pw: PrintWrapper, hk_data: bytes):
for entry in zip(print_str_list, formatted_list):
pw.dlog(f"{entry[0].ljust(28)}: {entry[1]}")
current_idx += 1
if PERFORM_MGM_CALIBRATION:
perform_mgm_calibration(pw, mgm_0_lis3_floats_ut)
assert current_idx == 61
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=6)
@ -528,31 +526,48 @@ def handle_mgm_data_processed(pw: PrintWrapper, hk_data: bytes):
pw.dlog("Recieved HK set too small")
return
current_idx = 0
for i in range(5):
fmt_str = "!fff"
inc_len = struct.calcsize(fmt_str)
mgm_vec = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
mgm_vec = [f"{val:8.3f}" for val in mgm_vec]
pw.dlog(f"MGM {i}: {mgm_vec}")
current_idx += inc_len
fmt_str = "!fff"
inc_len = struct.calcsize(fmt_str)
mgm_0 = struct.unpack(fmt_str, hk_data[current_idx: current_idx + inc_len])
mgm_0_str = [f"{val:8.3f}" for val in mgm_0]
pw.dlog(f"MGM 0 Vec: {mgm_0_str}")
current_idx += inc_len
mgm_1 = struct.unpack(fmt_str, hk_data[current_idx: current_idx + inc_len])
mgm_1_str = [f"{val:8.3f}" for val in mgm_1]
pw.dlog(f"MGM 1 Vec: {mgm_1_str}")
current_idx += inc_len
mgm_2 = struct.unpack(fmt_str, hk_data[current_idx: current_idx + inc_len])
mgm_2_str = [f"{val:8.3f}" for val in mgm_2]
pw.dlog(f"MGM 2 Vec: {mgm_2_str}")
current_idx += inc_len
mgm_3 = struct.unpack(fmt_str, hk_data[current_idx: current_idx + inc_len])
mgm_3_str = [f"{val:8.3f}" for val in mgm_3]
pw.dlog(f"MGM 3 Vec: {mgm_3_str}")
current_idx += inc_len
mgm_4 = struct.unpack(fmt_str, hk_data[current_idx: current_idx + inc_len])
mgm_4_str = [f"{val:8.3f}" for val in mgm_4]
pw.dlog(f"MGM 4 Vec: {mgm_4_str}")
current_idx += inc_len
fmt_str = "!ddd"
inc_len = struct.calcsize(fmt_str)
mgm_vec_tot = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
mgm_vec_tot = struct.unpack(fmt_str, hk_data[current_idx: current_idx + inc_len])
mgm_vec_tot = [f"{val:8.3f}" for val in mgm_vec_tot]
current_idx += inc_len
pw.dlog(f"MGM Total Vec: {mgm_vec_tot}")
mgm_vec_tot_deriv = struct.unpack(
fmt_str, hk_data[current_idx : current_idx + inc_len]
fmt_str, hk_data[current_idx: current_idx + inc_len]
)
mgm_vec_tot_deriv = [f"{val:8.3f}" for val in mgm_vec_tot_deriv]
pw.dlog(f"MGM Total Vec Deriv: {mgm_vec_tot_deriv}")
current_idx += inc_len
mag_igrf_model = struct.unpack(
fmt_str, hk_data[current_idx : current_idx + inc_len]
fmt_str, hk_data[current_idx: current_idx + inc_len]
)
mag_igrf_model = [f"{val:8.3f}" for val in mag_igrf_model]
pw.dlog(f"MAG IGRF Model: {mag_igrf_model}")
current_idx += inc_len
if PERFORM_MGM_CALIBRATION:
perform_mgm_calibration(pw, mgm_3)
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=8)