MPSoC commands #169
87
CHANGELOG.md
87
CHANGELOG.md
@ -10,9 +10,96 @@ list yields a list of all related PRs for each release.
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
# [v2.18.2] 2023-03-13
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Added RTD ID enum and Set ID enumeration in the RTD module.
|
||||||
|
- STR Temperature Set
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- Import error for STR code
|
||||||
|
- STR HK bugfixes and length check
|
||||||
|
|
||||||
|
# [v2.18.1] 2023-03-11
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- Missing heater location fix.
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Request to announce reboot counts in core controller commands
|
||||||
|
|
||||||
|
# [v2.18.0] 2023-03-11
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Added GPS Altitude for GPS Processed Data Dataset
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
|
||||||
|
- Updated CSVs.
|
||||||
|
- ACS mode changes: The ACS CTRL submodes are now modes. DETUBMLE is now submode of SAFE mode.
|
||||||
|
|
||||||
|
# [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
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- `MGT_ASSEMBLY` object ID
|
||||||
|
|
||||||
|
# [v2.17.0] 2023-03-07
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Health set and health announce commands
|
||||||
|
- Camera Switcher, Syrlinks Assembly, IMTQ assembly and Star Tracker assembly object IDs added
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
|
||||||
|
- Breaking typo fix in TMP1075 `SetId`
|
||||||
|
|
||||||
|
# [v2.16.4] 2023-03-04
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Some more IMTQ commands
|
||||||
|
|
||||||
|
# [v2.16.3] 2023-03-03
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Syrlinks ASSY object ID
|
||||||
|
|
||||||
|
# [v2.16.2] 2023-03-01
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Added ACS action cmds
|
||||||
|
- Added new ACS hk values
|
||||||
|
- Added ACS set parameter cmds
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
- Correction for ACS CTRL raw data requests HK type
|
- Correction for ACS CTRL raw data requests HK type
|
||||||
|
- Fixed diag related ACS hk cmds
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Basic MGM commanding (modes)
|
||||||
|
|
||||||
# [v2.16.1] 2023-02-24
|
# [v2.16.1] 2023-02-24
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
__version__ = "2.16.1"
|
__version__ = "2.18.1"
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
SW_NAME = "eive-tmtc"
|
SW_NAME = "eive-tmtc"
|
||||||
VERSION_MAJOR = 2
|
VERSION_MAJOR = 2
|
||||||
VERSION_MINOR = 16
|
VERSION_MINOR = 18
|
||||||
VERSION_REVISION = 1
|
VERSION_REVISION = 1
|
||||||
|
|
||||||
EIVE_TMTC_ROOT = Path(__file__).parent
|
EIVE_TMTC_ROOT = Path(__file__).parent
|
||||||
|
@ -37,6 +37,7 @@ class CustomServiceList(str, enum.Enum):
|
|||||||
ACU = "acu"
|
ACU = "acu"
|
||||||
ACS = "acs"
|
ACS = "acs"
|
||||||
GYRO = "gyro"
|
GYRO = "gyro"
|
||||||
|
MGMS = "mgms"
|
||||||
COM_SS = "com"
|
COM_SS = "com"
|
||||||
BPX_BATTERY = "bpx"
|
BPX_BATTERY = "bpx"
|
||||||
HEATER = "heater"
|
HEATER = "heater"
|
||||||
|
@ -151,7 +151,9 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
|||||||
12406;0x3076;LOST_BIT_LOCK_PDEC;INFO;Lost bit lock;linux/ipcore/PdecHandler.h
|
12406;0x3076;LOST_BIT_LOCK_PDEC;INFO;Lost bit lock;linux/ipcore/PdecHandler.h
|
||||||
12407;0x3077;TOO_MANY_IRQS;MEDIUM;Too many IRQs over the time window of one second. P1: Allowed TCs;linux/ipcore/PdecHandler.h
|
12407;0x3077;TOO_MANY_IRQS;MEDIUM;Too many IRQs over the time window of one second. P1: Allowed TCs;linux/ipcore/PdecHandler.h
|
||||||
12408;0x3078;POLL_SYSCALL_ERROR_PDEC;MEDIUM;No description;linux/ipcore/PdecHandler.h
|
12408;0x3078;POLL_SYSCALL_ERROR_PDEC;MEDIUM;No description;linux/ipcore/PdecHandler.h
|
||||||
12409;0x3079;WRITE_SYSCALL_ERROR_PDEC;MEDIUM;No description;linux/ipcore/PdecHandler.h
|
12409;0x3079;WRITE_SYSCALL_ERROR_PDEC;HIGH;No description;linux/ipcore/PdecHandler.h
|
||||||
|
12410;0x307a;PDEC_RESET_FAILED;HIGH;Failed to pull PDEC reset to low;linux/ipcore/PdecHandler.h
|
||||||
|
12411;0x307b;OPEN_IRQ_FILE_FAILED;HIGH;Failed to open the IRQ uio file;linux/ipcore/PdecHandler.h
|
||||||
12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/devices/startracker/StrHelper.h
|
12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/devices/startracker/StrHelper.h
|
||||||
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/devices/startracker/StrHelper.h
|
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/devices/startracker/StrHelper.h
|
||||||
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/devices/startracker/StrHelper.h
|
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/devices/startracker/StrHelper.h
|
||||||
@ -248,17 +250,29 @@ 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
|
||||||
14100;0x3714;POSSIBLE_FILE_CORRUPTION;LOW;P1: Result code of TM packet parser. P2: Timestamp of possibly corrupt file as a unix timestamp.;mission/tmtc/PersistentTmStore.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
|
||||||
14200;0x3778;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.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
|
||||||
14201;0x3779;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h
|
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.h
|
||||||
14202;0x377a;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h
|
||||||
14203;0x377b;PLOC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
||||||
14204;0x377c;OBC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
14103;0x3717;PLOC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
||||||
14205;0x377d;HPA_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
||||||
14206;0x377e;PLPCDU_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
14105;0x3719;HPA_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
||||||
|
14106;0x371a;PLPCDU_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h
|
||||||
|
14201;0x3779;TX_TIMER_EXPIRED;INFO;The transmit timer to protect the Syrlinks expired P1: The current timer value;mission/system/objects/ComSubsystem.h
|
||||||
|
14202;0x377a;BIT_LOCK_TX_ON;INFO;Transmitter will be turned on due to detection of bitlock;mission/system/objects/ComSubsystem.h
|
||||||
|
14300;0x37dc;POSSIBLE_FILE_CORRUPTION;LOW;P1: Result code of TM packet parser. P2: Timestamp of possibly corrupt file as a unix timestamp.;mission/persistentTmStoreDefs.h
|
||||||
|
14301;0x37dd;FILE_TOO_LARGE;LOW;File in store too large. P1: Detected file size P2: Allowed file size;mission/persistentTmStoreDefs.h
|
||||||
|
14302;0x37de;BUSY_DUMPING_EVENT;INFO;No description;mission/persistentTmStoreDefs.h
|
||||||
|
14303;0x37df;DUMP_WAS_CANCELLED;LOW;Dump was cancelled. P1: Object ID of store.;mission/persistentTmStoreDefs.h
|
||||||
|
14305;0x37e1;DUMP_OK_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
|
||||||
|
14306;0x37e2;DUMP_NOK_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
|
||||||
|
14307;0x37e3;DUMP_MISC_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
|
||||||
|
14308;0x37e4;DUMP_HK_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
|
||||||
|
14309;0x37e5;DUMP_CFDP_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.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])
|
||||||
@ -132,10 +132,21 @@ PL_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x02])
|
|||||||
TCS_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x03])
|
TCS_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x03])
|
||||||
COM_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x04])
|
COM_SUBSYSTEM_ID = bytes([0x73, 0x01, 0x00, 0x04])
|
||||||
|
|
||||||
|
# Legacy names, kept for backwards compatibility
|
||||||
ACS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x01])
|
ACS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x01])
|
||||||
SUS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x02])
|
|
||||||
TCS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x03])
|
TCS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x03])
|
||||||
|
SUS_BOARD_ASS_ID = bytes([0x73, 0x00, 0x00, 0x02])
|
||||||
|
IMTQ_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x08])
|
||||||
|
|
||||||
|
ACS_BOARD_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x01])
|
||||||
|
SUS_BOARD_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x02])
|
||||||
|
TCS_BOARD_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x03])
|
||||||
RW_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x04])
|
RW_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x04])
|
||||||
|
CAM_SWITCHER = bytes([0x73, 0x00, 0x00, 0x06])
|
||||||
|
SYRLINKS_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x07])
|
||||||
|
# To be removed soon..
|
||||||
|
MGT_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x08])
|
||||||
|
STR_ASSEMBLY = bytes([0x73, 0x00, 0x00, 0x09])
|
||||||
|
|
||||||
# Controllers
|
# Controllers
|
||||||
TCS_CONTROLLER = bytes([0x43, 0x40, 0x00, 0x01])
|
TCS_CONTROLLER = bytes([0x43, 0x40, 0x00, 0x01])
|
||||||
|
@ -45,6 +45,10 @@
|
|||||||
0x44330003;PLOC_MPSOC_HELPER
|
0x44330003;PLOC_MPSOC_HELPER
|
||||||
0x44330004;AXI_PTME_CONFIG
|
0x44330004;AXI_PTME_CONFIG
|
||||||
0x44330005;PTME_CONFIG
|
0x44330005;PTME_CONFIG
|
||||||
|
0x44330006;PTME_VC0_LIVE_TM
|
||||||
|
0x44330007;PTME_VC1_LOG_TM
|
||||||
|
0x44330008;PTME_VC2_HK_TM
|
||||||
|
0x44330009;PTME_VC3_CFDP_TM
|
||||||
0x44330015;PLOC_MPSOC_HANDLER
|
0x44330015;PLOC_MPSOC_HANDLER
|
||||||
0x44330016;PLOC_SUPERVISOR_HANDLER
|
0x44330016;PLOC_SUPERVISOR_HANDLER
|
||||||
0x44330017;PLOC_SUPERVISOR_HELPER
|
0x44330017;PLOC_SUPERVISOR_HELPER
|
||||||
@ -77,11 +81,13 @@
|
|||||||
0x49010005;GPIO_IF
|
0x49010005;GPIO_IF
|
||||||
0x49010006;SCEX_UART_READER
|
0x49010006;SCEX_UART_READER
|
||||||
0x49020004;SPI_MAIN_COM_IF
|
0x49020004;SPI_MAIN_COM_IF
|
||||||
0x49020005;RW_POLLING_TASK
|
|
||||||
0x49020006;SPI_RTD_COM_IF
|
|
||||||
0x49030003;UART_COM_IF
|
0x49030003;UART_COM_IF
|
||||||
0x49040002;I2C_COM_IF
|
0x49040002;I2C_COM_IF
|
||||||
0x49050001;CSP_COM_IF
|
0x49050001;CSP_COM_IF
|
||||||
|
0x49060004;ACS_BOARD_POLLING_TASK
|
||||||
|
0x49060005;RW_POLLING_TASK
|
||||||
|
0x49060006;SPI_RTD_COM_IF
|
||||||
|
0x49060007;SUS_POLLING_TASK
|
||||||
0x50000100;CCSDS_PACKET_DISTRIBUTOR
|
0x50000100;CCSDS_PACKET_DISTRIBUTOR
|
||||||
0x50000200;PUS_PACKET_DISTRIBUTOR
|
0x50000200;PUS_PACKET_DISTRIBUTOR
|
||||||
0x50000300;TCP_TMTC_SERVER
|
0x50000300;TCP_TMTC_SERVER
|
||||||
@ -133,12 +139,15 @@
|
|||||||
0x60000004;HEATER_4_CAMERA
|
0x60000004;HEATER_4_CAMERA
|
||||||
0x60000005;HEATER_5_STR
|
0x60000005;HEATER_5_STR
|
||||||
0x60000006;HEATER_6_DRO
|
0x60000006;HEATER_6_DRO
|
||||||
0x60000007;HEATER_7_HPA
|
0x60000007;HEATER_7_SYRLINKS
|
||||||
0x73000001;ACS_BOARD_ASS
|
0x73000001;ACS_BOARD_ASS
|
||||||
0x73000002;SUS_BOARD_ASS
|
0x73000002;SUS_BOARD_ASS
|
||||||
0x73000003;TCS_BOARD_ASS
|
0x73000003;TCS_BOARD_ASS
|
||||||
0x73000004;RW_ASS
|
0x73000004;RW_ASSY
|
||||||
0x73000006;CAM_SWITCHER
|
0x73000006;CAM_SWITCHER
|
||||||
|
0x73000007;SYRLINKS_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
|
||||||
@ -154,6 +163,11 @@
|
|||||||
0x73020003;NOT_OK_TM_STORE
|
0x73020003;NOT_OK_TM_STORE
|
||||||
0x73020004;HK_TM_STORE
|
0x73020004;HK_TM_STORE
|
||||||
0x73030000;CFDP_TM_STORE
|
0x73030000;CFDP_TM_STORE
|
||||||
|
0x73040000;LIVE_TM_TASK
|
||||||
|
0x73040001;LOG_STORE_AND_TM_TASK
|
||||||
|
0x73040002;HK_STORE_AND_TM_TASK
|
||||||
|
0x73040003;CFDP_STORE_AND_TM_TASK
|
||||||
|
0x73040004;DOWNLINK_RAM_STORE
|
||||||
0x73500000;CCSDS_IP_CORE_BRIDGE
|
0x73500000;CCSDS_IP_CORE_BRIDGE
|
||||||
0x90000003;THERMAL_TEMP_INSERTER
|
0x90000003;THERMAL_TEMP_INSERTER
|
||||||
0xFFFFFFFF;NO_OBJECT
|
0xFFFFFFFF;NO_OBJECT
|
||||||
|
|
@ -1,7 +1,10 @@
|
|||||||
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
|
0x7000;PTM_DumpDone;No description;0;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h
|
||||||
|
0x7001;PTM_BusyDumping;No description;1;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h
|
||||||
|
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
|
||||||
|
0x7100;TMS_IsBusy;No description;0;TM_SINK;mission/tmtc/DirectTmSinkIF.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
|
||||||
@ -20,14 +23,25 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x52b5;RWHA_NoReply;Reaction wheel only responds with empty frames.;181;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h
|
0x52b5;RWHA_NoReply;Reaction wheel only responds with empty frames.;181;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h
|
||||||
0x52b6;RWHA_NoStartMarker;Expected a start marker as first byte;182;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h
|
0x52b6;RWHA_NoStartMarker;Expected a start marker as first byte;182;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h
|
||||||
0x52b7;RWHA_SpiReadTimeout;Timeout when reading reply;183;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h
|
0x52b7;RWHA_SpiReadTimeout;Timeout when reading reply;183;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h
|
||||||
0x58a0;SUSS_ErrorUnlockMutex;No description;160;SUS_HANDLER;mission/devices/SusHandler.h
|
0x58a0;SUSS_ErrorUnlockMutex;No description;160;SUS_HANDLER;mission/devices/LegacySusHandler.h
|
||||||
0x58a1;SUSS_ErrorLockMutex;No description;161;SUS_HANDLER;mission/devices/SusHandler.h
|
0x58a1;SUSS_ErrorLockMutex;No description;161;SUS_HANDLER;mission/devices/LegacySusHandler.h
|
||||||
0x66a0;SADPL_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;SA_DEPL_HANDLER;mission/devices/RwHandler.h
|
0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||||
0x66a1;SADPL_InvalidRampTime;Action Message with invalid ramp time was received.;161;SA_DEPL_HANDLER;mission/devices/RwHandler.h
|
0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||||
0x66a2;SADPL_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;SA_DEPL_HANDLER;mission/devices/RwHandler.h
|
0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||||
0x66a3;SADPL_ExecutionFailed;Command execution failed;163;SA_DEPL_HANDLER;mission/devices/RwHandler.h
|
0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||||
0x66a4;SADPL_CrcError;Reaction wheel reply has invalid crc;164;SA_DEPL_HANDLER;mission/devices/RwHandler.h
|
0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||||
0x66a5;SADPL_ValueNotRead;No description;165;SA_DEPL_HANDLER;mission/devices/RwHandler.h
|
0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
||||||
|
0x5da0;GOMS_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;GOM_SPACE_HANDLER;mission/devices/RwHandler.h
|
||||||
|
0x5da1;GOMS_InvalidRampTime;Action Message with invalid ramp time was received.;161;GOM_SPACE_HANDLER;mission/devices/RwHandler.h
|
||||||
|
0x5da2;GOMS_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;GOM_SPACE_HANDLER;mission/devices/RwHandler.h
|
||||||
|
0x5da3;GOMS_ExecutionFailed;Command execution failed;163;GOM_SPACE_HANDLER;mission/devices/RwHandler.h
|
||||||
|
0x5da4;GOMS_CrcError;Reaction wheel reply has invalid crc;164;GOM_SPACE_HANDLER;mission/devices/RwHandler.h
|
||||||
|
0x5da5;GOMS_ValueNotRead;No description;165;GOM_SPACE_HANDLER;mission/devices/RwHandler.h
|
||||||
|
0x4fa1;HEATER_CommandNotSupported;No description;161;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
||||||
|
0x4fa2;HEATER_InitFailed;No description;162;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
||||||
|
0x4fa3;HEATER_InvalidSwitchNr;No description;163;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
||||||
|
0x4fa4;HEATER_MainSwitchSetTimeout;No description;164;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
||||||
|
0x4fa5;HEATER_CommandAlreadyWaiting;No description;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
||||||
0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
||||||
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
||||||
0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
||||||
@ -37,20 +51,13 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
||||||
0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
||||||
0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
|
||||||
0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
0x66a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
|
||||||
0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
0x66a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
|
||||||
0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
0x66a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
|
||||||
0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
0x66a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
|
||||||
0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
0x66a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
|
||||||
0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
|
|
||||||
0x4fa1;HEATER_CommandNotSupported;No description;161;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
|
||||||
0x4fa2;HEATER_InitFailed;No description;162;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
|
||||||
0x4fa3;HEATER_InvalidSwitchNr;No description;163;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
|
||||||
0x4fa4;HEATER_MainSwitchSetTimeout;No description;164;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
|
||||||
0x4fa5;HEATER_CommandAlreadyWaiting;No description;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
|
|
||||||
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
|
|
||||||
0x6b01;ACSSAF_SafectrlMekfInputInvalid;No description;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
|
|
||||||
0x6c01;ACSPTG_PtgctrlMekfInputInvalid;No description;1;ACS_PTG;mission/controller/acs/control/PtgCtrl.h
|
0x6c01;ACSPTG_PtgctrlMekfInputInvalid;No description;1;ACS_PTG;mission/controller/acs/control/PtgCtrl.h
|
||||||
|
0x6b01;ACSSAF_SafectrlMekfInputInvalid;No description;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
|
||||||
0x6d01;ACSDTB_DetumbleNoSensordata;No description;1;ACS_DETUMBLE;mission/controller/acs/control/Detumble.h
|
0x6d01;ACSDTB_DetumbleNoSensordata;No description;1;ACS_DETUMBLE;mission/controller/acs/control/Detumble.h
|
||||||
0x6a02;ACSMEKF_MekfUninitialized;No description;2;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
0x6a02;ACSMEKF_MekfUninitialized;No description;2;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
||||||
0x6a03;ACSMEKF_MekfNoGyrData;No description;3;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
0x6a03;ACSMEKF_MekfNoGyrData;No description;3;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
||||||
@ -60,105 +67,125 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x6a07;ACSMEKF_MekfInitialized;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
0x6a07;ACSMEKF_MekfInitialized;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
||||||
0x6a08;ACSMEKF_MekfRunning;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
0x6a08;ACSMEKF_MekfRunning;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
|
||||||
0x6900;ACSCTRL_FileDeletionFailed;No description;0;ACS_CTRL;mission/controller/AcsController.h
|
0x6900;ACSCTRL_FileDeletionFailed;No description;0;ACS_CTRL;mission/controller/AcsController.h
|
||||||
0x4500;HSPI_OpeningFileFailed;No description;0;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
|
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h
|
||||||
0x4501;HSPI_FullDuplexTransferFailed;No description;1;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
|
0x2c01;CCS_BcIsSetVrCommand;No description;1;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4502;HSPI_HalfDuplexTransferFailed;No description;2;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
|
0x2c02;CCS_BcIsUnlockCommand;No description;2;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4801;HGIO_UnknownGpioId;No description;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cb0;CCS_BcIllegalCommand;No description;176;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4802;HGIO_DriveGpioFailure;No description;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cb1;CCS_BoardReadingNotFinished;No description;177;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4803;HGIO_GpioTypeFailure;No description;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cf0;CCS_NsPositiveW;No description;240;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4804;HGIO_GpioInvalidInstance;No description;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cf1;CCS_NsNegativeW;No description;241;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4805;HGIO_GpioDuplicateDetected;No description;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cf2;CCS_NsLockout;No description;242;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4806;HGIO_GpioInitFailed;No description;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cf3;CCS_FarmInLockout;No description;243;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
0x2cf4;CCS_FarmInWait;No description;244;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4601;HURT_UartReadFailure;No description;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
0x2ce0;CCS_WrongSymbol;No description;224;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4602;HURT_UartReadSizeMissmatch;No description;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
0x2ce1;CCS_DoubleStart;No description;225;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4603;HURT_UartRxBufferTooSmall;No description;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
0x2ce2;CCS_StartSymbolMissed;No description;226;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
0x2ce3;CCS_EndWithoutStart;No description;227;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
0x2ce4;CCS_TooLarge;No description;228;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
0x2ce5;CCS_TooShort;No description;229;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
0x2ce6;CCS_WrongTfVersion;No description;230;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
0x2ce7;CCS_WrongSpacecraftId;No description;231;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x4406;UXOS_PcloseCallError;No description;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
0x2ce8;CCS_NoValidFrameType;No description;232;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x2801;SM_DataTooLarge;No description;1;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
0x2ce9;CCS_CrcFailed;No description;233;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x2802;SM_DataStorageFull;No description;2;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
0x2cea;CCS_VcNotFound;No description;234;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x2803;SM_IllegalStorageId;No description;3;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
0x2ceb;CCS_ForwardingFailed;No description;235;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x2804;SM_DataDoesNotExist;No description;4;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
0x2cec;CCS_ContentTooLarge;No description;236;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x2805;SM_IllegalAddress;No description;5;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
0x2ced;CCS_ResidualData;No description;237;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x2806;SM_PoolTooLarge;No description;6;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
0x2cee;CCS_DataCorrupted;No description;238;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x0601;PP_DoItMyself;No description;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2cef;CCS_IllegalSegmentationFlag;No description;239;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x0602;PP_PointsToVariable;No description;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2cd0;CCS_IllegalFlagCombination;No description;208;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x0603;PP_PointsToMemory;No description;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2cd1;CCS_ShorterThanHeader;No description;209;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x0604;PP_ActivityCompleted;No description;4;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2cd2;CCS_TooShortBlockedPacket;No description;210;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x0605;PP_PointsToVectorUint8;No description;5;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2cd3;CCS_TooShortMapExtraction;No description;211;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
||||||
0x0606;PP_PointsToVectorUint16;No description;6;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x3b00;SPH_ConnBroken;No description;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
|
||||||
0x0607;PP_PointsToVectorUint32;No description;7;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a01;IEC_NoConfigurationTable;No description;1;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x0608;PP_PointsToVectorFloat;No description;8;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a02;IEC_NoCpuTable;No description;2;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x06a0;PP_DumpNotSupported;No description;160;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a03;IEC_InvalidWorkspaceAddress;No description;3;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x06e0;PP_InvalidSize;No description;224;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a04;IEC_TooLittleWorkspace;No description;4;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x06e1;PP_InvalidAddress;No description;225;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a05;IEC_WorkspaceAllocation;No description;5;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x06e2;PP_InvalidContent;No description;226;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a06;IEC_InterruptStackTooSmall;No description;6;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x06e3;PP_UnalignedAccess;No description;227;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a07;IEC_ThreadExitted;No description;7;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x06e4;PP_WriteProtected;No description;228;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
0x2a08;IEC_InconsistentMpInformation;No description;8;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x13e0;MH_UnknownCmd;No description;224;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
0x2a09;IEC_InvalidNode;No description;9;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x13e1;MH_InvalidAddress;No description;225;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
0x2a0a;IEC_NoMpci;No description;10;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x13e2;MH_InvalidSize;No description;226;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
0x2a0b;IEC_BadPacket;No description;11;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x13e3;MH_StateMismatch;No description;227;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
0x2a0c;IEC_OutOfPackets;No description;12;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38a1;SGP4_InvalidEccentricity;No description;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a0d;IEC_OutOfGlobalObjects;No description;13;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38a2;SGP4_InvalidMeanMotion;No description;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a0e;IEC_OutOfProxies;No description;14;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38a3;SGP4_InvalidPerturbationElements;No description;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a0f;IEC_InvalidGlobalId;No description;15;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38a4;SGP4_InvalidSemiLatusRectum;No description;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a10;IEC_BadStackHook;No description;16;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38a5;SGP4_InvalidEpochElements;No description;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a11;IEC_BadAttributes;No description;17;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38a6;SGP4_SatelliteHasDecayed;No description;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a12;IEC_ImplementationKeyCreateInconsistency;No description;18;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38b1;SGP4_TleTooOld;No description;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a13;IEC_ImplementationBlockingOperationCancel;No description;19;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x38b2;SGP4_TleNotInitialized;No description;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
0x2a14;IEC_MutexObtainFromBadState;No description;20;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x1801;FF_Full;No description;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
|
0x2a15;IEC_UnlimitedAndMaximumIs0;No description;21;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
||||||
0x1802;FF_Empty;No description;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
|
|
||||||
0x1601;FMM_MapFull;No description;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
|
|
||||||
0x1602;FMM_KeyDoesNotExist;No description;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
|
|
||||||
0x3901;MUX_NotEnoughResources;No description;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3902;MUX_InsufficientMemory;No description;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3903;MUX_NoPrivilege;No description;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3904;MUX_WrongAttributeSetting;No description;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3905;MUX_MutexAlreadyLocked;No description;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3906;MUX_MutexNotFound;No description;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3907;MUX_MutexMaxLocks;No description;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3908;MUX_CurrThreadAlreadyOwnsMutex;No description;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3909;MUX_CurrThreadDoesNotOwnMutex;No description;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x390a;MUX_MutexTimeout;No description;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x390b;MUX_MutexInvalidId;No description;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x390c;MUX_MutexDestroyedWhileWaiting;No description;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
|
||||||
0x3a01;MQI_Empty;No description;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
|
||||||
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
|
||||||
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
|
||||||
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
|
||||||
0x0f01;CM_UnknownCommand;No description;1;COMMAND_MESSAGE;fsfw/src/fsfw/ipc/CommandMessageIF.h
|
|
||||||
0x0e01;HM_InvalidMode;No description;1;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
0x0e01;HM_InvalidMode;No description;1;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
||||||
0x0e02;HM_TransNotAllowed;No description;2;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
0x0e02;HM_TransNotAllowed;No description;2;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
||||||
0x0e03;HM_InTransition;No description;3;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
0x0e03;HM_InTransition;No description;3;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
||||||
0x0e04;HM_InvalidSubmode;No description;4;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
0x0e04;HM_InvalidSubmode;No description;4;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
|
||||||
0x0c02;MS_InvalidEntry;No description;2;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
|
0x2e01;HPA_InvalidIdentifierId;No description;1;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
||||||
0x0c03;MS_TooManyElements;No description;3;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
|
0x2e02;HPA_InvalidDomainId;No description;2;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
||||||
0x0c04;MS_CantStoreEmpty;No description;4;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
|
0x2e03;HPA_InvalidValue;No description;3;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
||||||
0x0b01;SB_ChildNotFound;No description;1;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
0x2e05;HPA_ReadOnly;No description;5;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
||||||
0x0b02;SB_ChildInfoUpdated;No description;2;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
0x2d01;PAW_UnknownDatatype;No description;1;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0b03;SB_ChildDoesntHaveModes;No description;3;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
0x2d02;PAW_DatatypeMissmatch;No description;2;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0b04;SB_CouldNotInsertChild;No description;4;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
0x2d03;PAW_Readonly;No description;3;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0b05;SB_TableContainsInvalidObjectId;No description;5;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
0x2d04;PAW_TooBig;No description;4;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0d01;SS_SequenceAlreadyExists;No description;1;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x2d05;PAW_SourceNotSet;No description;5;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0d02;SS_TableAlreadyExists;No description;2;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x2d06;PAW_OutOfBounds;No description;6;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0d03;SS_TableDoesNotExist;No description;3;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x2d07;PAW_NotSet;No description;7;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0d04;SS_TableOrSequenceLengthInvalid;No description;4;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x2d08;PAW_ColumnOrRowsZero;No description;8;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
||||||
0x0d05;SS_SequenceDoesNotExist;No description;5;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x3201;CF_ObjectHasNoFunctions;No description;1;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
|
||||||
0x0d06;SS_TableContainsInvalidObjectId;No description;6;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x3202;CF_AlreadyCommanding;No description;2;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
|
||||||
0x0d07;SS_FallbackSequenceDoesNotExist;No description;7;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x3301;HF_IsBusy;No description;1;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
||||||
0x0d08;SS_NoTargetTable;No description;8;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x3302;HF_InvalidParameters;No description;2;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
||||||
0x0d09;SS_SequenceOrTableTooLong;No description;9;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x3303;HF_ExecutionFinished;No description;3;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
||||||
0x0d0b;SS_IsFallbackSequence;No description;11;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x3304;HF_InvalidActionId;No description;4;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
||||||
0x0d0c;SS_AccessDenied;No description;12;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x0201;OM_InsertionFailed;No description;1;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
||||||
0x0d0e;SS_TableInUse;No description;14;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x0202;OM_NotFound;No description;2;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
||||||
0x0da1;SS_TargetTableNotReached;No description;161;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x0203;OM_ChildInitFailed;No description;3;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
||||||
0x0da2;SS_TableCheckFailed;No description;162;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
0x0204;OM_InternalErrReporterUninit;No description;4;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
||||||
0x2501;EV_ListenerNotFound;No description;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
|
0x2600;FDI_YourFault;No description;0;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
|
||||||
|
0x2601;FDI_MyFault;No description;1;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
|
||||||
|
0x2602;FDI_ConfirmLater;No description;2;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
|
||||||
|
0x2201;TMF_Busy;No description;1;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2202;TMF_LastPacketFound;No description;2;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2203;TMF_StopFetch;No description;3;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2204;TMF_Timeout;No description;4;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2205;TMF_TmChannelFull;No description;5;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2206;TMF_NotStored;No description;6;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2207;TMF_AllDeleted;No description;7;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2208;TMF_InvalidData;No description;8;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2209;TMF_NotReady;No description;9;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
||||||
|
0x2101;TMB_Busy;No description;1;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2102;TMB_Full;No description;2;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2103;TMB_Empty;No description;3;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2104;TMB_NullRequested;No description;4;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2105;TMB_TooLarge;No description;5;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2106;TMB_NotReady;No description;6;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2107;TMB_DumpError;No description;7;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2108;TMB_CrcError;No description;8;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x2109;TMB_Timeout;No description;9;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x210a;TMB_IdlePacketFound;No description;10;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x210b;TMB_TelecommandFound;No description;11;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x210c;TMB_NoPusATm;No description;12;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x210d;TMB_TooSmall;No description;13;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x210e;TMB_BlockNotFound;No description;14;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x210f;TMB_InvalidRequest;No description;15;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
||||||
|
0x1c01;TCD_PacketLost;No description;1;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
|
||||||
|
0x1c02;TCD_DestinationNotFound;No description;2;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
|
||||||
|
0x1c03;TCD_ServiceIdAlreadyExists;No description;3;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
|
||||||
|
0x1b00;TCC_NoDestinationFound;No description;0;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b01;TCC_InvalidCcsdsVersion;No description;1;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b02;TCC_InvalidApid;No description;2;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b03;TCC_InvalidPacketType;No description;3;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b04;TCC_InvalidSecHeaderField;No description;4;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b05;TCC_IncorrectPrimaryHeader;No description;5;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b07;TCC_IncompletePacket;No description;7;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b08;TCC_InvalidPusVersion;No description;8;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b09;TCC_IncorrectChecksum;No description;9;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b0a;TCC_IllegalPacketSubtype;No description;10;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
|
0x1b0b;TCC_IncorrectSecondaryHeader;No description;11;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
||||||
0x04e1;RMP_CommandNoDescriptorsAvailable;No description;225;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
0x04e1;RMP_CommandNoDescriptorsAvailable;No description;225;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
||||||
0x04e2;RMP_CommandBufferFull;No description;226;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
0x04e2;RMP_CommandBufferFull;No description;226;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
||||||
0x04e3;RMP_CommandChannelOutOfRange;No description;227;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
0x04e3;RMP_CommandChannelOutOfRange;No description;227;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
||||||
@ -199,9 +226,95 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x040a;RMP_ReplyCommandNotImplementedOrNotAuthorised;No description;10;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
0x040a;RMP_ReplyCommandNotImplementedOrNotAuthorised;No description;10;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
||||||
0x040b;RMP_ReplyRmwDataLengthError;No description;11;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
0x040b;RMP_ReplyRmwDataLengthError;No description;11;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
||||||
0x040c;RMP_ReplyInvalidTargetLogicalAddress;No description;12;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
0x040c;RMP_ReplyInvalidTargetLogicalAddress;No description;12;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
|
||||||
0x1401;SE_BufferTooShort;No description;1;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
|
0x2801;SM_DataTooLarge;No description;1;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
||||||
0x1402;SE_StreamTooShort;No description;2;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
|
0x2802;SM_DataStorageFull;No description;2;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
||||||
0x1403;SE_TooManyElements;No description;3;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
|
0x2803;SM_IllegalStorageId;No description;3;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
||||||
|
0x2804;SM_DataDoesNotExist;No description;4;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
||||||
|
0x2805;SM_IllegalAddress;No description;5;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
||||||
|
0x2806;SM_PoolTooLarge;No description;6;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
|
||||||
|
0x38a1;SGP4_InvalidEccentricity;No description;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38a2;SGP4_InvalidMeanMotion;No description;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38a3;SGP4_InvalidPerturbationElements;No description;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38a4;SGP4_InvalidSemiLatusRectum;No description;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38a5;SGP4_InvalidEpochElements;No description;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38a6;SGP4_SatelliteHasDecayed;No description;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38b1;SGP4_TleTooOld;No description;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x38b2;SGP4_TleNotInitialized;No description;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
|
||||||
|
0x2401;MT_NoPacketFound;No description;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
|
||||||
|
0x2402;MT_PossiblePacketLoss;No description;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
|
||||||
|
0x2403;MT_NoMatch;No description;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||||
|
0x2404;MT_Full;No description;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||||
|
0x2405;MT_NewNodeCreated;No description;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
||||||
|
0x3f01;DLEE_StreamTooShort;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
|
||||||
|
0x3f02;DLEE_DecodingError;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
|
||||||
|
0x2f01;ASC_TooLongForTargetType;No description;1;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
|
||||||
|
0x2f02;ASC_InvalidCharacters;No description;2;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
|
||||||
|
0x2f03;ASC_BufferTooSmall;No description;3;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
|
||||||
|
0x0f01;CM_UnknownCommand;No description;1;COMMAND_MESSAGE;fsfw/src/fsfw/ipc/CommandMessageIF.h
|
||||||
|
0x3a01;MQI_Empty;No description;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
||||||
|
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
||||||
|
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
||||||
|
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
|
||||||
|
0x3901;MUX_NotEnoughResources;No description;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3902;MUX_InsufficientMemory;No description;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3903;MUX_NoPrivilege;No description;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3904;MUX_WrongAttributeSetting;No description;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3905;MUX_MutexAlreadyLocked;No description;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3906;MUX_MutexNotFound;No description;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3907;MUX_MutexMaxLocks;No description;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3908;MUX_CurrThreadAlreadyOwnsMutex;No description;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3909;MUX_CurrThreadDoesNotOwnMutex;No description;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x390a;MUX_MutexTimeout;No description;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x390b;MUX_MutexInvalidId;No description;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x390c;MUX_MutexDestroyedWhileWaiting;No description;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
|
||||||
|
0x3b01;SPH_SemaphoreTimeout;No description;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
|
||||||
|
0x3b02;SPH_SemaphoreNotOwned;No description;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
|
||||||
|
0x3b03;SPH_SemaphoreInvalid;No description;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
|
||||||
|
0x1e00;PUS_InvalidPusVersion;No description;0;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
|
||||||
|
0x1e01;PUS_InvalidCrc16;No description;1;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
|
||||||
|
0x3601;CFDP_InvalidTlvType;No description;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3602;CFDP_InvalidDirectiveField;No description;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3603;CFDP_InvalidPduDatafieldLen;No description;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3604;CFDP_InvalidAckDirectiveFields;No description;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3605;CFDP_MetadataCantParseOptions;No description;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3606;CFDP_NakCantParseOptions;No description;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3607;CFDP_FinishedCantParseFsResponses;No description;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3608;CFDP_FilestoreRequiresSecondFile;No description;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x3609;CFDP_FilestoreResponseCantParseFsMessage;No description;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x360a;CFDP_InvalidPduFormat;No description;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
||||||
|
0x2901;TC_InvalidTargetState;No description;1;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
|
||||||
|
0x29f1;TC_AboveOperationalLimit;No description;241;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
|
||||||
|
0x29f2;TC_BelowOperationalLimit;No description;242;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
|
||||||
|
0x0c02;MS_InvalidEntry;No description;2;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
|
||||||
|
0x0c03;MS_TooManyElements;No description;3;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
|
||||||
|
0x0c04;MS_CantStoreEmpty;No description;4;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
|
||||||
|
0x0d01;SS_SequenceAlreadyExists;No description;1;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d02;SS_TableAlreadyExists;No description;2;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d03;SS_TableDoesNotExist;No description;3;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d04;SS_TableOrSequenceLengthInvalid;No description;4;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d05;SS_SequenceDoesNotExist;No description;5;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d06;SS_TableContainsInvalidObjectId;No description;6;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d07;SS_FallbackSequenceDoesNotExist;No description;7;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d08;SS_NoTargetTable;No description;8;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d09;SS_SequenceOrTableTooLong;No description;9;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d0b;SS_IsFallbackSequence;No description;11;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d0c;SS_AccessDenied;No description;12;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0d0e;SS_TableInUse;No description;14;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0da1;SS_TargetTableNotReached;No description;161;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0da2;SS_TableCheckFailed;No description;162;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
|
||||||
|
0x0b01;SB_ChildNotFound;No description;1;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
||||||
|
0x0b02;SB_ChildInfoUpdated;No description;2;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
||||||
|
0x0b03;SB_ChildDoesntHaveModes;No description;3;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
||||||
|
0x0b04;SB_CouldNotInsertChild;No description;4;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
||||||
|
0x0b05;SB_TableContainsInvalidObjectId;No description;5;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
|
||||||
|
0x3e00;HKM_QueueOrDestinationInvalid;No description;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
||||||
|
0x3e01;HKM_WrongHkPacketType;No description;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
||||||
|
0x3e02;HKM_ReportingStatusUnchanged;No description;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
||||||
|
0x3e03;HKM_PeriodicHelperInvalid;No description;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
||||||
|
0x3e04;HKM_PoolobjectNotFound;No description;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
||||||
|
0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
||||||
|
0x3c00;LPIF_PoolEntryNotFound;No description;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
|
||||||
|
0x3c01;LPIF_PoolEntryTypeConflict;No description;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
|
||||||
0x3da0;PVA_InvalidReadWriteMode;No description;160;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
|
0x3da0;PVA_InvalidReadWriteMode;No description;160;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
|
||||||
0x3da1;PVA_InvalidPoolEntry;No description;161;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
|
0x3da1;PVA_InvalidPoolEntry;No description;161;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
|
||||||
0x0801;DPS_InvalidParameterDefinition;No description;1;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
0x0801;DPS_InvalidParameterDefinition;No description;1;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
||||||
@ -210,20 +323,35 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x0804;DPS_DataSetUninitialised;No description;4;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
0x0804;DPS_DataSetUninitialised;No description;4;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
||||||
0x0805;DPS_DataSetFull;No description;5;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
0x0805;DPS_DataSetFull;No description;5;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
||||||
0x0806;DPS_PoolVarNull;No description;6;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
0x0806;DPS_PoolVarNull;No description;6;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
|
||||||
0x1c01;TCD_PacketLost;No description;1;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
|
0x1000;TIM_UnsupportedTimeFormat;No description;0;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
||||||
0x1c02;TCD_DestinationNotFound;No description;2;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
|
0x1001;TIM_NotEnoughInformationForTargetFormat;No description;1;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
||||||
0x1c03;TCD_ServiceIdAlreadyExists;No description;3;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
|
0x1002;TIM_LengthMismatch;No description;2;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
||||||
0x1b00;TCC_NoDestinationFound;No description;0;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1003;TIM_InvalidTimeFormat;No description;3;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
||||||
0x1b01;TCC_InvalidCcsdsVersion;No description;1;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1004;TIM_InvalidDayOfYear;No description;4;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
||||||
0x1b02;TCC_InvalidApid;No description;2;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1005;TIM_TimeDoesNotFitFormat;No description;5;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
||||||
0x1b03;TCC_InvalidPacketType;No description;3;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x3701;TSI_BadTimestamp;No description;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
|
||||||
0x1b04;TCC_InvalidSecHeaderField;No description;4;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1d01;ATC_ActivityStarted;No description;1;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
||||||
0x1b05;TCC_IncorrectPrimaryHeader;No description;5;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1d02;ATC_InvalidSubservice;No description;2;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
||||||
0x1b07;TCC_IncompletePacket;No description;7;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1d03;ATC_IllegalApplicationData;No description;3;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
||||||
0x1b08;TCC_InvalidPusVersion;No description;8;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1d04;ATC_SendTmFailed;No description;4;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
||||||
0x1b09;TCC_IncorrectChecksum;No description;9;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x1d05;ATC_Timeout;No description;5;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
||||||
0x1b0a;TCC_IllegalPacketSubtype;No description;10;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x4c00;SPPA_NoPacketFound;No description;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
|
||||||
0x1b0b;TCC_IncorrectSecondaryHeader;No description;11;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
|
0x4c01;SPPA_SplitPacket;No description;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
|
||||||
|
0x2001;CSB_ExecutionComplete;No description;1;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x2002;CSB_NoStepMessage;No description;2;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x2003;CSB_ObjectBusy;No description;3;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x2004;CSB_Busy;No description;4;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x2005;CSB_InvalidTc;No description;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x2006;CSB_InvalidObject;No description;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x2007;CSB_InvalidReply;No description;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
||||||
|
0x1801;FF_Full;No description;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
|
||||||
|
0x1802;FF_Empty;No description;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
|
||||||
|
0x1601;FMM_MapFull;No description;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
|
||||||
|
0x1602;FMM_KeyDoesNotExist;No description;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
|
||||||
|
0x2501;EV_ListenerNotFound;No description;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
|
||||||
|
0x1701;HHI_ObjectNotHealthy;No description;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
||||||
|
0x1702;HHI_InvalidHealthState;No description;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
||||||
|
0x1703;HHI_IsExternallyControlled;No description;3;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
||||||
0x3001;POS_InPowerTransition;No description;1;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
|
0x3001;POS_InPowerTransition;No description;1;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
|
||||||
0x3002;POS_SwitchStateMismatch;No description;2;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
|
0x3002;POS_SwitchStateMismatch;No description;2;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
|
||||||
0x0501;PS_SwitchOn;No description;1;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
0x0501;PS_SwitchOn;No description;1;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
||||||
@ -231,76 +359,23 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x0502;PS_SwitchTimeout;No description;2;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
0x0502;PS_SwitchTimeout;No description;2;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
||||||
0x0503;PS_FuseOn;No description;3;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
0x0503;PS_FuseOn;No description;3;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
||||||
0x0504;PS_FuseOff;No description;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
0x0504;PS_FuseOff;No description;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
|
||||||
0x3b00;SPH_ConnBroken;No description;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
|
0x4300;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a01;IEC_NoConfigurationTable;No description;1;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4301;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a02;IEC_NoCpuTable;No description;2;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4302;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a03;IEC_InvalidWorkspaceAddress;No description;3;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4303;FILS_GenericRenameError;No description;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a04;IEC_TooLittleWorkspace;No description;4;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4304;FILS_IsBusy;No description;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a05;IEC_WorkspaceAllocation;No description;5;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4305;FILS_InvalidParameters;No description;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a06;IEC_InterruptStackTooSmall;No description;6;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x430a;FILS_FileDoesNotExist;No description;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a07;IEC_ThreadExitted;No description;7;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x430b;FILS_FileAlreadyExists;No description;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a08;IEC_InconsistentMpInformation;No description;8;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x430c;FILS_NotAFile;No description;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a09;IEC_InvalidNode;No description;9;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x430d;FILS_FileLocked;No description;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a0a;IEC_NoMpci;No description;10;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x430e;FILS_PermissionDenied;No description;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a0b;IEC_BadPacket;No description;11;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4315;FILS_DirectoryDoesNotExist;No description;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a0c;IEC_OutOfPackets;No description;12;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4316;FILS_DirectoryAlreadyExists;No description;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a0d;IEC_OutOfGlobalObjects;No description;13;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4317;FILS_NotADirectory;No description;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a0e;IEC_OutOfProxies;No description;14;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x4318;FILS_DirectoryNotEmpty;No description;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a0f;IEC_InvalidGlobalId;No description;15;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x431e;FILS_SequencePacketMissingWrite;No description;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a10;IEC_BadStackHook;No description;16;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
0x431f;FILS_SequencePacketMissingRead;No description;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
||||||
0x2a11;IEC_BadAttributes;No description;17;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
|
||||||
0x2a12;IEC_ImplementationKeyCreateInconsistency;No description;18;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
|
||||||
0x2a13;IEC_ImplementationBlockingOperationCancel;No description;19;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
|
||||||
0x2a14;IEC_MutexObtainFromBadState;No description;20;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
|
||||||
0x2a15;IEC_UnlimitedAndMaximumIs0;No description;21;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
|
|
||||||
0x2600;FDI_YourFault;No description;0;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
|
|
||||||
0x2601;FDI_MyFault;No description;1;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
|
|
||||||
0x2602;FDI_ConfirmLater;No description;2;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
|
|
||||||
0x1e00;PUS_InvalidPusVersion;No description;0;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
|
|
||||||
0x1e01;PUS_InvalidCrc16;No description;1;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
|
|
||||||
0x0201;OM_InsertionFailed;No description;1;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
|
||||||
0x0202;OM_NotFound;No description;2;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
|
||||||
0x0203;OM_ChildInitFailed;No description;3;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
|
||||||
0x0204;OM_InternalErrReporterUninit;No description;4;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
|
|
||||||
0x2201;TMF_Busy;No description;1;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2202;TMF_LastPacketFound;No description;2;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2203;TMF_StopFetch;No description;3;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2204;TMF_Timeout;No description;4;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2205;TMF_TmChannelFull;No description;5;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2206;TMF_NotStored;No description;6;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2207;TMF_AllDeleted;No description;7;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2208;TMF_InvalidData;No description;8;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2209;TMF_NotReady;No description;9;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
|
|
||||||
0x2101;TMB_Busy;No description;1;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2102;TMB_Full;No description;2;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2103;TMB_Empty;No description;3;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2104;TMB_NullRequested;No description;4;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2105;TMB_TooLarge;No description;5;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2106;TMB_NotReady;No description;6;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2107;TMB_DumpError;No description;7;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2108;TMB_CrcError;No description;8;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2109;TMB_Timeout;No description;9;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x210a;TMB_IdlePacketFound;No description;10;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x210b;TMB_TelecommandFound;No description;11;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x210c;TMB_NoPusATm;No description;12;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x210d;TMB_TooSmall;No description;13;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x210e;TMB_BlockNotFound;No description;14;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x210f;TMB_InvalidRequest;No description;15;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
|
|
||||||
0x2d01;PAW_UnknownDatatype;No description;1;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d02;PAW_DatatypeMissmatch;No description;2;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d03;PAW_Readonly;No description;3;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d04;PAW_TooBig;No description;4;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d05;PAW_SourceNotSet;No description;5;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d06;PAW_OutOfBounds;No description;6;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d07;PAW_NotSet;No description;7;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2d08;PAW_ColumnOrRowsZero;No description;8;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
|
|
||||||
0x2e01;HPA_InvalidIdentifierId;No description;1;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
|
||||||
0x2e02;HPA_InvalidDomainId;No description;2;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
|
||||||
0x2e03;HPA_InvalidValue;No description;3;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
|
||||||
0x2e05;HPA_ReadOnly;No description;5;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
|
|
||||||
0x3b01;SPH_SemaphoreTimeout;No description;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
|
|
||||||
0x3b02;SPH_SemaphoreNotOwned;No description;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
|
|
||||||
0x3b03;SPH_SemaphoreInvalid;No description;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
|
|
||||||
0x1a01;TRC_NotEnoughSensors;No description;1;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
|
0x1a01;TRC_NotEnoughSensors;No description;1;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
|
||||||
0x1a02;TRC_LowestValueOol;No description;2;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
|
0x1a02;TRC_LowestValueOol;No description;2;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
|
||||||
0x1a03;TRC_HighestValueOol;No description;3;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
|
0x1a03;TRC_HighestValueOol;No description;3;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
|
||||||
@ -319,74 +394,36 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x31e2;LIM_WrongPid;No description;226;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
|
0x31e2;LIM_WrongPid;No description;226;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
|
||||||
0x31e3;LIM_WrongLimitId;No description;227;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
|
0x31e3;LIM_WrongLimitId;No description;227;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
|
||||||
0x31ee;LIM_MonitorNotFound;No description;238;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
|
0x31ee;LIM_MonitorNotFound;No description;238;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
|
||||||
0x3601;CFDP_InvalidTlvType;No description;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3602;CFDP_InvalidDirectiveField;No description;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3603;CFDP_InvalidPduDatafieldLen;No description;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3604;CFDP_InvalidAckDirectiveFields;No description;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3605;CFDP_MetadataCantParseOptions;No description;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3606;CFDP_NakCantParseOptions;No description;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3607;CFDP_FinishedCantParseFsResponses;No description;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3608;CFDP_FilestoreRequiresSecondFile;No description;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x3609;CFDP_FilestoreResponseCantParseFsMessage;No description;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x360a;CFDP_InvalidPduFormat;No description;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h
|
|
||||||
0x4300;FILS_GenericFileError;No description;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4301;FILS_GenericDirError;No description;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4302;FILS_FilesystemInactive;No description;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4303;FILS_GenericRenameError;No description;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4304;FILS_IsBusy;No description;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4305;FILS_InvalidParameters;No description;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x430a;FILS_FileDoesNotExist;No description;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x430b;FILS_FileAlreadyExists;No description;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x430c;FILS_NotAFile;No description;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x430d;FILS_FileLocked;No description;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x430e;FILS_PermissionDenied;No description;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4315;FILS_DirectoryDoesNotExist;No description;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4316;FILS_DirectoryAlreadyExists;No description;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4317;FILS_NotADirectory;No description;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x4318;FILS_DirectoryNotEmpty;No description;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x431e;FILS_SequencePacketMissingWrite;No description;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x431f;FILS_SequencePacketMissingRead;No description;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
|
|
||||||
0x2c01;CCS_BcIsSetVrCommand;No description;1;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2c02;CCS_BcIsUnlockCommand;No description;2;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cb0;CCS_BcIllegalCommand;No description;176;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cb1;CCS_BoardReadingNotFinished;No description;177;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cf0;CCS_NsPositiveW;No description;240;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cf1;CCS_NsNegativeW;No description;241;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cf2;CCS_NsLockout;No description;242;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cf3;CCS_FarmInLockout;No description;243;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cf4;CCS_FarmInWait;No description;244;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce0;CCS_WrongSymbol;No description;224;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce1;CCS_DoubleStart;No description;225;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce2;CCS_StartSymbolMissed;No description;226;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce3;CCS_EndWithoutStart;No description;227;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce4;CCS_TooLarge;No description;228;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce5;CCS_TooShort;No description;229;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce6;CCS_WrongTfVersion;No description;230;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce7;CCS_WrongSpacecraftId;No description;231;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce8;CCS_NoValidFrameType;No description;232;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ce9;CCS_CrcFailed;No description;233;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cea;CCS_VcNotFound;No description;234;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ceb;CCS_ForwardingFailed;No description;235;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cec;CCS_ContentTooLarge;No description;236;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2ced;CCS_ResidualData;No description;237;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cee;CCS_DataCorrupted;No description;238;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cef;CCS_IllegalSegmentationFlag;No description;239;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cd0;CCS_IllegalFlagCombination;No description;208;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cd1;CCS_ShorterThanHeader;No description;209;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cd2;CCS_TooShortBlockedPacket;No description;210;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x2cd3;CCS_TooShortMapExtraction;No description;211;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
|
|
||||||
0x4201;PUS11_InvalidTypeTimeWindow;No description;1;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4201;PUS11_InvalidTypeTimeWindow;No description;1;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4202;PUS11_InvalidTimeWindow;No description;2;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4202;PUS11_InvalidTimeWindow;No description;2;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4203;PUS11_TimeshiftingNotPossible;No description;3;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4203;PUS11_TimeshiftingNotPossible;No description;3;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4204;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4204;PUS11_InvalidRelativeTime;No description;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4205;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4205;PUS11_ContainedTcTooSmall;No description;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x4206;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
0x4206;PUS11_ContainedTcCrcMissmatch;No description;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
|
||||||
0x3401;DC_NoReplyReceived;No description;1;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
0x0601;PP_DoItMyself;No description;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
0x3402;DC_ProtocolError;No description;2;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
0x0602;PP_PointsToVariable;No description;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
0x3403;DC_Nullpointer;No description;3;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
0x0603;PP_PointsToMemory;No description;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
0x3404;DC_InvalidCookieType;No description;4;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
0x0604;PP_ActivityCompleted;No description;4;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
0x3405;DC_NotActive;No description;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
0x0605;PP_PointsToVectorUint8;No description;5;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
0x3406;DC_TooMuchData;No description;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
0x0606;PP_PointsToVectorUint16;No description;6;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x0607;PP_PointsToVectorUint32;No description;7;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x0608;PP_PointsToVectorFloat;No description;8;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x06a0;PP_DumpNotSupported;No description;160;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x06e0;PP_InvalidSize;No description;224;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x06e1;PP_InvalidAddress;No description;225;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x06e2;PP_InvalidContent;No description;226;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x06e3;PP_UnalignedAccess;No description;227;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x06e4;PP_WriteProtected;No description;228;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
|
||||||
|
0x13e0;MH_UnknownCmd;No description;224;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
||||||
|
0x13e1;MH_InvalidAddress;No description;225;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
||||||
|
0x13e2;MH_InvalidSize;No description;226;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
||||||
|
0x13e3;MH_StateMismatch;No description;227;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
|
||||||
|
0x1201;AB_NeedSecondStep;No description;1;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
||||||
|
0x1202;AB_NeedToReconfigure;No description;2;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
||||||
|
0x1203;AB_ModeFallback;No description;3;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
||||||
|
0x1204;AB_ChildNotCommandable;No description;4;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
||||||
|
0x1205;AB_NeedToChangeHealth;No description;5;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
||||||
|
0x12a1;AB_NotEnoughChildrenInCorrectState;No description;161;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
||||||
0x03a0;DHB_InvalidChannel;No description;160;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
0x03a0;DHB_InvalidChannel;No description;160;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
||||||
0x03b0;DHB_AperiodicReply;No description;176;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
0x03b0;DHB_AperiodicReply;No description;176;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
||||||
0x03b1;DHB_IgnoreReplyData;No description;177;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
0x03b1;DHB_IgnoreReplyData;No description;177;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
||||||
@ -396,12 +433,12 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x03d0;DHB_NoSwitch;No description;208;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
0x03d0;DHB_NoSwitch;No description;208;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
||||||
0x03e0;DHB_ChildTimeout;No description;224;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
0x03e0;DHB_ChildTimeout;No description;224;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
||||||
0x03e1;DHB_SwitchFailed;No description;225;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
0x03e1;DHB_SwitchFailed;No description;225;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
|
||||||
0x1201;AB_NeedSecondStep;No description;1;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
0x3401;DC_NoReplyReceived;No description;1;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
||||||
0x1202;AB_NeedToReconfigure;No description;2;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
0x3402;DC_ProtocolError;No description;2;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
||||||
0x1203;AB_ModeFallback;No description;3;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
0x3403;DC_Nullpointer;No description;3;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
||||||
0x1204;AB_ChildNotCommandable;No description;4;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
0x3404;DC_InvalidCookieType;No description;4;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
||||||
0x1205;AB_NeedToChangeHealth;No description;5;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
0x3405;DC_NotActive;No description;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
||||||
0x12a1;AB_NotEnoughChildrenInCorrectState;No description;161;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
|
0x3406;DC_TooMuchData;No description;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
|
||||||
0x27a0;DHI_NoCommandData;No description;160;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
0x27a0;DHI_NoCommandData;No description;160;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
||||||
0x27a1;DHI_CommandNotSupported;No description;161;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
0x27a1;DHI_CommandNotSupported;No description;161;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
||||||
0x27a2;DHI_CommandAlreadySent;No description;162;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
0x27a2;DHI_CommandAlreadySent;No description;162;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
||||||
@ -423,73 +460,42 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x27c3;DHI_DeviceReplyInvalid;No description;195;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
0x27c3;DHI_DeviceReplyInvalid;No description;195;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
||||||
0x27d0;DHI_InvalidCommandParameter;No description;208;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
0x27d0;DHI_InvalidCommandParameter;No description;208;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
||||||
0x27d1;DHI_InvalidNumberOrLengthOfParameters;No description;209;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
0x27d1;DHI_InvalidNumberOrLengthOfParameters;No description;209;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
|
||||||
0x2401;MT_TooDetailedRequest;No description;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
0x1401;SE_BufferTooShort;No description;1;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
|
||||||
0x2402;MT_TooGeneralRequest;No description;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
0x1402;SE_StreamTooShort;No description;2;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
|
||||||
0x2403;MT_NoMatch;No description;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
0x1403;SE_TooManyElements;No description;3;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
|
||||||
0x2404;MT_Full;No description;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
0x4500;HSPI_HalTimeoutRetval;No description;0;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
|
||||||
0x2405;MT_NewNodeCreated;No description;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
|
0x4501;HSPI_HalBusyRetval;No description;1;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
|
||||||
0x3f01;DLEE_NoPacketFound;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
|
0x4502;HSPI_HalErrorRetval;No description;2;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
|
||||||
0x3f02;DLEE_PossiblePacketLoss;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
|
0x4601;HURT_UartReadFailure;No description;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
||||||
0x2f01;ASC_TooLongForTargetType;No description;1;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
|
0x4602;HURT_UartReadSizeMissmatch;No description;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
||||||
0x2f02;ASC_InvalidCharacters;No description;2;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
|
0x4603;HURT_UartRxBufferTooSmall;No description;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
|
||||||
0x2f03;ASC_BufferTooSmall;No description;3;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
|
0x4801;HGIO_UnknownGpioId;No description;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x1701;HHI_ObjectNotHealthy;No description;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
0x4802;HGIO_DriveGpioFailure;No description;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x1702;HHI_InvalidHealthState;No description;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
0x4803;HGIO_GpioTypeFailure;No description;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x1703;HHI_IsExternallyControlled;No description;3;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
|
0x4804;HGIO_GpioInvalidInstance;No description;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x3201;CF_ObjectHasNoFunctions;No description;1;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
|
0x4805;HGIO_GpioDuplicateDetected;No description;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x3202;CF_AlreadyCommanding;No description;2;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
|
0x4806;HGIO_GpioInitFailed;No description;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x3301;HF_IsBusy;No description;1;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
|
||||||
0x3302;HF_InvalidParameters;No description;2;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
||||||
0x3303;HF_ExecutionFinished;No description;3;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
||||||
0x3304;HF_InvalidActionId;No description;4;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
|
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
||||||
0x1000;TIM_UnsupportedTimeFormat;No description;0;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
||||||
0x1001;TIM_NotEnoughInformationForTargetFormat;No description;1;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
||||||
0x1002;TIM_LengthMismatch;No description;2;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
0x4406;UXOS_PcloseCallError;No description;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
|
||||||
0x1003;TIM_InvalidTimeFormat;No description;3;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
|
||||||
0x1004;TIM_InvalidDayOfYear;No description;4;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
|
||||||
0x1005;TIM_TimeDoesNotFitFormat;No description;5;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
|
|
||||||
0x3701;TSI_BadTimestamp;No description;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
|
|
||||||
0x3c00;LPIF_PoolEntryNotFound;No description;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
|
|
||||||
0x3c01;LPIF_PoolEntryTypeConflict;No description;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
|
|
||||||
0x3e00;HKM_QueueOrDestinationInvalid;No description;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
|
||||||
0x3e01;HKM_WrongHkPacketType;No description;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
|
||||||
0x3e02;HKM_ReportingStatusUnchanged;No description;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
|
||||||
0x3e03;HKM_PeriodicHelperInvalid;No description;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
|
||||||
0x3e04;HKM_PoolobjectNotFound;No description;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
|
||||||
0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
|
|
||||||
0x2901;TC_InvalidTargetState;No description;1;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
|
|
||||||
0x29f1;TC_AboveOperationalLimit;No description;241;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
|
|
||||||
0x29f2;TC_BelowOperationalLimit;No description;242;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
|
|
||||||
0x2001;CSB_ExecutionComplete;No description;1;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x2002;CSB_NoStepMessage;No description;2;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x2003;CSB_ObjectBusy;No description;3;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x2004;CSB_Busy;No description;4;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x2005;CSB_InvalidTc;No description;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x2006;CSB_InvalidObject;No description;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x2007;CSB_InvalidReply;No description;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
|
|
||||||
0x4c00;SPPA_NoPacketFound;No description;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
|
|
||||||
0x4c01;SPPA_SplitPacket;No description;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
|
|
||||||
0x1d01;ATC_ActivityStarted;No description;1;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
|
||||||
0x1d02;ATC_InvalidSubservice;No description;2;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
|
||||||
0x1d03;ATC_IllegalApplicationData;No description;3;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
|
||||||
0x1d04;ATC_SendTmFailed;No description;4;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
|
||||||
0x1d05;ATC_Timeout;No description;5;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
|
|
||||||
0x7000;SCBU_KeyNotFound;No description;0;SCRATCH_BUFFER;bsp_q7s/memory/scratchApi.h
|
|
||||||
0x64a0;FSHLP_SdNotMounted;SD card specified with path string not mounted;160;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h
|
0x64a0;FSHLP_SdNotMounted;SD card specified with path string not mounted;160;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h
|
||||||
0x64a1;FSHLP_FileNotExists;Specified file does not exist on filesystem;161;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h
|
0x64a1;FSHLP_FileNotExists;Specified file does not exist on filesystem;161;FILE_SYSTEM_HELPER;bsp_q7s/fs/FilesystemHelper.h
|
||||||
0x6f00;SDMA_OpOngoing;No description;0;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e00;SDMA_OpOngoing;No description;0;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f01;SDMA_AlreadyOn;No description;1;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e01;SDMA_AlreadyOn;No description;1;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f02;SDMA_AlreadyMounted;No description;2;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e02;SDMA_AlreadyMounted;No description;2;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f03;SDMA_AlreadyOff;No description;3;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e03;SDMA_AlreadyOff;No description;3;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0a;SDMA_StatusFileNexists;No description;10;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e0a;SDMA_StatusFileNexists;No description;10;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0b;SDMA_StatusFileFormatInvalid;No description;11;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e0b;SDMA_StatusFileFormatInvalid;No description;11;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0c;SDMA_MountError;No description;12;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e0c;SDMA_MountError;No description;12;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0d;SDMA_UnmountError;No description;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e0d;SDMA_UnmountError;No description;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0e;SDMA_SystemCallError;No description;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e0e;SDMA_SystemCallError;No description;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0f;SDMA_PopenCallError;No description;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6e0f;SDMA_PopenCallError;No description;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/devices/ploc/PlocMPSoCHelper.h
|
0x6f00;LPH_SdNotReady;No description;0;LOCAL_PARAM_HANDLER;bsp_q7s/memory/LocalParameterHandler.h
|
||||||
0x5ea0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;160;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
|
0x7300;SCBU_KeyNotFound;No description;0;SCRATCH_BUFFER;bsp_q7s/memory/scratchApi.h
|
||||||
0x5ea1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
|
|
||||||
0x57a0;PLSPVhLP_FileClosedAccidentally;File accidentally close;160;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
0x57a0;PLSPVhLP_FileClosedAccidentally;File accidentally close;160;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
0x57a1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;161;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
0x57a1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;161;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
0x57a2;PLSPVhLP_PathNotExists;Received command with invalid pathname;162;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
0x57a2;PLSPVhLP_PathNotExists;Received command with invalid pathname;162;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
@ -500,16 +506,46 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;No description;3;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;No description;3;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
0x5704;PLSPVhLP_PossiblePacketLossConsecutiveEnd;No description;4;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
0x5704;PLSPVhLP_PossiblePacketLossConsecutiveEnd;No description;4;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
0x5705;PLSPVhLP_HdlcError;No description;5;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
0x5705;PLSPVhLP_HdlcError;No description;5;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/devices/ploc/PlocMPSoCHelper.h
|
||||||
0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x5ea0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;160;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
|
||||||
0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x5ea1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
|
||||||
0x67a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
0x67a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
0x67a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
||||||
0x67a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
||||||
0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
||||||
0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b7;STRH_StartrackerRunningFirmware;Star tracker is in firmware mode but must be in bootloader mode to execute this command;183;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x53b8;STRH_StartrackerRunningBootloader;Star tracker is in bootloader mode but must be in firmware mode to execute this command;184;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
||||||
|
0x5ca0;STRHLP_SdNotMounted;SD card specified in path string not mounted;160;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca1;STRHLP_FileNotExists;Specified file does not exist on filesystem;161;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca2;STRHLP_PathNotExists;Specified path does not exist;162;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca3;STRHLP_FileCreationFailed;Failed to create download image or read flash file;163;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca4;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;164;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca5;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;165;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca6;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;166;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca7;STRHLP_StatusError;Status field in reply signals error;167;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
|
0x5ca8;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);168;STR_HELPER;linux/devices/startracker/StrHelper.h
|
||||||
0x68a0;SPVRTVIF_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;160;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
0x68a0;SPVRTVIF_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;160;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
0x68a1;SPVRTVIF_InvalidServiceId;No description;161;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
0x68a1;SPVRTVIF_InvalidServiceId;No description;161;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
0x68a2;SPVRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;162;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
0x68a2;SPVRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;162;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
@ -534,47 +570,21 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x68b5;SPVRTVIF_SupvHelperExecuting;Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command);181;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
0x68b5;SPVRTVIF_SupvHelperExecuting;Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command);181;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
0x68c0;SPVRTVIF_BufTooSmall;No description;192;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
0x68c0;SPVRTVIF_BufTooSmall;No description;192;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
0x68c1;SPVRTVIF_NoReplyTimeout;No description;193;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
0x68c1;SPVRTVIF_NoReplyTimeout;No description;193;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
|
0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
|
||||||
0x54e0;DWLPWRON_InvalidMode;Received command has invalid JESD mode (valid modes are 0 - 5);224;DWLPWRON_CMD;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
|
0x54e0;DWLPWRON_InvalidMode;Received command has invalid JESD mode (valid modes are 0 - 5);224;DWLPWRON_CMD;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
|
||||||
0x54e1;DWLPWRON_InvalidLaneRate;Received command has invalid lane rate (valid lane rate are 0 - 9);225;DWLPWRON_CMD;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
|
0x54e1;DWLPWRON_InvalidLaneRate;Received command has invalid lane rate (valid lane rate are 0 - 9);225;DWLPWRON_CMD;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
|
||||||
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
0x5400;DWLPWRON_NoReplyAvailable;No description;0;DWLPWRON_CMD;linux/devices/ImtqPollingTask.h
|
||||||
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
0x5402;DWLPWRON_InvalidCrc;No description;2;DWLPWRON_CMD;linux/devices/ScexHelper.h
|
||||||
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
0x59a0;IPCI_PapbBusy;No description;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h
|
||||||
0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x5ca0;STRHLP_SdNotMounted;SD card specified in path string not mounted;160;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca1;STRHLP_FileNotExists;Specified file does not exist on filesystem;161;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca2;STRHLP_PathNotExists;Specified path does not exist;162;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca3;STRHLP_FileCreationFailed;Failed to create download image or read flash file;163;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca4;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;164;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca5;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;165;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca6;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;166;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca7;STRHLP_StatusError;Status field in reply signals error;167;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x5ca8;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);168;STR_HELPER;linux/devices/startracker/StrHelper.h
|
|
||||||
0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b7;STRH_StartrackerRunningFirmware;Star tracker is in firmware mode but must be in bootloader mode to execute this command;183;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x53b8;STRH_StartrackerRunningBootloader;Star tracker is in bootloader mode but must be in firmware mode to execute this command;184;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
|
|
||||||
0x5300;STRH_NoReplyAvailable;No description;0;STR_HANDLER;linux/devices/ImtqPollingTask.h
|
|
||||||
0x5302;STRH_InvalidCrc;No description;2;STR_HANDLER;linux/devices/ScexHelper.h
|
|
||||||
0x5aa0;PTME_UnknownVcId;No description;160;PTME;linux/ipcore/Ptme.h
|
0x5aa0;PTME_UnknownVcId;No description;160;PTME;linux/ipcore/Ptme.h
|
||||||
0x5fa0;PDEC_AbandonedCltuRetval;No description;160;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
0x5fa0;PDEC_AbandonedCltuRetval;No description;160;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
0x5fa1;PDEC_FrameDirtyRetval;No description;161;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
0x5fa1;PDEC_FrameDirtyRetval;No description;161;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
@ -595,4 +605,3 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x61a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);161;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
0x61a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);161;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
||||||
0x61a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;162;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
0x61a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;162;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
||||||
0x61a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;163;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
0x61a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;163;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
||||||
0x59a0;IPCI_PapbBusy;No description;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h
|
|
||||||
|
|
@ -21,68 +21,3 @@ def get_eive_service_op_code_dict() -> TmtcDefinitionWrapper:
|
|||||||
)
|
)
|
||||||
call_all_definitions_providers(def_wrapper)
|
call_all_definitions_providers(def_wrapper)
|
||||||
return def_wrapper
|
return def_wrapper
|
||||||
|
|
||||||
|
|
||||||
@tmtc_definitions_provider
|
|
||||||
def add_str_cmds(defs: TmtcDefinitionWrapper):
|
|
||||||
oce = OpCodeEntry()
|
|
||||||
oce.add("0", "Star Tracker: Mode On, Submode Bootloader")
|
|
||||||
oce.add("1", "Star Tracker: Mode On, Submode Firmware")
|
|
||||||
oce.add("2", "Star Tracker: Mode Normal")
|
|
||||||
oce.add("3", "Star Tracker: Mode Off")
|
|
||||||
oce.add("4", "Star Tracker: Mode Raw")
|
|
||||||
oce.add("5", "Star Tracker: Ping")
|
|
||||||
oce.add("6", "Star Tracker: Switch to bootloader program")
|
|
||||||
oce.add("7", "Star Tracker: Request temperature")
|
|
||||||
oce.add("8", "Star Tracker: Request version")
|
|
||||||
oce.add("9", "Star Tracker: Request interface")
|
|
||||||
oce.add("10", "Star Tracker: Request power")
|
|
||||||
oce.add("11", "Star Tracker: Set subscription parameters")
|
|
||||||
oce.add("12", "Star Tracker: Boot image (requires bootloader mode)")
|
|
||||||
oce.add("13", "Star Tracker: Request time")
|
|
||||||
oce.add("14", "Star Tracker: Request solution")
|
|
||||||
oce.add("15", "Star Tracker: Upload 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("18", "Star Tracker: Set tracking parameters")
|
|
||||||
oce.add("19", "Star Tracker: Set mounting parameters")
|
|
||||||
oce.add("20", "Star Tracker: Set camera parameters")
|
|
||||||
oce.add("22", "Star Tracker: Set centroiding parameters")
|
|
||||||
oce.add("23", "Star Tracker: Set LISA parameters")
|
|
||||||
oce.add("24", "Star Tracker: Set matching parameters")
|
|
||||||
oce.add("25", "Star Tracker: Set validation parameters")
|
|
||||||
oce.add("26", "Star Tracker: Set algo parameters")
|
|
||||||
oce.add("27", "Star Tracker: Take image")
|
|
||||||
oce.add("28", "Star Tracker: Stop str helper")
|
|
||||||
oce.add("30", "Star Tracker: Set name of download image")
|
|
||||||
oce.add("31", "Star Tracker: Request histogram")
|
|
||||||
oce.add("32", "Star Tracker: Request contrast")
|
|
||||||
oce.add("33", "Star Tracker: Set json filename")
|
|
||||||
oce.add("35", "Star Tracker: Flash read")
|
|
||||||
oce.add("36", "Star Tracker: Set flash read filename")
|
|
||||||
oce.add("37", "Star Tracker: Get checksum")
|
|
||||||
oce.add("49", "Star Tracker: Request camera parameter")
|
|
||||||
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("53", "Star Tracker: (EGSE only) Load camera flight config")
|
|
||||||
oce.add("54", "Star Tracker: Request log level parameters")
|
|
||||||
oce.add("55", "Star Tracker: Request mounting parameters")
|
|
||||||
oce.add("56", "Star Tracker: Request image processor parameters")
|
|
||||||
oce.add("57", "Star Tracker: Request centroiding parameters")
|
|
||||||
oce.add("58", "Star Tracker: Request lisa parameters")
|
|
||||||
oce.add("59", "Star Tracker: Request matching parameters")
|
|
||||||
oce.add("60", "Star Tracker: Request tracking parameters")
|
|
||||||
oce.add("61", "Star Tracker: Request validation parameters")
|
|
||||||
oce.add("62", "Star Tracker: Request algo parameters")
|
|
||||||
oce.add("63", "Star Tracker: Request subscription parameters")
|
|
||||||
oce.add("64", "Star Tracker: Request log subscription parameters")
|
|
||||||
oce.add("65", "Star Tracker: Request debug camera parameters")
|
|
||||||
oce.add("66", "Star Tracker: Set log level parameters")
|
|
||||||
oce.add("67", "Star Tracker: Set log subscription parameters")
|
|
||||||
oce.add("68", "Star Tracker: Set debug camera parameters")
|
|
||||||
oce.add("69", "Star Tracker: Firmware update")
|
|
||||||
oce.add("70", "Star Tracker: Disable timestamp generation")
|
|
||||||
oce.add("71", "Star Tracker: Enable timestamp generation")
|
|
||||||
defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce)
|
|
||||||
|
@ -4,6 +4,7 @@ import logging
|
|||||||
from typing import cast
|
from typing import cast
|
||||||
|
|
||||||
from eive_tmtc.tmtc.acs.gyros import handle_gyr_cmd
|
from eive_tmtc.tmtc.acs.gyros import handle_gyr_cmd
|
||||||
|
from eive_tmtc.tmtc.acs.mgms import handle_mgm_cmd
|
||||||
from eive_tmtc.tmtc.power.power import pack_power_commands
|
from eive_tmtc.tmtc.power.power import pack_power_commands
|
||||||
from eive_tmtc.tmtc.tcs.rtd import pack_rtd_commands
|
from eive_tmtc.tmtc.tcs.rtd import pack_rtd_commands
|
||||||
from eive_tmtc.tmtc.payload.scex import pack_scex_cmds
|
from eive_tmtc.tmtc.payload.scex import pack_scex_cmds
|
||||||
@ -135,6 +136,8 @@ def handle_default_procedure(
|
|||||||
return pack_single_rw_test_into(
|
return pack_single_rw_test_into(
|
||||||
object_id=RW4_ID, rw_idx=4, q=queue_helper, op_code=op_code
|
object_id=RW4_ID, rw_idx=4, q=queue_helper, op_code=op_code
|
||||||
)
|
)
|
||||||
|
if service == CustomServiceList.MGMS.value:
|
||||||
|
return handle_mgm_cmd(q=queue_helper, op_code=op_code)
|
||||||
if service == CustomServiceList.RAD_SENSOR.value:
|
if service == CustomServiceList.RAD_SENSOR.value:
|
||||||
object_id = cast(ObjectIdU32, obj_id_man.get(RAD_SENSOR_ID))
|
object_id = cast(ObjectIdU32, obj_id_man.get(RAD_SENSOR_ID))
|
||||||
return pack_rad_sensor_test_into(
|
return pack_rad_sensor_test_into(
|
||||||
|
@ -3,6 +3,7 @@ import logging
|
|||||||
|
|
||||||
# from pus_tm.tcp_server_objects import TCP_SEVER_SENSOR_TEMPERATURES
|
# from pus_tm.tcp_server_objects import TCP_SEVER_SENSOR_TEMPERATURES
|
||||||
from eive_tmtc.tmtc.acs.acs_ctrl import handle_raw_mgm_data, handle_acs_ctrl_hk_data
|
from eive_tmtc.tmtc.acs.acs_ctrl import handle_raw_mgm_data, handle_acs_ctrl_hk_data
|
||||||
|
from eive_tmtc.tmtc.acs.star_tracker import handle_str_hk_data
|
||||||
from eive_tmtc.tmtc.power.plpcdu import handle_plpcdu_hk
|
from eive_tmtc.tmtc.power.plpcdu import handle_plpcdu_hk
|
||||||
from eive_tmtc.tmtc.payload.rad_sensor import handle_rad_sensor_data
|
from eive_tmtc.tmtc.payload.rad_sensor import handle_rad_sensor_data
|
||||||
from eive_tmtc.tmtc.acs.sus import handle_sus_hk
|
from eive_tmtc.tmtc.acs.sus import handle_sus_hk
|
||||||
@ -166,6 +167,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:
|
||||||
|
@ -2,18 +2,21 @@ import enum
|
|||||||
import logging
|
import logging
|
||||||
import socket
|
import socket
|
||||||
import struct
|
import struct
|
||||||
|
import math
|
||||||
from socket import AF_INET
|
from socket import AF_INET
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
|
|
||||||
from eive_tmtc.config.definitions import CustomServiceList
|
from eive_tmtc.config.definitions import CustomServiceList
|
||||||
from eive_tmtc.config.object_ids import ACS_CONTROLLER
|
from eive_tmtc.config.object_ids import ACS_CONTROLLER
|
||||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||||
|
from eive_tmtc.tmtc.acs.defs import AcsMode, SafeSubmode
|
||||||
from tmtccmd.config.tmtc import (
|
from tmtccmd.config.tmtc import (
|
||||||
tmtc_definitions_provider,
|
tmtc_definitions_provider,
|
||||||
TmtcDefinitionWrapper,
|
TmtcDefinitionWrapper,
|
||||||
OpCodeEntry,
|
OpCodeEntry,
|
||||||
)
|
)
|
||||||
from tmtccmd.tc import service_provider
|
from tmtccmd.tc import service_provider
|
||||||
|
from tmtccmd.tc.queue import DefaultPusQueueHelper
|
||||||
from tmtccmd.tc.pus_200_fsfw_mode import Mode, pack_mode_command
|
from tmtccmd.tc.pus_200_fsfw_mode import Mode, pack_mode_command
|
||||||
from tmtccmd.tc.decorator import ServiceProviderParams
|
from tmtccmd.tc.decorator import ServiceProviderParams
|
||||||
from tmtccmd.tc.pus_3_fsfw_hk import (
|
from tmtccmd.tc.pus_3_fsfw_hk import (
|
||||||
@ -23,8 +26,23 @@ from tmtccmd.tc.pus_3_fsfw_hk import (
|
|||||||
disable_periodic_hk_command,
|
disable_periodic_hk_command,
|
||||||
create_request_one_diag_command,
|
create_request_one_diag_command,
|
||||||
)
|
)
|
||||||
|
from tmtccmd.pus.s8_fsfw_funccmd import create_action_cmd
|
||||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||||
|
|
||||||
|
from tmtccmd.tc.pus_20_fsfw_param import create_load_param_cmd
|
||||||
|
|
||||||
|
from tmtccmd.pus.s20_fsfw_param_defs import (
|
||||||
|
create_scalar_u8_parameter,
|
||||||
|
create_scalar_u16_parameter,
|
||||||
|
create_scalar_i32_parameter,
|
||||||
|
create_scalar_float_parameter,
|
||||||
|
create_scalar_double_parameter,
|
||||||
|
create_vector_float_parameter,
|
||||||
|
create_vector_double_parameter,
|
||||||
|
create_matrix_float_parameter,
|
||||||
|
create_matrix_double_parameter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class SetId(enum.IntEnum):
|
class SetId(enum.IntEnum):
|
||||||
MGM_RAW_SET = 0
|
MGM_RAW_SET = 0
|
||||||
@ -39,59 +57,71 @@ class SetId(enum.IntEnum):
|
|||||||
ACTUATOR_CMD_DATA = 9
|
ACTUATOR_CMD_DATA = 9
|
||||||
|
|
||||||
|
|
||||||
class Submode(enum.IntEnum):
|
class ActionId(enum.IntEnum):
|
||||||
OFF = 0
|
SOLAR_ARRAY_DEPLOYMENT_SUCCESSFUL = 0
|
||||||
SAFE = 10
|
RESET_MEKF = 1
|
||||||
DETUMBLE = 11
|
|
||||||
IDLE = 12
|
|
||||||
PTG_NADIR = 13
|
|
||||||
PTG_TARGET = 14
|
|
||||||
PTG_TARGET_GS = 15
|
|
||||||
PTG_INERTIAL = 16
|
|
||||||
|
|
||||||
|
|
||||||
class OpCodes:
|
class OpCodes:
|
||||||
OFF = ["off"]
|
OFF = ["off"]
|
||||||
SAFE = ["normal_safe"]
|
SAFE = ["safe"]
|
||||||
DTBL = ["normal_detumble"]
|
DTBL = ["safe_detumble"]
|
||||||
IDLE = ["normal_idle"]
|
IDLE = ["ptg_idle"]
|
||||||
REQUEST_RAW_MGM_HK = ["0", "mgm_raw_hk"]
|
NADIR = ["ptg_nadir"]
|
||||||
ENABLE_RAW_MGM_HK = ["1", "mgm_raw_enable_hk"]
|
TARGET = ["ptg_target"]
|
||||||
DISABLE_RAW_MGM_HK = ["2", "mgm_raw_disable_hk"]
|
GS = ["ptg_target_gs"]
|
||||||
REQUEST_PROC_MGM_HK = ["3", "mgm_proc_hk"]
|
INERTIAL = ["ptg_inertial"]
|
||||||
ENABLE_PROC_MGM_HK = ["4", "mgm_proc_enable_hk"]
|
SAFE_PTG = ["confirm_deployment"]
|
||||||
DISABLE_PROC_MGM_HK = ["5", "mgm_proc_disable_hk"]
|
RESET_MEKF = ["reset_mekf"]
|
||||||
REQUEST_RAW_SUS_HK = ["6", "sus_raw_hk"]
|
SET_PARAMETER_SCALAR = ["set_scalar_param"]
|
||||||
ENABLE_RAW_SUS_HK = ["7", "sus_raw_enable_hk"]
|
SET_PARAMETER_VECTOR = ["set_vector_param"]
|
||||||
DISABLE_RAW_SUS_HK = ["8", "sus_raw_disable_hk"]
|
SET_PARAMETER_MATRIX = ["set_matrix_param"]
|
||||||
REQUEST_PROC_SUS_HK = ["9", "sus_proc_hk"]
|
REQUEST_RAW_MGM_HK = ["mgm_raw_hk"]
|
||||||
ENABLE_PROC_SUS_HK = ["10", "sus_proc_enable_hk"]
|
ENABLE_RAW_MGM_HK = ["mgm_raw_enable_hk"]
|
||||||
DISABLE_PROC_SUS_HK = ["11", "sus_proc_disable_hk"]
|
DISABLE_RAW_MGM_HK = ["mgm_raw_disable_hk"]
|
||||||
REQUEST_RAW_GYR_HK = ["12", "gyr_raw_hk"]
|
REQUEST_PROC_MGM_HK = ["mgm_proc_hk"]
|
||||||
ENABLE_RAW_GYR_HK = ["13", "gyr_raw_enable_hk"]
|
ENABLE_PROC_MGM_HK = ["mgm_proc_enable_hk"]
|
||||||
DISABLE_RAW_GYR_HK = ["14", "gyr_raw_disable_hk"]
|
DISABLE_PROC_MGM_HK = ["mgm_proc_disable_hk"]
|
||||||
REQUEST_PROC_GYR_HK = ["15", "gyr_proc_hk"]
|
REQUEST_RAW_SUS_HK = ["sus_raw_hk"]
|
||||||
ENABLE_PROC_GYR_HK = ["16", "gyr_proc_enable_hk"]
|
ENABLE_RAW_SUS_HK = ["sus_raw_enable_hk"]
|
||||||
DISABLE_PROC_GYR_HK = ["17", "gyr_proc_disable_hk"]
|
DISABLE_RAW_SUS_HK = ["sus_raw_disable_hk"]
|
||||||
REQUEST_PROC_GPS_HK = ["18", "gps_proc_hk"]
|
REQUEST_PROC_SUS_HK = ["sus_proc_hk"]
|
||||||
ENABLE_PROC_GPS_HK = ["19", "gps_proc_enable_hk"]
|
ENABLE_PROC_SUS_HK = ["sus_proc_enable_hk"]
|
||||||
DISABLE_PROC_GPS_HK = ["20", "gps_proc_disable_hk"]
|
DISABLE_PROC_SUS_HK = ["sus_proc_disable_hk"]
|
||||||
REQUEST_MEKF_HK = ["21", "mekf_hk"]
|
REQUEST_RAW_GYR_HK = ["gyr_raw_hk"]
|
||||||
ENABLE_MEKF_HK = ["22", "mekf_enable_hk"]
|
ENABLE_RAW_GYR_HK = ["gyr_raw_enable_hk"]
|
||||||
DISABLE_MEKF_HK = ["23", "mekf_disable_hk"]
|
DISABLE_RAW_GYR_HK = ["gyr_raw_disable_hk"]
|
||||||
REQUEST_CTRL_VAL_HK = ["24", "ctrl_val_hk"]
|
REQUEST_PROC_GYR_HK = ["gyr_proc_hk"]
|
||||||
ENABLE_CTRL_VAL_HK = ["25", "ctrl_val_enable_hk"]
|
ENABLE_PROC_GYR_HK = ["gyr_proc_enable_hk"]
|
||||||
DISABLE_CTRL_VAL_HK = ["26", "ctrl_val_disable_hk"]
|
DISABLE_PROC_GYR_HK = ["gyr_proc_disable_hk"]
|
||||||
REQUEST_ACT_CMD_HK = ["27", "act_cmd_hk"]
|
REQUEST_PROC_GPS_HK = ["gps_proc_hk"]
|
||||||
ENABLE_ACT_CMD_HK = ["28", "act_cmd_enable_hk"]
|
ENABLE_PROC_GPS_HK = ["gps_proc_enable_hk"]
|
||||||
DISABLE_ACT_CMD_HK = ["29", "act_cmd_disable_hk"]
|
DISABLE_PROC_GPS_HK = ["gps_proc_disable_hk"]
|
||||||
|
REQUEST_MEKF_HK = ["mekf_hk"]
|
||||||
|
ENABLE_MEKF_HK = ["mekf_enable_hk"]
|
||||||
|
DISABLE_MEKF_HK = ["mekf_disable_hk"]
|
||||||
|
REQUEST_CTRL_VAL_HK = ["ctrl_val_hk"]
|
||||||
|
ENABLE_CTRL_VAL_HK = ["ctrl_val_enable_hk"]
|
||||||
|
DISABLE_CTRL_VAL_HK = ["ctrl_val_disable_hk"]
|
||||||
|
REQUEST_ACT_CMD_HK = ["act_cmd_hk"]
|
||||||
|
ENABLE_ACT_CMD_HK = ["act_cmd_enable_hk"]
|
||||||
|
DISABLE_ACT_CMD_HK = ["act_cmd_disable_hk"]
|
||||||
|
|
||||||
|
|
||||||
class Info:
|
class Info:
|
||||||
OFF = "Switch ACS CTRL off"
|
OFF = "Switch ACS CTRL off"
|
||||||
SAFE = "Switch ACS CTRL normal safe"
|
SAFE = "Switch ACS CTRL - safe"
|
||||||
DTBL = "Switch ACS CTRL normal detumble"
|
DTBL = "Switch ACS CTRL - safe with detumble submode"
|
||||||
IDLE = "Switch ACS CTRL normal idle"
|
IDLE = "Switch ACS CTRL - pointing idle"
|
||||||
|
NADIR = "Switch ACS CTRL normal - pointing nadir"
|
||||||
|
TARGET = "Switch ACS CTRL normal - pointing target"
|
||||||
|
GS = "Switch ACS CTRL normal - pointing target groundstation"
|
||||||
|
INERTIAL = "Switch ACS CTRL normal - pointing inertial"
|
||||||
|
SAFE_PTG = "Confirm deployment of both solar arrays"
|
||||||
|
RESET_MEKF = "Reset the MEKF"
|
||||||
|
SET_PARAMETER_SCALAR = "Set Scalar Parameter"
|
||||||
|
SET_PARAMETER_VECTOR = "Set Vector Parameter"
|
||||||
|
SET_PARAMETER_MATRIX = "Set Matrix Parameter"
|
||||||
REQUEST_RAW_MGM_HK = "Request Raw MGM HK once"
|
REQUEST_RAW_MGM_HK = "Request Raw MGM HK once"
|
||||||
ENABLE_RAW_MGM_HK = "Enable Raw MGM HK data generation"
|
ENABLE_RAW_MGM_HK = "Enable Raw MGM HK data generation"
|
||||||
DISABLE_RAW_MGM_HK = "Disable Raw MGM HK data generation"
|
DISABLE_RAW_MGM_HK = "Disable Raw MGM HK data generation"
|
||||||
@ -143,6 +173,15 @@ def acs_cmd_defs(defs: TmtcDefinitionWrapper):
|
|||||||
oce.add(keys=OpCodes.SAFE, info=Info.SAFE)
|
oce.add(keys=OpCodes.SAFE, info=Info.SAFE)
|
||||||
oce.add(keys=OpCodes.DTBL, info=Info.DTBL)
|
oce.add(keys=OpCodes.DTBL, info=Info.DTBL)
|
||||||
oce.add(keys=OpCodes.IDLE, info=Info.IDLE)
|
oce.add(keys=OpCodes.IDLE, info=Info.IDLE)
|
||||||
|
oce.add(keys=OpCodes.NADIR, info=Info.NADIR)
|
||||||
|
oce.add(keys=OpCodes.TARGET, info=Info.TARGET)
|
||||||
|
oce.add(keys=OpCodes.GS, info=Info.GS)
|
||||||
|
oce.add(keys=OpCodes.INERTIAL, info=Info.INERTIAL)
|
||||||
|
oce.add(keys=OpCodes.SAFE_PTG, info=Info.SAFE_PTG)
|
||||||
|
oce.add(keys=OpCodes.RESET_MEKF, info=Info.RESET_MEKF)
|
||||||
|
oce.add(keys=OpCodes.SET_PARAMETER_SCALAR, info=Info.SET_PARAMETER_SCALAR)
|
||||||
|
oce.add(keys=OpCodes.SET_PARAMETER_VECTOR, info=Info.SET_PARAMETER_VECTOR)
|
||||||
|
oce.add(keys=OpCodes.SET_PARAMETER_MATRIX, info=Info.SET_PARAMETER_MATRIX)
|
||||||
oce.add(keys=OpCodes.REQUEST_RAW_MGM_HK, info=Info.REQUEST_RAW_MGM_HK)
|
oce.add(keys=OpCodes.REQUEST_RAW_MGM_HK, info=Info.REQUEST_RAW_MGM_HK)
|
||||||
oce.add(keys=OpCodes.ENABLE_RAW_MGM_HK, info=Info.ENABLE_RAW_MGM_HK)
|
oce.add(keys=OpCodes.ENABLE_RAW_MGM_HK, info=Info.ENABLE_RAW_MGM_HK)
|
||||||
oce.add(keys=OpCodes.DISABLE_RAW_MGM_HK, info=Info.DISABLE_RAW_MGM_HK)
|
oce.add(keys=OpCodes.DISABLE_RAW_MGM_HK, info=Info.DISABLE_RAW_MGM_HK)
|
||||||
@ -187,22 +226,58 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, Mode.OFF, 0))
|
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, Mode.OFF, 0))
|
||||||
elif op_code in OpCodes.SAFE:
|
elif op_code in OpCodes.SAFE:
|
||||||
q.add_log_cmd(f"{Info.SAFE}")
|
q.add_log_cmd(f"{Info.SAFE}")
|
||||||
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, Mode.NORMAL, Submode.SAFE))
|
q.add_pus_tc(
|
||||||
|
pack_mode_command(ACS_CONTROLLER, AcsMode.SAFE, SafeSubmode.DEFAULT)
|
||||||
|
)
|
||||||
elif op_code in OpCodes.DTBL:
|
elif op_code in OpCodes.DTBL:
|
||||||
q.add_log_cmd(f"{Info.DTBL}")
|
q.add_log_cmd(f"{Info.DTBL}")
|
||||||
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, Mode.NORMAL, Submode.DETUMBLE))
|
q.add_pus_tc(
|
||||||
|
pack_mode_command(ACS_CONTROLLER, AcsMode.SAFE, SafeSubmode.DETUMBLE)
|
||||||
|
)
|
||||||
elif op_code in OpCodes.IDLE:
|
elif op_code in OpCodes.IDLE:
|
||||||
q.add_log_cmd(f"{Info.IDLE}")
|
q.add_log_cmd(f"{Info.IDLE}")
|
||||||
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, Mode.NORMAL, Submode.IDLE))
|
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, AcsMode.IDLE, 0))
|
||||||
|
elif op_code in OpCodes.NADIR:
|
||||||
|
q.add_log_cmd(f"{Info.NADIR}")
|
||||||
|
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, AcsMode.PTG_NADIR, 0))
|
||||||
|
elif op_code in OpCodes.TARGET:
|
||||||
|
q.add_log_cmd(f"{Info.TARGET}")
|
||||||
|
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, AcsMode.PTG_TARGET, 0))
|
||||||
|
elif op_code in OpCodes.GS:
|
||||||
|
q.add_log_cmd(f"{Info.GS}")
|
||||||
|
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, AcsMode.PTG_TARGET_GS, 0))
|
||||||
|
elif op_code in OpCodes.INERTIAL:
|
||||||
|
q.add_log_cmd(f"{Info.INERTIAL}")
|
||||||
|
q.add_pus_tc(pack_mode_command(ACS_CONTROLLER, AcsMode.PTG_INERTIAL, 0))
|
||||||
|
elif op_code in OpCodes.SAFE_PTG:
|
||||||
|
q.add_log_cmd(f"{Info.SAFE_PTG}")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_action_cmd(
|
||||||
|
ACS_CONTROLLER, ActionId.SOLAR_ARRAY_DEPLOYMENT_SUCCESSFUL
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif op_code in OpCodes.RESET_MEKF:
|
||||||
|
q.add_log_cmd(f"{Info.RESET_MEKF}")
|
||||||
|
q.add_pus_tc(create_action_cmd(ACS_CONTROLLER, ActionId.RESET_MEKF))
|
||||||
|
elif op_code in OpCodes.SET_PARAMETER_SCALAR:
|
||||||
|
q.add_log_cmd(f"{Info.SET_PARAMETER_SCALAR}")
|
||||||
|
set_acs_ctrl_param_scalar(q)
|
||||||
|
elif op_code in OpCodes.SET_PARAMETER_VECTOR:
|
||||||
|
q.add_log_cmd(f"{Info.SET_PARAMETER_VECTOR}")
|
||||||
|
set_acs_ctrl_param_vector(q)
|
||||||
|
elif op_code in OpCodes.SET_PARAMETER_MATRIX:
|
||||||
|
q.add_log_cmd(f"{Info.SET_PARAMETER_MATRIX}")
|
||||||
|
set_acs_ctrl_param_matrix(q)
|
||||||
elif op_code in OpCodes.REQUEST_RAW_MGM_HK:
|
elif op_code in OpCodes.REQUEST_RAW_MGM_HK:
|
||||||
q.add_log_cmd(Info.REQUEST_RAW_MGM_HK)
|
q.add_log_cmd(Info.REQUEST_RAW_MGM_HK)
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.MGM_RAW_SET))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.MGM_RAW_SET))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_RAW_MGM_HK:
|
elif op_code in OpCodes.ENABLE_RAW_MGM_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_RAW_MGM_HK)
|
q.add_log_cmd(Info.ENABLE_RAW_MGM_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.MGM_RAW_SET), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.MGM_RAW_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -219,9 +294,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.MGM_PROC_SET))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.MGM_PROC_SET))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_PROC_MGM_HK:
|
elif op_code in OpCodes.ENABLE_PROC_MGM_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_PROC_MGM_HK)
|
q.add_log_cmd(Info.ENABLE_PROC_MGM_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.MGM_PROC_SET), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.MGM_PROC_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -238,9 +314,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.SUS_RAW_SET))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.SUS_RAW_SET))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_RAW_SUS_HK:
|
elif op_code in OpCodes.ENABLE_RAW_SUS_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_RAW_SUS_HK)
|
q.add_log_cmd(Info.ENABLE_RAW_SUS_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.SUS_RAW_SET), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.SUS_RAW_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -257,9 +334,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.SUS_PROC_SET))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.SUS_PROC_SET))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_PROC_SUS_HK:
|
elif op_code in OpCodes.ENABLE_PROC_SUS_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_PROC_SUS_HK)
|
q.add_log_cmd(Info.ENABLE_PROC_SUS_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.SUS_PROC_SET), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.SUS_PROC_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -276,9 +354,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
create_request_one_diag_command(make_sid(ACS_CONTROLLER, SetId.GYR_RAW_SET))
|
create_request_one_diag_command(make_sid(ACS_CONTROLLER, SetId.GYR_RAW_SET))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_RAW_GYR_HK:
|
elif op_code in OpCodes.ENABLE_RAW_GYR_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_RAW_GYR_HK)
|
q.add_log_cmd(Info.ENABLE_RAW_GYR_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
True, make_sid(ACS_CONTROLLER, SetId.GYR_RAW_SET), 2.0
|
True, make_sid(ACS_CONTROLLER, SetId.GYR_RAW_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -297,9 +376,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_PROC_GYR_HK:
|
elif op_code in OpCodes.ENABLE_PROC_GYR_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_PROC_GYR_HK)
|
q.add_log_cmd(Info.ENABLE_PROC_GYR_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.GYR_PROC_SET), 2.0
|
True, make_sid(ACS_CONTROLLER, SetId.GYR_PROC_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -307,7 +387,7 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
q.add_log_cmd(Info.DISABLE_PROC_GYR_HK)
|
q.add_log_cmd(Info.DISABLE_PROC_GYR_HK)
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
disable_periodic_hk_command(
|
disable_periodic_hk_command(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.GYR_PROC_SET)
|
True, make_sid(ACS_CONTROLLER, SetId.GYR_PROC_SET)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.REQUEST_PROC_GPS_HK:
|
elif op_code in OpCodes.REQUEST_PROC_GPS_HK:
|
||||||
@ -316,9 +396,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.GPS_PROC_SET))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.GPS_PROC_SET))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_PROC_GPS_HK:
|
elif op_code in OpCodes.ENABLE_PROC_GPS_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_PROC_GPS_HK)
|
q.add_log_cmd(Info.ENABLE_PROC_GPS_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.GPS_PROC_SET), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.GPS_PROC_SET), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -331,11 +412,14 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
)
|
)
|
||||||
elif op_code in OpCodes.REQUEST_MEKF_HK:
|
elif op_code in OpCodes.REQUEST_MEKF_HK:
|
||||||
q.add_log_cmd(Info.REQUEST_MEKF_HK)
|
q.add_log_cmd(Info.REQUEST_MEKF_HK)
|
||||||
q.add_pus_tc(generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.MEKF_DATA)))
|
q.add_pus_tc(
|
||||||
|
create_request_one_diag_command(make_sid(ACS_CONTROLLER, SetId.MEKF_DATA))
|
||||||
|
)
|
||||||
elif op_code in OpCodes.ENABLE_MEKF_HK:
|
elif op_code in OpCodes.ENABLE_MEKF_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_MEKF_HK)
|
q.add_log_cmd(Info.ENABLE_MEKF_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
True, make_sid(ACS_CONTROLLER, SetId.MEKF_DATA), 2.0
|
True, make_sid(ACS_CONTROLLER, SetId.MEKF_DATA), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -350,9 +434,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.CTRL_VAL_DATA))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.CTRL_VAL_DATA))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_CTRL_VAL_HK:
|
elif op_code in OpCodes.ENABLE_CTRL_VAL_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_CTRL_VAL_HK)
|
q.add_log_cmd(Info.ENABLE_CTRL_VAL_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.CTRL_VAL_DATA), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.CTRL_VAL_DATA), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -369,9 +454,10 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.ACTUATOR_CMD_DATA))
|
generate_one_hk_command(make_sid(ACS_CONTROLLER, SetId.ACTUATOR_CMD_DATA))
|
||||||
)
|
)
|
||||||
elif op_code in OpCodes.ENABLE_ACT_CMD_HK:
|
elif op_code in OpCodes.ENABLE_ACT_CMD_HK:
|
||||||
|
interval = float(input("Please specify interval in floating point seconds: "))
|
||||||
q.add_log_cmd(Info.ENABLE_ACT_CMD_HK)
|
q.add_log_cmd(Info.ENABLE_ACT_CMD_HK)
|
||||||
cmd_tuple = enable_periodic_hk_command_with_interval(
|
cmd_tuple = enable_periodic_hk_command_with_interval(
|
||||||
False, make_sid(ACS_CONTROLLER, SetId.ACTUATOR_CMD_DATA), 2.0
|
False, make_sid(ACS_CONTROLLER, SetId.ACTUATOR_CMD_DATA), interval
|
||||||
)
|
)
|
||||||
q.add_pus_tc(cmd_tuple[0])
|
q.add_pus_tc(cmd_tuple[0])
|
||||||
q.add_pus_tc(cmd_tuple[1])
|
q.add_pus_tc(cmd_tuple[1])
|
||||||
@ -386,6 +472,189 @@ def pack_acs_ctrl_command(p: ServiceProviderParams):
|
|||||||
logging.getLogger(__name__).info(f"Unknown op code {op_code}")
|
logging.getLogger(__name__).info(f"Unknown op code {op_code}")
|
||||||
|
|
||||||
|
|
||||||
|
def set_acs_ctrl_param_scalar(q: DefaultPusQueueHelper):
|
||||||
|
pt = int(
|
||||||
|
input(
|
||||||
|
'Specify parameter type to set {0: "uint8", 1: "uint16", 2: "int32", 3: "float", '
|
||||||
|
'4: "double"}: '
|
||||||
|
)
|
||||||
|
)
|
||||||
|
sid = int(input("Specify parameter struct ID to set: "))
|
||||||
|
pid = int(input("Specify parameter ID to set: "))
|
||||||
|
match pt:
|
||||||
|
case 0:
|
||||||
|
param = int(input("Specify parameter value to set: "))
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_scalar_u8_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameter=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
case 1:
|
||||||
|
param = int(input("Specify parameter value to set: "))
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_scalar_u16_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameter=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
case 2:
|
||||||
|
param = int(input("Specify parameter value to set: "))
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_scalar_i32_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameter=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
case 3:
|
||||||
|
param = float(input("Specify parameter value to set: "))
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_scalar_float_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameter=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
case 4:
|
||||||
|
param = float(input("Specify parameter value to set: "))
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_scalar_double_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameter=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def set_acs_ctrl_param_vector(q: DefaultPusQueueHelper):
|
||||||
|
pt = int(input('Specify parameter type to set {0: "float", 1: "double"}: '))
|
||||||
|
sid = int(input("Specify parameter struct ID to set: "))
|
||||||
|
pid = int(input("Specify parameter ID to set: "))
|
||||||
|
match pt:
|
||||||
|
case 0:
|
||||||
|
elms = int(input("Specify number of elements in vector to set: "))
|
||||||
|
param = []
|
||||||
|
for _ in range(elms):
|
||||||
|
param.append(
|
||||||
|
float(input("Specify parameter vector entry value to set: "))
|
||||||
|
)
|
||||||
|
print(param)
|
||||||
|
if input("Confirm selected parameter values (Y/N): ") == "Y":
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_vector_float_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameters=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
q.add_log_cmd("Aborted by user input")
|
||||||
|
return
|
||||||
|
case 1:
|
||||||
|
elms = int(input("Specify number of elements in vector to set: "))
|
||||||
|
param = []
|
||||||
|
for _ in range(elms):
|
||||||
|
param.append(
|
||||||
|
float(input("Specify parameter vector entry value to set: "))
|
||||||
|
)
|
||||||
|
print(param)
|
||||||
|
if input("Confirm selected parameter values (Y/N): ") == "Y":
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_vector_double_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameters=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
q.add_log_cmd("Aborted by user input")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
def set_acs_ctrl_param_matrix(q: DefaultPusQueueHelper):
|
||||||
|
pt = int(input('Specify parameter type to set {0: "float", 1: "double"}: '))
|
||||||
|
sid = int(input("Specify parameter struct ID to set: "))
|
||||||
|
pid = int(input("Specify parameter ID to set: "))
|
||||||
|
match pt:
|
||||||
|
case 0:
|
||||||
|
rows = int(input("Specify number of rows in matrix to set: "))
|
||||||
|
cols = int(input("Specify number of columns in matrix to set: "))
|
||||||
|
row = []
|
||||||
|
param = []
|
||||||
|
for _ in range(rows):
|
||||||
|
for _ in range(cols):
|
||||||
|
row.append(
|
||||||
|
float(input("Specify parameter vector entry value to set: "))
|
||||||
|
)
|
||||||
|
param.append(row)
|
||||||
|
print(param)
|
||||||
|
if input("Confirm selected parameter values (Y/N): ") == "Y":
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_matrix_float_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameters=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
q.add_log_cmd("Aborted by user input")
|
||||||
|
return
|
||||||
|
case 1:
|
||||||
|
rows = int(input("Specify number of rows in matrix to set: "))
|
||||||
|
cols = int(input("Specify number of columns in matrix to set: "))
|
||||||
|
row = []
|
||||||
|
param = []
|
||||||
|
for _ in range(rows):
|
||||||
|
for _ in range(cols):
|
||||||
|
row.append(
|
||||||
|
float(input("Specify parameter vector entry value to set: "))
|
||||||
|
)
|
||||||
|
param.append(row)
|
||||||
|
row = []
|
||||||
|
print(param)
|
||||||
|
if input("Confirm selected parameter values (Y/N): ") == "Y":
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_load_param_cmd(
|
||||||
|
create_matrix_double_parameter(
|
||||||
|
object_id=ACS_CONTROLLER,
|
||||||
|
domain_id=sid,
|
||||||
|
unique_id=pid,
|
||||||
|
parameters=param,
|
||||||
|
).pack()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
q.add_log_cmd("Aborted by user input")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
def handle_acs_ctrl_hk_data(printer: FsfwTmTcPrinter, set_id: int, hk_data: bytes):
|
def handle_acs_ctrl_hk_data(printer: FsfwTmTcPrinter, set_id: int, hk_data: bytes):
|
||||||
pw = PrintWrapper(printer)
|
pw = PrintWrapper(printer)
|
||||||
match set_id:
|
match set_id:
|
||||||
@ -622,7 +891,7 @@ def handle_gyr_data_processed(pw: PrintWrapper, hk_data: bytes):
|
|||||||
current_idx = 0
|
current_idx = 0
|
||||||
for i in range(4):
|
for i in range(4):
|
||||||
gyr_vec = [
|
gyr_vec = [
|
||||||
f"{val:8.3f}"
|
f"{val*180/math.pi:8.3f}"
|
||||||
for val in struct.unpack(
|
for val in struct.unpack(
|
||||||
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
||||||
)
|
)
|
||||||
@ -630,7 +899,7 @@ def handle_gyr_data_processed(pw: PrintWrapper, hk_data: bytes):
|
|||||||
pw.dlog(f"{GYR_NAMES[i]}: {gyr_vec}")
|
pw.dlog(f"{GYR_NAMES[i]}: {gyr_vec}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
gyr_vec_tot = [
|
gyr_vec_tot = [
|
||||||
f"{val:8.3f}"
|
f"{val*180/math.pi:8.3f}"
|
||||||
for val in struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
for val in struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
]
|
]
|
||||||
pw.dlog(f"GYR Vec Total: {gyr_vec_tot}")
|
pw.dlog(f"GYR Vec Total: {gyr_vec_tot}")
|
||||||
@ -649,13 +918,20 @@ def handle_gps_data_processed(pw: PrintWrapper, hk_data: bytes):
|
|||||||
return
|
return
|
||||||
current_idx = 0
|
current_idx = 0
|
||||||
lat = [
|
lat = [
|
||||||
f"{val:8.3f}"
|
f"{val*180/math.pi:8.3f}"
|
||||||
for val in struct.unpack(
|
for val in struct.unpack(
|
||||||
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
current_idx += inc_len_scalar
|
current_idx += inc_len_scalar
|
||||||
long = [
|
long = [
|
||||||
|
f"{val*180/math.pi:8.3f}"
|
||||||
|
for val in struct.unpack(
|
||||||
|
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
current_idx += inc_len_scalar
|
||||||
|
alt = [
|
||||||
f"{val:8.3f}"
|
f"{val:8.3f}"
|
||||||
for val in struct.unpack(
|
for val in struct.unpack(
|
||||||
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
||||||
@ -676,41 +952,62 @@ def handle_gps_data_processed(pw: PrintWrapper, hk_data: bytes):
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
current_idx += inc_len_vec
|
current_idx += inc_len_vec
|
||||||
pw.dlog(f"GPS Latitude: {lat} [rad]")
|
pw.dlog(f"GPS Latitude: {lat} [deg]")
|
||||||
pw.dlog(f"GPS Longitude: {long} [rad]")
|
pw.dlog(f"GPS Longitude: {long} [deg]")
|
||||||
|
pw.dlog(f"GPS Altitude: {alt} [m]")
|
||||||
pw.dlog(f"GPS Position: {pos} [m]")
|
pw.dlog(f"GPS Position: {pos} [m]")
|
||||||
pw.dlog(f"GPS Velocity: {velo} [m/s]")
|
pw.dlog(f"GPS Velocity: {velo} [m/s]")
|
||||||
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=4)
|
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=4)
|
||||||
|
|
||||||
|
|
||||||
def handle_mekf_data(pw: PrintWrapper, hk_data: bytes):
|
def handle_mekf_data(pw: PrintWrapper, hk_data: bytes):
|
||||||
|
mekf_status = {
|
||||||
|
0: "UNINITIALIZED",
|
||||||
|
1: "NO_GYR_DATA",
|
||||||
|
2: "NO_MODEL_VECTORS",
|
||||||
|
3: "NO_SUS_MGM_STR_DATA",
|
||||||
|
4: "COVARIANCE_INVERSION_FAILED",
|
||||||
|
10: "INITIALIZED",
|
||||||
|
11: "RUNNING",
|
||||||
|
}
|
||||||
pw.dlog("Received MEKF Set")
|
pw.dlog("Received MEKF Set")
|
||||||
fmt_quat = "!dddd"
|
fmt_quat = "!dddd"
|
||||||
fmt_str_4 = "[{:8.3f}, {:8.3f}, {:8.3f}, {:8.3f}]"
|
fmt_str_4 = "[{:8.3f}, {:8.3f}, {:8.3f}, {:8.3f}]"
|
||||||
fmt_str_3 = "[{:8.3f}, {:8.3f}, {:8.3f}]"
|
fmt_str_3 = "[{:8.3f}, {:8.3f}, {:8.3f}]"
|
||||||
fmt_vec = "!ddd"
|
fmt_vec = "!ddd"
|
||||||
|
fmt_sts = "!B"
|
||||||
inc_len_quat = struct.calcsize(fmt_quat)
|
inc_len_quat = struct.calcsize(fmt_quat)
|
||||||
inc_len_vec = struct.calcsize(fmt_vec)
|
inc_len_vec = struct.calcsize(fmt_vec)
|
||||||
if len(hk_data) < inc_len_quat + inc_len_vec:
|
inc_len_sts = struct.calcsize(fmt_sts)
|
||||||
|
if len(hk_data) < inc_len_quat + inc_len_vec + inc_len_sts:
|
||||||
pw.dlog("Received HK set too small")
|
pw.dlog("Received HK set too small")
|
||||||
return
|
return
|
||||||
current_idx = 0
|
current_idx = 0
|
||||||
quat = struct.unpack(fmt_quat, hk_data[current_idx : current_idx + inc_len_quat])
|
quat = struct.unpack(fmt_quat, hk_data[current_idx : current_idx + inc_len_quat])
|
||||||
current_idx += inc_len_quat
|
current_idx += inc_len_quat
|
||||||
rate = struct.unpack(fmt_vec, hk_data[current_idx : current_idx + inc_len_vec])
|
rate = (
|
||||||
|
struct.unpack(fmt_vec, hk_data[current_idx : current_idx + inc_len_vec])
|
||||||
|
* 180
|
||||||
|
/ math.pi
|
||||||
|
)
|
||||||
current_idx += inc_len_vec
|
current_idx += inc_len_vec
|
||||||
|
status = struct.unpack(fmt_sts, hk_data[current_idx : current_idx + inc_len_sts])[0]
|
||||||
|
current_idx += inc_len_sts
|
||||||
|
pw.dlog(f"{'MEKF Status'.ljust(25)}: {mekf_status[status]}")
|
||||||
pw.dlog(f"{'MEKF Quaternion'.ljust(25)}: {fmt_str_4.format(*quat)}")
|
pw.dlog(f"{'MEKF Quaternion'.ljust(25)}: {fmt_str_4.format(*quat)}")
|
||||||
pw.dlog(f"{'MEKF Rotational Rate'.ljust(25)}: {fmt_str_3.format(*rate)}")
|
pw.dlog(f"{'MEKF Rotational Rate'.ljust(25)}: {fmt_str_3.format(*rate)}")
|
||||||
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=2)
|
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=3)
|
||||||
|
|
||||||
|
|
||||||
def handle_ctrl_val_data(pw: PrintWrapper, hk_data: bytes):
|
def handle_ctrl_val_data(pw: PrintWrapper, hk_data: bytes):
|
||||||
pw.dlog("Received CTRL Values Set")
|
pw.dlog("Received CTRL Values Set")
|
||||||
fmt_quat = "!dddd"
|
fmt_quat = "!dddd"
|
||||||
fmt_scalar = "!d"
|
fmt_scalar = "!d"
|
||||||
|
fmt_vec = "!ddd"
|
||||||
inc_len_quat = struct.calcsize(fmt_quat)
|
inc_len_quat = struct.calcsize(fmt_quat)
|
||||||
inc_len_scalar = struct.calcsize(fmt_scalar)
|
inc_len_scalar = struct.calcsize(fmt_scalar)
|
||||||
if len(hk_data) < 2 * inc_len_quat + inc_len_scalar:
|
inc_len_vec = struct.calcsize(fmt_vec)
|
||||||
|
if len(hk_data) < 2 * inc_len_quat + inc_len_scalar + inc_len_vec:
|
||||||
pw.dlog("Received HK set too small")
|
pw.dlog("Received HK set too small")
|
||||||
return
|
return
|
||||||
current_idx = 0
|
current_idx = 0
|
||||||
@ -729,16 +1026,24 @@ def handle_ctrl_val_data(pw: PrintWrapper, hk_data: bytes):
|
|||||||
]
|
]
|
||||||
current_idx += inc_len_quat
|
current_idx += inc_len_quat
|
||||||
err_ang = [
|
err_ang = [
|
||||||
f"{val:8.3f}"
|
f"{val*180/math.pi:8.3f}"
|
||||||
for val in struct.unpack(
|
for val in struct.unpack(
|
||||||
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
fmt_scalar, hk_data[current_idx : current_idx + inc_len_scalar]
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
current_idx += inc_len_scalar
|
current_idx += inc_len_scalar
|
||||||
|
tgt_rot = [
|
||||||
|
f"{val*180/math.pi:8.3f}"
|
||||||
|
for val in struct.unpack(
|
||||||
|
fmt_vec, hk_data[current_idx : current_idx + inc_len_vec]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
current_idx += inc_len_vec
|
||||||
pw.dlog(f"Control Values Target Quaternion: {tgt_quat}")
|
pw.dlog(f"Control Values Target Quaternion: {tgt_quat}")
|
||||||
pw.dlog(f"Control Values Error Quaternion: {err_quat}")
|
pw.dlog(f"Control Values Error Quaternion: {err_quat}")
|
||||||
pw.dlog(f"Control Values Error Angle: {err_ang} [rad]")
|
pw.dlog(f"Control Values Error Angle: {err_ang} [deg]")
|
||||||
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=3)
|
pw.dlog(f"Control Values Target Rotational Rate: {tgt_rot} [deg/s]")
|
||||||
|
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=4)
|
||||||
|
|
||||||
|
|
||||||
def handle_act_cmd_data(pw: PrintWrapper, hk_data: bytes):
|
def handle_act_cmd_data(pw: PrintWrapper, hk_data: bytes):
|
||||||
|
16
eive_tmtc/tmtc/acs/defs.py
Normal file
16
eive_tmtc/tmtc/acs/defs.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import enum
|
||||||
|
|
||||||
|
|
||||||
|
class AcsMode(enum.IntEnum):
|
||||||
|
OFF = 0
|
||||||
|
SAFE = 10
|
||||||
|
IDLE = 11
|
||||||
|
PTG_NADIR = 12
|
||||||
|
PTG_TARGET = 13
|
||||||
|
PTG_TARGET_GS = 14
|
||||||
|
PTG_INERTIAL = 15
|
||||||
|
|
||||||
|
|
||||||
|
class SafeSubmode(enum.IntEnum):
|
||||||
|
DEFAULT = 0
|
||||||
|
DETUMBLE = 1
|
@ -95,7 +95,9 @@ def handle_gyr_cmd(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
PusTelecommand(
|
PusTelecommand(
|
||||||
service=201,
|
service=201,
|
||||||
subservice=Subservice.TC_SET_HEALTH,
|
subservice=Subservice.TC_SET_HEALTH,
|
||||||
app_data=pack_set_health_cmd_data(object_id=gyr_obj_id, health=FsfwHealth.FAULTY)
|
app_data=pack_set_health_cmd_data(
|
||||||
|
object_id=gyr_obj_id, health=FsfwHealth.FAULTY
|
||||||
|
),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
@author J. Meier
|
@author J. Meier
|
||||||
@date 25.03.2021
|
@date 25.03.2021
|
||||||
"""
|
"""
|
||||||
|
import enum
|
||||||
import logging
|
import logging
|
||||||
import struct
|
import struct
|
||||||
from typing import List
|
from typing import List
|
||||||
@ -22,6 +23,10 @@ from tmtccmd.tc.pus_3_fsfw_hk import (
|
|||||||
make_sid,
|
make_sid,
|
||||||
generate_one_diag_command,
|
generate_one_diag_command,
|
||||||
generate_one_hk_command,
|
generate_one_hk_command,
|
||||||
|
create_request_one_diag_command,
|
||||||
|
create_enable_periodic_hk_command,
|
||||||
|
create_disable_periodic_hk_command,
|
||||||
|
create_enable_periodic_hk_command_with_interval,
|
||||||
)
|
)
|
||||||
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
|
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
|
||||||
from tmtccmd.util import ObjectIdU32
|
from tmtccmd.util import ObjectIdU32
|
||||||
@ -36,8 +41,18 @@ class OpCode:
|
|||||||
NORMAL = "normal"
|
NORMAL = "normal"
|
||||||
OFF = "off"
|
OFF = "off"
|
||||||
SET_DIPOLE = "set_dipole"
|
SET_DIPOLE = "set_dipole"
|
||||||
REQUEST_ENG_HK = "hk_os_eng_hk"
|
REQUEST_ENG_HK_NO_TORQUE = "hk_os_eng_hk_no_torque"
|
||||||
REQUEST_MGM_RAW = "hk_os_mgm_raw"
|
REQUEST_ENG_HK_WITH_TORQUE = "hk_os_eng_hk_with_torque"
|
||||||
|
REQUEST_MGM_RAW_NO_TORQUE = "hk_os_mgm_raw_no_torque"
|
||||||
|
ENABLE_MGM_RAW_NO_TORQUE = "enb_mgm_raw_no_torque"
|
||||||
|
DISABLE_MGM_RAW_NO_TORQUE = "dis_mgm_raw_no_torque"
|
||||||
|
REQUEST_MGM_RAW_WITH_TORQUE = "hk_os_mgm_raw_with_torque"
|
||||||
|
ENABLE_MGM_RAW_WITH_TORQUE = "enb_mgm_raw_with_torque"
|
||||||
|
DISABLE_MGM_RAW_WITH_TORQUE = "dis_mgm_raw_with_torque"
|
||||||
|
ENABLE_ENG_HK_NO_TORQUE = "enb_eng_hk_no_torque"
|
||||||
|
DISABLE_ENG_HK_NO_TORQUE = "dis_eng_hk_no_torque"
|
||||||
|
ENABLE_ENG_HK_WITH_TORQUE = "enb_eng_hk_with_torque"
|
||||||
|
DISABLE_ENG_HK_WITH_TORQUE = "dis_eng_hk_with_torque"
|
||||||
POS_X_SELF_TEST = "self_test_pos_x"
|
POS_X_SELF_TEST = "self_test_pos_x"
|
||||||
NEG_X_SELF_TEST = "self_test_neg_x"
|
NEG_X_SELF_TEST = "self_test_neg_x"
|
||||||
POS_Y_SELF_TEST = "self_test_pos_y"
|
POS_Y_SELF_TEST = "self_test_pos_y"
|
||||||
@ -46,7 +61,7 @@ class OpCode:
|
|||||||
NEG_Z_SELF_TEST = "self_test_neg_z"
|
NEG_Z_SELF_TEST = "self_test_neg_z"
|
||||||
|
|
||||||
|
|
||||||
class ImtqSetId:
|
class ImtqSetId(enum.IntEnum):
|
||||||
ENG_HK_NO_TORQUE = 1
|
ENG_HK_NO_TORQUE = 1
|
||||||
RAW_MTM_NO_TORQUE = 2
|
RAW_MTM_NO_TORQUE = 2
|
||||||
ENG_HK_SET_WITH_TORQUE = 3
|
ENG_HK_SET_WITH_TORQUE = 3
|
||||||
@ -61,7 +76,6 @@ class ImtqSetId:
|
|||||||
NEGATIVE_Y_TEST = 13
|
NEGATIVE_Y_TEST = 13
|
||||||
POSITIVE_Z_TEST = 14
|
POSITIVE_Z_TEST = 14
|
||||||
NEGATIVE_Z_TEST = 15
|
NEGATIVE_Z_TEST = 15
|
||||||
SELF_TEST_SET = 16
|
|
||||||
|
|
||||||
|
|
||||||
class ImtqActionId:
|
class ImtqActionId:
|
||||||
@ -84,8 +98,25 @@ def add_imtq_cmds(defs: TmtcDefinitionWrapper):
|
|||||||
oce.add(OpCode.OFF, "Mode Off")
|
oce.add(OpCode.OFF, "Mode Off")
|
||||||
oce.add(OpCode.ON, "Mode On")
|
oce.add(OpCode.ON, "Mode On")
|
||||||
oce.add(OpCode.NORMAL, "Mode Normal")
|
oce.add(OpCode.NORMAL, "Mode Normal")
|
||||||
oce.add(OpCode.REQUEST_ENG_HK, "Request Engineering HK One Shot")
|
oce.add(OpCode.REQUEST_ENG_HK_NO_TORQUE, "Request Engineering HK One Shot")
|
||||||
oce.add(OpCode.REQUEST_MGM_RAW, "Request MGM Raw HK One Shot")
|
oce.add(
|
||||||
|
OpCode.REQUEST_ENG_HK_WITH_TORQUE,
|
||||||
|
"Request Engineering HK One Shot during Torque",
|
||||||
|
)
|
||||||
|
oce.add(OpCode.ENABLE_ENG_HK_NO_TORQUE, "Enable ENG HK not torque")
|
||||||
|
oce.add(OpCode.ENABLE_ENG_HK_WITH_TORQUE, "Enable ENG HK with torque")
|
||||||
|
oce.add(OpCode.DISABLE_ENG_HK_NO_TORQUE, "Disable ENG HK not torque")
|
||||||
|
oce.add(OpCode.DISABLE_ENG_HK_WITH_TORQUE, "Disable ENG HK with torque")
|
||||||
|
oce.add(
|
||||||
|
OpCode.REQUEST_MGM_RAW_NO_TORQUE, "Request MGM Raw Without Torque HK One Shot"
|
||||||
|
)
|
||||||
|
oce.add(OpCode.ENABLE_MGM_RAW_NO_TORQUE, "Enable MGM Raw Without Torque HK")
|
||||||
|
oce.add(OpCode.DISABLE_MGM_RAW_NO_TORQUE, "Disable MGM Raw Without Torque HK")
|
||||||
|
oce.add(
|
||||||
|
OpCode.REQUEST_MGM_RAW_WITH_TORQUE, "Request MGM Raw With Torque HK One Shot"
|
||||||
|
)
|
||||||
|
oce.add(OpCode.ENABLE_MGM_RAW_WITH_TORQUE, "Enable MGM Raw With Torque HK")
|
||||||
|
oce.add(OpCode.DISABLE_MGM_RAW_WITH_TORQUE, "Disable MGM Raw With Torque HK")
|
||||||
oce.add(OpCode.POS_X_SELF_TEST, "IMTQ perform pos X self test")
|
oce.add(OpCode.POS_X_SELF_TEST, "IMTQ perform pos X self test")
|
||||||
oce.add(OpCode.NEG_X_SELF_TEST, "IMTQ perform neg X self test")
|
oce.add(OpCode.NEG_X_SELF_TEST, "IMTQ perform neg X self test")
|
||||||
oce.add(OpCode.POS_Y_SELF_TEST, "IMTQ perform pos Y self test")
|
oce.add(OpCode.POS_Y_SELF_TEST, "IMTQ perform pos Y self test")
|
||||||
@ -208,13 +239,57 @@ def pack_imtq_test_into(object_id: ObjectIdU32, q: DefaultPusQueueHelper, op_cod
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if op_code == "10":
|
if op_code == "10": # doesnt seem to work anymore
|
||||||
q.add_log_cmd("IMTQ: Get commanded dipole")
|
q.add_log_cmd("IMTQ: Get commanded dipole")
|
||||||
command = object_id.as_bytes + ImtqActionId.get_commanded_dipole
|
command = object_id.as_bytes + ImtqActionId.get_commanded_dipole
|
||||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command))
|
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=command))
|
||||||
|
|
||||||
if op_code == OpCode.REQUEST_ENG_HK:
|
if op_code == OpCode.ENABLE_ENG_HK_NO_TORQUE:
|
||||||
q.add_log_cmd("IMTQ: Get engineering hk set")
|
q.add_log_cmd("IMTQ: Enable ENG HK")
|
||||||
|
interval = float(input("Please enter collection interval in seconds: "))
|
||||||
|
cmds = create_enable_periodic_hk_command_with_interval(
|
||||||
|
diag=True,
|
||||||
|
sid=make_sid(object_id.as_bytes, ImtqSetId.ENG_HK_NO_TORQUE),
|
||||||
|
interval_seconds=interval,
|
||||||
|
)
|
||||||
|
for cmd in cmds:
|
||||||
|
q.add_pus_tc(cmd)
|
||||||
|
if op_code == OpCode.DISABLE_ENG_HK_NO_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Disable ENG HK (No Torque)")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_disable_periodic_hk_command(
|
||||||
|
True, make_sid(object_id.as_bytes, ImtqSetId.ENG_HK_NO_TORQUE)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if op_code == OpCode.REQUEST_ENG_HK_WITH_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Get engineering hk set with torque")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_request_one_diag_command(
|
||||||
|
sid=make_sid(
|
||||||
|
object_id=object_id.as_bytes,
|
||||||
|
set_id=ImtqSetId.ENG_HK_SET_WITH_TORQUE,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if op_code == OpCode.ENABLE_ENG_HK_WITH_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Enable ENG HK with torque")
|
||||||
|
interval = float(input("Please enter collection interval in seconds: "))
|
||||||
|
cmds = create_enable_periodic_hk_command_with_interval(
|
||||||
|
diag=True,
|
||||||
|
sid=make_sid(object_id.as_bytes, ImtqSetId.ENG_HK_SET_WITH_TORQUE),
|
||||||
|
interval_seconds=interval,
|
||||||
|
)
|
||||||
|
for cmd in cmds:
|
||||||
|
q.add_pus_tc(cmd)
|
||||||
|
if op_code == OpCode.DISABLE_ENG_HK_WITH_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Disable ENG HK with Torque")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_disable_periodic_hk_command(
|
||||||
|
True, make_sid(object_id.as_bytes, ImtqSetId.ENG_HK_SET_WITH_TORQUE)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if op_code == OpCode.REQUEST_ENG_HK_NO_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Get engineering hk set (no torque)")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
generate_one_diag_command(
|
generate_one_diag_command(
|
||||||
sid=make_sid(
|
sid=make_sid(
|
||||||
@ -226,21 +301,65 @@ def pack_imtq_test_into(object_id: ObjectIdU32, q: DefaultPusQueueHelper, op_cod
|
|||||||
if op_code == "12":
|
if op_code == "12":
|
||||||
q.add_log_cmd("IMTQ: Get calibrated MTM hk set")
|
q.add_log_cmd("IMTQ: Get calibrated MTM hk set")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
generate_one_diag_command(
|
create_request_one_diag_command(
|
||||||
sid=make_sid(object_id=object_id.as_bytes, set_id=ImtqSetId.CAL_MTM_SET)
|
sid=make_sid(object_id=object_id.as_bytes, set_id=ImtqSetId.CAL_MTM_SET)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if op_code == OpCode.REQUEST_MGM_RAW:
|
if op_code == OpCode.REQUEST_MGM_RAW_NO_TORQUE:
|
||||||
q.add_log_cmd("IMTQ: Get raw MTM hk set")
|
q.add_log_cmd("IMTQ: Get raw MTM hk set")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
generate_one_diag_command(
|
create_request_one_diag_command(
|
||||||
sid=make_sid(
|
sid=make_sid(
|
||||||
object_id=object_id.as_bytes, set_id=ImtqSetId.RAW_MTM_NO_TORQUE
|
object_id=object_id.as_bytes, set_id=ImtqSetId.RAW_MTM_NO_TORQUE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if op_code == OpCode.DISABLE_MGM_RAW_NO_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Disable MGM RAW HK (No Torque)")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_disable_periodic_hk_command(
|
||||||
|
True, make_sid(object_id.as_bytes, ImtqSetId.RAW_MTM_NO_TORQUE)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if op_code == OpCode.ENABLE_MGM_RAW_NO_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Enable MGM RAW HK (No Torque)")
|
||||||
|
interval = float(input("Please enter collection interval in seconds: "))
|
||||||
|
cmds = create_enable_periodic_hk_command_with_interval(
|
||||||
|
diag=True,
|
||||||
|
sid=make_sid(object_id.as_bytes, ImtqSetId.RAW_MTM_NO_TORQUE),
|
||||||
|
interval_seconds=interval,
|
||||||
|
)
|
||||||
|
for cmd in cmds:
|
||||||
|
q.add_pus_tc(cmd)
|
||||||
|
if op_code == OpCode.REQUEST_MGM_RAW_WITH_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Get raw MTM hk set")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_request_one_diag_command(
|
||||||
|
sid=make_sid(
|
||||||
|
object_id=object_id.as_bytes, set_id=ImtqSetId.RAW_MTM_WITH_TORQUE
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if op_code == OpCode.ENABLE_MGM_RAW_WITH_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Enable MGM RAW HK (No Torque)")
|
||||||
|
interval = float(input("Please enter collection interval in seconds: "))
|
||||||
|
cmds = create_enable_periodic_hk_command_with_interval(
|
||||||
|
diag=True,
|
||||||
|
sid=make_sid(object_id.as_bytes, ImtqSetId.RAW_MTM_WITH_TORQUE),
|
||||||
|
interval_seconds=interval,
|
||||||
|
)
|
||||||
|
for cmd in cmds:
|
||||||
|
q.add_pus_tc(cmd)
|
||||||
|
if op_code == OpCode.DISABLE_MGM_RAW_WITH_TORQUE:
|
||||||
|
q.add_log_cmd("IMTQ: Disable MGM RAW HK (No Torque)")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_disable_periodic_hk_command(
|
||||||
|
True, make_sid(object_id.as_bytes, ImtqSetId.RAW_MTM_WITH_TORQUE)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def pack_dipole_command(
|
def pack_dipole_command(
|
||||||
object_id: bytes, x_dipole: int, y_dipole: int, z_dipole: int, duration: int
|
object_id: bytes, x_dipole: int, y_dipole: int, z_dipole: int, duration: int
|
||||||
@ -308,22 +427,20 @@ ENG_HK_HEADERS = [
|
|||||||
|
|
||||||
|
|
||||||
def handle_imtq_hk(printer: FsfwTmTcPrinter, hk_data: bytes, set_id: int):
|
def handle_imtq_hk(printer: FsfwTmTcPrinter, hk_data: bytes, set_id: int):
|
||||||
if set_id == ImtqSetId.SELF_TEST_SET:
|
if (set_id >= ImtqSetId.POSITIVE_X_TEST) and (set_id <= ImtqSetId.NEGATIVE_Z_TEST):
|
||||||
return handle_self_test_data(printer, hk_data)
|
return handle_self_test_data(printer, hk_data)
|
||||||
elif set_id == ImtqSetId.ENG_HK_NO_TORQUE:
|
elif set_id == ImtqSetId.ENG_HK_NO_TORQUE:
|
||||||
_LOGGER.info("Found engineering HK without torque")
|
return handle_eng_set(printer, hk_data, False)
|
||||||
return handle_eng_set(printer, hk_data)
|
|
||||||
elif set_id == ImtqSetId.ENG_HK_SET_WITH_TORQUE:
|
elif set_id == ImtqSetId.ENG_HK_SET_WITH_TORQUE:
|
||||||
_LOGGER.info("Found engineering HK during torque")
|
return handle_eng_set(printer, hk_data, True)
|
||||||
return handle_eng_set(printer, hk_data)
|
|
||||||
elif set_id == ImtqSetId.CAL_MTM_SET:
|
elif set_id == ImtqSetId.CAL_MTM_SET:
|
||||||
return handle_calibrated_mtm_measurement(printer, hk_data)
|
return handle_calibrated_mtm_measurement(printer, hk_data)
|
||||||
elif set_id == ImtqSetId.RAW_MTM_NO_TORQUE:
|
elif set_id == ImtqSetId.RAW_MTM_NO_TORQUE:
|
||||||
_LOGGER.info("Found raw MTM measurement without torque")
|
return handle_raw_mtm_measurement(printer, hk_data, False)
|
||||||
return handle_raw_mtm_measurement(printer, hk_data)
|
|
||||||
elif set_id == ImtqSetId.RAW_MTM_WITH_TORQUE:
|
elif set_id == ImtqSetId.RAW_MTM_WITH_TORQUE:
|
||||||
_LOGGER.info("Found raw MTM measurement during torque")
|
return handle_raw_mtm_measurement(printer, hk_data, True)
|
||||||
return handle_raw_mtm_measurement(printer, hk_data)
|
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:
|
||||||
@ -340,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[0:8]
|
||||||
|
)
|
||||||
|
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]
|
||||||
@ -368,8 +500,9 @@ def unpack_eng_hk(hk_data: bytes) -> List:
|
|||||||
return content_list
|
return content_list
|
||||||
|
|
||||||
|
|
||||||
def handle_eng_set(printer: FsfwTmTcPrinter, hk_data: bytes):
|
def handle_eng_set(printer: FsfwTmTcPrinter, hk_data: bytes, torque_on: bool):
|
||||||
pw = PrintWrapper(printer)
|
pw = PrintWrapper(printer)
|
||||||
|
pw.dlog(f"Found engineering HK. Torque Status: {torque_on}")
|
||||||
content_list = unpack_eng_hk(hk_data)
|
content_list = unpack_eng_hk(hk_data)
|
||||||
validity_buffer = hk_data[32:]
|
validity_buffer = hk_data[32:]
|
||||||
|
|
||||||
@ -410,8 +543,11 @@ def handle_calibrated_mtm_measurement(printer: FsfwTmTcPrinter, hk_data: bytes):
|
|||||||
printer.print_validity_buffer(validity_buffer=validity_buffer, num_vars=num_of_vars)
|
printer.print_validity_buffer(validity_buffer=validity_buffer, num_vars=num_of_vars)
|
||||||
|
|
||||||
|
|
||||||
def handle_raw_mtm_measurement(printer: FsfwTmTcPrinter, hk_data: bytes):
|
def handle_raw_mtm_measurement(
|
||||||
|
printer: FsfwTmTcPrinter, hk_data: bytes, torque_status: bool
|
||||||
|
):
|
||||||
pw = PrintWrapper(printer)
|
pw = PrintWrapper(printer)
|
||||||
|
pw.dlog(f"Found raw MTM measurement. Torque Status: {torque_status}")
|
||||||
header_list = [
|
header_list = [
|
||||||
"Raw MTM X [nT]",
|
"Raw MTM X [nT]",
|
||||||
"Raw MTM Y [nT]",
|
"Raw MTM Y [nT]",
|
||||||
|
@ -1,13 +1,30 @@
|
|||||||
import enum
|
import enum
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
|
from eive_tmtc.config.definitions import CustomServiceList
|
||||||
|
from tmtccmd.config import OpCodeEntry
|
||||||
|
|
||||||
import eive_tmtc.config.object_ids as obj_ids
|
import eive_tmtc.config.object_ids as obj_ids
|
||||||
|
from eive_tmtc.config.object_ids import (
|
||||||
|
MGM_0_LIS3_HANDLER_ID,
|
||||||
|
MGM_1_RM3100_HANDLER_ID,
|
||||||
|
MGM_2_LIS3_HANDLER_ID,
|
||||||
|
MGM_3_RM3100_HANDLER_ID,
|
||||||
|
)
|
||||||
|
|
||||||
from eive_tmtc.pus_tm.defs import PrintWrapper
|
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||||
|
from tmtccmd.config.tmtc import tmtc_definitions_provider, TmtcDefinitionWrapper
|
||||||
|
from tmtccmd.tc import DefaultPusQueueHelper
|
||||||
|
from tmtccmd.tc.pus_200_fsfw_mode import create_mode_command, Mode
|
||||||
from tmtccmd.util import ObjectIdU32
|
from tmtccmd.util import ObjectIdU32
|
||||||
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||||
|
|
||||||
|
|
||||||
|
class OpCode:
|
||||||
|
NORMAL = "normal"
|
||||||
|
OFF = "off"
|
||||||
|
|
||||||
|
|
||||||
class MgmLis3SetId(enum.IntEnum):
|
class MgmLis3SetId(enum.IntEnum):
|
||||||
CORE_HK = 0
|
CORE_HK = 0
|
||||||
|
|
||||||
@ -16,6 +33,36 @@ class MgmRm3100SetId(enum.IntEnum):
|
|||||||
CORE_HK = 0
|
CORE_HK = 0
|
||||||
|
|
||||||
|
|
||||||
|
class MgmSel(enum.IntEnum):
|
||||||
|
MGM_0_LIS3 = 0
|
||||||
|
MGM_1_RM3100 = 1
|
||||||
|
MGM_2_LIS3 = 2
|
||||||
|
MGM_3_RM3100 = 3
|
||||||
|
|
||||||
|
|
||||||
|
MGM_SEL_DICT = {
|
||||||
|
MgmSel.MGM_0_LIS3: ("MGM_0_LIS3", MGM_0_LIS3_HANDLER_ID),
|
||||||
|
MgmSel.MGM_1_RM3100: ("MGM_1_RM3100", MGM_1_RM3100_HANDLER_ID),
|
||||||
|
MgmSel.MGM_2_LIS3: ("MGM_2_LIS3", MGM_2_LIS3_HANDLER_ID),
|
||||||
|
MgmSel.MGM_3_RM3100: ("MGM_3_RM3100", MGM_3_RM3100_HANDLER_ID),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def handle_mgm_cmd(q: DefaultPusQueueHelper, op_code: str):
|
||||||
|
print("Please select the MGM Device")
|
||||||
|
for (k, v) in MGM_SEL_DICT.items():
|
||||||
|
print(f"{k}: {v[0]}")
|
||||||
|
sel_idx = int(input("Select MGM device by index: "))
|
||||||
|
mgm_info = MGM_SEL_DICT[MgmSel(sel_idx)]
|
||||||
|
mgm_obj_id = mgm_info[1]
|
||||||
|
if op_code == OpCode.NORMAL:
|
||||||
|
q.add_log_cmd(f"Gyro {mgm_info[0]} NORMAL mode")
|
||||||
|
q.add_pus_tc(create_mode_command(mgm_obj_id, Mode.NORMAL, 0))
|
||||||
|
if op_code == OpCode.OFF:
|
||||||
|
q.add_log_cmd(f"Gyro {mgm_info[0]} OFF mode")
|
||||||
|
q.add_pus_tc(create_mode_command(mgm_obj_id, Mode.OFF, 0))
|
||||||
|
|
||||||
|
|
||||||
def handle_mgm_hk_data(
|
def handle_mgm_hk_data(
|
||||||
object_id: ObjectIdU32, printer: FsfwTmTcPrinter, set_id: int, hk_data: bytes
|
object_id: ObjectIdU32, printer: FsfwTmTcPrinter, set_id: int, hk_data: bytes
|
||||||
):
|
):
|
||||||
@ -61,3 +108,11 @@ def handle_mgm_rm3100_hk_data(
|
|||||||
pw.dlog(
|
pw.dlog(
|
||||||
f"Field strengths in micro Tesla X {field_x} | Y {field_y} | Z {field_z}"
|
f"Field strengths in micro Tesla X {field_x} | Y {field_y} | Z {field_z}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@tmtc_definitions_provider
|
||||||
|
def add_mgm_cmd_defs(defs: TmtcDefinitionWrapper):
|
||||||
|
oce = OpCodeEntry()
|
||||||
|
oce.add(keys=OpCode.NORMAL, info="Normal Mode")
|
||||||
|
oce.add(keys=OpCode.OFF, info="Off Mode")
|
||||||
|
defs.add_service(CustomServiceList.MGMS, info="MGMs", op_code_entry=oce)
|
||||||
|
@ -5,17 +5,21 @@
|
|||||||
@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 spacepackets.ecss.tc import PusTelecommand
|
from eive_tmtc.config.definitions import CustomServiceList
|
||||||
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
|
from eive_tmtc.pus_tm.defs import PrintWrapper
|
||||||
|
|
||||||
from tmtccmd.tc import DefaultPusQueueHelper
|
|
||||||
from tmtccmd.util import ObjectIdU32
|
|
||||||
from eive_tmtc.utility.input_helper import InputHelper
|
from eive_tmtc.utility.input_helper import InputHelper
|
||||||
|
from spacepackets.ecss.tc import PusTelecommand
|
||||||
|
from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry
|
||||||
|
from tmtccmd.config.tmtc import tmtc_definitions_provider
|
||||||
|
from tmtccmd.tc import DefaultPusQueueHelper
|
||||||
|
from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode
|
||||||
|
from tmtccmd.util import ObjectIdU32
|
||||||
|
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -87,7 +91,11 @@ class StarTrackerActionId(enum.IntEnum):
|
|||||||
|
|
||||||
|
|
||||||
class OpCodes:
|
class OpCodes:
|
||||||
NORMAL = ["2", "nml"]
|
ON_BOOTLOADER = "on_bootloader"
|
||||||
|
ON_FIRMWARE = "on_firmware"
|
||||||
|
NORMAL = "nml"
|
||||||
|
OFF = "off"
|
||||||
|
PING = "ping"
|
||||||
|
|
||||||
|
|
||||||
class SetId(enum.IntEnum):
|
class SetId(enum.IntEnum):
|
||||||
@ -172,19 +180,19 @@ def pack_star_tracker_commands(
|
|||||||
f"Generate command for star tracker with object id: {object_id.as_hex_string}"
|
f"Generate command for star tracker with object id: {object_id.as_hex_string}"
|
||||||
)
|
)
|
||||||
obyt = object_id.as_bytes
|
obyt = object_id.as_bytes
|
||||||
if op_code == "0":
|
if op_code == OpCodes.ON_BOOTLOADER:
|
||||||
q.add_log_cmd("Star tracker: Mode On, Submode Bootloader")
|
q.add_log_cmd("Star tracker: Mode On, Submode Bootloader")
|
||||||
data = pack_mode_data(obyt, Mode.ON, Submode.BOOTLOADER)
|
data = pack_mode_data(obyt, Mode.ON, Submode.BOOTLOADER)
|
||||||
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 == "1":
|
if op_code == OpCodes.ON_FIRMWARE:
|
||||||
q.add_log_cmd("Star tracker: Mode On, Submode Firmware")
|
q.add_log_cmd("Star tracker: Mode On, Submode Firmware")
|
||||||
data = pack_mode_data(obyt, Mode.ON, Submode.FIRMWARE)
|
data = pack_mode_data(obyt, Mode.ON, Submode.FIRMWARE)
|
||||||
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 == "2":
|
if op_code == OpCodes.NORMAL:
|
||||||
q.add_log_cmd("Star tracker: Mode Normal")
|
q.add_log_cmd("Star tracker: Mode Normal")
|
||||||
data = pack_mode_data(obyt, Mode.NORMAL, 0)
|
data = pack_mode_data(obyt, Mode.NORMAL, 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 == "3":
|
if op_code == OpCodes.OFF:
|
||||||
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))
|
||||||
@ -192,7 +200,7 @@ def pack_star_tracker_commands(
|
|||||||
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)
|
||||||
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 == "5":
|
if op_code == OpCodes.PING:
|
||||||
q.add_log_cmd("Star tracker: Ping")
|
q.add_log_cmd("Star tracker: Ping")
|
||||||
data = obyt + struct.pack("!I", StarTrackerActionId.PING)
|
data = obyt + struct.pack("!I", StarTrackerActionId.PING)
|
||||||
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data))
|
||||||
@ -668,3 +676,179 @@ def get_upload_image() -> str:
|
|||||||
key = input_helper.get_key()
|
key = input_helper.get_key()
|
||||||
image = upload_image_dict[key][1]
|
image = upload_image_dict[key][1]
|
||||||
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)
|
||||||
|
elif set_id == SetId.TEMPERATURE:
|
||||||
|
handle_temperature_set(hk_data, pw)
|
||||||
|
else:
|
||||||
|
_LOGGER.warning(f"HK parsing for Star Tracker set ID {set_id} unimplemented")
|
||||||
|
|
||||||
|
|
||||||
|
def unpack_time_hk(hk_data: bytes, current_idx: int, pw: PrintWrapper) -> int:
|
||||||
|
ticks_time_fmt = "!IQ"
|
||||||
|
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
|
||||||
|
return current_idx
|
||||||
|
|
||||||
|
|
||||||
|
def handle_temperature_set(hk_data: bytes, pw: PrintWrapper):
|
||||||
|
pw.dlog("Received temperature set")
|
||||||
|
if len(hk_data) < 24:
|
||||||
|
_LOGGER.warning(f"Temperature dataset HK with length {len(hk_data)} too short")
|
||||||
|
current_idx = unpack_time_hk(hk_data, 0, pw)
|
||||||
|
temps_fmt = "!fff"
|
||||||
|
fmt_len = struct.calcsize(temps_fmt)
|
||||||
|
(mcu_temp, cmos_temp, fpga_temp) = struct.unpack(
|
||||||
|
temps_fmt, hk_data[current_idx : current_idx + fmt_len]
|
||||||
|
)
|
||||||
|
pw.dlog(f"MCU Temperature: {mcu_temp}")
|
||||||
|
pw.dlog(f"CMOS Temperature: {cmos_temp}")
|
||||||
|
pw.dlog(f"FPGA Temperature: {fpga_temp}")
|
||||||
|
current_idx += fmt_len
|
||||||
|
pw.printer.print_validity_buffer(hk_data[current_idx:], 5)
|
||||||
|
|
||||||
|
|
||||||
|
def handle_solution_set(hk_data: bytes, pw: PrintWrapper):
|
||||||
|
pw.dlog("Received solution set")
|
||||||
|
if len(hk_data) < 78:
|
||||||
|
_LOGGER.warning(
|
||||||
|
f"Solution dataset HK data with length {len(hk_data)} too short"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
current_idx = unpack_time_hk(hk_data, 0, pw)
|
||||||
|
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(lisa_fmt)
|
||||||
|
(
|
||||||
|
lisa_q_w,
|
||||||
|
lisa_q_x,
|
||||||
|
lisa_q_y,
|
||||||
|
lisa_q_z,
|
||||||
|
lisa_percentage_close_stars,
|
||||||
|
lisa_number_close_stars,
|
||||||
|
) = 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}")
|
||||||
|
pw.dlog(
|
||||||
|
f"Percentage of close stars in LISA solution: {lisa_percentage_close_stars}"
|
||||||
|
)
|
||||||
|
pw.dlog(f"Number of close stars in LISA solution: {lisa_number_close_stars}")
|
||||||
|
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])[0]
|
||||||
|
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
|
||||||
|
def add_str_cmds(defs: TmtcDefinitionWrapper):
|
||||||
|
oce = OpCodeEntry()
|
||||||
|
oce.add(OpCodes.ON_BOOTLOADER, "Star Tracker: Mode On, Submode Bootloader")
|
||||||
|
oce.add(OpCodes.ON_FIRMWARE, "Star Tracker: Mode On, Submode Firmware")
|
||||||
|
oce.add(OpCodes.NORMAL, "Star Tracker: Mode Normal")
|
||||||
|
oce.add(OpCodes.OFF, "Star Tracker: Mode Off")
|
||||||
|
oce.add("4", "Star Tracker: Mode Raw")
|
||||||
|
oce.add(OpCodes.PING, "Star Tracker: Ping")
|
||||||
|
oce.add("6", "Star Tracker: Switch to bootloader program")
|
||||||
|
oce.add("7", "Star Tracker: Request temperature")
|
||||||
|
oce.add("8", "Star Tracker: Request version")
|
||||||
|
oce.add("9", "Star Tracker: Request interface")
|
||||||
|
oce.add("10", "Star Tracker: Request power")
|
||||||
|
oce.add("11", "Star Tracker: Set subscription parameters")
|
||||||
|
oce.add("12", "Star Tracker: Boot image (requires bootloader mode)")
|
||||||
|
oce.add("13", "Star Tracker: Request time")
|
||||||
|
oce.add("14", "Star Tracker: Request solution")
|
||||||
|
oce.add("15", "Star Tracker: Upload 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("18", "Star Tracker: Set tracking parameters")
|
||||||
|
oce.add("19", "Star Tracker: Set mounting parameters")
|
||||||
|
oce.add("20", "Star Tracker: Set camera parameters")
|
||||||
|
oce.add("22", "Star Tracker: Set centroiding parameters")
|
||||||
|
oce.add("23", "Star Tracker: Set LISA parameters")
|
||||||
|
oce.add("24", "Star Tracker: Set matching parameters")
|
||||||
|
oce.add("25", "Star Tracker: Set validation parameters")
|
||||||
|
oce.add("26", "Star Tracker: Set algo parameters")
|
||||||
|
oce.add("27", "Star Tracker: Take image")
|
||||||
|
oce.add("28", "Star Tracker: Stop str helper")
|
||||||
|
oce.add("30", "Star Tracker: Set name of download image")
|
||||||
|
oce.add("31", "Star Tracker: Request histogram")
|
||||||
|
oce.add("32", "Star Tracker: Request contrast")
|
||||||
|
oce.add("33", "Star Tracker: Set json filename")
|
||||||
|
oce.add("35", "Star Tracker: Flash read")
|
||||||
|
oce.add("36", "Star Tracker: Set flash read filename")
|
||||||
|
oce.add("37", "Star Tracker: Get checksum")
|
||||||
|
oce.add("49", "Star Tracker: Request camera parameter")
|
||||||
|
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("53", "Star Tracker: (EGSE only) Load camera flight config")
|
||||||
|
oce.add("54", "Star Tracker: Request log level parameters")
|
||||||
|
oce.add("55", "Star Tracker: Request mounting parameters")
|
||||||
|
oce.add("56", "Star Tracker: Request image processor parameters")
|
||||||
|
oce.add("57", "Star Tracker: Request centroiding parameters")
|
||||||
|
oce.add("58", "Star Tracker: Request lisa parameters")
|
||||||
|
oce.add("59", "Star Tracker: Request matching parameters")
|
||||||
|
oce.add("60", "Star Tracker: Request tracking parameters")
|
||||||
|
oce.add("61", "Star Tracker: Request validation parameters")
|
||||||
|
oce.add("62", "Star Tracker: Request algo parameters")
|
||||||
|
oce.add("63", "Star Tracker: Request subscription parameters")
|
||||||
|
oce.add("64", "Star Tracker: Request log subscription parameters")
|
||||||
|
oce.add("65", "Star Tracker: Request debug camera parameters")
|
||||||
|
oce.add("66", "Star Tracker: Set log level parameters")
|
||||||
|
oce.add("67", "Star Tracker: Set log subscription parameters")
|
||||||
|
oce.add("68", "Star Tracker: Set debug camera parameters")
|
||||||
|
oce.add("69", "Star Tracker: Firmware update")
|
||||||
|
oce.add("70", "Star Tracker: Disable timestamp generation")
|
||||||
|
oce.add("71", "Star Tracker: Enable timestamp generation")
|
||||||
|
defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import enum
|
import enum
|
||||||
from typing import Tuple, Dict
|
from typing import Tuple, Dict
|
||||||
|
|
||||||
|
from eive_tmtc.tmtc.acs.defs import AcsMode, SafeSubmode
|
||||||
from spacepackets.ecss import PusTelecommand
|
from spacepackets.ecss import PusTelecommand
|
||||||
from eive_tmtc.tmtc.common import pack_mode_cmd_with_info
|
from eive_tmtc.tmtc.common import pack_mode_cmd_with_info
|
||||||
from eive_tmtc.config.object_ids import ACS_SUBSYSTEM_ID
|
from eive_tmtc.config.object_ids import ACS_SUBSYSTEM_ID
|
||||||
@ -27,17 +28,6 @@ class OpCode(str, enum.Enum):
|
|||||||
REPORT_ALL_MODES = "all_modes"
|
REPORT_ALL_MODES = "all_modes"
|
||||||
|
|
||||||
|
|
||||||
class AcsMode(enum.IntEnum):
|
|
||||||
OFF = 0
|
|
||||||
SAFE = 10
|
|
||||||
DETUMBLE = 11
|
|
||||||
IDLE = 12
|
|
||||||
PTG_TARGET_NADIR = 13
|
|
||||||
PTG_TARGET = 14
|
|
||||||
PTG_TARGET_GS = 15
|
|
||||||
PTG_TARGET_INERTIAL = 16
|
|
||||||
|
|
||||||
|
|
||||||
class Info(str, enum.Enum):
|
class Info(str, enum.Enum):
|
||||||
OFF = "Off Command"
|
OFF = "Off Command"
|
||||||
SAFE = "Safe Mode Command"
|
SAFE = "Safe Mode Command"
|
||||||
@ -50,15 +40,15 @@ class Info(str, enum.Enum):
|
|||||||
REPORT_ALL_MODES = "Report All Modes Recursively"
|
REPORT_ALL_MODES = "Report All Modes Recursively"
|
||||||
|
|
||||||
|
|
||||||
HANDLER_LIST: Dict[str, Tuple[int, str]] = {
|
HANDLER_LIST: Dict[str, Tuple[int, int, str]] = {
|
||||||
OpCode.OFF: (AcsMode.OFF, Info.OFF),
|
OpCode.OFF: (AcsMode.OFF, 0, Info.OFF),
|
||||||
OpCode.SAFE: (AcsMode.SAFE, Info.SAFE),
|
OpCode.SAFE: (AcsMode.SAFE, SafeSubmode.DEFAULT, Info.SAFE),
|
||||||
OpCode.DETUMBLE: (AcsMode.DETUMBLE, Info.DETUMBLE),
|
OpCode.DETUMBLE: (AcsMode.SAFE, SafeSubmode.DETUMBLE, Info.DETUMBLE),
|
||||||
OpCode.IDLE: (AcsMode.IDLE, Info.IDLE),
|
OpCode.IDLE: (AcsMode.IDLE, 0, Info.IDLE),
|
||||||
OpCode.PTG_TARGET: (AcsMode.PTG_TARGET, Info.PTG_TARGET),
|
OpCode.PTG_TARGET: (AcsMode.PTG_TARGET, 0, Info.PTG_TARGET),
|
||||||
OpCode.PTG_TARGET_GS: (AcsMode.PTG_TARGET_GS, Info.PTG_TARGET_GS),
|
OpCode.PTG_TARGET_GS: (AcsMode.PTG_TARGET_GS, 0, Info.PTG_TARGET_GS),
|
||||||
OpCode.PTG_TARGET_NADIR: (AcsMode.PTG_TARGET_NADIR, Info.PTG_TARGET_NADIR),
|
OpCode.PTG_TARGET_NADIR: (AcsMode.PTG_NADIR, 0, Info.PTG_TARGET_NADIR),
|
||||||
OpCode.PTG_TARGET_INERTIAL: (AcsMode.PTG_TARGET_INERTIAL, Info.PTG_TARGET_INERTIAL),
|
OpCode.PTG_TARGET_INERTIAL: (AcsMode.PTG_INERTIAL, 0, Info.PTG_TARGET_INERTIAL),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -81,9 +71,9 @@ def build_acs_subsystem_cmd(p: ServiceProviderParams):
|
|||||||
return
|
return
|
||||||
pack_mode_cmd_with_info(
|
pack_mode_cmd_with_info(
|
||||||
object_id=ACS_SUBSYSTEM_ID,
|
object_id=ACS_SUBSYSTEM_ID,
|
||||||
info=f"{info_prefix}: {mode_info_tup[1]}",
|
info=f"{info_prefix}: {mode_info_tup[2]}",
|
||||||
submode=0,
|
|
||||||
mode=mode_info_tup[0],
|
mode=mode_info_tup[0],
|
||||||
|
submode=mode_info_tup[1],
|
||||||
q=q,
|
q=q,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -91,7 +81,7 @@ def build_acs_subsystem_cmd(p: ServiceProviderParams):
|
|||||||
@tmtc_definitions_provider
|
@tmtc_definitions_provider
|
||||||
def add_acs_subsystem_cmds(defs: TmtcDefinitionWrapper):
|
def add_acs_subsystem_cmds(defs: TmtcDefinitionWrapper):
|
||||||
oce = OpCodeEntry()
|
oce = OpCodeEntry()
|
||||||
for op_code, (_, info) in HANDLER_LIST.items():
|
for op_code, (_, _, info) in HANDLER_LIST.items():
|
||||||
oce.add(op_code, info)
|
oce.add(op_code, info)
|
||||||
oce.add(OpCode.REPORT_ALL_MODES, Info.REPORT_ALL_MODES)
|
oce.add(OpCode.REPORT_ALL_MODES, Info.REPORT_ALL_MODES)
|
||||||
defs.add_service(CustomServiceList.ACS_SS, "ACS Subsystem", oce)
|
defs.add_service(CustomServiceList.ACS_SS, "ACS Subsystem", oce)
|
||||||
|
@ -8,13 +8,9 @@
|
|||||||
from spacepackets.ecss.tc import PusTelecommand
|
from spacepackets.ecss.tc import PusTelecommand
|
||||||
from tmtccmd.tc import DefaultPusQueueHelper
|
from tmtccmd.tc import DefaultPusQueueHelper
|
||||||
|
|
||||||
from tmtccmd.tc.pus_20_fsfw_param import (
|
from tmtccmd.tc.pus_20_fsfw_param import create_load_param_cmd
|
||||||
create_load_param_cmd
|
|
||||||
)
|
|
||||||
|
|
||||||
from tmtccmd.pus.s20_fsfw_param_defs import (
|
from tmtccmd.pus.s20_fsfw_param_defs import create_scalar_u8_parameter
|
||||||
create_scalar_u8_parameter
|
|
||||||
)
|
|
||||||
|
|
||||||
from tmtccmd.config.tmtc import (
|
from tmtccmd.config.tmtc import (
|
||||||
tmtc_definitions_provider,
|
tmtc_definitions_provider,
|
||||||
@ -46,7 +42,9 @@ class OpCode:
|
|||||||
|
|
||||||
class Info:
|
class Info:
|
||||||
PRINT_CLCW = "Will cause the OBSW to print the current CLCW to the debug console"
|
PRINT_CLCW = "Will cause the OBSW to print the current CLCW to the debug console"
|
||||||
PRINT_MON_REG = "Will cause the OBSW to print the PDEC monitor register to the console"
|
PRINT_MON_REG = (
|
||||||
|
"Will cause the OBSW to print the PDEC monitor register to the console"
|
||||||
|
)
|
||||||
POSITIVE_WINDOW = "Change positive window parameter for AD frames"
|
POSITIVE_WINDOW = "Change positive window parameter for AD frames"
|
||||||
NEGATIVE_WINDOW = "Change negative window parameter for AD frames"
|
NEGATIVE_WINDOW = "Change negative window parameter for AD frames"
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ class ActionId(enum.IntEnum):
|
|||||||
LIST_DIR_INTO_FILE = 0
|
LIST_DIR_INTO_FILE = 0
|
||||||
ANNOUNCE_VERSION = 1
|
ANNOUNCE_VERSION = 1
|
||||||
ANNOUNCE_CURRENT_IMAGE = 2
|
ANNOUNCE_CURRENT_IMAGE = 2
|
||||||
|
ANNOUNCE_BOOT_COUNTS = 3
|
||||||
SWITCH_REBOOT_FILE_HANDLING = 5
|
SWITCH_REBOOT_FILE_HANDLING = 5
|
||||||
RESET_REBOOT_COUNTER = 6
|
RESET_REBOOT_COUNTER = 6
|
||||||
SWITCH_IMG_LOCK = 7
|
SWITCH_IMG_LOCK = 7
|
||||||
@ -43,33 +44,35 @@ class SetId(enum.IntEnum):
|
|||||||
class OpCode:
|
class OpCode:
|
||||||
ANNOUNCE_VERSION = "announce_version"
|
ANNOUNCE_VERSION = "announce_version"
|
||||||
ANNOUNCE_CURRENT_IMAGE = "announce_current_image"
|
ANNOUNCE_CURRENT_IMAGE = "announce_current_image"
|
||||||
REBOOT_XSC = ["0", "reboot_xsc"]
|
ANNOUNCE_BOOT_COUNTS = "announce_boot_counts"
|
||||||
XSC_REBOOT_SELF = ["1", "reboot_self"]
|
REBOOT_XSC = ["reboot_xsc"]
|
||||||
XSC_REBOOT_0_0 = ["2", "reboot_00"]
|
XSC_REBOOT_SELF = ["reboot_self"]
|
||||||
XSC_REBOOT_0_1 = ["3", "reboot_01"]
|
XSC_REBOOT_0_0 = ["reboot_00"]
|
||||||
XSC_REBOOT_1_0 = ["4", "reboot_10"]
|
XSC_REBOOT_0_1 = ["reboot_01"]
|
||||||
XSC_REBOOT_1_1 = ["5", "reboot_11"]
|
XSC_REBOOT_1_0 = ["reboot_10"]
|
||||||
REBOOT_FULL = ["6", "reboot_regular"]
|
XSC_REBOOT_1_1 = ["reboot_11"]
|
||||||
GET_HK = ["7", "get_hk"]
|
REBOOT_FULL = ["reboot_regular"]
|
||||||
|
GET_HK = ["get_hk"]
|
||||||
OBSW_UPDATE_FROM_SD_0 = ["obsw_update_sd0"]
|
OBSW_UPDATE_FROM_SD_0 = ["obsw_update_sd0"]
|
||||||
OBSW_UPDATE_FROM_SD_1 = ["obsw_update_sd1"]
|
OBSW_UPDATE_FROM_SD_1 = ["obsw_update_sd1"]
|
||||||
OBSW_UPDATE_FROM_TMP = ["obsw_update_tmp"]
|
OBSW_UPDATE_FROM_TMP = ["obsw_update_tmp"]
|
||||||
SWITCH_TO_SD_0 = ["switch_to_sd_0"]
|
SWITCH_TO_SD_0 = ["switch_to_sd_0"]
|
||||||
SWITCH_TO_SD_1 = ["switch_to_sd_1"]
|
SWITCH_TO_SD_1 = ["switch_to_sd_1"]
|
||||||
SWITCH_TO_BOTH_SD_CARDS = ["switch_to_both_sd_cards"]
|
SWITCH_TO_BOTH_SD_CARDS = ["switch_to_both_sd_cards"]
|
||||||
ENABLE_REBOOT_FILE_HANDLING = ["32", "rbh_off"]
|
ENABLE_REBOOT_FILE_HANDLING = ["rbh_off"]
|
||||||
DISABLE_REBOOT_FILE_HANDLING = ["33", "rbh_on"]
|
DISABLE_REBOOT_FILE_HANDLING = ["rbh_on"]
|
||||||
RESET_ALL_REBOOT_COUNTERS = ["34", "rbh_reset_a"]
|
RESET_ALL_REBOOT_COUNTERS = ["rbh_reset_a"]
|
||||||
RESET_REBOOT_COUNTER_00 = ["35", "rbh_reset_00"]
|
RESET_REBOOT_COUNTER_00 = ["rbh_reset_00"]
|
||||||
RESET_REBOOT_COUNTER_01 = ["36", "rbh_reset_01"]
|
RESET_REBOOT_COUNTER_01 = ["rbh_reset_01"]
|
||||||
RESET_REBOOT_COUNTER_10 = ["37", "rbh_reset_10"]
|
RESET_REBOOT_COUNTER_10 = ["rbh_reset_10"]
|
||||||
RESET_REBOOT_COUNTER_11 = ["38", "rbh_reset_11"]
|
RESET_REBOOT_COUNTER_11 = ["rbh_reset_11"]
|
||||||
SET_MAX_REBOOT_CNT = ["39", "rbh_max_cnt"]
|
SET_MAX_REBOOT_CNT = ["rbh_max_cnt"]
|
||||||
|
|
||||||
|
|
||||||
class Info:
|
class Info:
|
||||||
ANNOUNCE_VERSION = "Announce version"
|
ANNOUNCE_VERSION = "Announce version"
|
||||||
ANNOUNCE_CURRENT_IMAGE = "Announce current image"
|
ANNOUNCE_CURRENT_IMAGE = "Announce current image"
|
||||||
|
ANNOUNCE_BOOT_COUNTS = "Announce boot counts"
|
||||||
REBOOT_XSC = "XSC reboot with prompt"
|
REBOOT_XSC = "XSC reboot with prompt"
|
||||||
REBOOT_FULL = "Full regular reboot"
|
REBOOT_FULL = "Full regular reboot"
|
||||||
OBSW_UPDATE_FROM_SD_0 = "Update OBSW from SD Card 0"
|
OBSW_UPDATE_FROM_SD_0 = "Update OBSW from SD Card 0"
|
||||||
@ -97,6 +100,7 @@ def add_core_controller_definitions(defs: TmtcDefinitionWrapper):
|
|||||||
oce = OpCodeEntry()
|
oce = OpCodeEntry()
|
||||||
oce.add(keys=OpCode.ANNOUNCE_VERSION, info=Info.ANNOUNCE_VERSION)
|
oce.add(keys=OpCode.ANNOUNCE_VERSION, info=Info.ANNOUNCE_VERSION)
|
||||||
oce.add(keys=OpCode.ANNOUNCE_CURRENT_IMAGE, info=Info.ANNOUNCE_CURRENT_IMAGE)
|
oce.add(keys=OpCode.ANNOUNCE_CURRENT_IMAGE, info=Info.ANNOUNCE_CURRENT_IMAGE)
|
||||||
|
oce.add(keys=OpCode.ANNOUNCE_BOOT_COUNTS, info=Info.ANNOUNCE_BOOT_COUNTS)
|
||||||
oce.add(keys=OpCode.REBOOT_XSC, info=Info.REBOOT_XSC)
|
oce.add(keys=OpCode.REBOOT_XSC, info=Info.REBOOT_XSC)
|
||||||
oce.add(keys=OpCode.REBOOT_XSC, info=Info.REBOOT_XSC)
|
oce.add(keys=OpCode.REBOOT_XSC, info=Info.REBOOT_XSC)
|
||||||
oce.add(keys=OpCode.REBOOT_FULL, info=Info.REBOOT_FULL)
|
oce.add(keys=OpCode.REBOOT_FULL, info=Info.REBOOT_FULL)
|
||||||
@ -153,12 +157,17 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
if op_code == OpCode.ANNOUNCE_VERSION:
|
if op_code == OpCode.ANNOUNCE_VERSION:
|
||||||
q.add_log_cmd(f"{Info.ANNOUNCE_VERSION}")
|
q.add_log_cmd(f"{Info.ANNOUNCE_VERSION}")
|
||||||
q.add_pus_tc(create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_VERSION))
|
q.add_pus_tc(create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_VERSION))
|
||||||
if op_code == OpCode.ANNOUNCE_CURRENT_IMAGE:
|
elif op_code == OpCode.ANNOUNCE_CURRENT_IMAGE:
|
||||||
q.add_log_cmd(f"{Info.ANNOUNCE_CURRENT_IMAGE}")
|
q.add_log_cmd(f"{Info.ANNOUNCE_CURRENT_IMAGE}")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_CURRENT_IMAGE)
|
create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_CURRENT_IMAGE)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.REBOOT_XSC:
|
elif op_code == OpCode.ANNOUNCE_BOOT_COUNTS:
|
||||||
|
q.add_log_cmd(f"{Info.ANNOUNCE_BOOT_COUNTS}")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_BOOT_COUNTS)
|
||||||
|
)
|
||||||
|
elif op_code in OpCode.REBOOT_XSC:
|
||||||
reboot_self, chip_select, copy_select = determine_reboot_params()
|
reboot_self, chip_select, copy_select = determine_reboot_params()
|
||||||
add_xsc_reboot_cmd(
|
add_xsc_reboot_cmd(
|
||||||
q=q,
|
q=q,
|
||||||
@ -166,38 +175,38 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
chip=chip_select,
|
chip=chip_select,
|
||||||
copy=copy_select,
|
copy=copy_select,
|
||||||
)
|
)
|
||||||
if op_code in OpCode.REBOOT_FULL:
|
elif op_code in OpCode.REBOOT_FULL:
|
||||||
q.add_log_cmd(f"Core Command: {Info.REBOOT_FULL}")
|
q.add_log_cmd(f"Core Command: {Info.REBOOT_FULL}")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
create_action_cmd(
|
create_action_cmd(
|
||||||
object_id=CORE_CONTROLLER_ID, action_id=ActionId.FULL_REBOOT
|
object_id=CORE_CONTROLLER_ID, action_id=ActionId.FULL_REBOOT
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.XSC_REBOOT_SELF:
|
elif op_code in OpCode.XSC_REBOOT_SELF:
|
||||||
add_xsc_reboot_cmd(q=q, reboot_self=True)
|
add_xsc_reboot_cmd(q=q, reboot_self=True)
|
||||||
if op_code in OpCode.XSC_REBOOT_0_0:
|
elif op_code in OpCode.XSC_REBOOT_0_0:
|
||||||
add_xsc_reboot_cmd(
|
add_xsc_reboot_cmd(
|
||||||
q=q, reboot_self=False, chip=Chip.CHIP_0, copy=Copy.COPY_0_NOM
|
q=q, reboot_self=False, chip=Chip.CHIP_0, copy=Copy.COPY_0_NOM
|
||||||
)
|
)
|
||||||
if op_code in OpCode.XSC_REBOOT_0_1:
|
elif op_code in OpCode.XSC_REBOOT_0_1:
|
||||||
add_xsc_reboot_cmd(
|
add_xsc_reboot_cmd(
|
||||||
q=q,
|
q=q,
|
||||||
reboot_self=False,
|
reboot_self=False,
|
||||||
chip=Chip.CHIP_0,
|
chip=Chip.CHIP_0,
|
||||||
copy=Copy.COPY_1_GOLD,
|
copy=Copy.COPY_1_GOLD,
|
||||||
)
|
)
|
||||||
if op_code in OpCode.XSC_REBOOT_1_0:
|
elif op_code in OpCode.XSC_REBOOT_1_0:
|
||||||
add_xsc_reboot_cmd(
|
add_xsc_reboot_cmd(
|
||||||
q=q, reboot_self=False, chip=Chip.CHIP_1, copy=Copy.COPY_0_NOM
|
q=q, reboot_self=False, chip=Chip.CHIP_1, copy=Copy.COPY_0_NOM
|
||||||
)
|
)
|
||||||
if op_code in OpCode.XSC_REBOOT_1_1:
|
elif op_code in OpCode.XSC_REBOOT_1_1:
|
||||||
add_xsc_reboot_cmd(
|
add_xsc_reboot_cmd(
|
||||||
q=q,
|
q=q,
|
||||||
reboot_self=False,
|
reboot_self=False,
|
||||||
chip=Chip.CHIP_1,
|
chip=Chip.CHIP_1,
|
||||||
copy=Copy.COPY_1_GOLD,
|
copy=Copy.COPY_1_GOLD,
|
||||||
)
|
)
|
||||||
if op_code in OpCode.DISABLE_REBOOT_FILE_HANDLING:
|
elif op_code in OpCode.DISABLE_REBOOT_FILE_HANDLING:
|
||||||
q.add_log_cmd("Disabling reboot file handling")
|
q.add_log_cmd("Disabling reboot file handling")
|
||||||
user_data = bytearray([0])
|
user_data = bytearray([0])
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
@ -207,7 +216,7 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
user_data=user_data,
|
user_data=user_data,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.ENABLE_REBOOT_FILE_HANDLING:
|
elif op_code in OpCode.ENABLE_REBOOT_FILE_HANDLING:
|
||||||
q.add_log_cmd("Enabling reboot file handling")
|
q.add_log_cmd("Enabling reboot file handling")
|
||||||
user_data = bytearray([1])
|
user_data = bytearray([1])
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
@ -217,7 +226,7 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
user_data=user_data,
|
user_data=user_data,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.RESET_ALL_REBOOT_COUNTERS:
|
elif op_code in OpCode.RESET_ALL_REBOOT_COUNTERS:
|
||||||
q.add_log_cmd("Resetting all reboot counters")
|
q.add_log_cmd("Resetting all reboot counters")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
create_action_cmd(
|
create_action_cmd(
|
||||||
@ -225,38 +234,38 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
action_id=ActionId.RESET_REBOOT_COUNTER,
|
action_id=ActionId.RESET_REBOOT_COUNTER,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.RESET_REBOOT_COUNTER_00:
|
elif op_code in OpCode.RESET_REBOOT_COUNTER_00:
|
||||||
reset_specific_boot_counter(q, 0, 0)
|
reset_specific_boot_counter(q, 0, 0)
|
||||||
if op_code in OpCode.RESET_REBOOT_COUNTER_01:
|
elif op_code in OpCode.RESET_REBOOT_COUNTER_01:
|
||||||
reset_specific_boot_counter(q, 0, 1)
|
reset_specific_boot_counter(q, 0, 1)
|
||||||
if op_code in OpCode.RESET_REBOOT_COUNTER_10:
|
elif op_code in OpCode.RESET_REBOOT_COUNTER_10:
|
||||||
reset_specific_boot_counter(q, 1, 0)
|
reset_specific_boot_counter(q, 1, 0)
|
||||||
if op_code in OpCode.RESET_REBOOT_COUNTER_11:
|
elif op_code in OpCode.RESET_REBOOT_COUNTER_11:
|
||||||
reset_specific_boot_counter(q, 1, 1)
|
reset_specific_boot_counter(q, 1, 1)
|
||||||
if op_code in OpCode.OBSW_UPDATE_FROM_SD_0:
|
elif op_code in OpCode.OBSW_UPDATE_FROM_SD_0:
|
||||||
q.add_log_cmd(Info.OBSW_UPDATE_FROM_SD_0)
|
q.add_log_cmd(Info.OBSW_UPDATE_FROM_SD_0)
|
||||||
q.add_pus_tc(pack_obsw_update_cmd(ActionId.UPDATE_OBSW_FROM_SD_0))
|
q.add_pus_tc(pack_obsw_update_cmd(ActionId.UPDATE_OBSW_FROM_SD_0))
|
||||||
if op_code in OpCode.OBSW_UPDATE_FROM_SD_1:
|
elif op_code in OpCode.OBSW_UPDATE_FROM_SD_1:
|
||||||
q.add_log_cmd(Info.OBSW_UPDATE_FROM_SD_1)
|
q.add_log_cmd(Info.OBSW_UPDATE_FROM_SD_1)
|
||||||
q.add_pus_tc(pack_obsw_update_cmd(ActionId.UPDATE_OBSW_FROM_SD_1))
|
q.add_pus_tc(pack_obsw_update_cmd(ActionId.UPDATE_OBSW_FROM_SD_1))
|
||||||
if op_code in OpCode.OBSW_UPDATE_FROM_TMP:
|
elif op_code in OpCode.OBSW_UPDATE_FROM_TMP:
|
||||||
q.add_log_cmd(Info.OBSW_UPDATE_FROM_TMP)
|
q.add_log_cmd(Info.OBSW_UPDATE_FROM_TMP)
|
||||||
q.add_pus_tc(pack_obsw_update_cmd(ActionId.UPDATE_OBSW_FROM_TMP))
|
q.add_pus_tc(pack_obsw_update_cmd(ActionId.UPDATE_OBSW_FROM_TMP))
|
||||||
if op_code in OpCode.SWITCH_TO_SD_0:
|
elif op_code in OpCode.SWITCH_TO_SD_0:
|
||||||
q.add_log_cmd(Info.SWITCH_TO_SD_0)
|
q.add_log_cmd(Info.SWITCH_TO_SD_0)
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
create_action_cmd(
|
create_action_cmd(
|
||||||
object_id=CORE_CONTROLLER_ID, action_id=ActionId.SWITCH_TO_SD_0
|
object_id=CORE_CONTROLLER_ID, action_id=ActionId.SWITCH_TO_SD_0
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.SWITCH_TO_SD_1:
|
elif op_code in OpCode.SWITCH_TO_SD_1:
|
||||||
q.add_log_cmd(Info.SWITCH_TO_SD_1)
|
q.add_log_cmd(Info.SWITCH_TO_SD_1)
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
create_action_cmd(
|
create_action_cmd(
|
||||||
object_id=CORE_CONTROLLER_ID, action_id=ActionId.SWITCH_TO_SD_1
|
object_id=CORE_CONTROLLER_ID, action_id=ActionId.SWITCH_TO_SD_1
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.SWITCH_TO_BOTH_SD_CARDS:
|
elif op_code in OpCode.SWITCH_TO_BOTH_SD_CARDS:
|
||||||
while True:
|
while True:
|
||||||
active_sd_card = int(input("Please specify active SD cqrd [0/1]: "))
|
active_sd_card = int(input("Please specify active SD cqrd [0/1]: "))
|
||||||
if active_sd_card not in [0, 1]:
|
if active_sd_card not in [0, 1]:
|
||||||
@ -270,10 +279,14 @@ def pack_core_commands(q: DefaultPusQueueHelper, op_code: str):
|
|||||||
user_data=bytes([active_sd_card]),
|
user_data=bytes([active_sd_card]),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if op_code in OpCode.GET_HK:
|
elif op_code in OpCode.GET_HK:
|
||||||
q.add_log_cmd("Requesting housekeeping set")
|
q.add_log_cmd("Requesting housekeeping set")
|
||||||
sid = make_sid(object_id=CORE_CONTROLLER_ID, set_id=SetId.HK)
|
sid = make_sid(object_id=CORE_CONTROLLER_ID, set_id=SetId.HK)
|
||||||
q.add_pus_tc(generate_one_hk_command(sid))
|
q.add_pus_tc(generate_one_hk_command(sid))
|
||||||
|
else:
|
||||||
|
_LOGGER.warning(
|
||||||
|
f"Unknown operation code {op_code} for core controller commands"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def reset_specific_boot_counter(q: DefaultPusQueueHelper, chip: int, copy: int):
|
def reset_specific_boot_counter(q: DefaultPusQueueHelper, chip: int, copy: int):
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
|
import struct
|
||||||
|
|
||||||
from eive_tmtc.config.definitions import CustomServiceList
|
from eive_tmtc.config.definitions import CustomServiceList
|
||||||
|
from eive_tmtc.tmtc.obj_prompt import prompt_object
|
||||||
from spacepackets.ecss import PusTelecommand
|
from spacepackets.ecss import PusTelecommand
|
||||||
from tmtccmd.config.tmtc import (
|
from tmtccmd.config.tmtc import (
|
||||||
tmtc_definitions_provider,
|
tmtc_definitions_provider,
|
||||||
@ -6,33 +9,58 @@ from tmtccmd.config.tmtc import (
|
|||||||
OpCodeEntry,
|
OpCodeEntry,
|
||||||
)
|
)
|
||||||
from tmtccmd.tc import service_provider
|
from tmtccmd.tc import service_provider
|
||||||
from tmtccmd.pus.s201_fsfw_health import Subservice
|
from tmtccmd.pus.s201_fsfw_health import Subservice, FsfwHealth
|
||||||
from tmtccmd.tc.decorator import ServiceProviderParams
|
from tmtccmd.tc.decorator import ServiceProviderParams
|
||||||
|
|
||||||
|
|
||||||
class OpCode:
|
class OpCode:
|
||||||
|
SET_HEALTH = "set_health"
|
||||||
ANNOUNCE_HEALTH_ALL = "read_health_all"
|
ANNOUNCE_HEALTH_ALL = "read_health_all"
|
||||||
ANNOUNCE_HEALTH = "read_health"
|
ANNOUNCE_HEALTH = "read_health"
|
||||||
|
|
||||||
|
|
||||||
class Info:
|
class Info:
|
||||||
|
SET_HEALTH = "Set health of specific object"
|
||||||
ANNOUNCE_HEALTH_ALL = "Read all health states"
|
ANNOUNCE_HEALTH_ALL = "Read all health states"
|
||||||
ANNOUNCE_HEALTH = "Read health state of one object"
|
ANNOUNCE_HEALTH = "Read health state of one object"
|
||||||
|
|
||||||
|
|
||||||
|
def prompt_health() -> FsfwHealth:
|
||||||
|
for item in FsfwHealth:
|
||||||
|
print(f"{item}: {item.name}")
|
||||||
|
health_idx = int(input("Please enter health by index: "))
|
||||||
|
return FsfwHealth(health_idx)
|
||||||
|
|
||||||
|
|
||||||
@service_provider(CustomServiceList.HEALTH)
|
@service_provider(CustomServiceList.HEALTH)
|
||||||
def pack_test_command(p: ServiceProviderParams):
|
def pack_test_command(p: ServiceProviderParams):
|
||||||
o = p.op_code
|
o = p.op_code
|
||||||
q = p.queue_helper
|
q = p.queue_helper
|
||||||
if o == OpCode.ANNOUNCE_HEALTH:
|
if o == OpCode.SET_HEALTH:
|
||||||
raise NotImplementedError()
|
app_data = bytearray(prompt_object())
|
||||||
|
health = prompt_health()
|
||||||
|
app_data.append(health)
|
||||||
|
q.add_log_cmd(Info.SET_HEALTH)
|
||||||
|
q.add_pus_tc(
|
||||||
|
PusTelecommand(
|
||||||
|
service=201, subservice=Subservice.TC_SET_HEALTH, app_data=app_data
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif o == OpCode.ANNOUNCE_HEALTH:
|
||||||
|
app_data = bytearray(prompt_object())
|
||||||
|
q.add_log_cmd(Info.ANNOUNCE_HEALTH)
|
||||||
|
q.add_pus_tc(
|
||||||
|
PusTelecommand(
|
||||||
|
service=201, subservice=Subservice.TC_ANNOUNCE_HEALTH, app_data=app_data
|
||||||
|
)
|
||||||
|
)
|
||||||
elif o == OpCode.ANNOUNCE_HEALTH_ALL:
|
elif o == OpCode.ANNOUNCE_HEALTH_ALL:
|
||||||
q.add_log_cmd(Info.ANNOUNCE_HEALTH_ALL)
|
q.add_log_cmd(Info.ANNOUNCE_HEALTH_ALL)
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
PusTelecommand(service=201, subservice=Subservice.TC_ANNOUNCE_HEALTH_ALL)
|
PusTelecommand(service=201, subservice=Subservice.TC_ANNOUNCE_HEALTH_ALL)
|
||||||
)
|
)
|
||||||
return
|
else:
|
||||||
raise ValueError(f"unknown op code {o} for service {CustomServiceList.HEALTH}")
|
raise ValueError(f"unknown op code {o} for service {CustomServiceList.HEALTH}")
|
||||||
|
|
||||||
|
|
||||||
@tmtc_definitions_provider
|
@tmtc_definitions_provider
|
||||||
@ -40,4 +68,5 @@ def add_health_cmd_defs(defs: TmtcDefinitionWrapper):
|
|||||||
oce = OpCodeEntry()
|
oce = OpCodeEntry()
|
||||||
oce.add(OpCode.ANNOUNCE_HEALTH_ALL, Info.ANNOUNCE_HEALTH_ALL)
|
oce.add(OpCode.ANNOUNCE_HEALTH_ALL, Info.ANNOUNCE_HEALTH_ALL)
|
||||||
oce.add(OpCode.ANNOUNCE_HEALTH, Info.ANNOUNCE_HEALTH)
|
oce.add(OpCode.ANNOUNCE_HEALTH, Info.ANNOUNCE_HEALTH)
|
||||||
|
oce.add(OpCode.SET_HEALTH, Info.SET_HEALTH)
|
||||||
defs.add_service(CustomServiceList.HEALTH, info="Health Service", op_code_entry=oce)
|
defs.add_service(CustomServiceList.HEALTH, info="Health Service", op_code_entry=oce)
|
||||||
|
43
eive_tmtc/tmtc/obj_prompt.py
Normal file
43
eive_tmtc/tmtc/obj_prompt.py
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
from eive_tmtc.config.object_ids import (
|
||||||
|
ACS_SUBSYSTEM_ID,
|
||||||
|
ACS_CONTROLLER,
|
||||||
|
IMTQ_HANDLER_ID,
|
||||||
|
GYRO_0_ADIS_HANDLER_ID,
|
||||||
|
GYRO_1_L3G_HANDLER_ID,
|
||||||
|
ACS_BOARD_ASS_ID,
|
||||||
|
RW_ASSEMBLY,
|
||||||
|
SUS_BOARD_ASS_ID,
|
||||||
|
)
|
||||||
|
|
||||||
|
SUBSYSTEM_DICT = {
|
||||||
|
0: "acs",
|
||||||
|
1: "tcs",
|
||||||
|
2: "com",
|
||||||
|
}
|
||||||
|
|
||||||
|
ACS_OBJ_DICT = {
|
||||||
|
0: ("Subsystem", ACS_SUBSYSTEM_ID),
|
||||||
|
1: ("SUS Assembly", SUS_BOARD_ASS_ID),
|
||||||
|
2: ("ACS Board Assembly", ACS_BOARD_ASS_ID),
|
||||||
|
3: ("RW Assembly", RW_ASSEMBLY),
|
||||||
|
4: ("iMTQ MGT", IMTQ_HANDLER_ID),
|
||||||
|
5: ("GYR 0 ADIS", GYRO_0_ADIS_HANDLER_ID),
|
||||||
|
6: ("GYR 1 L3G", GYRO_1_L3G_HANDLER_ID),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def prompt_object() -> bytes:
|
||||||
|
for k, v in SUBSYSTEM_DICT.items():
|
||||||
|
print(f"{k}: {v}")
|
||||||
|
subsystem_key = int(input("Please specify target subsystem by key: "))
|
||||||
|
subsystem = SUBSYSTEM_DICT[subsystem_key]
|
||||||
|
if subsystem is None:
|
||||||
|
raise ValueError("invalid key")
|
||||||
|
if subsystem == "acs":
|
||||||
|
for k, v in ACS_OBJ_DICT.items():
|
||||||
|
print(f"{k}: {v[0]}")
|
||||||
|
obj_key = int(input("Please specify target object by key: "))
|
||||||
|
acs_obj = ACS_OBJ_DICT[obj_key]
|
||||||
|
if acs_obj is None:
|
||||||
|
raise ValueError("invalid key")
|
||||||
|
return acs_obj[1]
|
@ -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])
|
||||||
@ -171,7 +171,7 @@ def prompt_heater() -> int:
|
|||||||
print("HEATER 4 | CAMERA")
|
print("HEATER 4 | CAMERA")
|
||||||
print("HEATER 5 | STR")
|
print("HEATER 5 | STR")
|
||||||
print("HEATER 6 | DRO")
|
print("HEATER 6 | DRO")
|
||||||
print("HEATER 7 | HPA")
|
print("HEATER 7 | Syrlinks")
|
||||||
heater_number = input("Type number of heater to switch [0-7]: ")
|
heater_number = input("Type number of heater to switch [0-7]: ")
|
||||||
if not heater_number.isdigit():
|
if not heater_number.isdigit():
|
||||||
print("Heater number not a digit")
|
print("Heater number not a digit")
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import enum
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
@ -36,6 +37,29 @@ class CommandId:
|
|||||||
WRITE_CONFIG = 6
|
WRITE_CONFIG = 6
|
||||||
|
|
||||||
|
|
||||||
|
class RtdId(enum.IntEnum):
|
||||||
|
RTD_0_PLOC_HSPC = 0
|
||||||
|
RTD_1_PLOC_MISSIONBRD = 1
|
||||||
|
RTD_2_4K_CAM = 2
|
||||||
|
RTD_3_DAC_HSPD = 3
|
||||||
|
RTD_4_STR = 4
|
||||||
|
RTD_5_RW1_MX_MY = 5
|
||||||
|
RTD_6_DRO = 6
|
||||||
|
RTD_7_SCEX = 7
|
||||||
|
RTD_8_X8 = 8
|
||||||
|
RTD_9_HPA = 9
|
||||||
|
RTD_10_PL_TX = 10
|
||||||
|
RTD_11_MPA = 11
|
||||||
|
RTD_12_ACU = 12
|
||||||
|
RTD_13_PLPCDU_HSPD = 13
|
||||||
|
RTD_14_TCS_BRD = 14
|
||||||
|
RTD_15_IMTQ = 15
|
||||||
|
|
||||||
|
|
||||||
|
class SetId(enum.IntEnum):
|
||||||
|
TEMPERATURE = 1
|
||||||
|
|
||||||
|
|
||||||
class OpCode:
|
class OpCode:
|
||||||
ON = ["0", "on"]
|
ON = ["0", "on"]
|
||||||
OFF = ["1", "off"]
|
OFF = ["1", "off"]
|
||||||
|
@ -40,7 +40,7 @@ class Tmp1075ActionId(enum.IntEnum):
|
|||||||
|
|
||||||
|
|
||||||
class SetId:
|
class SetId:
|
||||||
TMEPERATURE = 1
|
TEMPERATURE = 1
|
||||||
|
|
||||||
|
|
||||||
def pack_tmp1075_test_into(
|
def pack_tmp1075_test_into(
|
||||||
@ -64,7 +64,7 @@ def pack_tmp1075_test_into(
|
|||||||
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=mode_data))
|
q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=mode_data))
|
||||||
if op_code == OpCode.HK:
|
if op_code == OpCode.HK:
|
||||||
q.add_log_cmd("TMP1075: Request One-Shot HK")
|
q.add_log_cmd("TMP1075: Request One-Shot HK")
|
||||||
q.add_pus_tc(create_request_one_hk_command(make_sid(obyt, SetId.TMEPERATURE)))
|
q.add_pus_tc(create_request_one_hk_command(make_sid(obyt, SetId.TEMPERATURE)))
|
||||||
return q
|
return q
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user