Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
5fa9727375 | |||
71f2f31fc5 | |||
d65480dfed | |||
0ae3ae294c | |||
841780593e | |||
669e9559b9 | |||
4a13be1beb | |||
1d73bcce00 | |||
aadd6f59b5 | |||
e5bb7f395f |
10
CHANGELOG.md
10
CHANGELOG.md
@ -10,6 +10,16 @@ list yields a list of all related PRs for each release.
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
# [v2.12.3] 2023-02-10
|
||||||
|
|
||||||
|
tmtccmd v4.0.0rc1
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
- Fixed SUS processed data printout format.
|
||||||
|
- Fixed other ACS processed data printout format.
|
||||||
|
- Fixed ACS submode: https://egit.irs.uni-stuttgart.de/eive/eive-tmtc/pulls/132
|
||||||
|
|
||||||
# [v2.12.2] 2023-02-08
|
# [v2.12.2] 2023-02-08
|
||||||
|
|
||||||
- Use specific `tmtccmd` rev with new mode helper method.
|
- Use specific `tmtccmd` rev with new mode helper method.
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
|
__version__ = "2.12.3"
|
||||||
|
|
||||||
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 = 12
|
VERSION_MINOR = 12
|
||||||
VERSION_REVISION = 2
|
VERSION_REVISION = 3
|
||||||
|
|
||||||
__version__ = "2.12.2"
|
|
||||||
|
|
||||||
EIVE_TMTC_ROOT = Path(__file__).parent
|
EIVE_TMTC_ROOT = Path(__file__).parent
|
||||||
PACKAGE_ROOT = EIVE_TMTC_ROOT.parent
|
PACKAGE_ROOT = EIVE_TMTC_ROOT.parent
|
||||||
|
@ -144,7 +144,8 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
|||||||
12404;0x3074;BIT_LOCK_PDEC;INFO;Bit lock detected (data valid);linux/ipcore/PdecHandler.h
|
12404;0x3074;BIT_LOCK_PDEC;INFO;Bit lock detected (data valid);linux/ipcore/PdecHandler.h
|
||||||
12405;0x3075;LOST_CARRIER_LOCK_PDEC;INFO;Lost carrier lock;linux/ipcore/PdecHandler.h
|
12405;0x3075;LOST_CARRIER_LOCK_PDEC;INFO;Lost carrier lock;linux/ipcore/PdecHandler.h
|
||||||
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;POLL_ERROR_PDEC;MEDIUM;;linux/ipcore/PdecHandler.h
|
12407;0x3077;POLL_SYSCALL_ERROR_PDEC;MEDIUM;;linux/ipcore/PdecHandler.h
|
||||||
|
12408;0x3078;WRITE_SYSCALL_ERROR_PDEC;MEDIUM;;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
|
||||||
@ -247,3 +248,10 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
|
|||||||
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;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;;mission/controller/ThermalController.h
|
||||||
|
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;;mission/controller/ThermalController.h
|
||||||
|
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;;mission/controller/ThermalController.h
|
||||||
|
14103;0x3717;PLOC_OVERHEATING;HIGH;;mission/controller/ThermalController.h
|
||||||
|
14104;0x3718;OBC_OVERHEATING;HIGH;;mission/controller/ThermalController.h
|
||||||
|
14105;0x3719;HPA_OVERHEATING;HIGH;;mission/controller/ThermalController.h
|
||||||
|
14106;0x371a;PLPCDU_OVERHEATING;HIGH;;mission/controller/ThermalController.h
|
||||||
|
|
@ -55,7 +55,6 @@
|
|||||||
0x44420006;TMP1075_HANDLER_PLPCDU_0
|
0x44420006;TMP1075_HANDLER_PLPCDU_0
|
||||||
0x44420007;TMP1075_HANDLER_PLPCDU_1
|
0x44420007;TMP1075_HANDLER_PLPCDU_1
|
||||||
0x44420008;TMP1075_HANDLER_IF_BOARD
|
0x44420008;TMP1075_HANDLER_IF_BOARD
|
||||||
0x44420009;TMP1075_HANDLER_OBC_IF_BOARD
|
|
||||||
0x44420016;RTD_0_IC3_PLOC_HEATSPREADER
|
0x44420016;RTD_0_IC3_PLOC_HEATSPREADER
|
||||||
0x44420017;RTD_1_IC4_PLOC_MISSIONBOARD
|
0x44420017;RTD_1_IC4_PLOC_MISSIONBOARD
|
||||||
0x44420018;RTD_2_IC5_4K_CAMERA
|
0x44420018;RTD_2_IC5_4K_CAMERA
|
||||||
@ -149,4 +148,5 @@
|
|||||||
0x73010003;TCS_SUBSYSTEM
|
0x73010003;TCS_SUBSYSTEM
|
||||||
0x73010004;COM_SUBSYSTEM
|
0x73010004;COM_SUBSYSTEM
|
||||||
0x73500000;CCSDS_IP_CORE_BRIDGE
|
0x73500000;CCSDS_IP_CORE_BRIDGE
|
||||||
|
0x90000003;THERMAL_TEMP_INSERTER
|
||||||
0xFFFFFFFF;NO_OBJECT
|
0xFFFFFFFF;NO_OBJECT
|
||||||
|
|
@ -484,3 +484,111 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
|
|||||||
0x6f0d;SDMA_UnmountError;;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6f0d;SDMA_UnmountError;;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0e;SDMA_SystemCallError;;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6f0e;SDMA_SystemCallError;;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
0x6f0f;SDMA_PopenCallError;;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
0x6f0f;SDMA_PopenCallError;;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
|
||||||
|
0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/devices/ploc/PlocMPSoCHelper.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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
0x57a3;PLSPVhLP_EventBufferReplyInvalidApid;Expected event buffer TM but received space packet with other APID;163;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
|
0x5700;PLSPVhLP_RequestDone;;0;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
|
0x5701;PLSPVhLP_NoPacketFound;;1;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
|
0x5702;PLSPVhLP_DecodeBufTooSmall;;2;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
|
0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;;3;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
|
0x5704;PLSPVhLP_PossiblePacketLossConsecutiveEnd;;4;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
|
||||||
|
0x5705;PLSPVhLP_HdlcError;;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
|
||||||
|
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
|
||||||
|
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;;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
|
||||||
|
0x68a3;SPVRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC supervisor;163;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68a4;SPVRTVIF_InvalidApid;Received space packet with invalid APID from PLOC supervisor;164;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68a5;SPVRTVIF_GetTimeFailure;Failed to read current system time;165;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68a6;SPVRTVIF_InvalidWatchdog;Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT;166;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68a7;SPVRTVIF_InvalidWatchdogTimeout;Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms.;167;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68a8;SPVRTVIF_InvalidLatchupId;Received latchup config command with invalid latchup ID;168;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68a9;SPVRTVIF_SweepPeriodTooSmall;Received set adc sweep period command with invalid sweep period. Must be larger than 21.;169;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68aa;SPVRTVIF_InvalidTestParam;Receive auto EM test command with invalid test param. Valid params are 1 and 2.;170;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68ab;SPVRTVIF_MramPacketParsingFailure;Returned when scanning for MRAM dump packets failed.;171;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68ac;SPVRTVIF_InvalidMramAddresses;Returned when the start and stop addresses of the MRAM dump or MRAM wipe commands are invalid (e.g. start address bigger than stop address);172;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68ad;SPVRTVIF_NoMramPacket;Expect reception of an MRAM dump packet but received space packet with other apid.;173;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68ae;SPVRTVIF_PathDoesNotExist;Path to PLOC directory on SD card does not exist;174;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68af;SPVRTVIF_MramFileNotExists;MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet.;175;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68b0;SPVRTVIF_InvalidReplyLength;;176;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68b1;SPVRTVIF_InvalidLength;Received action command has invalid length;177;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68b2;SPVRTVIF_FilenameTooLong;Filename too long;178;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68b3;SPVRTVIF_UpdateStatusReportInvalidLength;Received update status report with invalid packet length field;179;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68b4;SPVRTVIF_UpdateCrcFailure;Update status report does not contain expected CRC. There might be a bit flip in the update memory region.;180;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;;192;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
|
||||||
|
0x68c1;SPVRTVIF_NoReplyTimeout;;193;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.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
|
||||||
|
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
||||||
|
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
|
||||||
|
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.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
|
||||||
|
0x5302;STRH_InvalidCrc;;2;STR_HANDLER;linux/devices/ScexHelper.h
|
||||||
|
0x5aa0;PTME_UnknownVcId;;160;PTME;linux/ipcore/Ptme.h
|
||||||
|
0x5fa0;PDEC_AbandonedCltu;;160;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa1;PDEC_FrameDirty;;161;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa2;PDEC_FrameIllegalMultipleReasons;;162;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa3;PDEC_AdDiscardedLockout;;163;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa4;PDEC_AdDiscardedWait;;164;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa5;PDEC_AdDiscardedNsVs;;165;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fb0;PDEC_CommandNotImplemented;Received action message with unknown action id;176;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa6;PDEC_NoReport;;166;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa7;PDEC_ErrorVersionNumber;;167;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa8;PDEC_IllegalCombination;;168;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fa9;PDEC_InvalidScId;;169;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5faa;PDEC_InvalidVcIdMsb;;170;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fab;PDEC_InvalidVcIdLsb;;171;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fac;PDEC_NsNotZero;;172;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x5fae;PDEC_InvalidBcCc;;174;PDEC_HANDLER;linux/ipcore/PdecHandler.h
|
||||||
|
0x61a0;RS_RateNotSupported;The commanded rate is not supported by the current FPGA design;160;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
|
||||||
|
0x61a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;163;RATE_SETTER;linux/ipcore/PtmeConfig.h
|
||||||
|
0x59a0;IPCI_PapbBusy;;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h
|
||||||
|
|
@ -40,9 +40,14 @@ class SetId(enum.IntEnum):
|
|||||||
|
|
||||||
|
|
||||||
class Submode(enum.IntEnum):
|
class Submode(enum.IntEnum):
|
||||||
SAFE = 2
|
OFF = 0
|
||||||
DETUMBLE = 3
|
SAFE = 10
|
||||||
IDLE = 4
|
DETUMBLE = 11
|
||||||
|
IDLE = 12
|
||||||
|
PTG_NADIR = 13
|
||||||
|
PTG_TARGET = 14
|
||||||
|
PTG_TARGET_GS = 15
|
||||||
|
PTG_INERTIAL = 16
|
||||||
|
|
||||||
|
|
||||||
class OpCodes:
|
class OpCodes:
|
||||||
@ -436,30 +441,31 @@ def handle_acs_ctrl_sus_processed_data(pw: PrintWrapper, hk_data: bytes):
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
current_idx = 0
|
current_idx = 0
|
||||||
|
vec_fmt = "[{:8.3f}, {:8.3f}, {:8.3f}]"
|
||||||
for idx in range(12):
|
for idx in range(12):
|
||||||
fmt_str = "!fff"
|
fmt_str = "!fff"
|
||||||
length = struct.calcsize(fmt_str)
|
length = struct.calcsize(fmt_str)
|
||||||
sus_list = struct.unpack(fmt_str, hk_data[current_idx : current_idx + length])
|
sus_list = struct.unpack(fmt_str, hk_data[current_idx : current_idx + length])
|
||||||
sus_list_formatted = [f"{val:8.3f}" for val in sus_list]
|
sus_list_formatted = vec_fmt.format(*sus_list)
|
||||||
current_idx += length
|
current_idx += length
|
||||||
pw.dlog(f"SUS {idx} CALIB: {sus_list_formatted}")
|
pw.dlog(f"{f'SUS {idx} CALIB'.ljust(25)}: {sus_list_formatted}")
|
||||||
fmt_str = "!ddd"
|
fmt_str = "!ddd"
|
||||||
inc_len = struct.calcsize(fmt_str)
|
inc_len = struct.calcsize(fmt_str)
|
||||||
sus_vec_tot = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
sus_vec_tot = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
|
|
||||||
sus_vec_tot = [f"{val:8.3f}" for val in sus_vec_tot]
|
sus_vec_tot = vec_fmt.format(*sus_vec_tot)
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
pw.dlog(f"SUS Vector Total: {sus_vec_tot}")
|
pw.dlog(f"{'SUS Vector Total'.ljust(25)}: {sus_vec_tot}")
|
||||||
sus_vec_tot_deriv = struct.unpack(
|
sus_vec_tot_deriv = struct.unpack(
|
||||||
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
||||||
)
|
)
|
||||||
sus_vec_tot_deriv = [f"{val:8.3f}" for val in {sus_vec_tot_deriv}]
|
sus_vec_tot_deriv = vec_fmt.format(*sus_vec_tot_deriv)
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
pw.dlog(f"SUS Vector Derivative: {sus_vec_tot_deriv}")
|
pw.dlog(f"{'SUS Vector Derivative'.ljust(25)}: {sus_vec_tot_deriv}")
|
||||||
sun_ijk_model = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
sun_ijk_model = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
sun_ijk_model = [f"{val:8.3f}" for val in sun_ijk_model]
|
sun_ijk_model = vec_fmt.format(*sun_ijk_model)
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
pw.dlog(f"SUS ijk Model: {sun_ijk_model}")
|
pw.dlog(f"{'SUS ijk Model'.ljust(25)}: {sun_ijk_model}")
|
||||||
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=15)
|
pw.printer.print_validity_buffer(hk_data[current_idx:], num_vars=15)
|
||||||
|
|
||||||
|
|
||||||
@ -527,44 +533,45 @@ def handle_mgm_data_processed(pw: PrintWrapper, hk_data: bytes):
|
|||||||
return
|
return
|
||||||
current_idx = 0
|
current_idx = 0
|
||||||
fmt_str = "!fff"
|
fmt_str = "!fff"
|
||||||
|
vec_fmt = "[{:8.3f}, {:8.3f}, {:8.3f}]"
|
||||||
inc_len = struct.calcsize(fmt_str)
|
inc_len = struct.calcsize(fmt_str)
|
||||||
mgm_0 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
mgm_0 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
mgm_0_str = [f"{val:8.3f}" for val in mgm_0]
|
mgm_0_str = vec_fmt.format(*mgm_0)
|
||||||
pw.dlog(f"MGM 0 Vec: {mgm_0_str}")
|
pw.dlog(f"{'MGM 0 Vec'.ljust(25)}: {mgm_0_str}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
mgm_1 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
mgm_1 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
mgm_1_str = [f"{val:8.3f}" for val in mgm_1]
|
mgm_1_str = vec_fmt.format(*mgm_1)
|
||||||
pw.dlog(f"MGM 1 Vec: {mgm_1_str}")
|
pw.dlog(f"{'MGM 1 Vec'.ljust(25)}: {mgm_1_str}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
mgm_2 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
mgm_2 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
mgm_2_str = [f"{val:8.3f}" for val in mgm_2]
|
mgm_2_str = vec_fmt.format(*mgm_2)
|
||||||
pw.dlog(f"MGM 2 Vec: {mgm_2_str}")
|
pw.dlog(f"{'MGM 2 Vec'.ljust(25)}: {mgm_2_str}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
mgm_3 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
mgm_3 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
mgm_3_str = [f"{val:8.3f}" for val in mgm_3]
|
mgm_3_str = vec_fmt.format(*mgm_3)
|
||||||
pw.dlog(f"MGM 3 Vec: {mgm_3_str}")
|
pw.dlog(f"{'MGM 3 Vec'.ljust(25)}: {mgm_3_str}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
mgm_4 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
mgm_4 = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
mgm_4_str = [f"{val:8.3f}" for val in mgm_4]
|
mgm_4_str = vec_fmt.format(*mgm_4)
|
||||||
pw.dlog(f"MGM 4 Vec: {mgm_4_str}")
|
pw.dlog(f"{'MGM 4 Vec'.ljust(25)}: {mgm_4_str}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
fmt_str = "!ddd"
|
fmt_str = "!ddd"
|
||||||
inc_len = struct.calcsize(fmt_str)
|
inc_len = struct.calcsize(fmt_str)
|
||||||
mgm_vec_tot = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
mgm_vec_tot = struct.unpack(fmt_str, hk_data[current_idx : current_idx + inc_len])
|
||||||
mgm_vec_tot = [f"{val:8.3f}" for val in mgm_vec_tot]
|
mgm_vec_tot = vec_fmt.format(*mgm_vec_tot)
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
pw.dlog(f"MGM Total Vec: {mgm_vec_tot}")
|
pw.dlog(f"{'MGM Total Vec'.ljust(25)}: {mgm_vec_tot}")
|
||||||
mgm_vec_tot_deriv = struct.unpack(
|
mgm_vec_tot_deriv = struct.unpack(
|
||||||
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
||||||
)
|
)
|
||||||
mgm_vec_tot_deriv = [f"{val:8.3f}" for val in mgm_vec_tot_deriv]
|
mgm_vec_tot_deriv = vec_fmt.format(*mgm_vec_tot_deriv)
|
||||||
pw.dlog(f"MGM Total Vec Deriv: {mgm_vec_tot_deriv}")
|
pw.dlog(f"{'MGM Total Vec Deriv'.ljust(25)}: {mgm_vec_tot_deriv}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
mag_igrf_model = struct.unpack(
|
mag_igrf_model = struct.unpack(
|
||||||
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
fmt_str, hk_data[current_idx : current_idx + inc_len]
|
||||||
)
|
)
|
||||||
mag_igrf_model = [f"{val:8.3f}" for val in mag_igrf_model]
|
mag_igrf_model = vec_fmt.format(*mag_igrf_model)
|
||||||
pw.dlog(f"MAG IGRF Model: {mag_igrf_model}")
|
pw.dlog(f"{'MAG IGRF Model'.ljust(25)}: {mag_igrf_model}")
|
||||||
current_idx += inc_len
|
current_idx += inc_len
|
||||||
if PERFORM_MGM_CALIBRATION:
|
if PERFORM_MGM_CALIBRATION:
|
||||||
perform_mgm_calibration(pw, mgm_3)
|
perform_mgm_calibration(pw, mgm_3)
|
||||||
@ -678,6 +685,8 @@ def handle_gps_data_processed(pw: PrintWrapper, hk_data: bytes):
|
|||||||
def handle_mekf_data(pw: PrintWrapper, hk_data: bytes):
|
def handle_mekf_data(pw: PrintWrapper, hk_data: bytes):
|
||||||
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_3 = "[{:8.3f}, {:8.3f}, {:8.3f}]"
|
||||||
fmt_vec = "!ddd"
|
fmt_vec = "!ddd"
|
||||||
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)
|
||||||
@ -685,22 +694,12 @@ def handle_mekf_data(pw: PrintWrapper, hk_data: bytes):
|
|||||||
pw.dlog("Received HK set too small")
|
pw.dlog("Received HK set too small")
|
||||||
return
|
return
|
||||||
current_idx = 0
|
current_idx = 0
|
||||||
quat = [
|
quat = struct.unpack(fmt_quat, hk_data[current_idx : current_idx + inc_len_quat])
|
||||||
f"{val:8.3f}"
|
|
||||||
for val in struct.unpack(
|
|
||||||
fmt_quat, hk_data[current_idx : current_idx + inc_len_quat]
|
|
||||||
)
|
|
||||||
]
|
|
||||||
current_idx += inc_len_quat
|
current_idx += inc_len_quat
|
||||||
rate = [
|
rate = struct.unpack(fmt_vec, hk_data[current_idx : current_idx + inc_len_vec])
|
||||||
f"{val:8.3f}"
|
|
||||||
for val in struct.unpack(
|
|
||||||
fmt_vec, hk_data[current_idx : current_idx + inc_len_vec]
|
|
||||||
)
|
|
||||||
]
|
|
||||||
current_idx += inc_len_vec
|
current_idx += inc_len_vec
|
||||||
pw.dlog(f"MEKF Quaternion: {quat}")
|
pw.dlog(f"{'MEKF Quaternion'.ljust(25)}: {fmt_str_4.format(*quat)}")
|
||||||
pw.dlog(f"MEKF Rotational Rate: {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=2)
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,8 +27,8 @@ classifiers =
|
|||||||
|
|
||||||
[options]
|
[options]
|
||||||
install_requires =
|
install_requires =
|
||||||
# tmtccmd @ git+https://github.com/robamu-org/tmtccmd@v4.0.0rc0
|
tmtccmd @ git+https://github.com/robamu-org/tmtccmd@v4.0.0rc1
|
||||||
tmtccmd @ git+https://github.com/robamu-org/tmtccmd@8cfa99b1e225fc6e34deec9f5223f19255374b70#egg=tmtccmd
|
# tmtccmd @ git+https://github.com/robamu-org/tmtccmd@<gitRev>#egg=tmtccmd
|
||||||
packages = find:
|
packages = find:
|
||||||
python_requires = >=3.10
|
python_requires = >=3.10
|
||||||
include_package_data = True
|
include_package_data = True
|
||||||
|
Reference in New Issue
Block a user