Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
cbbb335254 | |||
42434cbe7e | |||
bf158bee2d | |||
80539cf897 | |||
ffd2eb11f8 | |||
ed5cb87cad | |||
4386b18049 | |||
a3e03350fa | |||
d758a1f11a | |||
af17e30676 | |||
5652305ee1 | |||
a3f5c92654 | |||
e74e751142 |
12
CHANGELOG.md
12
CHANGELOG.md
@ -10,6 +10,18 @@ list yields a list of all related PRs for each release.
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
# [v2.17.3] 2023-03-09
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- Fixed the heater object ID names completely. Also,
|
||||||
|
the HPA heater is now the Syrlinks heater.
|
||||||
|
|
||||||
|
# [v2.17.2] 2023-03-07
|
||||||
|
|
||||||
|
- Updated CSVs
|
||||||
|
- New events for core controller
|
||||||
|
|
||||||
# [v2.17.1] 2023-03-07
|
# [v2.17.1] 2023-03-07
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
__version__ = "2.17.1"
|
__version__ = "2.17.3"
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@ -6,7 +6,7 @@ from pathlib import Path
|
|||||||
SW_NAME = "eive-tmtc"
|
SW_NAME = "eive-tmtc"
|
||||||
VERSION_MAJOR = 2
|
VERSION_MAJOR = 2
|
||||||
VERSION_MINOR = 17
|
VERSION_MINOR = 17
|
||||||
VERSION_REVISION = 1
|
VERSION_REVISION = 3
|
||||||
|
|
||||||
EIVE_TMTC_ROOT = Path(__file__).parent
|
EIVE_TMTC_ROOT = Path(__file__).parent
|
||||||
PACKAGE_ROOT = EIVE_TMTC_ROOT.parent
|
PACKAGE_ROOT = EIVE_TMTC_ROOT.parent
|
||||||
|
@ -250,12 +250,14 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
|||||||
13904;0x3650;WRITE_CONFIGFILE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
|
13904;0x3650;WRITE_CONFIGFILE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
|
||||||
13905;0x3651;READ_CONFIGFILE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
|
13905;0x3651;READ_CONFIGFILE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
|
||||||
14000;0x36b0;ALLOC_FAILURE;MEDIUM;No description;bsp_q7s/core/CoreController.h
|
14000;0x36b0;ALLOC_FAILURE;MEDIUM;No description;bsp_q7s/core/CoreController.h
|
||||||
14001;0x36b1;REBOOT_SW;MEDIUM; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
|
14001;0x36b1;REBOOT_SW;LOW; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
|
||||||
14002;0x36b2;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
|
14002;0x36b2;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
|
||||||
14003;0x36b3;REBOOT_HW;MEDIUM;No description;bsp_q7s/core/CoreController.h
|
14003;0x36b3;REBOOT_HW;MEDIUM;No description;bsp_q7s/core/CoreController.h
|
||||||
14004;0x36b4;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;bsp_q7s/core/CoreController.h
|
14004;0x36b4;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;bsp_q7s/core/CoreController.h
|
||||||
14005;0x36b5;VERSION_INFO;INFO;P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set.;bsp_q7s/core/CoreController.h
|
14005;0x36b5;VERSION_INFO;INFO;P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash P2: First four letters of Git SHA is the last byte of P1 is set.;bsp_q7s/core/CoreController.h
|
||||||
14006;0x36b6;CURRENT_IMAGE_INFO;INFO;P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
|
14006;0x36b6;CURRENT_IMAGE_INFO;INFO;P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
|
||||||
|
14007;0x36b7;REBOOT_COUNTER;INFO;Total reboot counter, which is the sum of the boot count of all individual images.;bsp_q7s/core/CoreController.h
|
||||||
|
14008;0x36b8;INDIVIDUAL_BOOT_COUNTS;INFO;Get the boot count of the individual images. P1: First 16 bits boot count of image 0 0, last 16 bits boot count of image 0 1. P2: First 16 bits boot count of image 1 0, last 16 bits boot count of image 1 1.;bsp_q7s/core/CoreController.h
|
||||||
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.h
|
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.h
|
||||||
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h
|
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h
|
||||||
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
||||||
|
|
@ -71,14 +71,14 @@ PLOC_MPSOC_ID = bytes([0x44, 0x33, 0x00, 0x15])
|
|||||||
PL_PCDU_ID = bytes([0x44, 0x30, 0x00, 0x00])
|
PL_PCDU_ID = bytes([0x44, 0x30, 0x00, 0x00])
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
HEATER_0_OBC_BRD = bytes([0x60, 0x00, 0x00, 0x00])
|
HEATER_0_PLOC_PROC_BRD = bytes([0x60, 0x00, 0x00, 0x00])
|
||||||
HEATER_1_PLOC_PROC_BRD = bytes([0x60, 0x00, 0x00, 0x01])
|
HEATER_1_PCDU_BRD = bytes([0x60, 0x00, 0x00, 0x01])
|
||||||
HEATER_2_ACS_BRD = bytes([0x60, 0x00, 0x00, 0x02])
|
HEATER_2_ACS_BRD = bytes([0x60, 0x00, 0x00, 0x02])
|
||||||
HEATER_3_PCDU_BRD = bytes([0x60, 0x00, 0x00, 0x03])
|
HEATER_3_OBC_BRD = bytes([0x60, 0x00, 0x00, 0x03])
|
||||||
HEATER_4_CAMERA = bytes([0x60, 0x00, 0x00, 0x04])
|
HEATER_4_CAMERA = bytes([0x60, 0x00, 0x00, 0x04])
|
||||||
HEATER_5_STR = bytes([0x60, 0x00, 0x00, 0x05])
|
HEATER_5_STR = bytes([0x60, 0x00, 0x00, 0x05])
|
||||||
HEATER_6_DRO = bytes([0x60, 0x00, 0x00, 0x06])
|
HEATER_6_DRO = bytes([0x60, 0x00, 0x00, 0x06])
|
||||||
HEATER_7_HPA = bytes([0x60, 0x00, 0x00, 0x07])
|
HEATER_7_SYRLINKS = bytes([0x60, 0x00, 0x00, 0x07])
|
||||||
|
|
||||||
# RTDs
|
# RTDs
|
||||||
RTD_0_PLOC_HSPD = bytes([0x44, 0x42, 0x00, 0x16])
|
RTD_0_PLOC_HSPD = bytes([0x44, 0x42, 0x00, 0x16])
|
||||||
|
@ -143,6 +143,7 @@
|
|||||||
0x73000006;CAM_SWITCHER
|
0x73000006;CAM_SWITCHER
|
||||||
0x73000007;SYRLINKS_ASSY
|
0x73000007;SYRLINKS_ASSY
|
||||||
0x73000008;IMTQ_ASSY
|
0x73000008;IMTQ_ASSY
|
||||||
|
0x73000009;STR_ASSY
|
||||||
0x73000100;TM_FUNNEL
|
0x73000100;TM_FUNNEL
|
||||||
0x73000101;PUS_TM_FUNNEL
|
0x73000101;PUS_TM_FUNNEL
|
||||||
0x73000102;CFDP_TM_FUNNEL
|
0x73000102;CFDP_TM_FUNNEL
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
||||||
0x0000;OK;System-wide code for ok.;0;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
|
0x0000;OK;System-wide code for ok.;0;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
|
||||||
0x0001;Failed;Unspecified system-wide code for failed.;1;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
|
0x0001;Failed;Unspecified system-wide code for failed.;1;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
|
||||||
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NVMParameterBase.h
|
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h
|
||||||
0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h
|
0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h
|
||||||
0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h
|
0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h
|
||||||
0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h
|
0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h
|
||||||
|
|
@ -166,6 +166,8 @@ def handle_regular_hk_print(
|
|||||||
return handle_thermal_controller_hk_data(
|
return handle_thermal_controller_hk_data(
|
||||||
object_id=object_id, printer=printer, set_id=set_id, hk_data=hk_data
|
object_id=object_id, printer=printer, set_id=set_id, hk_data=hk_data
|
||||||
)
|
)
|
||||||
|
elif objb == obj_ids.STAR_TRACKER_ID:
|
||||||
|
return handle_str_hk_data(set_id=set_id, hk_data=hk_data, printer=printer)
|
||||||
elif objb == obj_ids.PLOC_SUPV_ID:
|
elif objb == obj_ids.PLOC_SUPV_ID:
|
||||||
return handle_supv_hk_data(set_id=set_id, hk_data=hk_data, printer=printer)
|
return handle_supv_hk_data(set_id=set_id, hk_data=hk_data, printer=printer)
|
||||||
elif objb == obj_ids.ACS_CONTROLLER:
|
elif objb == obj_ids.ACS_CONTROLLER:
|
||||||
|
@ -439,6 +439,8 @@ def handle_imtq_hk(printer: FsfwTmTcPrinter, hk_data: bytes, set_id: int):
|
|||||||
return handle_raw_mtm_measurement(printer, hk_data, False)
|
return handle_raw_mtm_measurement(printer, hk_data, False)
|
||||||
elif set_id == ImtqSetId.RAW_MTM_WITH_TORQUE:
|
elif set_id == ImtqSetId.RAW_MTM_WITH_TORQUE:
|
||||||
return handle_raw_mtm_measurement(printer, hk_data, True)
|
return handle_raw_mtm_measurement(printer, hk_data, True)
|
||||||
|
elif set_id == ImtqSetId.DIPOLES:
|
||||||
|
return handle_dipole_set(printer, hk_data)
|
||||||
elif set_id == ImtqSetId.STATUS_SET:
|
elif set_id == ImtqSetId.STATUS_SET:
|
||||||
return handle_status_set(printer, hk_data)
|
return handle_status_set(printer, hk_data)
|
||||||
else:
|
else:
|
||||||
@ -455,6 +457,21 @@ def unpack_status_set(hk_data: bytes) -> List:
|
|||||||
return [status_mode, status_error, status_conf, status_uptime]
|
return [status_mode, status_error, status_conf, status_uptime]
|
||||||
|
|
||||||
|
|
||||||
|
def handle_dipole_set(printer: FsfwTmTcPrinter, hk_data: bytes):
|
||||||
|
pw = PrintWrapper(printer)
|
||||||
|
pw.dlog("Received iMTQ dipole set")
|
||||||
|
fmt_str = "!hhhH"
|
||||||
|
fmt_len = struct.calcsize(fmt_str)
|
||||||
|
(dipole_x, dipole_y, dipole_z, current_torque_duration) = struct.unpack(
|
||||||
|
fmt_str, hk_data
|
||||||
|
)
|
||||||
|
pw.dlog(f"Dipole X: {dipole_x}")
|
||||||
|
pw.dlog(f"Dipole Y: {dipole_y}")
|
||||||
|
pw.dlog(f"Dipole Z: {dipole_z}")
|
||||||
|
pw.dlog(f"Current torque duration: {current_torque_duration}")
|
||||||
|
pw.printer.print_validity_buffer(hk_data[fmt_len:], 2)
|
||||||
|
|
||||||
|
|
||||||
def unpack_eng_hk(hk_data: bytes) -> List:
|
def unpack_eng_hk(hk_data: bytes) -> List:
|
||||||
digital_voltage = struct.unpack("!H", hk_data[0:2])[0]
|
digital_voltage = struct.unpack("!H", hk_data[0:2])[0]
|
||||||
analog_voltage = struct.unpack("!H", hk_data[2:4])[0]
|
analog_voltage = struct.unpack("!H", hk_data[2:4])[0]
|
||||||
|
@ -5,11 +5,13 @@
|
|||||||
@author J. Meier
|
@author J. Meier
|
||||||
@date 14.08.2021
|
@date 14.08.2021
|
||||||
"""
|
"""
|
||||||
|
import datetime
|
||||||
import enum
|
import enum
|
||||||
import logging
|
import logging
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
from eive_tmtc.config.definitions import CustomServiceList
|
from eive_tmtc.config.definitions import CustomServiceList
|
||||||
|
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||||
from spacepackets.ecss.tc import PusTelecommand
|
from spacepackets.ecss.tc import PusTelecommand
|
||||||
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||||
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||||
@ -18,7 +20,7 @@ from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
|
|||||||
from tmtccmd.tc import DefaultPusQueueHelper
|
from tmtccmd.tc import DefaultPusQueueHelper
|
||||||
from tmtccmd.util import ObjectIdU32
|
from tmtccmd.util import ObjectIdU32
|
||||||
from eive_tmtc.utility.input_helper import InputHelper
|
from eive_tmtc.utility.input_helper import InputHelper
|
||||||
|
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -677,6 +679,80 @@ def get_upload_image() -> str:
|
|||||||
return image
|
return image
|
||||||
|
|
||||||
|
|
||||||
|
def handle_str_hk_data(set_id: int, hk_data: bytes, printer: FsfwTmTcPrinter):
|
||||||
|
pw = PrintWrapper(printer)
|
||||||
|
pw.dlog(f"Received STR HK set with set ID {set_id}")
|
||||||
|
if set_id == SetId.SOLUTION:
|
||||||
|
handle_solution_set(hk_data, pw)
|
||||||
|
else:
|
||||||
|
_LOGGER.warning(f"HK parsing for Star Tracker set ID {set_id} unimplemented")
|
||||||
|
|
||||||
|
|
||||||
|
def handle_solution_set(hk_data: bytes, pw: PrintWrapper):
|
||||||
|
pw.dlog("Received solution set")
|
||||||
|
ticks_time_fmt = "!IQ"
|
||||||
|
current_idx = 0
|
||||||
|
fmt_len = struct.calcsize(ticks_time_fmt)
|
||||||
|
(ticks, unix_time) = struct.unpack(
|
||||||
|
ticks_time_fmt, hk_data[current_idx : current_idx + fmt_len]
|
||||||
|
)
|
||||||
|
unix_as_dt = datetime.datetime.fromtimestamp(unix_time, tz=datetime.timezone.utc)
|
||||||
|
pw.dlog(f"Ticks: {ticks} | UNIX time: {unix_time}")
|
||||||
|
pw.dlog(f"UNIX as datetime: {unix_as_dt}")
|
||||||
|
current_idx += fmt_len
|
||||||
|
calib_quaternions_fmt = "!ffff"
|
||||||
|
fmt_len = struct.calcsize(calib_quaternions_fmt)
|
||||||
|
(calib_q_w, calib_q_x, calib_q_y, calib_q_z) = struct.unpack(
|
||||||
|
calib_quaternions_fmt, hk_data[current_idx : current_idx + fmt_len]
|
||||||
|
)
|
||||||
|
pw.dlog("Calibrated Quaternions")
|
||||||
|
pw.dlog(f"Quaternion w: {calib_q_w}")
|
||||||
|
pw.dlog(f"Quaternion x: {calib_q_x}")
|
||||||
|
pw.dlog(f"Quaternion y: {calib_q_y}")
|
||||||
|
pw.dlog(f"Quaternion z: {calib_q_z}")
|
||||||
|
current_idx += fmt_len
|
||||||
|
track_fmt = "!fffff"
|
||||||
|
fmt_len = struct.calcsize(track_fmt)
|
||||||
|
(track_confidence, track_q_w, track_q_x, track_q_y, track_q_z) = struct.unpack(
|
||||||
|
track_fmt, hk_data[current_idx : current_idx + fmt_len]
|
||||||
|
)
|
||||||
|
pw.dlog(f"Track Confidence: {track_confidence}")
|
||||||
|
pw.dlog(f"Track QW: {track_q_w}")
|
||||||
|
pw.dlog(f"Track QX: {track_q_x}")
|
||||||
|
pw.dlog(f"Track QY: {track_q_y}")
|
||||||
|
pw.dlog(f"Track QZ: {track_q_z}")
|
||||||
|
current_idx += fmt_len
|
||||||
|
track_removed = hk_data[current_idx]
|
||||||
|
pw.dlog(f"Number of stars removed from tracking solution: {track_removed}")
|
||||||
|
current_idx += 1
|
||||||
|
stars_centroided = hk_data[current_idx]
|
||||||
|
pw.dlog(f"Centroided stars: {stars_centroided}")
|
||||||
|
current_idx += 1
|
||||||
|
stars_matched_database = hk_data[current_idx]
|
||||||
|
pw.dlog(f"Stars matched: {stars_matched_database}")
|
||||||
|
current_idx += 1
|
||||||
|
# Result of LISA: Lost in space algorithm
|
||||||
|
lisa_fmt = "!fffffB"
|
||||||
|
fmt_len = struct.calcsize(track_fmt)
|
||||||
|
(lisa_q_w, lisa_q_x, lisa_q_y, lisa_q_z) = struct.unpack(
|
||||||
|
lisa_fmt, hk_data[current_idx : current_idx + fmt_len]
|
||||||
|
)
|
||||||
|
pw.dlog(f"LISA QW: {lisa_q_w}")
|
||||||
|
pw.dlog(f"LISA QX: {lisa_q_x}")
|
||||||
|
pw.dlog(f"LISA QY: {lisa_q_y}")
|
||||||
|
pw.dlog(f"LISA QZ: {lisa_q_z}")
|
||||||
|
current_idx += fmt_len
|
||||||
|
is_trusworthy = hk_data[current_idx]
|
||||||
|
pw.dlog(f"Trustworthy solution: {is_trusworthy}")
|
||||||
|
current_idx += 1
|
||||||
|
stable_count = struct.unpack("!I", hk_data[current_idx : current_idx + 4])
|
||||||
|
pw.dlog(f"Stable count: {stable_count}")
|
||||||
|
current_idx += 4
|
||||||
|
solution_strategy = hk_data[current_idx]
|
||||||
|
pw.dlog(f"Solution strategy: {solution_strategy}")
|
||||||
|
pw.printer.print_validity_buffer(hk_data[current_idx:], 23)
|
||||||
|
|
||||||
|
|
||||||
@tmtc_definitions_provider
|
@tmtc_definitions_provider
|
||||||
def add_str_cmds(defs: TmtcDefinitionWrapper):
|
def add_str_cmds(defs: TmtcDefinitionWrapper):
|
||||||
oce = OpCodeEntry()
|
oce = OpCodeEntry()
|
||||||
|
@ -22,7 +22,7 @@ ACS_OBJ_DICT = {
|
|||||||
3: ("RW Assembly", RW_ASSEMBLY),
|
3: ("RW Assembly", RW_ASSEMBLY),
|
||||||
4: ("iMTQ MGT", IMTQ_HANDLER_ID),
|
4: ("iMTQ MGT", IMTQ_HANDLER_ID),
|
||||||
5: ("GYR 0 ADIS", GYRO_0_ADIS_HANDLER_ID),
|
5: ("GYR 0 ADIS", GYRO_0_ADIS_HANDLER_ID),
|
||||||
6: ("GYR 1 L3G", GYRO_1_L3G_HANDLER_ID)
|
6: ("GYR 1 L3G", GYRO_1_L3G_HANDLER_ID),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,26 +21,26 @@ from spacepackets.ecss.tc import PusTelecommand
|
|||||||
|
|
||||||
|
|
||||||
class Heater(enum.IntEnum):
|
class Heater(enum.IntEnum):
|
||||||
HEATER_0_OBC_BRD = 0
|
HEATER_0_PLOC_PROC_BRD = 0
|
||||||
HEATER_1_PLOC_PROC_BRD = 1
|
HEATER_1_PCDU_BRD = 1
|
||||||
HEATER_2_ACS_BRD = 2
|
HEATER_2_ACS_BRD = 2
|
||||||
HEATER_3_PCDU_PDU = 3
|
HEATER_3_OBC_BRD = 3
|
||||||
HEATER_4_CAMERA = 4
|
HEATER_4_CAMERA = 4
|
||||||
HEATER_5_STR = 5
|
HEATER_5_STR = 5
|
||||||
HEATER_6_DRO = 6
|
HEATER_6_DRO = 6
|
||||||
HEATER_7_HPA = 7
|
HEATER_7_SYRLINKS = 7
|
||||||
NUMBER_OF_SWITCHES = 8
|
NUMBER_OF_SWITCHES = 8
|
||||||
|
|
||||||
|
|
||||||
HEATER_LOCATION = [
|
HEATER_LOCATION = [
|
||||||
"OBC Board",
|
|
||||||
"PLOC Processing Board",
|
"PLOC Processing Board",
|
||||||
"ACS Board",
|
|
||||||
"PCDU PDU",
|
"PCDU PDU",
|
||||||
|
"ACS Board",
|
||||||
|
"OBC Board",
|
||||||
"Camera",
|
"Camera",
|
||||||
"Startracker",
|
"Startracker",
|
||||||
"DRO",
|
"DRO",
|
||||||
"HPA",
|
"Syrlinks",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -135,25 +135,25 @@ def pack_heater_cmds(object_id: bytearray, op_code: str, q: DefaultPusQueueHelpe
|
|||||||
|
|
||||||
def heater_idx_to_obj(heater: int) -> ObjectIdU32:
|
def heater_idx_to_obj(heater: int) -> ObjectIdU32:
|
||||||
from eive_tmtc.config.object_ids import (
|
from eive_tmtc.config.object_ids import (
|
||||||
HEATER_0_OBC_BRD,
|
HEATER_0_PLOC_PROC_BRD,
|
||||||
HEATER_1_PLOC_PROC_BRD,
|
HEATER_1_PCDU_BRD,
|
||||||
HEATER_2_ACS_BRD,
|
HEATER_2_ACS_BRD,
|
||||||
HEATER_3_PCDU_BRD,
|
HEATER_3_OBC_BRD,
|
||||||
HEATER_4_CAMERA,
|
HEATER_4_CAMERA,
|
||||||
HEATER_5_STR,
|
HEATER_5_STR,
|
||||||
HEATER_6_DRO,
|
HEATER_6_DRO,
|
||||||
HEATER_7_HPA,
|
HEATER_7_SYRLINKS,
|
||||||
)
|
)
|
||||||
|
|
||||||
obj_id_array = [
|
obj_id_array = [
|
||||||
HEATER_0_OBC_BRD,
|
HEATER_0_PLOC_PROC_BRD,
|
||||||
HEATER_1_PLOC_PROC_BRD,
|
HEATER_1_PCDU_BRD,
|
||||||
HEATER_2_ACS_BRD,
|
HEATER_2_ACS_BRD,
|
||||||
HEATER_3_PCDU_BRD,
|
HEATER_3_OBC_BRD,
|
||||||
HEATER_4_CAMERA,
|
HEATER_4_CAMERA,
|
||||||
HEATER_5_STR,
|
HEATER_5_STR,
|
||||||
HEATER_6_DRO,
|
HEATER_6_DRO,
|
||||||
HEATER_7_HPA,
|
HEATER_7_SYRLINKS,
|
||||||
]
|
]
|
||||||
obj_dict = get_object_ids()
|
obj_dict = get_object_ids()
|
||||||
obj_id_obj = obj_dict.get(obj_id_array[heater])
|
obj_id_obj = obj_dict.get(obj_id_array[heater])
|
||||||
|
Reference in New Issue
Block a user