update and clean up star tracker commands
This commit is contained in:
parent
aab50dce5a
commit
5b613f98ee
@ -97,12 +97,19 @@ class OpCodes:
|
|||||||
NORMAL = "nml"
|
NORMAL = "nml"
|
||||||
OFF = "off"
|
OFF = "off"
|
||||||
PING = "ping"
|
PING = "ping"
|
||||||
REQUEST_SOLUTION_SET = "request_sol_set"
|
REQUEST_SOLUTION_SET_HK = "hk_req_sol"
|
||||||
|
REQUEST_SOLUTION_SET_ACTION = "action_req_sol"
|
||||||
TAKE_IMAGE = "take_image"
|
TAKE_IMAGE = "take_image"
|
||||||
|
UPLOAD_IMAGE = "upload_image"
|
||||||
|
SET_IMG_PROCESSOR_MODE = "set_img_proc_mode"
|
||||||
|
|
||||||
|
|
||||||
class Info:
|
class Info:
|
||||||
REQUEST_SOLUTION_SET = "Request Solution Set HK once"
|
REQUEST_SOLUTION_SET_HK = "Request Solution Set HK once"
|
||||||
|
REQUEST_SOLUTION_SET_ACTION = "Request Solution Set Action"
|
||||||
|
UPLOAD_IMAGE = "Upload Image"
|
||||||
|
TAKE_IMAGE = "Take Image"
|
||||||
|
SET_IMG_PROCESSOR_MODE = "Set Image Processor Mode"
|
||||||
|
|
||||||
|
|
||||||
class SetId(enum.IntEnum):
|
class SetId(enum.IntEnum):
|
||||||
@ -128,7 +135,7 @@ class FileDefs:
|
|||||||
egse_histogram_upload_img_config = (
|
egse_histogram_upload_img_config = (
|
||||||
"/home/pi/arcsec/json/upload-image-histogram.json"
|
"/home/pi/arcsec/json/upload-image-histogram.json"
|
||||||
)
|
)
|
||||||
q7s_ground_config = "/mnt/sd0/startracker/json/ground-config.json"
|
q7s_ground_config = "/mnt/sd0/startracker/ground-config.json"
|
||||||
q7s_flight_config = "/mnt/sd0/startracker/flight-config.json"
|
q7s_flight_config = "/mnt/sd0/startracker/flight-config.json"
|
||||||
firmware2_1 = "/home/pi/arcsec/firmware/sagitta-2-1.bin"
|
firmware2_1 = "/home/pi/arcsec/firmware/sagitta-2-1.bin"
|
||||||
firmware22_1 = "/home/pi/arcsec/firmware/sagitta-22-1.bin"
|
firmware22_1 = "/home/pi/arcsec/firmware/sagitta-22-1.bin"
|
||||||
@ -136,31 +143,31 @@ class FileDefs:
|
|||||||
|
|
||||||
|
|
||||||
json_dict = {
|
json_dict = {
|
||||||
"1": ["Q7S flight config", FileDefs.q7s_flight_config],
|
"1": ("Q7S flight config", FileDefs.q7s_flight_config),
|
||||||
"2": ["Q7S ground config", FileDefs.q7s_ground_config],
|
"2": ("Q7S ground config", FileDefs.q7s_ground_config),
|
||||||
"3": ["EGSE flight config", FileDefs.egse_flight_config],
|
"3": ("EGSE flight config", FileDefs.egse_flight_config),
|
||||||
"4": ["EGSE ground config", FileDefs.egse_ground_config],
|
"4": ("EGSE ground config", FileDefs.egse_ground_config),
|
||||||
"5": [
|
"5": (
|
||||||
"EGSE get solution, upload image config",
|
"EGSE get solution, upload image config",
|
||||||
FileDefs.egse_solution_upload_img_config,
|
FileDefs.egse_solution_upload_img_config,
|
||||||
],
|
),
|
||||||
"6": [
|
"6": (
|
||||||
"EGSE get histogram, upload image config",
|
"EGSE get histogram, upload image config",
|
||||||
FileDefs.egse_solution_upload_img_config,
|
FileDefs.egse_solution_upload_img_config,
|
||||||
],
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
firmware_dict = {
|
firmware_dict = {
|
||||||
"1": ["Firmware Major = 2, Minor = 1", FileDefs.firmware2_1],
|
"1": ("Firmware Major = 2, Minor = 1", FileDefs.firmware2_1),
|
||||||
"2": ["Firmware Major = 22, Minor = 1", FileDefs.firmware22_1],
|
"2": ("Firmware Major = 22, Minor = 1", FileDefs.firmware22_1),
|
||||||
"3": ["Firmware Origin", FileDefs.firmware_origin],
|
"3": ("Firmware Origin", FileDefs.firmware_origin),
|
||||||
}
|
}
|
||||||
|
|
||||||
upload_image_dict = {
|
upload_image_dict = {
|
||||||
"1": ["q7s gemma", "/mnt/sd0/startracker/gemma.bin"],
|
"1": ("q7s gemma", "/mnt/sd0/startracker/gemma.bin"),
|
||||||
"2": ["egse gemma", "/home/pi/arcsec/star-images/gemma.bin"],
|
"2": ("egse gemma", "/home/pi/arcsec/star-images/gemma.bin"),
|
||||||
"3": ["q7s polaris", "/mnt/sd0/startracker/polaris.bin"],
|
"3": ("q7s polaris", "/mnt/sd0/startracker/polaris.bin"),
|
||||||
"4": ["egse polaris", "/home/pi/arcsec/star-images/polaris.bin"],
|
"4": ("egse polaris", "/home/pi/arcsec/star-images/polaris.bin"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -204,9 +211,13 @@ def pack_star_tracker_commands(
|
|||||||
q.add_log_cmd("Star tracker: Mode Off")
|
q.add_log_cmd("Star tracker: Mode Off")
|
||||||
data = pack_mode_data(obyt, Mode.OFF, 0)
|
data = pack_mode_data(obyt, Mode.OFF, 0)
|
||||||
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data))
|
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data))
|
||||||
if op_code == OpCodes.REQUEST_SOLUTION_SET:
|
if op_code == OpCodes.REQUEST_SOLUTION_SET_HK:
|
||||||
q.add_log_cmd(Info.REQUEST_SOLUTION_SET)
|
q.add_log_cmd(Info.REQUEST_SOLUTION_SET_HK)
|
||||||
q.add_pus_tc(create_request_one_diag_command(make_sid(obyt, SetId.SOLUTION)))
|
q.add_pus_tc(create_request_one_diag_command(make_sid(obyt, SetId.SOLUTION)))
|
||||||
|
if op_code == OpCodes.REQUEST_SOLUTION_SET_ACTION:
|
||||||
|
q.add_log_cmd("Star tracker: Request solution")
|
||||||
|
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_SOLUTION)
|
||||||
|
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
||||||
if op_code == "4":
|
if op_code == "4":
|
||||||
q.add_log_cmd("Star tracker: Mode Raw")
|
q.add_log_cmd("Star tracker: Mode Raw")
|
||||||
data = pack_mode_data(obyt, Mode.RAW, 0)
|
data = pack_mode_data(obyt, Mode.RAW, 0)
|
||||||
@ -254,11 +265,7 @@ def pack_star_tracker_commands(
|
|||||||
q.add_log_cmd("Star tracker: Request time")
|
q.add_log_cmd("Star tracker: Request time")
|
||||||
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_TIME)
|
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_TIME)
|
||||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
||||||
if op_code == "14":
|
if op_code == OpCodes.UPLOAD_IMAGE:
|
||||||
q.add_log_cmd("Star tracker: Request solution")
|
|
||||||
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_SOLUTION)
|
|
||||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
|
||||||
if op_code == "15":
|
|
||||||
q.add_log_cmd("Star tracker: Upload image")
|
q.add_log_cmd("Star tracker: Upload image")
|
||||||
image = get_upload_image()
|
image = get_upload_image()
|
||||||
data = (
|
data = (
|
||||||
@ -361,7 +368,9 @@ def pack_star_tracker_commands(
|
|||||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
||||||
if op_code == OpCodes.TAKE_IMAGE:
|
if op_code == OpCodes.TAKE_IMAGE:
|
||||||
q.add_log_cmd("Star tracker: Take image")
|
q.add_log_cmd("Star tracker: Take image")
|
||||||
actionid = int(input("Specify parameter ID (take image - 4): "))
|
actionid = int(
|
||||||
|
input("Specify parameter ID (4: take image, 7: get histogram): ")
|
||||||
|
)
|
||||||
data = (
|
data = (
|
||||||
obyt
|
obyt
|
||||||
+ struct.pack("!I", StarTrackerActionId.TAKE_IMAGE)
|
+ struct.pack("!I", StarTrackerActionId.TAKE_IMAGE)
|
||||||
@ -511,8 +520,8 @@ def pack_star_tracker_commands(
|
|||||||
q.add_log_cmd("Star tracker: Request limits")
|
q.add_log_cmd("Star tracker: Request limits")
|
||||||
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_LIMITS)
|
data = obyt + struct.pack("!I", StarTrackerActionId.REQ_LIMITS)
|
||||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
||||||
if op_code == "51":
|
if op_code == OpCodes.SET_IMG_PROCESSOR_MODE:
|
||||||
q.add_log_cmd("Star tracker: Set image processor parameters")
|
q.add_log_cmd(Info.SET_IMG_PROCESSOR_MODE)
|
||||||
json_file = get_config_file()
|
json_file = get_config_file()
|
||||||
data = (
|
data = (
|
||||||
obyt
|
obyt
|
||||||
@ -798,10 +807,13 @@ def add_str_cmds(defs: TmtcDefinitionWrapper):
|
|||||||
oce.add(OpCodes.ON_FIRMWARE, "Mode On, Submode Firmware")
|
oce.add(OpCodes.ON_FIRMWARE, "Mode On, Submode Firmware")
|
||||||
oce.add(OpCodes.NORMAL, "Mode Normal")
|
oce.add(OpCodes.NORMAL, "Mode Normal")
|
||||||
oce.add(OpCodes.OFF, "Mode Off")
|
oce.add(OpCodes.OFF, "Mode Off")
|
||||||
oce.add("4", "Star Tracker: Mode Raw")
|
# oce.add("4", "Star Tracker: Mode Raw")
|
||||||
oce.add(OpCodes.PING, "Star Tracker: Ping")
|
oce.add(OpCodes.PING, "Star Tracker: Ping")
|
||||||
oce.add(OpCodes.TAKE_IMAGE, "Take Image")
|
oce.add(OpCodes.TAKE_IMAGE, "Take Image")
|
||||||
oce.add(OpCodes.REQUEST_SOLUTION_SET, "Request Solution Set HK")
|
oce.add(OpCodes.REQUEST_SOLUTION_SET_HK, Info.REQUEST_SOLUTION_SET_HK)
|
||||||
|
oce.add(OpCodes.REQUEST_SOLUTION_SET_ACTION, Info.REQUEST_SOLUTION_SET_ACTION)
|
||||||
|
oce.add(OpCodes.UPLOAD_IMAGE, Info.UPLOAD_IMAGE)
|
||||||
|
oce.add(OpCodes.SET_IMG_PROCESSOR_MODE, Info.SET_IMG_PROCESSOR_MODE)
|
||||||
oce.add("6", "Star Tracker: Switch to bootloader program")
|
oce.add("6", "Star Tracker: Switch to bootloader program")
|
||||||
oce.add("7", "Star Tracker: Request temperature")
|
oce.add("7", "Star Tracker: Request temperature")
|
||||||
oce.add("8", "Star Tracker: Request version")
|
oce.add("8", "Star Tracker: Request version")
|
||||||
@ -811,7 +823,6 @@ def add_str_cmds(defs: TmtcDefinitionWrapper):
|
|||||||
oce.add("12", "Star Tracker: Boot image (requires bootloader mode)")
|
oce.add("12", "Star Tracker: Boot image (requires bootloader mode)")
|
||||||
oce.add("13", "Star Tracker: Request time")
|
oce.add("13", "Star Tracker: Request time")
|
||||||
oce.add("14", "Star Tracker: Request solution")
|
oce.add("14", "Star Tracker: Request solution")
|
||||||
oce.add("15", "Star Tracker: Upload image")
|
|
||||||
oce.add("16", "Star Tracker: Download image")
|
oce.add("16", "Star Tracker: Download image")
|
||||||
oce.add("17", "Star Tracker: Set limit parameters")
|
oce.add("17", "Star Tracker: Set limit parameters")
|
||||||
oce.add("17", "Star Tracker: Set limit parameters")
|
oce.add("17", "Star Tracker: Set limit parameters")
|
||||||
@ -833,7 +844,6 @@ def add_str_cmds(defs: TmtcDefinitionWrapper):
|
|||||||
oce.add("37", "Star Tracker: Get checksum")
|
oce.add("37", "Star Tracker: Get checksum")
|
||||||
oce.add("49", "Star Tracker: Request camera parameter")
|
oce.add("49", "Star Tracker: Request camera parameter")
|
||||||
oce.add("50", "Star Tracker: Request limits")
|
oce.add("50", "Star Tracker: Request limits")
|
||||||
oce.add("51", "Star Tracker: Set image processor parameters")
|
|
||||||
oce.add("52", "Star Tracker: (EGSE only) Load camera ground config")
|
oce.add("52", "Star Tracker: (EGSE only) Load camera ground config")
|
||||||
oce.add("53", "Star Tracker: (EGSE only) Load camera flight config")
|
oce.add("53", "Star Tracker: (EGSE only) Load camera flight config")
|
||||||
oce.add("54", "Star Tracker: Request log level parameters")
|
oce.add("54", "Star Tracker: Request log level parameters")
|
||||||
|
@ -307,7 +307,9 @@ def handle_syrlinks_rx_registers_dataset(printer: FsfwTmTcPrinter, hk_data: byte
|
|||||||
if rx_demod_n0 > 0:
|
if rx_demod_n0 > 0:
|
||||||
eb_to_n0 = 20 * math.log10(rx_demod_eb / rx_demod_n0) - 3
|
eb_to_n0 = 20 * math.log10(rx_demod_eb / rx_demod_n0) - 3
|
||||||
else:
|
else:
|
||||||
logging.getLogger(__name__).warning("RX Demod N0 is 0, can not calculate Eb to N0")
|
logging.getLogger(__name__).warning(
|
||||||
|
"RX Demod N0 is 0, can not calculate Eb to N0"
|
||||||
|
)
|
||||||
eb_to_n0 = 0
|
eb_to_n0 = 0
|
||||||
rx_data_rate_raw = hk_data[21]
|
rx_data_rate_raw = hk_data[21]
|
||||||
rx_data_rate = -1
|
rx_data_rate = -1
|
||||||
|
Loading…
Reference in New Issue
Block a user