Merge branch 'develop' into acs-flp-safe
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good

This commit is contained in:
Marius Eggert 2023-04-05 11:05:53 +02:00
commit 4ca8c38c98
335 changed files with 4742 additions and 3096 deletions

View File

@ -2,7 +2,6 @@
<project version="4"> <project version="4">
<component name="CMakeSharedSettings"> <component name="CMakeSharedSettings">
<configurations> <configurations>
<configuration PROFILE_NAME="Debug" ENABLED="true" CONFIG_NAME="Debug" NO_GENERATOR="true" />
<configuration PROFILE_NAME="Debug Q7S" ENABLED="true" CONFIG_NAME="Debug" TOOLCHAIN_NAME="Q7S" GENERATION_OPTIONS="-DTGT_BSP=&quot;arm/q7s&quot;" NO_GENERATOR="true"> <configuration PROFILE_NAME="Debug Q7S" ENABLED="true" CONFIG_NAME="Debug" TOOLCHAIN_NAME="Q7S" GENERATION_OPTIONS="-DTGT_BSP=&quot;arm/q7s&quot;" NO_GENERATOR="true">
<ADDITIONAL_GENERATION_ENVIRONMENT> <ADDITIONAL_GENERATION_ENVIRONMENT>
<envs> <envs>

View File

@ -16,6 +16,118 @@ will consitute of a breaking change warranting a new major release:
# [unreleased] # [unreleased]
## Changed
- Adapted HK data rates to new table for LEOP SAFE mode.
- GPS controller HK is now generated periodically as well.
# [v1.43.1] 2023-04-04
## Fixed
- Generic HK handling: Bug where HKs were generated a lot more often than required. This is the case
if a device handler `PERFORM_OPERATION` step is performed more than once per PST cycle.
- Syrlinks now goes to `_MODE_TO_ON` when finishing the `doStartUp` transition.
## Changed
- Doubled GS PST interval instead of scheduling everything twice.
- Syrlinks now only has one `PERFORM_OPERATION` step, but still has two communication steps.
- PCDU components only allow setting `NEEDS_RECOVERY`, `HEALTHY` and `EXTERNAL_CONTROL` health
states now. TMP sensor components only allow `HEALTHY` , `EXTERNAL_CONTROL`, `FAULTY` and
`PERMANENT_FAULTY`.
- TCS controller now does a sanity check on the temperature values: Values below -80 C or above
160 C are ignored.
# [v1.43.0] 2023-04-04
- q7s-package: v2.4.0
- eive-tmtc: v2.21.0
## Added
- Version of thermal controller which performs basic control tasks.
- PCDU handler can now command switch of the 3V3 stack (switch ID 19)
- Set STR dev to OFF in assembly when it is faulty.
- STR: Reset data link layer and flush RX for regular commands and before performing special
commands to ensure consistent start state
## Fixed
- PTME was not reset after configuration changes.
- GPS health devices: ACS board assembly not reacts to health changes.
- STR COM helper: Reset reply size after returning a reply
## Changed
- Poll threshold configuration of the PTME IP core is now configurable via a parameter command
and is set to 0b010 (4 polls) instead of 0b001 (1 poll) per default.
- EIVE system fallback and COM system fallback: Perform general subsystem handling first, then
event reception, and finally any new transition handling.
- IMTQ MGM integration time lowered to 6 ms. This relaxes scheduling requirements a bit.
- PCDU handler switcher HK set now has additional 3V3 switcher state HK.
# [v1.42.0] 2023-04-01
- eive-tmtc: v2.20.1
- q7s-package: v2.3.0
## Changed
- SCEX filename updates. Also use T as the file ID / date separator between date and time.
- COM TM store and dump handling: Introduce modes for all 4 TM VC/store tasks. The OFF mode can be
used to disable ongoing dumps or to prevent writes to the PTME VC. This allows cleaner reset
handling of the PTME. All 4 VC/store tasks were attached to the COM mode tree and are commanded
as part of the COM sequence as well to ensure consistent state with the CCSDS IP core handler.
- Added `PTME_LOCKED` boolean lock which is used to lock the PTME so it is not used by the VC tasks
anymore. This lock will be controlled by the CCSDS IP core handler and is locked when the PTME
needs to be reset. Examples for this are datarate changes.
- Simulate real PCDU in PCDU dummy by remembering commandes switch change and triggering appropriate
events. Switch feedback is still immediate.
- GomSpace devices are polled with a doubled frequency. This speeds up power switch commanding.
## Fixed
- Bugfix for side lane transitions of the dual lane assemblies, which only worked when the
assembly was directly commanded.
- Syrlinks Handler: Bugfix so transition command is only sent once.
- SCEX file name bug: Create file name time stamp with `strftime` similarly to how it's done
for the persistent TM store.
## Added
- Added GPS0 and GPS1 health device which are used by the ACS board assembly when deciding whether
to change to the other side or to go to dual side directly. Setting the health devices to faulty
should also trigger a side switch or a switch to dual mode.
# [v1.41.0] 2023-03-28
- eive-tmtc: v2.20.0
- q7s-package: v2.2.0
## Fixed
- Proper Faulty/External Control handling for the dual lane assemblies.
- ACS board devices: Go to ON mode instead of going to NORMAL mode directly.
- SUS device handlers: Go to ON mode on startup instead of NORMAL mode.
- Tweaks for the delay handling for the persistent TM stores. This allows pushing the full
high datarate when dumping telemetry. The most important and interesting fix is that
there needs to be a small delay between the polling of the GPIO. Polling the GPIO
without any delay consecutively can lead to scheduling issues.
- Bump FSFW for fix of `ControllerBase` class `startTransition` implementation.
- Bump FSFW for possible fix of `PowerSwitcherComponent`: Initial mode `MODE_UNDEFINED`.
## Changed
- Enabled periodic hosuekeeping generation for release images.
- Project structure (linux and mission folder) is subsystem centric now.
# [v1.40.0] 2023-03-24
- eive-tmtc: v2.19.4
- q7s-packasge: v2.1.0
- Bumped fsfwgen for bugfix: Event translation can deal with duplicate event names now.
## Fixed ## Fixed
- PAPB busy polling now implemented properly with an upper bound of how often the PAPB is allowed - PAPB busy polling now implemented properly with an upper bound of how often the PAPB is allowed
@ -23,6 +135,8 @@ will consitute of a breaking change warranting a new major release:
Ideally, this will never be an issue and the PAPB VC interface should never block for a longer Ideally, this will never be an issue and the PAPB VC interface should never block for a longer
period. period.
- The `mekfInvalidCounter` now resets on setting the STR to faulty. - The `mekfInvalidCounter` now resets on setting the STR to faulty.
- Improve the SD lock handling. The file handling does not need to be locked as it
is only handled by one thread.
## Added ## Added
@ -33,6 +147,7 @@ will consitute of a breaking change warranting a new major release:
- STR: Fix weird issues on datalink layer data reception which sometimes occur. - STR: Fix weird issues on datalink layer data reception which sometimes occur.
- Syrlinks FDIR: Fully allow FDIR to do more recoveries. Assembly should take care of preventing - Syrlinks FDIR: Fully allow FDIR to do more recoveries. Assembly should take care of preventing
the switch to go off. the switch to go off.
- Allow dual lane assembly side switches.
## Changed ## Changed
@ -50,6 +165,7 @@ will consitute of a breaking change warranting a new major release:
- Fine-tuning of various task priorities. - Fine-tuning of various task priorities.
- The CSP router now is scheduled with the `SCHED_RR` policy and the same priority as the PCDU - The CSP router now is scheduled with the `SCHED_RR` policy and the same priority as the PCDU
handlers as well. handlers as well.
- Change project structure to be more subsystem centric for ACS and COM.
# [v1.39.1] 2023-03-22 # [v1.39.1] 2023-03-22

View File

@ -10,7 +10,7 @@
cmake_minimum_required(VERSION 3.13) cmake_minimum_required(VERSION 3.13)
set(OBSW_VERSION_MAJOR 1) set(OBSW_VERSION_MAJOR 1)
set(OBSW_VERSION_MINOR 39) set(OBSW_VERSION_MINOR 43)
set(OBSW_VERSION_REVISION 1) set(OBSW_VERSION_REVISION 1)
# set(CMAKE_VERBOSE TRUE) # set(CMAKE_VERBOSE TRUE)
@ -113,7 +113,7 @@ set(OBSW_ADD_TCS_CTRL
1 1
CACHE STRING "Add TCS controllers") CACHE STRING "Add TCS controllers")
set(OBSW_ADD_HEATERS set(OBSW_ADD_HEATERS
${INIT_VAL} 1
CACHE STRING "Add TCS heaters") CACHE STRING "Add TCS heaters")
set(OBSW_ADD_PLOC_SUPERVISOR set(OBSW_ADD_PLOC_SUPERVISOR
${INIT_VAL} ${INIT_VAL}
@ -297,9 +297,11 @@ include(BuildType)
set_build_type() set_build_type()
set(FSFW_DEBUG_INFO 0) set(FSFW_DEBUG_INFO 0)
set(OBSW_ENABLE_PERIODIC_HK 1)
set(Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 0) set(Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 0)
if(RELEASE_BUILD MATCHES 0) if(RELEASE_BUILD MATCHES 0)
set(FSFW_DEBUG_INFO 1) set(FSFW_DEBUG_INFO 1)
set(OBSW_ENABLE_PERIODIC_HK 0)
set(Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 1) set(Q7S_CHECK_FOR_ALREADY_RUNNING_IMG 1)
endif() endif()
@ -407,7 +409,6 @@ add_subdirectory(thirdparty)
if(EIVE_ADD_LINUX_FILES) if(EIVE_ADD_LINUX_FILES)
if(TGT_BSP MATCHES "arm/q7s") if(TGT_BSP MATCHES "arm/q7s")
add_subdirectory(${LIB_GOMSPACE_PATH}) add_subdirectory(${LIB_GOMSPACE_PATH})
add_subdirectory(${LIB_ARCSEC_PATH})
endif() endif()
add_subdirectory(${LINUX_PATH}) add_subdirectory(${LINUX_PATH})
endif() endif()
@ -485,7 +486,8 @@ endif()
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_FSFW_NAME} target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_FSFW_NAME}
${LIB_OS_NAME}) ${LIB_OS_NAME})
target_link_libraries(${LIB_DUMMIES} PUBLIC ${LIB_FSFW_NAME} ${LIB_JSON_NAME}) target_link_libraries(${LIB_DUMMIES} PUBLIC ${LIB_EIVE_MISSION}
${LIB_FSFW_NAME} ${LIB_JSON_NAME})
target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_EIVE_MISSION} ${LIB_DUMMIES}) target_link_libraries(${OBSW_NAME} PRIVATE ${LIB_EIVE_MISSION} ${LIB_DUMMIES})

View File

@ -4,13 +4,14 @@
#include <fsfw/tmtcservices/CommandingServiceBase.h> #include <fsfw/tmtcservices/CommandingServiceBase.h>
#include <fsfw/tmtcservices/PusServiceBase.h> #include <fsfw/tmtcservices/PusServiceBase.h>
#include <mission/controller/ThermalController.h> #include <mission/controller/ThermalController.h>
#include <mission/core/GenericFactory.h> #include <mission/genericFactory.h>
#include <mission/tmtc/TmFunnelHandler.h> #include <mission/tmtc/TmFunnelHandler.h>
#include <objects/systemObjectList.h> #include <objects/systemObjectList.h>
#include "../mission/utility/DummySdCardManager.h" #include "../mission/utility/DummySdCardManager.h"
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "fsfw/platform.h" #include "fsfw/platform.h"
#include "fsfw/power/PowerSwitchIF.h"
#include "fsfw_tests/integration/task/TestTask.h" #include "fsfw_tests/integration/task/TestTask.h"
#if OBSW_ADD_TMTC_UDP_SERVER == 1 #if OBSW_ADD_TMTC_UDP_SERVER == 1
@ -29,7 +30,7 @@
#include <dummies/AcuDummy.h> #include <dummies/AcuDummy.h>
#include <dummies/CoreControllerDummy.h> #include <dummies/CoreControllerDummy.h>
#include "dummies/helpers.h" #include "dummies/helperFactory.h"
#ifdef PLATFORM_UNIX #ifdef PLATFORM_UNIX
#include <fsfw_hal/linux/serial/SerialComIF.h> #include <fsfw_hal/linux/serial/SerialComIF.h>
@ -37,10 +38,10 @@
#include "devices/gpioIds.h" #include "devices/gpioIds.h"
#include "fsfw_hal/linux/gpio/Gpio.h" #include "fsfw_hal/linux/gpio/Gpio.h"
#include "linux/devices/ploc/PlocMPSoCHandler.h" #include "linux/payload/PlocMpsocHandler.h"
#include "linux/devices/ploc/PlocMPSoCHelper.h" #include "linux/payload/PlocMpsocHelper.h"
#include "linux/devices/ploc/PlocSupervisorHandler.h" #include "linux/payload/PlocSupervisorHandler.h"
#include "linux/devices/ploc/PlocSupvUartMan.h" #include "linux/payload/PlocSupvUartMan.h"
#include "test/gpio/DummyGpioIF.h" #include "test/gpio/DummyGpioIF.h"
#endif #endif
@ -67,6 +68,12 @@ void ObjectFactory::produce(void* args) {
auto* dummyGpioIF = new DummyGpioIF(); auto* dummyGpioIF = new DummyGpioIF();
auto* dummySwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0); auto* dummySwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0);
std::vector<ReturnValue_t> switcherList;
auto initVal = PowerSwitchIF::SWITCH_OFF;
for (unsigned i = 0; i < 18; i++) {
switcherList.emplace_back(initVal);
}
dummySwitcher->setInitialSwitcherList(switcherList);
#ifdef PLATFORM_UNIX #ifdef PLATFORM_UNIX
new SerialComIF(objects::UART_COM_IF); new SerialComIF(objects::UART_COM_IF);
#if OBSW_ADD_PLOC_MPSOC == 1 #if OBSW_ADD_PLOC_MPSOC == 1

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 280 translations. * @brief Auto-generated event translation file. Contains 284 translations.
* @details * @details
* Generated on: 2023-03-24 15:19:38 * Generated on: 2023-04-04 13:59:07
*/ */
#include "translateEvents.h" #include "translateEvents.h"
@ -97,7 +97,6 @@ const char *SAFE_RATE_RECOVERY_STRING = "SAFE_RATE_RECOVERY";
const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID"; const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID";
const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO"; const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO";
const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY"; const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY";
const char *MEKF_AUTOMATIC_RESET_STRING = "MEKF_AUTOMATIC_RESET";
const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION"; const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION";
const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE"; const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE";
const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT"; const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT";
@ -210,6 +209,11 @@ const char *TRANSITION_OTHER_SIDE_FAILED_STRING = "TRANSITION_OTHER_SIDE_FAILED"
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE"; const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE";
const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT"; const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED"; const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED";
const char *DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING = "DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY";
const char *TRANSITION_OTHER_SIDE_FAILED_12900_STRING = "TRANSITION_OTHER_SIDE_FAILED_12900";
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE_12901";
const char *POWER_STATE_MACHINE_TIMEOUT_12902_STRING = "POWER_STATE_MACHINE_TIMEOUT_12902";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903";
const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE"; const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE";
const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE"; const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE";
const char *CANT_GET_FIX_STRING = "CANT_GET_FIX"; const char *CANT_GET_FIX_STRING = "CANT_GET_FIX";
@ -266,21 +270,25 @@ const char *I2C_UNAVAILABLE_REBOOT_STRING = "I2C_UNAVAILABLE_REBOOT";
const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE"; const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE";
const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE"; const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE";
const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING"; const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING";
const char *PLOC_OVERHEATING_STRING = "PLOC_OVERHEATING";
const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING"; const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING";
const char *HPA_OVERHEATING_STRING = "HPA_OVERHEATING"; const char *CAMERA_OVERHEATING_STRING = "CAMERA_OVERHEATING";
const char *PLPCDU_OVERHEATING_STRING = "PLPCDU_OVERHEATING"; const char *PCDU_SYSTEM_OVERHEATING_STRING = "PCDU_SYSTEM_OVERHEATING";
const char *HEATER_NOT_OFF_FOR_OFF_MODE_STRING = "HEATER_NOT_OFF_FOR_OFF_MODE";
const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED"; const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED";
const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON"; const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON";
const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION"; const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION";
const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE"; const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE";
const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT"; const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT";
const char *DUMP_WAS_CANCELLED_STRING = "DUMP_WAS_CANCELLED";
const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE"; const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE";
const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE"; const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE";
const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE"; const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE";
const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE"; const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE";
const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE"; const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE";
const char *DUMP_OK_CANCELLED_STRING = "DUMP_OK_CANCELLED";
const char *DUMP_NOK_CANCELLED_STRING = "DUMP_NOK_CANCELLED";
const char *DUMP_MISC_CANCELLED_STRING = "DUMP_MISC_CANCELLED";
const char *DUMP_HK_CANCELLED_STRING = "DUMP_HK_CANCELLED";
const char *DUMP_CFDP_CANCELLED_STRING = "DUMP_CFDP_CANCELLED";
const char *translateEvents(Event event) { const char *translateEvents(Event event) {
switch ((event & 0xFFFF)) { switch ((event & 0xFFFF)) {
@ -469,10 +477,8 @@ const char *translateEvents(Event event) {
case (11204): case (11204):
return MEKF_RECOVERY_STRING; return MEKF_RECOVERY_STRING;
case (11205): case (11205):
return MEKF_AUTOMATIC_RESET_STRING;
case (11206):
return MEKF_INVALID_MODE_VIOLATION_STRING; return MEKF_INVALID_MODE_VIOLATION_STRING;
case (11207): case (11206):
return SAFE_MODE_CONTROLLER_FAILURE_STRING; return SAFE_MODE_CONTROLLER_FAILURE_STRING;
case (11300): case (11300):
return SWITCH_CMD_SENT_STRING; return SWITCH_CMD_SENT_STRING;
@ -694,6 +700,16 @@ const char *translateEvents(Event event) {
return POWER_STATE_MACHINE_TIMEOUT_STRING; return POWER_STATE_MACHINE_TIMEOUT_STRING;
case (12803): case (12803):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING; return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING;
case (12804):
return DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING;
case (12900):
return TRANSITION_OTHER_SIDE_FAILED_12900_STRING;
case (12901):
return NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING;
case (12902):
return POWER_STATE_MACHINE_TIMEOUT_12902_STRING;
case (12903):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING;
case (13000): case (13000):
return CHILDREN_LOST_MODE_STRING; return CHILDREN_LOST_MODE_STRING;
case (13100): case (13100):
@ -806,14 +822,14 @@ const char *translateEvents(Event event) {
return NO_HEALTHY_HEATER_AVAILABLE_STRING; return NO_HEALTHY_HEATER_AVAILABLE_STRING;
case (14102): case (14102):
return SYRLINKS_OVERHEATING_STRING; return SYRLINKS_OVERHEATING_STRING;
case (14103):
return PLOC_OVERHEATING_STRING;
case (14104): case (14104):
return OBC_OVERHEATING_STRING; return OBC_OVERHEATING_STRING;
case (14105): case (14105):
return HPA_OVERHEATING_STRING; return CAMERA_OVERHEATING_STRING;
case (14106): case (14106):
return PLPCDU_OVERHEATING_STRING; return PCDU_SYSTEM_OVERHEATING_STRING;
case (14107):
return HEATER_NOT_OFF_FOR_OFF_MODE_STRING;
case (14201): case (14201):
return TX_TIMER_EXPIRED_STRING; return TX_TIMER_EXPIRED_STRING;
case (14202): case (14202):
@ -824,8 +840,6 @@ const char *translateEvents(Event event) {
return FILE_TOO_LARGE_STRING; return FILE_TOO_LARGE_STRING;
case (14302): case (14302):
return BUSY_DUMPING_EVENT_STRING; return BUSY_DUMPING_EVENT_STRING;
case (14303):
return DUMP_WAS_CANCELLED_STRING;
case (14305): case (14305):
return DUMP_OK_STORE_DONE_STRING; return DUMP_OK_STORE_DONE_STRING;
case (14306): case (14306):
@ -836,6 +850,16 @@ const char *translateEvents(Event event) {
return DUMP_HK_STORE_DONE_STRING; return DUMP_HK_STORE_DONE_STRING;
case (14309): case (14309):
return DUMP_CFDP_STORE_DONE_STRING; return DUMP_CFDP_STORE_DONE_STRING;
case (14310):
return DUMP_OK_CANCELLED_STRING;
case (14311):
return DUMP_NOK_CANCELLED_STRING;
case (14312):
return DUMP_MISC_CANCELLED_STRING;
case (14313):
return DUMP_HK_CANCELLED_STRING;
case (14314):
return DUMP_CFDP_CANCELLED_STRING;
default: default:
return "UNKNOWN_EVENT"; return "UNKNOWN_EVENT";
} }

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 169 translations. * Contains 171 translations.
* Generated on: 2023-03-24 15:19:38 * Generated on: 2023-04-04 13:59:07
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -38,6 +38,8 @@ const char *GYRO_3_L3G_HANDLER_STRING = "GYRO_3_L3G_HANDLER";
const char *RW4_STRING = "RW4"; const char *RW4_STRING = "RW4";
const char *STAR_TRACKER_STRING = "STAR_TRACKER"; const char *STAR_TRACKER_STRING = "STAR_TRACKER";
const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER"; const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER";
const char *GPS_0_HEALTH_DEV_STRING = "GPS_0_HEALTH_DEV";
const char *GPS_1_HEALTH_DEV_STRING = "GPS_1_HEALTH_DEV";
const char *IMTQ_POLLING_STRING = "IMTQ_POLLING"; const char *IMTQ_POLLING_STRING = "IMTQ_POLLING";
const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER"; const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER";
const char *PCDU_HANDLER_STRING = "PCDU_HANDLER"; const char *PCDU_HANDLER_STRING = "PCDU_HANDLER";
@ -242,6 +244,10 @@ const char *translateObject(object_id_t object) {
return STAR_TRACKER_STRING; return STAR_TRACKER_STRING;
case 0x44130045: case 0x44130045:
return GPS_CONTROLLER_STRING; return GPS_CONTROLLER_STRING;
case 0x44130046:
return GPS_0_HEALTH_DEV_STRING;
case 0x44130047:
return GPS_1_HEALTH_DEV_STRING;
case 0x44140013: case 0x44140013:
return IMTQ_POLLING_STRING; return IMTQ_POLLING_STRING;
case 0x44140014: case 0x44140014:

View File

@ -14,7 +14,7 @@
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "ObjectFactory.h" #include "ObjectFactory.h"
#include "mission/core/scheduling.h" #include "mission/scheduling.h"
#include "scheduling.h" #include "scheduling.h"
#ifdef LINUX #ifdef LINUX
@ -156,6 +156,10 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("THERMAL_CONTROLLER", objects::THERMAL_CONTROLLER); scheduling::printAddObjectError("THERMAL_CONTROLLER", objects::THERMAL_CONTROLLER);
} }
result = thermalTask->addComponent(objects::HEATER_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("HEATER_HANDLER", objects::HEATER_HANDLER);
}
FixedTimeslotTaskIF* pstTask = factory->createFixedTimeslotTask( FixedTimeslotTaskIF* pstTask = factory->createFixedTimeslotTask(
"DUMMY_PST", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5, missedDeadlineFunc); "DUMMY_PST", 75, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5, missedDeadlineFunc);
@ -193,7 +197,8 @@ void scheduling::initTasks() {
#endif /* OBSW_ADD_TEST_CODE == 1 */ #endif /* OBSW_ADD_TEST_CODE == 1 */
PeriodicTaskIF* dummyTask = factory->createPeriodicTask( PeriodicTaskIF* dummyTask = factory->createPeriodicTask(
"DUMMY_TASK", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc); "DUMMY_TASK", 35, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
dummyTask->addComponent(objects::THERMAL_TEMP_INSERTER);
scheduling::scheduleTmpTempSensors(dummyTask); scheduling::scheduleTmpTempSensors(dummyTask);
scheduling::scheduleRtdSensors(dummyTask); scheduling::scheduleRtdSensors(dummyTask);
dummyTask->addComponent(objects::SUS_0_N_LOC_XFYFZM_PT_XF); dummyTask->addComponent(objects::SUS_0_N_LOC_XFYFZM_PT_XF);

View File

@ -13,9 +13,12 @@
/** All of the following flags should be enabled for mission code */ /** All of the following flags should be enabled for mission code */
/*******************************************************************/ /*******************************************************************/
#define OBSW_ENABLE_PERIODIC_HK 0 // This enables a lot of periodically generated telemetry, so it can make sense to
// disable this for debugging purposes.
#define OBSW_ENABLE_PERIODIC_HK @OBSW_ENABLE_PERIODIC_HK@
// This switch will cause the SW to command the EIVE system object to safe mode. This will // This switch will cause the SW to command the EIVE system object to safe mode. This will
// trigger a lot of events, so it can make sense to disable this for debugging purposes // trigger a lot of events, so it can make sense to disable this for debugging purposes.
#define OBSW_COMMAND_SAFE_MODE_AT_STARTUP 1 #define OBSW_COMMAND_SAFE_MODE_AT_STARTUP 1
#define OBSW_ADD_GOMSPACE_PCDU @OBSW_ADD_GOMSPACE_PCDU@ #define OBSW_ADD_GOMSPACE_PCDU @OBSW_ADD_GOMSPACE_PCDU@
@ -28,8 +31,8 @@
#define OBSW_ADD_SUS_BOARD_ASS @OBSW_ADD_SUS_BOARD_ASS@ #define OBSW_ADD_SUS_BOARD_ASS @OBSW_ADD_SUS_BOARD_ASS@
#define OBSW_ADD_ACS_BOARD @OBSW_ADD_ACS_BOARD@ #define OBSW_ADD_ACS_BOARD @OBSW_ADD_ACS_BOARD@
#define OBSW_ADD_ACS_CTRL 1 #define OBSW_ADD_ACS_CTRL 1
#define OBSW_ADD_TCS_CTRL 1
#define OBSW_ADD_GPS_CTRL @OBSW_ADD_GPS_CTRL@ #define OBSW_ADD_GPS_CTRL @OBSW_ADD_GPS_CTRL@
#define OBSW_ADD_TCS_CTRL @OBSW_ADD_TCS_CTRL@
#define OBSW_ADD_RW @OBSW_ADD_RW@ #define OBSW_ADD_RW @OBSW_ADD_RW@
#define OBSW_ADD_RTD_DEVICES @OBSW_ADD_RTD_DEVICES@ #define OBSW_ADD_RTD_DEVICES @OBSW_ADD_RTD_DEVICES@
#define OBSW_ADD_SA_DEPL @OBSW_ADD_SA_DEPL@ #define OBSW_ADD_SA_DEPL @OBSW_ADD_SA_DEPL@

View File

@ -1,9 +1,9 @@
#ifndef BSP_Q7S_CALLBACKS_PCDUSWITCHCB_H_ #ifndef BSP_Q7S_CALLBACKS_PCDUSWITCHCB_H_
#define BSP_Q7S_CALLBACKS_PCDUSWITCHCB_H_ #define BSP_Q7S_CALLBACKS_PCDUSWITCHCB_H_
#include <cstdint> #include <mission/power/gsDefs.h>
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h" #include <cstdint>
namespace pcdu { namespace pcdu {

View File

@ -6,7 +6,7 @@
#include "fsfw/serviceinterface/ServiceInterface.h" #include "fsfw/serviceinterface/ServiceInterface.h"
#include "fsfw_hal/linux/UnixFileGuard.h" #include "fsfw_hal/linux/UnixFileGuard.h"
#include "fsfw_hal/linux/spi/SpiCookie.h" #include "fsfw_hal/linux/spi/SpiCookie.h"
#include "mission/devices/RwHandler.h" #include "mission/acs/RwHandler.h"
namespace rwSpiCallback { namespace rwSpiCallback {

View File

@ -31,8 +31,10 @@
xsc::Chip CoreController::CURRENT_CHIP = xsc::Chip::NO_CHIP; xsc::Chip CoreController::CURRENT_CHIP = xsc::Chip::NO_CHIP;
xsc::Copy CoreController::CURRENT_COPY = xsc::Copy::NO_COPY; xsc::Copy CoreController::CURRENT_COPY = xsc::Copy::NO_COPY;
CoreController::CoreController(object_id_t objectId, const std::atomic_uint16_t &i2cErrors) CoreController::CoreController(object_id_t objectId, const std::atomic_uint16_t &i2cErrors,
bool enableHkSet)
: ExtendedControllerBase(objectId, 5), : ExtendedControllerBase(objectId, 5),
enableHkSet(enableHkSet),
cmdExecutor(4096), cmdExecutor(4096),
cmdReplyBuf(4096, true), cmdReplyBuf(4096, true),
cmdRepliesSizes(128), cmdRepliesSizes(128),
@ -136,7 +138,7 @@ ReturnValue_t CoreController::initializeLocalDataPool(localpool::DataPool &local
localDataPoolMap.emplace(core::TEMPERATURE, &tempPoolEntry); localDataPoolMap.emplace(core::TEMPERATURE, &tempPoolEntry);
localDataPoolMap.emplace(core::PS_VOLTAGE, &psVoltageEntry); localDataPoolMap.emplace(core::PS_VOLTAGE, &psVoltageEntry);
localDataPoolMap.emplace(core::PL_VOLTAGE, &plVoltageEntry); localDataPoolMap.emplace(core::PL_VOLTAGE, &plVoltageEntry);
poolManager.subscribeForRegularPeriodicPacket({hkSet.getSid(), false, 10.0}); poolManager.subscribeForRegularPeriodicPacket({hkSet.getSid(), enableHkSet, 60.0});
return returnvalue::OK; return returnvalue::OK;
} }

View File

@ -5,6 +5,8 @@
#include <fsfw/container/SimpleRingBuffer.h> #include <fsfw/container/SimpleRingBuffer.h>
#include <fsfw/globalfunctions/PeriodicOperationDivider.h> #include <fsfw/globalfunctions/PeriodicOperationDivider.h>
#include <libxiphos.h> #include <libxiphos.h>
#include <mission/acs/archive/GPSDefinitions.h>
#include <mission/utility/trace.h>
#include <atomic> #include <atomic>
#include <cstddef> #include <cstddef>
@ -14,8 +16,6 @@
#include "bsp_q7s/fs/SdCardManager.h" #include "bsp_q7s/fs/SdCardManager.h"
#include "events/subsystemIdRanges.h" #include "events/subsystemIdRanges.h"
#include "fsfw/controller/ExtendedControllerBase.h" #include "fsfw/controller/ExtendedControllerBase.h"
#include "mission/devices/devicedefinitions/GPSDefinitions.h"
#include "mission/trace.h"
class Timer; class Timer;
class SdCardManager; class SdCardManager;
@ -135,7 +135,7 @@ class CoreController : public ExtendedControllerBase {
static constexpr Event I2C_UNAVAILABLE_REBOOT = static constexpr Event I2C_UNAVAILABLE_REBOOT =
event::makeEvent(SUBSYSTEM_ID, 10, severity::MEDIUM); event::makeEvent(SUBSYSTEM_ID, 10, severity::MEDIUM);
CoreController(object_id_t objectId, const std::atomic_uint16_t& i2cErrors); CoreController(object_id_t objectId, const std::atomic_uint16_t& i2cErrors, bool enableHkSet);
virtual ~CoreController(); virtual ~CoreController();
ReturnValue_t initialize() override; ReturnValue_t initialize() override;
@ -179,6 +179,7 @@ class CoreController : public ExtendedControllerBase {
static constexpr uint32_t BOOT_OFFSET_SECONDS = 15; static constexpr uint32_t BOOT_OFFSET_SECONDS = 15;
static constexpr MutexIF::TimeoutType TIMEOUT_TYPE = MutexIF::TimeoutType::WAITING; static constexpr MutexIF::TimeoutType TIMEOUT_TYPE = MutexIF::TimeoutType::WAITING;
static constexpr uint32_t MUTEX_TIMEOUT = 20; static constexpr uint32_t MUTEX_TIMEOUT = 20;
bool enableHkSet = false;
GpsHyperion::FixMode gpsFix = GpsHyperion::FixMode::UNKNOWN; GpsHyperion::FixMode gpsFix = GpsHyperion::FixMode::UNKNOWN;
// States for SD state machine, which is used in non-blocking mode // States for SD state machine, which is used in non-blocking mode

View File

@ -1,22 +1,34 @@
#include "ObjectFactory.h" #include "ObjectFactory.h"
#include <fsfw/devicehandlers/HealthDevice.h>
#include <fsfw/subsystem/Subsystem.h> #include <fsfw/subsystem/Subsystem.h>
#include <linux/devices/AcsBoardPolling.h> #include <linux/acs/AcsBoardPolling.h>
#include <linux/devices/ImtqPollingTask.h> #include <linux/acs/GpsHyperionLinuxController.h>
#include <linux/devices/RwPollingTask.h> #include <linux/acs/ImtqPollingTask.h>
#include <linux/devices/SyrlinksComHandler.h> #include <linux/acs/RwPollingTask.h>
#include <linux/devices/startracker/StrComHandler.h> #include <linux/acs/StrComHandler.h>
#include <mission/devices/GyrL3gCustomHandler.h> #include <linux/com/SyrlinksComHandler.h>
#include <mission/devices/MgmLis3CustomHandler.h> #include <linux/payload/PlocMemoryDumper.h>
#include <mission/devices/MgmRm3100CustomHandler.h> #include <linux/payload/PlocMpsocHandler.h>
#include <mission/system/fdir/StrFdir.h> #include <linux/payload/PlocMpsocHelper.h>
#include <linux/payload/PlocSupervisorHandler.h>
#include <linux/payload/ScexUartReader.h>
#include <linux/payload/plocMpscoDefs.h>
#include <linux/power/CspComIF.h>
#include <mission/acs/GyrL3gCustomHandler.h>
#include <mission/acs/MgmLis3CustomHandler.h>
#include <mission/acs/MgmRm3100CustomHandler.h>
#include <mission/acs/str/StarTrackerHandler.h>
#include <mission/acs/str/strHelpers.h>
#include <mission/com/LiveTmTask.h>
#include <mission/com/PersistentLogTmStoreTask.h>
#include <mission/com/PersistentSingleTmStoreTask.h>
#include <mission/power/CspCookie.h>
#include <mission/system/acs/ImtqAssembly.h>
#include <mission/system/acs/StrAssembly.h>
#include <mission/system/acs/StrFdir.h>
#include <mission/system/objects/CamSwitcher.h> #include <mission/system/objects/CamSwitcher.h>
#include <mission/system/objects/ImtqAssembly.h>
#include <mission/system/objects/StrAssembly.h>
#include <mission/system/objects/SyrlinksAssembly.h> #include <mission/system/objects/SyrlinksAssembly.h>
#include <mission/tmtc/LiveTmTask.h>
#include <mission/tmtc/PersistentLogTmStoreTask.h>
#include <mission/tmtc/PersistentSingleTmStoreTask.h>
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "bsp_q7s/boardtest/Q7STestTask.h" #include "bsp_q7s/boardtest/Q7STestTask.h"
@ -37,33 +49,22 @@
#include "linux/boardtest/SpiTestClass.h" #include "linux/boardtest/SpiTestClass.h"
#include "linux/boardtest/UartTestClass.h" #include "linux/boardtest/UartTestClass.h"
#include "linux/callbacks/gpioCallbacks.h" #include "linux/callbacks/gpioCallbacks.h"
#include "linux/csp/CspComIF.h"
#include "linux/devices/GpsHyperionLinuxController.h"
#include "linux/devices/ScexUartReader.h"
#include "linux/devices/devicedefinitions/PlocMPSoCDefinitions.h"
#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h"
#include "linux/devices/ploc/PlocMPSoCHandler.h"
#include "linux/devices/ploc/PlocMPSoCHelper.h"
#include "linux/devices/ploc/PlocMemoryDumper.h"
#include "linux/devices/ploc/PlocSupervisorHandler.h"
#include "linux/devices/startracker/StarTrackerHandler.h"
#include "linux/ipcore/AxiPtmeConfig.h" #include "linux/ipcore/AxiPtmeConfig.h"
#include "linux/ipcore/PapbVcInterface.h" #include "linux/ipcore/PapbVcInterface.h"
#include "linux/ipcore/PdecHandler.h" #include "linux/ipcore/PdecHandler.h"
#include "linux/ipcore/Ptme.h" #include "linux/ipcore/Ptme.h"
#include "linux/ipcore/PtmeConfig.h" #include "linux/ipcore/PtmeConfig.h"
#include "mission/config/configfile.h" #include "mission/config/configfile.h"
#include "mission/csp/CspCookie.h" #include "mission/system/acs/AcsBoardFdir.h"
#include "mission/system/fdir/AcsBoardFdir.h" #include "mission/system/acs/AcsSubsystem.h"
#include "mission/system/fdir/GomspacePowerFdir.h" #include "mission/system/acs/RwAssembly.h"
#include "mission/system/acs/SusFdir.h"
#include "mission/system/acs/acsModeTree.h"
#include "mission/system/com/SyrlinksFdir.h"
#include "mission/system/com/comModeTree.h"
#include "mission/system/fdir/RtdFdir.h" #include "mission/system/fdir/RtdFdir.h"
#include "mission/system/fdir/SusFdir.h"
#include "mission/system/fdir/SyrlinksFdir.h"
#include "mission/system/objects/AcsSubsystem.h"
#include "mission/system/objects/RwAssembly.h"
#include "mission/system/objects/TcsBoardAssembly.h" #include "mission/system/objects/TcsBoardAssembly.h"
#include "mission/system/tree/acsModeTree.h" #include "mission/system/power/GomspacePowerFdir.h"
#include "mission/system/tree/comModeTree.h"
#include "mission/system/tree/payloadModeTree.h" #include "mission/system/tree/payloadModeTree.h"
#include "mission/system/tree/tcsModeTree.h" #include "mission/system/tree/tcsModeTree.h"
#include "mission/tmtc/tmFilters.h" #include "mission/tmtc/tmFilters.h"
@ -75,14 +76,27 @@ using gpio::Levels;
#if OBSW_TEST_LIBGPIOD == 1 #if OBSW_TEST_LIBGPIOD == 1
#include "linux/boardtest/LibgpiodTest.h" #include "linux/boardtest/LibgpiodTest.h"
#endif #endif
#include <mission/devices/GyrAdis1650XHandler.h> #include <mission/SolarArrayDeploymentHandler.h>
#include <mission/devices/ImtqHandler.h> #include <mission/acs/GyrAdis1650XHandler.h>
#include <mission/devices/PcduHandler.h> #include <mission/acs/ImtqHandler.h>
#include <mission/devices/Pdu1Handler.h> #include <mission/acs/rwHelpers.h>
#include <mission/devices/Pdu2Handler.h> #include <mission/com/SyrlinksHandler.h>
#include <mission/devices/SyrlinksHandler.h> #include <mission/com/VirtualChannelWithQueue.h>
#include <mission/devices/devicedefinitions/rwHelpers.h> #include <mission/payload/PayloadPcduHandler.h>
#include <mission/tmtc/VirtualChannelWithQueue.h> #include <mission/payload/RadiationSensorHandler.h>
#include <mission/payload/payloadPcduDefinitions.h>
#include <mission/payload/radSensorDefinitions.h>
#include <mission/power/AcuHandler.h>
#include <mission/power/BpxBatteryHandler.h>
#include <mission/power/P60DockHandler.h>
#include <mission/power/PcduHandler.h>
#include <mission/power/Pdu1Handler.h>
#include <mission/power/Pdu2Handler.h>
#include <mission/power/gsDefs.h>
#include <mission/tcs/HeaterHandler.h>
#include <mission/tcs/Max31865Definitions.h>
#include <mission/tcs/Max31865PT1000Handler.h>
#include <mission/tcs/Tmp1075Handler.h>
#include <sstream> #include <sstream>
@ -102,28 +116,16 @@ using gpio::Levels;
#include "fsfw_hal/linux/serial/SerialCookie.h" #include "fsfw_hal/linux/serial/SerialCookie.h"
#include "fsfw_hal/linux/spi/SpiComIF.h" #include "fsfw_hal/linux/spi/SpiComIF.h"
#include "fsfw_hal/linux/spi/SpiCookie.h" #include "fsfw_hal/linux/spi/SpiCookie.h"
#include "mission/core/GenericFactory.h" #include "mission/acs/RwHandler.h"
#include "mission/devices/ACUHandler.h" #include "mission/com/CcsdsIpCoreHandler.h"
#include "mission/devices/BpxBatteryHandler.h" #include "mission/com/syrlinksDefs.h"
#include "mission/devices/HeaterHandler.h" #include "mission/genericFactory.h"
#include "mission/devices/Max31865PT1000Handler.h" #include "mission/system/acs/AcsBoardAssembly.h"
#include "mission/devices/P60DockHandler.h"
#include "mission/devices/PayloadPcduHandler.h"
#include "mission/devices/RadiationSensorHandler.h"
#include "mission/devices/RwHandler.h"
#include "mission/devices/SolarArrayDeploymentHandler.h"
#include "mission/devices/Tmp1075Handler.h"
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
#include "mission/devices/devicedefinitions/RadSensorDefinitions.h"
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
#include "mission/devices/devicedefinitions/payloadPcduDefinitions.h"
#include "mission/system/objects/AcsBoardAssembly.h"
#include "mission/tmtc/CcsdsIpCoreHandler.h"
#include "mission/tmtc/TmFunnelHandler.h" #include "mission/tmtc/TmFunnelHandler.h"
ResetArgs RESET_ARGS_GNSS; ResetArgs RESET_ARGS_GNSS;
std::atomic_bool LINK_STATE = CcsdsIpCoreHandler::LINK_DOWN; std::atomic_bool LINK_STATE = CcsdsIpCoreHandler::LINK_DOWN;
std::atomic_bool PTME_LOCKED = false;
std::atomic_uint16_t I2C_FATAL_ERRORS = 0; std::atomic_uint16_t I2C_FATAL_ERRORS = 0;
void Factory::setStaticFrameworkObjectIds() { void Factory::setStaticFrameworkObjectIds() {
@ -187,27 +189,28 @@ void ObjectFactory::createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF,
//*spiRWComIF = new SpiComIF(objects::SPI_RW_COM_IF, q7s::SPI_RW_DEV, **gpioComIF); //*spiRWComIF = new SpiComIF(objects::SPI_RW_COM_IF, q7s::SPI_RW_DEV, **gpioComIF);
} }
void ObjectFactory::createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher) { void ObjectFactory::createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher,
bool enableHkSets) {
CspCookie* p60DockCspCookie = new CspCookie(P60Dock::MAX_REPLY_SIZE, addresses::P60DOCK, 500); CspCookie* p60DockCspCookie = new CspCookie(P60Dock::MAX_REPLY_SIZE, addresses::P60DOCK, 500);
CspCookie* pdu1CspCookie = new CspCookie(PDU::MAX_REPLY_SIZE, addresses::PDU1, 500); CspCookie* pdu1CspCookie = new CspCookie(PDU::MAX_REPLY_SIZE, addresses::PDU1, 500);
CspCookie* pdu2CspCookie = new CspCookie(PDU::MAX_REPLY_SIZE, addresses::PDU2, 500); CspCookie* pdu2CspCookie = new CspCookie(PDU::MAX_REPLY_SIZE, addresses::PDU2, 500);
CspCookie* acuCspCookie = new CspCookie(ACU::MAX_REPLY_SIZE, addresses::ACU, 500); CspCookie* acuCspCookie = new CspCookie(ACU::MAX_REPLY_SIZE, addresses::ACU, 500);
auto p60Fdir = new GomspacePowerFdir(objects::P60DOCK_HANDLER); auto p60Fdir = new GomspacePowerFdir(objects::P60DOCK_HANDLER);
P60DockHandler* p60dockhandler = P60DockHandler* p60dockhandler = new P60DockHandler(objects::P60DOCK_HANDLER, objects::CSP_COM_IF,
new P60DockHandler(objects::P60DOCK_HANDLER, objects::CSP_COM_IF, p60DockCspCookie, p60Fdir); p60DockCspCookie, p60Fdir, enableHkSets);
auto pdu1Fdir = new GomspacePowerFdir(objects::PDU1_HANDLER); auto pdu1Fdir = new GomspacePowerFdir(objects::PDU1_HANDLER);
Pdu1Handler* pdu1handler = Pdu1Handler* pdu1handler = new Pdu1Handler(objects::PDU1_HANDLER, objects::CSP_COM_IF,
new Pdu1Handler(objects::PDU1_HANDLER, objects::CSP_COM_IF, pdu1CspCookie, pdu1Fdir); pdu1CspCookie, pdu1Fdir, enableHkSets);
auto pdu2Fdir = new GomspacePowerFdir(objects::PDU2_HANDLER); auto pdu2Fdir = new GomspacePowerFdir(objects::PDU2_HANDLER);
Pdu2Handler* pdu2handler = Pdu2Handler* pdu2handler = new Pdu2Handler(objects::PDU2_HANDLER, objects::CSP_COM_IF,
new Pdu2Handler(objects::PDU2_HANDLER, objects::CSP_COM_IF, pdu2CspCookie, pdu2Fdir); pdu2CspCookie, pdu2Fdir, enableHkSets);
auto acuFdir = new GomspacePowerFdir(objects::ACU_HANDLER); auto acuFdir = new GomspacePowerFdir(objects::ACU_HANDLER);
ACUHandler* acuhandler = ACUHandler* acuhandler = new ACUHandler(objects::ACU_HANDLER, objects::CSP_COM_IF, acuCspCookie,
new ACUHandler(objects::ACU_HANDLER, objects::CSP_COM_IF, acuCspCookie, acuFdir); acuFdir, enableHkSets);
auto pcduHandler = new PcduHandler(objects::PCDU_HANDLER, 50); auto pcduHandler = new PcduHandler(objects::PCDU_HANDLER, 50);
/** /**
@ -357,7 +360,8 @@ void ObjectFactory::createAcsBoardGpios(GpioCookie& cookie) {
} }
void ObjectFactory::createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF* gpioComIF, void ObjectFactory::createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF* gpioComIF,
SerialComIF* uartComIF, PowerSwitchIF& pwrSwitcher) { SerialComIF* uartComIF, PowerSwitchIF& pwrSwitcher,
bool enableHkSets) {
using namespace gpio; using namespace gpio;
GpioCookie* gpioCookieAcsBoard = new GpioCookie(); GpioCookie* gpioCookieAcsBoard = new GpioCookie();
createAcsBoardGpios(*gpioCookieAcsBoard); createAcsBoardGpios(*gpioCookieAcsBoard);
@ -511,8 +515,8 @@ void ObjectFactory::createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF*
#endif #endif
RESET_ARGS_GNSS.gpioComIF = gpioComIF; RESET_ARGS_GNSS.gpioComIF = gpioComIF;
RESET_ARGS_GNSS.waitPeriodMs = 100; RESET_ARGS_GNSS.waitPeriodMs = 100;
auto gpsCtrl = auto gpsCtrl = new GpsHyperionLinuxController(objects::GPS_CONTROLLER, objects::NO_OBJECT,
new GpsHyperionLinuxController(objects::GPS_CONTROLLER, objects::NO_OBJECT, debugGps); enableHkSets, debugGps);
gpsCtrl->setResetPinTriggerFunction(gps::triggerGpioResetPin, &RESET_ARGS_GNSS); gpsCtrl->setResetPinTriggerFunction(gps::triggerGpioResetPin, &RESET_ARGS_GNSS);
ObjectFactory::createAcsBoardAssy(pwrSwitcher, assemblyChildren, gpsCtrl, gpioComIF); ObjectFactory::createAcsBoardAssy(pwrSwitcher, assemblyChildren, gpsCtrl, gpioComIF);
@ -587,7 +591,7 @@ void ObjectFactory::createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitc
} }
new SolarArrayDeploymentHandler(objects::SOLAR_ARRAY_DEPL_HANDLER, gpioIF, pwrSwitcher, new SolarArrayDeploymentHandler(objects::SOLAR_ARRAY_DEPL_HANDLER, gpioIF, pwrSwitcher,
pcdu::Switches::PDU2_CH5_DEPLOYMENT_MECHANISM_8V, power::Switches::PDU2_CH5_DEPLOYMENT_MECHANISM_8V,
gpioIds::DEPLSA1, gpioIds::DEPLSA2, *SdCardManager::instance()); gpioIds::DEPLSA1, gpioIds::DEPLSA2, *SdCardManager::instance());
} }
@ -603,7 +607,7 @@ void ObjectFactory::createSyrlinksComponents(PowerSwitchIF* pwrSwitcher) {
auto syrlinksFdir = new SyrlinksFdir(objects::SYRLINKS_HANDLER); auto syrlinksFdir = new SyrlinksFdir(objects::SYRLINKS_HANDLER);
auto syrlinksHandler = auto syrlinksHandler =
new SyrlinksHandler(objects::SYRLINKS_HANDLER, objects::SYRLINKS_COM_HANDLER, new SyrlinksHandler(objects::SYRLINKS_HANDLER, objects::SYRLINKS_COM_HANDLER,
syrlinksUartCookie, pcdu::PDU1_CH1_SYRLINKS_12V, syrlinksFdir); syrlinksUartCookie, power::PDU1_CH1_SYRLINKS_12V, syrlinksFdir);
syrlinksHandler->setPowerSwitcher(pwrSwitcher); syrlinksHandler->setPowerSwitcher(pwrSwitcher);
syrlinksHandler->connectModeTreeParent(*syrlinksAssy); syrlinksHandler->connectModeTreeParent(*syrlinksAssy);
#if OBSW_DEBUG_SYRLINKS == 1 #if OBSW_DEBUG_SYRLINKS == 1
@ -615,7 +619,7 @@ void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwit
using namespace gpio; using namespace gpio;
std::stringstream consumer; std::stringstream consumer;
auto* camSwitcher = auto* camSwitcher =
new CamSwitcher(objects::CAM_SWITCHER, pwrSwitch, pcdu::PDU2_CH8_PAYLOAD_CAMERA); new CamSwitcher(objects::CAM_SWITCHER, pwrSwitch, power::PDU2_CH8_PAYLOAD_CAMERA);
camSwitcher->connectModeTreeParent(satsystem::payload::SUBSYSTEM); camSwitcher->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
#if OBSW_ADD_PLOC_MPSOC == 1 #if OBSW_ADD_PLOC_MPSOC == 1
consumer << "0x" << std::hex << objects::PLOC_MPSOC_HANDLER; consumer << "0x" << std::hex << objects::PLOC_MPSOC_HANDLER;
@ -648,7 +652,7 @@ void ObjectFactory::createPayloadComponents(LinuxLibgpioIF* gpioComIF, PowerSwit
auto supvHelper = new PlocSupvUartManager(objects::PLOC_SUPERVISOR_HELPER); auto supvHelper = new PlocSupvUartManager(objects::PLOC_SUPERVISOR_HELPER);
auto* supvHandler = new PlocSupervisorHandler(objects::PLOC_SUPERVISOR_HANDLER, supervisorCookie, auto* supvHandler = new PlocSupervisorHandler(objects::PLOC_SUPERVISOR_HANDLER, supervisorCookie,
Gpio(gpioIds::ENABLE_SUPV_UART, gpioComIF), Gpio(gpioIds::ENABLE_SUPV_UART, gpioComIF),
pcdu::PDU1_CH6_PLOC_12V, *supvHelper); power::PDU1_CH6_PLOC_12V, *supvHelper);
supvHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM); supvHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
#endif /* OBSW_ADD_PLOC_SUPERVISOR == 1 */ #endif /* OBSW_ADD_PLOC_SUPERVISOR == 1 */
static_cast<void>(consumer); static_cast<void>(consumer);
@ -725,7 +729,7 @@ void ObjectFactory::createReactionWheelComponents(LinuxLibgpioIF* gpioComIF,
rws[idx] = rwHandler; rws[idx] = rwHandler;
} }
createRwAssy(*pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds); createRwAssy(*pwrSwitcher, power::Switches::PDU2_CH2_RW_5V, rws, rwIds);
#endif /* OBSW_ADD_RW == 1 */ #endif /* OBSW_ADD_RW == 1 */
} }
@ -750,10 +754,8 @@ ReturnValue_t ObjectFactory::createCcsdsComponents(CcsdsComponentArgs& args) {
gpioCookiePtmeIp->addGpio(gpioIds::VC3_PAPB_BUSY, gpio); gpioCookiePtmeIp->addGpio(gpioIds::VC3_PAPB_BUSY, gpio);
gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC3, "PAPB VC3"); gpio = new GpiodRegularByLineName(q7s::gpioNames::PAPB_EMPTY_SIGNAL_VC3, "PAPB VC3");
gpioCookiePtmeIp->addGpio(gpioIds::VC3_PAPB_EMPTY, gpio); gpioCookiePtmeIp->addGpio(gpioIds::VC3_PAPB_EMPTY, gpio);
// Initialise to low and then pull high to do a PTME reset, which puts the PTME in reset
// state. It will be put out of reset in the CCSDS handler initialize function.
gpio = new GpiodRegularByLineName(q7s::gpioNames::PTME_RESETN, "PTME RESETN", gpio = new GpiodRegularByLineName(q7s::gpioNames::PTME_RESETN, "PTME RESETN",
gpio::Direction::OUT, gpio::Levels::LOW); gpio::Direction::OUT, gpio::Levels::HIGH);
gpioCookiePtmeIp->addGpio(gpioIds::PTME_RESETN, gpio); gpioCookiePtmeIp->addGpio(gpioIds::PTME_RESETN, gpio);
gpioChecker(args.gpioComIF.addGpios(gpioCookiePtmeIp), "PTME PAPB VCs"); gpioChecker(args.gpioComIF.addGpios(gpioCookiePtmeIp), "PTME PAPB VCs");
@ -787,34 +789,42 @@ ReturnValue_t ObjectFactory::createCcsdsComponents(CcsdsComponentArgs& args) {
*args.ipCoreHandler = *args.ipCoreHandler =
new CcsdsIpCoreHandler(objects::CCSDS_HANDLER, objects::CCSDS_PACKET_DISTRIBUTOR, *ptmeConfig, new CcsdsIpCoreHandler(objects::CCSDS_HANDLER, objects::CCSDS_PACKET_DISTRIBUTOR, *ptmeConfig,
LINK_STATE, &args.gpioComIF, gpios); LINK_STATE, &args.gpioComIF, gpios, PTME_LOCKED);
// This VC will receive all live TM // This VC will receive all live TM
auto* vcWithQueue = auto* vcWithQueue =
new VirtualChannelWithQueue(objects::PTME_VC0_LIVE_TM, ccsds::VC0, "PTME VC0 LIVE TM", *ptme, new VirtualChannelWithQueue(objects::PTME_VC0_LIVE_TM, ccsds::VC0, "PTME VC0 LIVE TM", *ptme,
LINK_STATE, args.tmStore, 500); LINK_STATE, args.tmStore, 500);
args.liveDestination = vcWithQueue; args.liveDestination = vcWithQueue;
new LiveTmTask(objects::LIVE_TM_TASK, args.pusFunnel, args.cfdpFunnel, *vcWithQueue); auto* liveTask = new LiveTmTask(objects::LIVE_TM_TASK, args.pusFunnel, args.cfdpFunnel,
*vcWithQueue, PTME_LOCKED);
liveTask->connectModeTreeParent(satsystem::com::SUBSYSTEM);
// Set up log store. // Set up log store.
auto* vc = new VirtualChannel(objects::PTME_VC1_LOG_TM, ccsds::VC1, "PTME VC1 LOG TM", *ptme, auto* vc = new VirtualChannel(objects::PTME_VC1_LOG_TM, ccsds::VC1, "PTME VC1 LOG TM", *ptme,
LINK_STATE); LINK_STATE);
LogStores logStores(args.stores); LogStores logStores(args.stores);
// Core task which handles the LOG store and takes care of dumping it as TM using a VC directly // Core task which handles the LOG store and takes care of dumping it as TM using a VC directly
auto* logStore =
new PersistentLogTmStoreTask(objects::LOG_STORE_AND_TM_TASK, args.ipcStore, logStores, *vc, new PersistentLogTmStoreTask(objects::LOG_STORE_AND_TM_TASK, args.ipcStore, logStores, *vc,
*SdCardManager::instance()); *SdCardManager::instance(), PTME_LOCKED);
logStore->connectModeTreeParent(satsystem::com::SUBSYSTEM);
vc = new VirtualChannel(objects::PTME_VC2_HK_TM, ccsds::VC2, "PTME VC2 HK TM", *ptme, LINK_STATE); vc = new VirtualChannel(objects::PTME_VC2_HK_TM, ccsds::VC2, "PTME VC2 HK TM", *ptme, LINK_STATE);
// Core task which handles the HK store and takes care of dumping it as TM using a VC directly // Core task which handles the HK store and takes care of dumping it as TM using a VC directly
new PersistentSingleTmStoreTask(objects::HK_STORE_AND_TM_TASK, args.ipcStore, auto* hkStore = new PersistentSingleTmStoreTask(
*args.stores.hkStore, *vc, persTmStore::DUMP_HK_STORE_DONE, objects::HK_STORE_AND_TM_TASK, args.ipcStore, *args.stores.hkStore, *vc,
*SdCardManager::instance()); persTmStore::DUMP_HK_STORE_DONE, persTmStore::DUMP_HK_STORE_DONE, *SdCardManager::instance(),
PTME_LOCKED);
hkStore->connectModeTreeParent(satsystem::com::SUBSYSTEM);
vc = new VirtualChannel(objects::PTME_VC3_CFDP_TM, ccsds::VC3, "PTME VC3 CFDP TM", *ptme, vc = new VirtualChannel(objects::PTME_VC3_CFDP_TM, ccsds::VC3, "PTME VC3 CFDP TM", *ptme,
LINK_STATE); LINK_STATE);
// Core task which handles the CFDP store and takes care of dumping it as TM using a VC directly // Core task which handles the CFDP store and takes care of dumping it as TM using a VC directly
new PersistentSingleTmStoreTask(objects::CFDP_STORE_AND_TM_TASK, args.ipcStore, auto* cfdpTask = new PersistentSingleTmStoreTask(
*args.stores.cfdpStore, *vc, persTmStore::DUMP_CFDP_STORE_DONE, objects::CFDP_STORE_AND_TM_TASK, args.ipcStore, *args.stores.cfdpStore, *vc,
*SdCardManager::instance()); persTmStore::DUMP_CFDP_STORE_DONE, persTmStore::DUMP_CFDP_CANCELLED,
*SdCardManager::instance(), PTME_LOCKED);
cfdpTask->connectModeTreeParent(satsystem::com::SUBSYSTEM);
ReturnValue_t result = (*args.ipCoreHandler)->connectModeTreeParent(satsystem::com::SUBSYSTEM); ReturnValue_t result = (*args.ipCoreHandler)->connectModeTreeParent(satsystem::com::SUBSYSTEM);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
@ -957,20 +967,20 @@ void ObjectFactory::createStrComponents(PowerSwitchIF* pwrSwitcher) {
auto strFdir = new StrFdir(objects::STAR_TRACKER); auto strFdir = new StrFdir(objects::STAR_TRACKER);
auto starTracker = auto starTracker =
new StarTrackerHandler(objects::STAR_TRACKER, objects::STR_COM_IF, starTrackerCookie, new StarTrackerHandler(objects::STAR_TRACKER, objects::STR_COM_IF, starTrackerCookie,
paramJsonFile, strComIF, pcdu::PDU1_CH2_STAR_TRACKER_5V); paramJsonFile, strComIF, power::PDU1_CH2_STAR_TRACKER_5V);
starTracker->setPowerSwitcher(pwrSwitcher); starTracker->setPowerSwitcher(pwrSwitcher);
starTracker->connectModeTreeParent(*strAssy); starTracker->connectModeTreeParent(*strAssy);
starTracker->setCustomFdir(strFdir); starTracker->setCustomFdir(strFdir);
} }
void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) { void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher, bool enableHkSets) {
auto* imtqAssy = new ImtqAssembly(objects::IMTQ_ASSY); auto* imtqAssy = new ImtqAssembly(objects::IMTQ_ASSY);
imtqAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM); imtqAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
new ImtqPollingTask(objects::IMTQ_POLLING, I2C_FATAL_ERRORS); new ImtqPollingTask(objects::IMTQ_POLLING, I2C_FATAL_ERRORS);
I2cCookie* imtqI2cCookie = new I2cCookie(addresses::IMTQ, imtq::MAX_REPLY_SIZE, q7s::I2C_PL_EIVE); I2cCookie* imtqI2cCookie = new I2cCookie(addresses::IMTQ, imtq::MAX_REPLY_SIZE, q7s::I2C_PL_EIVE);
auto imtqHandler = new ImtqHandler(objects::IMTQ_HANDLER, objects::IMTQ_POLLING, imtqI2cCookie, auto imtqHandler = new ImtqHandler(objects::IMTQ_HANDLER, objects::IMTQ_POLLING, imtqI2cCookie,
pcdu::Switches::PDU1_CH3_MGT_5V); power::Switches::PDU1_CH3_MGT_5V, enableHkSets);
imtqHandler->enableThermalModule(ThermalStateCfg()); imtqHandler->enableThermalModule(ThermalStateCfg());
imtqHandler->setPowerSwitcher(pwrSwitcher); imtqHandler->setPowerSwitcher(pwrSwitcher);
imtqHandler->connectModeTreeParent(*imtqAssy); imtqHandler->connectModeTreeParent(*imtqAssy);
@ -984,10 +994,10 @@ void ObjectFactory::createImtqComponents(PowerSwitchIF* pwrSwitcher) {
#endif #endif
} }
void ObjectFactory::createBpxBatteryComponent() { void ObjectFactory::createBpxBatteryComponent(bool enableHkSets) {
I2cCookie* bpxI2cCookie = new I2cCookie(addresses::BPX_BATTERY, 100, q7s::I2C_PL_EIVE); I2cCookie* bpxI2cCookie = new I2cCookie(addresses::BPX_BATTERY, 100, q7s::I2C_PL_EIVE);
BpxBatteryHandler* bpxHandler = BpxBatteryHandler* bpxHandler = new BpxBatteryHandler(
new BpxBatteryHandler(objects::BPX_BATT_HANDLER, objects::I2C_COM_IF, bpxI2cCookie); objects::BPX_BATT_HANDLER, objects::I2C_COM_IF, bpxI2cCookie, enableHkSets);
bpxHandler->setStartUpImmediately(); bpxHandler->setStartUpImmediately();
bpxHandler->setToGoToNormalMode(true); bpxHandler->setToGoToNormalMode(true);
#if OBSW_DEBUG_BPX_BATT == 1 #if OBSW_DEBUG_BPX_BATT == 1

View File

@ -3,12 +3,12 @@
#include <fsfw/returnvalues/returnvalue.h> #include <fsfw/returnvalues/returnvalue.h>
#include <fsfw_hal/linux/spi/SpiComIF.h> #include <fsfw_hal/linux/spi/SpiComIF.h>
#include <mission/core/GenericFactory.h> #include <mission/com/CcsdsIpCoreHandler.h>
#include <mission/devices/HeaterHandler.h> #include <mission/com/PersistentLogTmStoreTask.h>
#include <mission/genericFactory.h>
#include <mission/system/objects/Stack5VHandler.h> #include <mission/system/objects/Stack5VHandler.h>
#include <mission/tmtc/CcsdsIpCoreHandler.h> #include <mission/tcs/HeaterHandler.h>
#include <mission/tmtc/CfdpTmFunnel.h> #include <mission/tmtc/CfdpTmFunnel.h>
#include <mission/tmtc/PersistentLogTmStoreTask.h>
#include <mission/tmtc/PusTmFunnel.h> #include <mission/tmtc/PusTmFunnel.h>
#include <atomic> #include <atomic>
@ -24,6 +24,7 @@ class AcsBoardAssembly;
class GpioIF; class GpioIF;
extern std::atomic_uint16_t I2C_FATAL_ERRORS; extern std::atomic_uint16_t I2C_FATAL_ERRORS;
extern std::atomic_bool PTME_LOCKED;
namespace ObjectFactory { namespace ObjectFactory {
@ -53,18 +54,19 @@ void produce(void* args);
void createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF, SerialComIF** uartComIF, void createCommunicationInterfaces(LinuxLibgpioIF** gpioComIF, SerialComIF** uartComIF,
SpiComIF** spiMainComIF, I2cComIF** i2cComIF); SpiComIF** spiMainComIF, I2cComIF** i2cComIF);
void createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher); void createPcduComponents(LinuxLibgpioIF* gpioComIF, PowerSwitchIF** pwrSwitcher,
bool enableHkSets);
void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF, void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF,
PowerSwitchIF* pwrSwitcher, Stack5VHandler& stackHandler); PowerSwitchIF* pwrSwitcher, Stack5VHandler& stackHandler);
void createTmpComponents(); void createTmpComponents();
ReturnValue_t createRadSensorComponent(LinuxLibgpioIF* gpioComIF, Stack5VHandler& handler); ReturnValue_t createRadSensorComponent(LinuxLibgpioIF* gpioComIF, Stack5VHandler& handler);
void createAcsBoardGpios(GpioCookie& cookie); void createAcsBoardGpios(GpioCookie& cookie);
void createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF, void createAcsBoardComponents(SpiComIF& spiComIF, LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF,
PowerSwitchIF& pwrSwitcher); PowerSwitchIF& pwrSwitcher, bool enableHkSets);
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable, void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable,
HeaterHandler*& heaterHandler); HeaterHandler*& heaterHandler);
void createImtqComponents(PowerSwitchIF* pwrSwitcher); void createImtqComponents(PowerSwitchIF* pwrSwitcher, bool enableHkSets);
void createBpxBatteryComponent(); void createBpxBatteryComponent(bool enableHkSets);
void createStrComponents(PowerSwitchIF* pwrSwitcher); void createStrComponents(PowerSwitchIF* pwrSwitcher);
void createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitcher, GpioIF& gpioIF); void createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitcher, GpioIF& gpioIF);
void createSyrlinksComponents(PowerSwitchIF* pwrSwitcher); void createSyrlinksComponents(PowerSwitchIF* pwrSwitcher);

View File

@ -3,6 +3,7 @@
#include <fsfw/devicehandlers/DeviceCommunicationIF.h> #include <fsfw/devicehandlers/DeviceCommunicationIF.h>
#include <fsfw/subsystem/Subsystem.h> #include <fsfw/subsystem/Subsystem.h>
#include <linux/scheduling.h> #include <linux/scheduling.h>
#include <mission/tcs/Max31865Definitions.h>
#include <iostream> #include <iostream>
#include <vector> #include <vector>
@ -17,9 +18,8 @@
#include "fsfw/tasks/FixedTimeslotTaskIF.h" #include "fsfw/tasks/FixedTimeslotTaskIF.h"
#include "fsfw/tasks/PeriodicTaskIF.h" #include "fsfw/tasks/PeriodicTaskIF.h"
#include "fsfw/tasks/TaskFactory.h" #include "fsfw/tasks/TaskFactory.h"
#include "mission/core/pollingSeqTables.h" #include "mission/pollingSeqTables.h"
#include "mission/core/scheduling.h" #include "mission/scheduling.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
#include "mission/utility/InitMission.h" #include "mission/utility/InitMission.h"
/* This is configured for linux without CR */ /* This is configured for linux without CR */
@ -193,8 +193,8 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("LOG_STORE_AND_TM", objects::LOG_STORE_AND_TM_TASK); scheduling::printAddObjectError("LOG_STORE_AND_TM", objects::LOG_STORE_AND_TM_TASK);
} }
PeriodicTaskIF* hkTmTask = factory->createPeriodicTask( PeriodicTaskIF* hkTmTask =
"HK_PSTORE", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr); factory->createPeriodicTask("HK_PSTORE", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, nullptr);
result = hkTmTask->addComponent(objects::HK_STORE_AND_TM_TASK); result = hkTmTask->addComponent(objects::HK_STORE_AND_TM_TASK);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("HK_STORE_AND_TM", objects::HK_STORE_AND_TM_TASK); scheduling::printAddObjectError("HK_STORE_AND_TM", objects::HK_STORE_AND_TM_TASK);
@ -291,6 +291,14 @@ void scheduling::initTasks() {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("STR_ASSY", objects::STR_ASSY); scheduling::printAddObjectError("STR_ASSY", objects::STR_ASSY);
} }
result = acsSysTask->addComponent(objects::GPS_0_HEALTH_DEV);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("GPS_0_HEALTH_DEV", objects::GPS_0_HEALTH_DEV);
}
result = acsSysTask->addComponent(objects::GPS_1_HEALTH_DEV);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("GPS_1_HEALTH_DEV", objects::GPS_1_HEALTH_DEV);
}
PeriodicTaskIF* tcsSystemTask = factory->createPeriodicTask( PeriodicTaskIF* tcsSystemTask = factory->createPeriodicTask(
"TCS_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc, &RR_SCHEDULING); "TCS_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc, &RR_SCHEDULING);
@ -338,9 +346,8 @@ void scheduling::initTasks() {
// TODO: Use regular scheduler for this task // TODO: Use regular scheduler for this task
#if OBSW_ADD_PLOC_MPSOC == 1 #if OBSW_ADD_PLOC_MPSOC == 1
PeriodicTaskIF* mpsocHelperTask = PeriodicTaskIF* mpsocHelperTask = factory->createPeriodicTask(
factory->createPeriodicTask("PLOC_MPSOC_HELPER", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, "PLOC_MPSOC_HELPER", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
missedDeadlineFunc);
result = mpsocHelperTask->addComponent(objects::PLOC_MPSOC_HELPER); result = mpsocHelperTask->addComponent(objects::PLOC_MPSOC_HELPER);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("PLOC_MPSOC_HELPER", objects::PLOC_MPSOC_HELPER); scheduling::printAddObjectError("PLOC_MPSOC_HELPER", objects::PLOC_MPSOC_HELPER);
@ -349,9 +356,8 @@ void scheduling::initTasks() {
// TODO: Use regular scheduler for this task // TODO: Use regular scheduler for this task
#if OBSW_ADD_PLOC_SUPERVISOR == 1 #if OBSW_ADD_PLOC_SUPERVISOR == 1
PeriodicTaskIF* supvHelperTask = PeriodicTaskIF* supvHelperTask = factory->createPeriodicTask(
factory->createPeriodicTask("PLOC_SUPV_HELPER", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, "PLOC_SUPV_HELPER", 0, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
missedDeadlineFunc);
result = supvHelperTask->addComponent(objects::PLOC_SUPERVISOR_HELPER); result = supvHelperTask->addComponent(objects::PLOC_SUPERVISOR_HELPER);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
scheduling::printAddObjectError("PLOC_SUPV_HELPER", objects::PLOC_SUPERVISOR_HELPER); scheduling::printAddObjectError("PLOC_SUPV_HELPER", objects::PLOC_SUPERVISOR_HELPER);
@ -499,8 +505,9 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
/* Polling Sequence Table Default */ /* Polling Sequence Table Default */
#if OBSW_ADD_SPI_TEST_CODE == 0 #if OBSW_ADD_SPI_TEST_CODE == 0
FixedTimeslotTaskIF* syrlinksPst = factory.createFixedTimeslotTask( FixedTimeslotTaskIF* syrlinksPst =
"SYRLINKS", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5, missedDeadlineFunc, &RR_SCHEDULING); factory.createFixedTimeslotTask("SYRLINKS", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 0.5,
missedDeadlineFunc, &RR_SCHEDULING);
result = pst::pstSyrlinks(syrlinksPst); result = pst::pstSyrlinks(syrlinksPst);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) { if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
@ -531,7 +538,7 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
FixedTimeslotTaskIF* gomSpacePstTask = FixedTimeslotTaskIF* gomSpacePstTask =
factory.createFixedTimeslotTask("GS_PST_TASK", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, factory.createFixedTimeslotTask("GS_PST_TASK", 65, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4,
0.5, missedDeadlineFunc, &RR_SCHEDULING); 0.25, missedDeadlineFunc, &RR_SCHEDULING);
result = pst::pstGompaceCan(gomSpacePstTask); result = pst::pstGompaceCan(gomSpacePstTask);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
if (result != FixedTimeslotTaskIF::SLOT_LIST_EMPTY) { if (result != FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {

View File

@ -4,7 +4,7 @@
#include <vector> #include <vector>
#include "fsfw/tasks/definitions.h" #include "fsfw/tasks/definitions.h"
#include "mission/core/pollingSeqTables.h" #include "mission/pollingSeqTables.h"
using pst::AcsPstCfg; using pst::AcsPstCfg;

View File

@ -4,7 +4,7 @@
#include <fsfw/health/HealthTableIF.h> #include <fsfw/health/HealthTableIF.h>
#include <fsfw/power/DummyPowerSwitcher.h> #include <fsfw/power/DummyPowerSwitcher.h>
#include <fsfw_hal/common/gpio/GpioCookie.h> #include <fsfw_hal/common/gpio/GpioCookie.h>
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
#include <mission/system/tree/system.h> #include <mission/system/tree/system.h>
#include <mission/utility/DummySdCardManager.h> #include <mission/utility/DummySdCardManager.h>
@ -13,13 +13,13 @@
#include "bsp_q7s/core/ObjectFactory.h" #include "bsp_q7s/core/ObjectFactory.h"
#include "busConf.h" #include "busConf.h"
#include "devConf.h" #include "devConf.h"
#include "dummies/helpers.h" #include "dummies/helperFactory.h"
#include "eive/objects.h" #include "eive/objects.h"
#include "fsfw_hal/linux/gpio/LinuxLibgpioIF.h" #include "fsfw_hal/linux/gpio/LinuxLibgpioIF.h"
#include "linux/ObjectFactory.h" #include "linux/ObjectFactory.h"
#include "linux/callbacks/gpioCallbacks.h" #include "linux/callbacks/gpioCallbacks.h"
#include "mission/core/GenericFactory.h" #include "mission/genericFactory.h"
#include "mission/system/tree/comModeTree.h" #include "mission/system/com/comModeTree.h"
void ObjectFactory::produce(void* args) { void ObjectFactory::produce(void* args) {
ObjectFactory::setStatics(); ObjectFactory::setStatics();
@ -29,6 +29,11 @@ void ObjectFactory::produce(void* args) {
StorageManagerIF* ipcStore = nullptr; StorageManagerIF* ipcStore = nullptr;
StorageManagerIF* tmStore = nullptr; StorageManagerIF* tmStore = nullptr;
bool enableHkSets = false;
#if OBSW_ENABLE_PERIODIC_HK == 1
enableHkSets = true;
#endif
PersistentTmStores stores; PersistentTmStores stores;
ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel, ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel,
*SdCardManager::instance(), &ipcStore, &tmStore, stores); *SdCardManager::instance(), &ipcStore, &tmStore, stores);
@ -61,12 +66,12 @@ void ObjectFactory::produce(void* args) {
auto* comCookieDummy = new ComCookieDummy(); auto* comCookieDummy = new ComCookieDummy();
pwrSwitcher = new PcduHandlerDummy(objects::PCDU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy); pwrSwitcher = new PcduHandlerDummy(objects::PCDU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
#else #else
createPcduComponents(gpioComIF, &pwrSwitcher); createPcduComponents(gpioComIF, &pwrSwitcher, enableHkSets);
#endif #endif
dummy::createDummies(dummyCfg, *pwrSwitcher, gpioComIF); dummy::createDummies(dummyCfg, *pwrSwitcher, gpioComIF);
new CoreController(objects::CORE_CONTROLLER, I2C_FATAL_ERRORS); new CoreController(objects::CORE_CONTROLLER, I2C_FATAL_ERRORS, enableHkSets);
// Regular FM code, does not work for EM if the hardware is not connected // Regular FM code, does not work for EM if the hardware is not connected
// createPcduComponents(gpioComIF, &pwrSwitcher); // createPcduComponents(gpioComIF, &pwrSwitcher);
@ -84,7 +89,7 @@ void ObjectFactory::produce(void* args) {
// createRadSensorComponent(gpioComIF); // createRadSensorComponent(gpioComIF);
#if OBSW_ADD_ACS_BOARD == 1 #if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(gpioComIF, uartComIF, *pwrSwitcher); createAcsBoardComponents(*spiMainComIF, gpioComIF, uartComIF, *pwrSwitcher);
#else #else
// Still add all GPIOs for EM. // Still add all GPIOs for EM.
GpioCookie* acsBoardGpios = new GpioCookie(); GpioCookie* acsBoardGpios = new GpioCookie();
@ -93,7 +98,7 @@ void ObjectFactory::produce(void* args) {
#endif #endif
#if OBSW_ADD_MGT == 1 #if OBSW_ADD_MGT == 1
createImtqComponents(pwrSwitcher); createImtqComponents(pwrSwitcher, enableHkSets);
#endif #endif
#if OBSW_ADD_SYRLINKS == 1 #if OBSW_ADD_SYRLINKS == 1
@ -105,7 +110,7 @@ void ObjectFactory::produce(void* args) {
#endif #endif
#if OBSW_ADD_BPX_BATTERY_HANDLER == 1 #if OBSW_ADD_BPX_BATTERY_HANDLER == 1
createBpxBatteryComponent(); createBpxBatteryComponent(enableHkSets);
#endif #endif
#if OBSW_ADD_STAR_TRACKER == 1 #if OBSW_ADD_STAR_TRACKER == 1
@ -131,9 +136,9 @@ void ObjectFactory::produce(void* args) {
createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false, createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false,
pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V); pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
#endif #endif
createAcsController(true); createAcsController(true, enableHkSets);
HeaterHandler* heaterHandler = nullptr; HeaterHandler* heaterHandler;
ObjectFactory::createGenericHeaterComponents(*gpioComIF, *pwrSwitcher, heaterHandler); createHeaterComponents(gpioComIF, pwrSwitcher, healthTable, heaterHandler);
createThermalController(*heaterHandler); createThermalController(*heaterHandler);
satsystem::init(); satsystem::init();
} }

View File

@ -1,7 +1,7 @@
#include <bsp_q7s/callbacks/q7sGpioCallbacks.h> #include <bsp_q7s/callbacks/q7sGpioCallbacks.h>
#include <fsfw/storagemanager/LocalPool.h> #include <fsfw/storagemanager/LocalPool.h>
#include <fsfw/storagemanager/PoolManager.h> #include <fsfw/storagemanager/PoolManager.h>
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "bsp_q7s/core/CoreController.h" #include "bsp_q7s/core/CoreController.h"
@ -12,7 +12,7 @@
#include "fsfw_hal/linux/gpio/LinuxLibgpioIF.h" #include "fsfw_hal/linux/gpio/LinuxLibgpioIF.h"
#include "linux/ObjectFactory.h" #include "linux/ObjectFactory.h"
#include "linux/callbacks/gpioCallbacks.h" #include "linux/callbacks/gpioCallbacks.h"
#include "mission/core/GenericFactory.h" #include "mission/genericFactory.h"
#include "mission/system/tree/system.h" #include "mission/system/tree/system.h"
#include "mission/tmtc/tmFilters.h" #include "mission/tmtc/tmFilters.h"
@ -24,6 +24,11 @@ void ObjectFactory::produce(void* args) {
StorageManagerIF* ipcStore = nullptr; StorageManagerIF* ipcStore = nullptr;
StorageManagerIF* tmStore = nullptr; StorageManagerIF* tmStore = nullptr;
bool enableHkSets = false;
#if OBSW_ENABLE_PERIODIC_HK == 1
enableHkSets = true;
#endif
PersistentTmStores stores; PersistentTmStores stores;
ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel, ObjectFactory::produceGenericObjects(&healthTable, &pusFunnel, &cfdpFunnel,
*SdCardManager::instance(), &ipcStore, &tmStore, stores); *SdCardManager::instance(), &ipcStore, &tmStore, stores);
@ -38,8 +43,8 @@ void ObjectFactory::produce(void* args) {
q7s::gpioCallbacks::initSpiCsDecoder(gpioComIF); q7s::gpioCallbacks::initSpiCsDecoder(gpioComIF);
gpioCallbacks::disableAllDecoder(gpioComIF); gpioCallbacks::disableAllDecoder(gpioComIF);
new CoreController(objects::CORE_CONTROLLER, I2C_FATAL_ERRORS); new CoreController(objects::CORE_CONTROLLER, I2C_FATAL_ERRORS, enableHkSets);
createPcduComponents(gpioComIF, &pwrSwitcher); createPcduComponents(gpioComIF, &pwrSwitcher, enableHkSets);
auto* stackHandler = new Stack5VHandler(*pwrSwitcher); auto* stackHandler = new Stack5VHandler(*pwrSwitcher);
#if OBSW_ADD_RAD_SENSORS == 1 #if OBSW_ADD_RAD_SENSORS == 1
@ -50,7 +55,7 @@ void ObjectFactory::produce(void* args) {
#endif #endif
#if OBSW_ADD_ACS_BOARD == 1 #if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(*spiMainComIF, gpioComIF, uartComIF, *pwrSwitcher); createAcsBoardComponents(*spiMainComIF, gpioComIF, uartComIF, *pwrSwitcher, true);
#endif #endif
HeaterHandler* heaterHandler; HeaterHandler* heaterHandler;
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable, heaterHandler); createHeaterComponents(gpioComIF, pwrSwitcher, healthTable, heaterHandler);
@ -66,12 +71,12 @@ void ObjectFactory::produce(void* args) {
createPayloadComponents(gpioComIF, *pwrSwitcher); createPayloadComponents(gpioComIF, *pwrSwitcher);
#if OBSW_ADD_MGT == 1 #if OBSW_ADD_MGT == 1
createImtqComponents(pwrSwitcher); createImtqComponents(pwrSwitcher, enableHkSets);
#endif #endif
createReactionWheelComponents(gpioComIF, pwrSwitcher); createReactionWheelComponents(gpioComIF, pwrSwitcher);
#if OBSW_ADD_BPX_BATTERY_HANDLER == 1 #if OBSW_ADD_BPX_BATTERY_HANDLER == 1
createBpxBatteryComponent(); createBpxBatteryComponent(enableHkSets);
#endif #endif
#if OBSW_ADD_STAR_TRACKER == 1 #if OBSW_ADD_STAR_TRACKER == 1
@ -92,7 +97,7 @@ void ObjectFactory::produce(void* args) {
#if OBSW_ADD_SCEX_DEVICE == 1 #if OBSW_ADD_SCEX_DEVICE == 1
createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false, createScexComponents(q7s::UART_SCEX_DEV, pwrSwitcher, *SdCardManager::instance(), false,
pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V); power::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
#endif #endif
/* Test Task */ /* Test Task */
#if OBSW_ADD_TEST_CODE == 1 #if OBSW_ADD_TEST_CODE == 1
@ -101,6 +106,6 @@ void ObjectFactory::produce(void* args) {
createMiscComponents(); createMiscComponents();
createThermalController(*heaterHandler); createThermalController(*heaterHandler);
createAcsController(true); createAcsController(true, enableHkSets);
satsystem::init(); satsystem::init();
} }

View File

@ -312,7 +312,6 @@ void SdCardManager::resetState() {
ReturnValue_t SdCardManager::updateSdStatePair() { ReturnValue_t SdCardManager::updateSdStatePair() {
using namespace std; using namespace std;
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
std::error_code e; std::error_code e;
if (not filesystem::exists(SD_STATE_FILE, e)) { if (not filesystem::exists(SD_STATE_FILE, e)) {
return STATUS_FILE_NEXISTS; return STATUS_FILE_NEXISTS;
@ -362,6 +361,7 @@ void SdCardManager::processSdStatusLine(std::string& line, uint8_t& idx, sd::SdC
sdStates.second = sd::SdState::ON; sdStates.second = sd::SdState::ON;
} }
} else if (word == "off") { } else if (word == "off") {
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
if (currentSd == sd::SdCard::SLOT_0) { if (currentSd == sd::SdCard::SLOT_0) {
sdStates.first = sd::SdState::OFF; sdStates.first = sd::SdState::OFF;
} else { } else {
@ -371,6 +371,7 @@ void SdCardManager::processSdStatusLine(std::string& line, uint8_t& idx, sd::SdC
} }
if (mountLine) { if (mountLine) {
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
if (currentSd == sd::SdCard::SLOT_0) { if (currentSd == sd::SdCard::SLOT_0) {
sdStates.first = sd::SdState::MOUNTED; sdStates.first = sd::SdState::MOUNTED;
} else { } else {
@ -409,7 +410,6 @@ ReturnValue_t SdCardManager::updateSdCardStateFile() {
if (cmdExecutor.getCurrentState() == CommandExecutor::States::PENDING) { if (cmdExecutor.getCurrentState() == CommandExecutor::States::PENDING) {
return CommandExecutor::COMMAND_PENDING; return CommandExecutor::COMMAND_PENDING;
} }
MutexGuard mg(sdLock, LOCK_TYPE, SD_LOCK_TIMEOUT, LOCK_CTX);
// Use q7hw utility and pipe the command output into the state file // Use q7hw utility and pipe the command output into the state file
std::string updateCmd = "q7hw sd info all > " + std::string(SD_STATE_FILE); std::string updateCmd = "q7hw sd info all > " + std::string(SD_STATE_FILE);
cmdExecutor.load(updateCmd, true, printCmdOutput); cmdExecutor.load(updateCmd, true, printCmdOutput);

View File

@ -228,7 +228,7 @@ class SdCardManager : public SystemObject, public SdCardMountedIF {
MutexIF* prefLock = nullptr; MutexIF* prefLock = nullptr;
MutexIF* defaultLock = nullptr; MutexIF* defaultLock = nullptr;
static constexpr MutexIF::TimeoutType LOCK_TYPE = MutexIF::TimeoutType::WAITING; static constexpr MutexIF::TimeoutType LOCK_TYPE = MutexIF::TimeoutType::WAITING;
static constexpr uint32_t SD_LOCK_TIMEOUT = 250; static constexpr uint32_t SD_LOCK_TIMEOUT = 100;
static constexpr uint32_t OTHER_TIMEOUT = 20; static constexpr uint32_t OTHER_TIMEOUT = 20;
static constexpr char LOCK_CTX[] = "SdCardManager"; static constexpr char LOCK_CTX[] = "SdCardManager";

View File

@ -14,8 +14,8 @@
#include "core/scheduling.h" #include "core/scheduling.h"
#include "fsfw/tasks/TaskFactory.h" #include "fsfw/tasks/TaskFactory.h"
#include "fsfw/version.h" #include "fsfw/version.h"
#include "mission/acsDefs.h" #include "mission/acs/defs.h"
#include "mission/comDefs.h" #include "mission/com/defs.h"
#include "mission/system/tree/system.h" #include "mission/system/tree/system.h"
#include "q7sConfig.h" #include "q7sConfig.h"
#include "watchdog/definitions.h" #include "watchdog/definitions.h"

View File

@ -1,6 +1,6 @@
#ifndef FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_ #ifndef FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_
#define FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_ #define FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h" #include <mission/power/gsDefs.h>
#endif /* FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_ */ #endif /* FSFWCONFIG_DEVICES_POWERSWITCHERLIST_H_ */

View File

@ -15,6 +15,9 @@ static constexpr char OBSW_VERSION_FILE_NAME[] = "obsw_version.txt";
static constexpr char OBSW_PATH[] = "/usr/bin/eive-obsw"; static constexpr char OBSW_PATH[] = "/usr/bin/eive-obsw";
static constexpr char OBSW_VERSION_FILE_PATH[] = "/usr/share/eive-obsw/obsw_version.txt"; static constexpr char OBSW_VERSION_FILE_PATH[] = "/usr/share/eive-obsw/obsw_version.txt";
// ISO8601 timestamp.
static constexpr char FILE_DATE_FORMAT[] = "%FT%H%M%SZ";
static constexpr uint16_t EIVE_PUS_APID = 0x65; static constexpr uint16_t EIVE_PUS_APID = 0x65;
static constexpr uint16_t EIVE_CFDP_APID = 0x66; static constexpr uint16_t EIVE_CFDP_APID = 0x66;
static constexpr uint16_t EIVE_LOCAL_CFDP_ENTITY_ID = EIVE_CFDP_APID; static constexpr uint16_t EIVE_LOCAL_CFDP_ENTITY_ID = EIVE_CFDP_APID;
@ -55,6 +58,7 @@ static constexpr uint32_t CFDP_STORE_QUEUE_SIZE = 300;
static constexpr uint32_t MAX_PUS_FUNNEL_QUEUE_DEPTH = 100; static constexpr uint32_t MAX_PUS_FUNNEL_QUEUE_DEPTH = 100;
static constexpr uint32_t MAX_CFDP_FUNNEL_QUEUE_DEPTH = 80; static constexpr uint32_t MAX_CFDP_FUNNEL_QUEUE_DEPTH = 80;
static constexpr uint32_t HK_SERVICE_QUEUE_DEPTH = 60;
static constexpr uint32_t MAX_STORED_CMDS_UDP = 150; static constexpr uint32_t MAX_STORED_CMDS_UDP = 150;
static constexpr uint32_t MAX_STORED_CMDS_TCP = 180; static constexpr uint32_t MAX_STORED_CMDS_TCP = 180;

View File

@ -43,6 +43,8 @@ enum commonObjects : uint32_t {
RW4 = 0x44120350, RW4 = 0x44120350,
STAR_TRACKER = 0x44130001, STAR_TRACKER = 0x44130001,
GPS_CONTROLLER = 0x44130045, GPS_CONTROLLER = 0x44130045,
GPS_0_HEALTH_DEV = 0x44130046,
GPS_1_HEALTH_DEV = 0x44130047,
IMTQ_POLLING = 0x44140013, IMTQ_POLLING = 0x44140013,
IMTQ_HANDLER = 0x44140014, IMTQ_HANDLER = 0x44140014,

View File

@ -1,6 +1,6 @@
#include "AcuDummy.h" #include "AcuDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
AcuDummy::AcuDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) AcuDummy::AcuDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -1,6 +1,6 @@
#include "BpxDummy.h" #include "BpxDummy.h"
#include <mission/devices/devicedefinitions/BpxBatteryDefinitions.h> #include <mission/power/bpxBattDefs.h>
BpxDummy::BpxDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) BpxDummy::BpxDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -26,6 +26,6 @@ target_sources(
CoreControllerDummy.cpp CoreControllerDummy.cpp
PlocMpsocDummy.cpp PlocMpsocDummy.cpp
PlocSupervisorDummy.cpp PlocSupervisorDummy.cpp
helpers.cpp helperFactory.cpp
MgmRm3100Dummy.cpp MgmRm3100Dummy.cpp
Tmp1075Dummy.cpp) Tmp1075Dummy.cpp)

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
#include <fsfw/controller/ExtendedControllerBase.h> #include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/susMax1227Helpers.h> #include <mission/acs/susMax1227Helpers.h>
class CoreControllerDummy : public ExtendedControllerBase { class CoreControllerDummy : public ExtendedControllerBase {
public: public:

View File

@ -2,7 +2,7 @@
#define DUMMIES_GPSCTRLDUMMY_H_ #define DUMMIES_GPSCTRLDUMMY_H_
#include <fsfw/controller/ExtendedControllerBase.h> #include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/GPSDefinitions.h> #include <mission/acs/archive/GPSDefinitions.h>
class GpsCtrlDummy : public ExtendedControllerBase { class GpsCtrlDummy : public ExtendedControllerBase {
public: public:

View File

@ -1,5 +1,5 @@
#include <dummies/GpsDhbDummy.h> #include <dummies/GpsDhbDummy.h>
#include <mission/devices/devicedefinitions/GPSDefinitions.h> #include <mission/acs/archive/GPSDefinitions.h>
GpsDhbDummy::GpsDhbDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) GpsDhbDummy::GpsDhbDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -1,6 +1,6 @@
#include "GyroAdisDummy.h" #include "GyroAdisDummy.h"
#include <mission/devices/devicedefinitions/gyroAdisHelpers.h> #include <mission/acs/gyroAdisHelpers.h>
GyroAdisDummy::GyroAdisDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) GyroAdisDummy::GyroAdisDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie), dataset(this) {} : DeviceHandlerBase(objectId, comif, comCookie), dataset(this) {}
@ -46,7 +46,7 @@ ReturnValue_t GyroAdisDummy::initializeLocalDataPool(localpool::DataPool &localD
localDataPoolMap.emplace(adis1650x::ACCELERATION_X, new PoolEntry<double>({0.0})); localDataPoolMap.emplace(adis1650x::ACCELERATION_X, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(adis1650x::ACCELERATION_Y, new PoolEntry<double>({0.0})); localDataPoolMap.emplace(adis1650x::ACCELERATION_Y, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(adis1650x::ACCELERATION_Z, new PoolEntry<double>({0.0})); localDataPoolMap.emplace(adis1650x::ACCELERATION_Z, new PoolEntry<double>({0.0}));
localDataPoolMap.emplace(adis1650x::TEMPERATURE, new PoolEntry<float>({0.0})); localDataPoolMap.emplace(adis1650x::TEMPERATURE, new PoolEntry<float>({10.0}, true));
return returnvalue::OK; return returnvalue::OK;
} }

View File

@ -2,7 +2,7 @@
#define DUMMIES_GYROADISDUMMY_H_ #define DUMMIES_GYROADISDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/devices/devicedefinitions/gyroAdisHelpers.h> #include <mission/acs/gyroAdisHelpers.h>
class GyroAdisDummy : public DeviceHandlerBase { class GyroAdisDummy : public DeviceHandlerBase {
public: public:

View File

@ -1,6 +1,6 @@
#include "ImtqDummy.h" #include "ImtqDummy.h"
#include <mission/devices/devicedefinitions/imtqHelpers.h> #include <mission/acs/imtqHelpers.h>
ImtqDummy::ImtqDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) ImtqDummy::ImtqDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -1,5 +1,7 @@
#include "Max31865Dummy.h" #include "Max31865Dummy.h"
#include "fsfw/datapool/PoolReadGuard.h"
using namespace returnvalue; using namespace returnvalue;
Max31865Dummy::Max31865Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) Max31865Dummy::Max31865Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
@ -28,15 +30,20 @@ ReturnValue_t Max31865Dummy::initializeLocalDataPool(localpool::DataPool &localD
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
using namespace MAX31865; using namespace MAX31865;
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::RTD_VALUE), new PoolEntry<float>({0})); localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::RTD_VALUE), new PoolEntry<float>({0}));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::TEMPERATURE_C), new PoolEntry<float>({0})); localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::TEMPERATURE_C),
new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::LAST_FAULT_BYTE), localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::LAST_FAULT_BYTE),
new PoolEntry<uint8_t>({0})); new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::FAULT_BYTE), new PoolEntry<uint8_t>({0})); localDataPoolMap.emplace(static_cast<lp_id_t>(PoolIds::FAULT_BYTE), new PoolEntry<uint8_t>({0}));
return OK; return OK;
} }
void Max31865Dummy::setTemperature(float temperature) { void Max31865Dummy::setTemperature(float temperature, bool valid) {
PoolReadGuard pg(&set);
if (pg.getReadResult() == returnvalue::OK) {
set.temperatureCelcius.value = temperature; set.temperatureCelcius.value = temperature;
set.setValidity(valid, true);
}
} }
LocalPoolDataSetBase *Max31865Dummy::getDataSetHandle(sid_t sid) { return &set; } LocalPoolDataSetBase *Max31865Dummy::getDataSetHandle(sid_t sid) { return &set; }

View File

@ -1,15 +1,16 @@
#ifndef EIVE_OBSW_MAX31865DUMMY_H #ifndef EIVE_OBSW_MAX31865DUMMY_H
#define EIVE_OBSW_MAX31865DUMMY_H #define EIVE_OBSW_MAX31865DUMMY_H
#include <mission/tcs/Max31865Definitions.h>
#include "fsfw/devicehandlers/DeviceHandlerBase.h" #include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
class Max31865Dummy : public DeviceHandlerBase { class Max31865Dummy : public DeviceHandlerBase {
public: public:
Max31865Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie); Max31865Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
Max31865Dummy(object_id_t objectId, CookieIF *comCookie); Max31865Dummy(object_id_t objectId, CookieIF *comCookie);
void setTemperature(float temperature); void setTemperature(float temperature, bool setValid);
private: private:
MAX31865::PrimarySet set; MAX31865::PrimarySet set;

View File

@ -40,7 +40,7 @@ uint32_t MgmLIS3MDLDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) {
ReturnValue_t MgmLIS3MDLDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t MgmLIS3MDLDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(mgmLis3::TEMPERATURE_CELCIUS, new PoolEntry<float>({0.0})); localDataPoolMap.emplace(mgmLis3::TEMPERATURE_CELCIUS, new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(mgmLis3::FIELD_STRENGTHS, localDataPoolMap.emplace(mgmLis3::FIELD_STRENGTHS,
new PoolEntry<float>({1.02, 0.56, -0.78}, true)); new PoolEntry<float>({1.02, 0.56, -0.78}, true));
return returnvalue::OK; return returnvalue::OK;

View File

@ -1,6 +1,8 @@
#include "P60DockDummy.h" #include "P60DockDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
#include "fsfw/datapool/PoolReadGuard.h"
P60DockDummy::P60DockDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) P60DockDummy::P60DockDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -3,6 +3,8 @@
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "mission/power/gsDefs.h"
class P60DockDummy : public DeviceHandlerBase { class P60DockDummy : public DeviceHandlerBase {
public: public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1; static const DeviceCommandId_t SIMPLE_COMMAND = 1;
@ -15,6 +17,8 @@ class P60DockDummy : public DeviceHandlerBase {
virtual ~P60DockDummy(); virtual ~P60DockDummy();
protected: protected:
lp_var_t<float> temp1 = lp_var_t<float>(this, P60Dock::pool::P60DOCK_TEMPERATURE_1);
lp_var_t<float> temp2 = lp_var_t<float>(this, P60Dock::pool::P60DOCK_TEMPERATURE_2);
void doStartUp() override; void doStartUp() override;
void doShutDown() override; void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override; ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -1,9 +1,13 @@
#include "PcduHandlerDummy.h" #include "PcduHandlerDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
#include "mission/power/defs.h"
PcduHandlerDummy::PcduHandlerDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) PcduHandlerDummy::PcduHandlerDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie), dummySwitcher(objectId, 18, 18, false) {} : DeviceHandlerBase(objectId, comif, comCookie), dummySwitcher(objectId, 18, 18, false) {
switcherLock = MutexFactory::instance()->createMutex();
}
PcduHandlerDummy::~PcduHandlerDummy() {} PcduHandlerDummy::~PcduHandlerDummy() {}
@ -44,6 +48,17 @@ ReturnValue_t PcduHandlerDummy::initializeLocalDataPool(localpool::DataPool &loc
} }
ReturnValue_t PcduHandlerDummy::sendSwitchCommand(power::Switch_t switchNr, ReturnValue_t onOff) { ReturnValue_t PcduHandlerDummy::sendSwitchCommand(power::Switch_t switchNr, ReturnValue_t onOff) {
if (onOff == SWITCH_ON) {
triggerEvent(power::SWITCH_CMD_SENT, true, switchNr);
} else {
triggerEvent(power::SWITCH_CMD_SENT, false, switchNr);
}
{
MutexGuard mg(switcherLock);
// To simulate a real PCDU, remember the switch change to trigger a SWITCH_HAS_CHANGED event
// at a later stage.
switchChangeArray[switchNr] = true;
}
return dummySwitcher.sendSwitchCommand(switchNr, onOff); return dummySwitcher.sendSwitchCommand(switchNr, onOff);
} }
@ -60,3 +75,22 @@ ReturnValue_t PcduHandlerDummy::getFuseState(uint8_t fuseNr) const {
} }
uint32_t PcduHandlerDummy::getSwitchDelayMs(void) const { return dummySwitcher.getSwitchDelayMs(); } uint32_t PcduHandlerDummy::getSwitchDelayMs(void) const { return dummySwitcher.getSwitchDelayMs(); }
void PcduHandlerDummy::performOperationHook() {
SwitcherBoolArray switcherChangeCopy{};
{
MutexGuard mg(switcherLock);
std::memcpy(switcherChangeCopy.data(), switchChangeArray.data(), switchChangeArray.size());
}
for (uint8_t idx = 0; idx < switcherChangeCopy.size(); idx++) {
if (switcherChangeCopy[idx]) {
if (dummySwitcher.getSwitchState(idx) == PowerSwitchIF::SWITCH_ON) {
triggerEvent(power::SWITCH_HAS_CHANGED, true, idx);
} else {
triggerEvent(power::SWITCH_HAS_CHANGED, false, idx);
}
MutexGuard mg(switcherLock);
switchChangeArray[idx] = false;
}
}
}

View File

@ -15,8 +15,12 @@ class PcduHandlerDummy : public DeviceHandlerBase, public PowerSwitchIF {
virtual ~PcduHandlerDummy(); virtual ~PcduHandlerDummy();
protected: protected:
MutexIF *switcherLock;
DummyPowerSwitcher dummySwitcher; DummyPowerSwitcher dummySwitcher;
using SwitcherBoolArray = std::array<bool, 18>;
SwitcherBoolArray switchChangeArray{};
void performOperationHook() override;
void doStartUp() override; void doStartUp() override;
void doShutDown() override; void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override; ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;

View File

@ -1,6 +1,6 @@
#include "PduDummy.h" #include "PduDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
PduDummy::PduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) PduDummy::PduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie), : DeviceHandlerBase(objectId, comif, comCookie),

View File

@ -2,8 +2,7 @@
#define DUMMIES_PDUDUMMY_H_ #define DUMMIES_PDUDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/power/gsDefs.h>
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
class PduDummy : public DeviceHandlerBase { class PduDummy : public DeviceHandlerBase {
public: public:

View File

@ -1,6 +1,6 @@
#include "PlPcduDummy.h" #include "PlPcduDummy.h"
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h> #include <mission/power/gsDefs.h>
PlPcduDummy::PlPcduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) PlPcduDummy::PlPcduDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -2,7 +2,7 @@
#define DUMMIES_PLPCDUDUMMY_H_ #define DUMMIES_PLPCDUDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/devices/devicedefinitions/payloadPcduDefinitions.h> #include <mission/payload/payloadPcduDefinitions.h>
class PlPcduDummy : public DeviceHandlerBase { class PlPcduDummy : public DeviceHandlerBase {
public: public:

View File

@ -2,6 +2,8 @@
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "mission/power/defs.h"
class PlocMpsocDummy : public DeviceHandlerBase { class PlocMpsocDummy : public DeviceHandlerBase {
public: public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1; static const DeviceCommandId_t SIMPLE_COMMAND = 1;

View File

@ -1,8 +1,10 @@
#include "PlocSupervisorDummy.h" #include "PlocSupervisorDummy.h"
PlocSupervisorDummy::PlocSupervisorDummy(object_id_t objectId, object_id_t comif, PlocSupervisorDummy::PlocSupervisorDummy(object_id_t objectId, object_id_t comif,
CookieIF *comCookie) CookieIF *comCookie, PowerSwitchIF &pwrSwitcher)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {
setPowerSwitcher(&pwrSwitcher);
}
PlocSupervisorDummy::~PlocSupervisorDummy() {} PlocSupervisorDummy::~PlocSupervisorDummy() {}
@ -42,3 +44,10 @@ ReturnValue_t PlocSupervisorDummy::initializeLocalDataPool(localpool::DataPool &
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
return returnvalue::OK; return returnvalue::OK;
} }
ReturnValue_t PlocSupervisorDummy::getSwitches(const uint8_t **switches,
uint8_t *numberOfSwitches) {
*numberOfSwitches = 1;
*switches = reinterpret_cast<const uint8_t *>(&switchId);
return returnvalue::OK;
}

View File

@ -1,6 +1,7 @@
#pragma once #pragma once
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/power/defs.h>
class PlocSupervisorDummy : public DeviceHandlerBase { class PlocSupervisorDummy : public DeviceHandlerBase {
public: public:
@ -10,10 +11,13 @@ class PlocSupervisorDummy : public DeviceHandlerBase {
static const uint8_t SIMPLE_COMMAND_DATA = 1; static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2; static const uint8_t PERIODIC_REPLY_DATA = 2;
PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie); PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie,
PowerSwitchIF &pwrSwitcher);
virtual ~PlocSupervisorDummy(); virtual ~PlocSupervisorDummy();
protected: protected:
const power::Switches switchId = power::Switches::PDU1_CH6_PLOC_12V;
void doStartUp() override; void doStartUp() override;
void doShutDown() override; void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override; ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;
@ -27,4 +31,5 @@ class PlocSupervisorDummy : public DeviceHandlerBase {
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override; uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override; LocalDataPoolManager &poolManager) override;
ReturnValue_t getSwitches(const uint8_t **switches, uint8_t *numberOfSwitches) override;
}; };

View File

@ -1,6 +1,6 @@
#include "RwDummy.h" #include "RwDummy.h"
#include <mission/devices/devicedefinitions/rwHelpers.h> #include <mission/acs/rwHelpers.h>
RwDummy::RwDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) RwDummy::RwDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}

View File

@ -1,6 +1,6 @@
#include "StarTrackerDummy.h" #include "StarTrackerDummy.h"
#include <linux/devices/devicedefinitions/StarTrackerDefinitions.h> #include <mission/acs/str/strHelpers.h>
StarTrackerDummy::StarTrackerDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) StarTrackerDummy::StarTrackerDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}
@ -40,7 +40,7 @@ uint32_t StarTrackerDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo)
ReturnValue_t StarTrackerDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t StarTrackerDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(startracker::MCU_TEMPERATURE, new PoolEntry<float>({0})); localDataPoolMap.emplace(startracker::MCU_TEMPERATURE, new PoolEntry<float>({10.0}, true));
localDataPoolMap.emplace(startracker::TICKS_SOLUTION_SET, new PoolEntry<uint32_t>({0})); localDataPoolMap.emplace(startracker::TICKS_SOLUTION_SET, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(startracker::TIME_SOLUTION_SET, new PoolEntry<uint64_t>({0})); localDataPoolMap.emplace(startracker::TIME_SOLUTION_SET, new PoolEntry<uint64_t>({0}));

View File

@ -2,7 +2,7 @@
#define DUMMIES_SUSDUMMY_H_ #define DUMMIES_SUSDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h> #include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include <mission/devices/devicedefinitions/susMax1227Helpers.h> #include <mission/acs/susMax1227Helpers.h>
class SusDummy : public DeviceHandlerBase { class SusDummy : public DeviceHandlerBase {
public: public:

View File

@ -1,6 +1,6 @@
#include "SyrlinksDummy.h" #include "SyrlinksDummy.h"
#include <mission/devices/devicedefinitions/SyrlinksDefinitions.h> #include <mission/com/syrlinksDefs.h>
SyrlinksDummy::SyrlinksDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie) SyrlinksDummy::SyrlinksDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {} : DeviceHandlerBase(objectId, comif, comCookie) {}
@ -40,7 +40,7 @@ uint32_t SyrlinksDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { r
ReturnValue_t SyrlinksDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t SyrlinksDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(syrlinks::TEMP_BASEBAND_BOARD, new PoolEntry<float>({0})); localDataPoolMap.emplace(syrlinks::TEMP_BASEBAND_BOARD, new PoolEntry<float>({10}, true));
localDataPoolMap.emplace(syrlinks::TEMP_POWER_AMPLIFIER, new PoolEntry<float>({0})); localDataPoolMap.emplace(syrlinks::TEMP_POWER_AMPLIFIER, new PoolEntry<float>({10}, true));
return returnvalue::OK; return returnvalue::OK;
} }

View File

@ -9,7 +9,7 @@
TemperatureSensorInserter::TemperatureSensorInserter(object_id_t objectId, TemperatureSensorInserter::TemperatureSensorInserter(object_id_t objectId,
Max31865DummyMap tempSensorDummies_, Max31865DummyMap tempSensorDummies_,
Tmp1075DummyMap tempTmpSensorDummies_) Tmp1075DummyMap tempTmpSensorDummies_)
: SystemObject(objects::THERMAL_TEMP_INSERTER), : SystemObject(objectId),
max31865DummyMap(std::move(tempSensorDummies_)), max31865DummyMap(std::move(tempSensorDummies_)),
tmp1075DummyMap(std::move(tempTmpSensorDummies_)) {} tmp1075DummyMap(std::move(tempTmpSensorDummies_)) {}
@ -22,6 +22,32 @@ ReturnValue_t TemperatureSensorInserter::initialize() {
} }
ReturnValue_t TemperatureSensorInserter::performOperation(uint8_t opCode) { ReturnValue_t TemperatureSensorInserter::performOperation(uint8_t opCode) {
// TODO: deviceSensors
if (not tempsWereInitialized) {
for (auto& rtdDummy : max31865DummyMap) {
rtdDummy.second->setTemperature(10, true);
}
for (auto& tmpDummy : tmp1075DummyMap) {
tmpDummy.second->setTemperature(10, true);
}
tempsWereInitialized = true;
}
if (cycles == 10) {
max31865DummyMap[objects::RTD_9_IC12_HPA]->setTemperature(-100, true);
max31865DummyMap[objects::RTD_11_IC14_MPA]->setTemperature(-100, true);
}
if (cycles == 35) {
max31865DummyMap[objects::RTD_9_IC12_HPA]->setTemperature(0, true);
max31865DummyMap[objects::RTD_11_IC14_MPA]->setTemperature(0, true);
max31865DummyMap[objects::RTD_2_IC5_4K_CAMERA]->setTemperature(-100, true);
}
if (cycles == 60) {
max31865DummyMap[objects::RTD_9_IC12_HPA]->setTemperature(-100, true);
max31865DummyMap[objects::RTD_11_IC14_MPA]->setTemperature(0, true);
}
/* /*
ReturnValue_t result = max31865PlocHeatspreaderSet.read(); ReturnValue_t result = max31865PlocHeatspreaderSet.read();
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
@ -36,5 +62,7 @@ ReturnValue_t TemperatureSensorInserter::performOperation(uint8_t opCode) {
} }
max31865PlocHeatspreaderSet.commit(); max31865PlocHeatspreaderSet.commit();
*/ */
cycles++;
return returnvalue::OK; return returnvalue::OK;
} }
ReturnValue_t TemperatureSensorInserter::initializeAfterTaskCreation() { return returnvalue::OK; }

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
#include <fsfw/controller/ExtendedControllerBase.h> #include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/Max31865Definitions.h> #include <mission/tcs/Max31865Definitions.h>
#include "Max31865Dummy.h" #include "Max31865Dummy.h"
#include "Tmp1075Dummy.h" #include "Tmp1075Dummy.h"
@ -14,6 +14,7 @@ class TemperatureSensorInserter : public ExecutableObjectIF, public SystemObject
Tmp1075DummyMap tempTmpSensorDummies_); Tmp1075DummyMap tempTmpSensorDummies_);
ReturnValue_t initialize() override; ReturnValue_t initialize() override;
ReturnValue_t initializeAfterTaskCreation() override;
protected: protected:
ReturnValue_t performOperation(uint8_t opCode) override; ReturnValue_t performOperation(uint8_t opCode) override;
@ -23,6 +24,8 @@ class TemperatureSensorInserter : public ExecutableObjectIF, public SystemObject
Tmp1075DummyMap tmp1075DummyMap; Tmp1075DummyMap tmp1075DummyMap;
enum TestCase { NONE = 0, COOL_SYRLINKS = 1 }; enum TestCase { NONE = 0, COOL_SYRLINKS = 1 };
int iteration = 0; int iteration = 0;
uint32_t cycles = 0;
bool tempsWereInitialized = false;
bool performTest = false; bool performTest = false;
TestCase testCase = TestCase::NONE; TestCase testCase = TestCase::NONE;

View File

@ -1,6 +1,7 @@
#include "Tmp1075Dummy.h" #include "Tmp1075Dummy.h"
#include "mission/devices/devicedefinitions/Tmp1075Definitions.h" #include <fsfw/datapool/PoolReadGuard.h>
#include <mission/tcs/Tmp1075Definitions.h>
using namespace returnvalue; using namespace returnvalue;
@ -26,11 +27,16 @@ ReturnValue_t Tmp1075Dummy::scanForReply(const uint8_t *start, size_t len,
ReturnValue_t Tmp1075Dummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) { ReturnValue_t Tmp1075Dummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
return 0; return 0;
} }
void Tmp1075Dummy::setTemperature(float temperature, bool valid) {
PoolReadGuard pg(&set);
set.temperatureCelcius.value = temperature;
set.setValidity(valid, true);
}
void Tmp1075Dummy::fillCommandAndReplyMap() {} void Tmp1075Dummy::fillCommandAndReplyMap() {}
uint32_t Tmp1075Dummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 1000; } uint32_t Tmp1075Dummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 1000; }
ReturnValue_t Tmp1075Dummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t Tmp1075Dummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(TMP1075::TEMPERATURE_C_TMP1075, new PoolEntry<float>({0.0})); localDataPoolMap.emplace(TMP1075::TEMPERATURE_C_TMP1075, new PoolEntry<float>({10.0}, true));
return OK; return OK;
} }
LocalPoolDataSetBase *Tmp1075Dummy::getDataSetHandle(sid_t sid) { return &set; } LocalPoolDataSetBase *Tmp1075Dummy::getDataSetHandle(sid_t sid) { return &set; }

View File

@ -1,12 +1,14 @@
#ifndef EIVE_OBSW_TMP1075DUMMY_H #ifndef EIVE_OBSW_TMP1075DUMMY_H
#define EIVE_OBSW_TMP1075DUMMY_H #define EIVE_OBSW_TMP1075DUMMY_H
#include <mission/tcs/Tmp1075Definitions.h>
#include "fsfw/devicehandlers/DeviceHandlerBase.h" #include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "mission/devices/devicedefinitions/Tmp1075Definitions.h"
class Tmp1075Dummy : public DeviceHandlerBase { class Tmp1075Dummy : public DeviceHandlerBase {
public: public:
Tmp1075Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie); Tmp1075Dummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
void setTemperature(float temperature, bool setValid);
private: private:
TMP1075::Tmp1075Dataset set; TMP1075::Tmp1075Dataset set;

View File

@ -1,4 +1,4 @@
#include "helpers.h" #include "helperFactory.h"
#include <dummies/AcuDummy.h> #include <dummies/AcuDummy.h>
#include <dummies/BpxDummy.h> #include <dummies/BpxDummy.h>
@ -24,19 +24,20 @@
#include <dummies/StarTrackerDummy.h> #include <dummies/StarTrackerDummy.h>
#include <dummies/SusDummy.h> #include <dummies/SusDummy.h>
#include <dummies/SyrlinksDummy.h> #include <dummies/SyrlinksDummy.h>
#include <fsfw/devicehandlers/HealthDevice.h>
#include <fsfw_hal/common/gpio/GpioIF.h> #include <fsfw_hal/common/gpio/GpioIF.h>
#include <mission/power/gsDefs.h>
#include <mission/system/acs/ImtqAssembly.h>
#include <mission/system/acs/StrAssembly.h>
#include <mission/system/objects/CamSwitcher.h> #include <mission/system/objects/CamSwitcher.h>
#include <mission/system/objects/ImtqAssembly.h>
#include <mission/system/objects/StrAssembly.h>
#include <mission/system/objects/TcsBoardAssembly.h> #include <mission/system/objects/TcsBoardAssembly.h>
#include "TemperatureSensorInserter.h" #include "TemperatureSensorInserter.h"
#include "dummies/Max31865Dummy.h" #include "dummies/Max31865Dummy.h"
#include "dummies/Tmp1075Dummy.h" #include "dummies/Tmp1075Dummy.h"
#include "mission/core/GenericFactory.h" #include "mission/genericFactory.h"
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h" #include "mission/system/acs/acsModeTree.h"
#include "mission/system/tree/acsModeTree.h" #include "mission/system/com/comModeTree.h"
#include "mission/system/tree/comModeTree.h"
#include "mission/system/tree/payloadModeTree.h" #include "mission/system/tree/payloadModeTree.h"
#include "mission/system/tree/tcsModeTree.h" #include "mission/system/tree/tcsModeTree.h"
@ -56,7 +57,7 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
rws[1] = new RwDummy(objects::RW2, objects::DUMMY_COM_IF, comCookieDummy); rws[1] = new RwDummy(objects::RW2, objects::DUMMY_COM_IF, comCookieDummy);
rws[2] = new RwDummy(objects::RW3, objects::DUMMY_COM_IF, comCookieDummy); rws[2] = new RwDummy(objects::RW3, objects::DUMMY_COM_IF, comCookieDummy);
rws[3] = new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy); rws[3] = new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy);
ObjectFactory::createRwAssy(pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds); ObjectFactory::createRwAssy(pwrSwitcher, power::Switches::PDU2_CH2_RW_5V, rws, rwIds);
new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER); new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER);
auto* strAssy = new StrAssembly(objects::STR_ASSY); auto* strAssy = new StrAssembly(objects::STR_ASSY);
strAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM); strAssy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
@ -210,7 +211,7 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
} }
} }
auto* camSwitcher = auto* camSwitcher =
new CamSwitcher(objects::CAM_SWITCHER, pwrSwitcher, pcdu::Switches::PDU2_CH8_PAYLOAD_CAMERA); new CamSwitcher(objects::CAM_SWITCHER, pwrSwitcher, power::Switches::PDU2_CH8_PAYLOAD_CAMERA);
camSwitcher->connectModeTreeParent(satsystem::payload::SUBSYSTEM); camSwitcher->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
auto* scexDummy = new ScexDummy(objects::SCEX, objects::DUMMY_COM_IF, comCookieDummy); auto* scexDummy = new ScexDummy(objects::SCEX, objects::DUMMY_COM_IF, comCookieDummy);
scexDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM); scexDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
@ -221,8 +222,8 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio
auto* plocMpsocDummy = auto* plocMpsocDummy =
new PlocMpsocDummy(objects::PLOC_MPSOC_HANDLER, objects::DUMMY_COM_IF, comCookieDummy); new PlocMpsocDummy(objects::PLOC_MPSOC_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
plocMpsocDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM); plocMpsocDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
auto* plocSupervisorDummy = new PlocSupervisorDummy(objects::PLOC_SUPERVISOR_HANDLER, auto* plocSupervisorDummy = new PlocSupervisorDummy(
objects::DUMMY_COM_IF, comCookieDummy); objects::PLOC_SUPERVISOR_HANDLER, objects::DUMMY_COM_IF, comCookieDummy, pwrSwitcher);
plocSupervisorDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM); plocSupervisorDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
} }
} }

2
fsfw

@ -1 +1 @@
Subproject commit b814e7198f720cad0fb063f54644d5dbc92c165c Subproject commit 6650c293da09d8851c2bd6c4d6e6c5a8390d003e

View File

@ -86,66 +86,65 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h 10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h 10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h 10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h
11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;The limits for the rotation in safe mode were violated.;mission/acsDefs.h 11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;No description;mission/acs/defs.h
11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;The system has recovered from a safe rate rotation violation.;mission/acsDefs.h 11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;No description;mission/acs/defs.h
11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained.;mission/acsDefs.h 11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;No description;mission/acs/defs.h
11203;0x2bc3;MEKF_INVALID_INFO;INFO;MEKF was not able to compute a solution. P1: MEKF state on exit;mission/acsDefs.h 11203;0x2bc3;MEKF_INVALID_INFO;INFO;No description;mission/acs/defs.h
11204;0x2bc4;MEKF_RECOVERY;INFO;MEKF is able to compute a solution again.;mission/acsDefs.h 11204;0x2bc4;MEKF_RECOVERY;INFO;No description;mission/acs/defs.h
11205;0x2bc5;MEKF_AUTOMATIC_RESET;INFO;MEKF performed an automatic reset after detection of nonfinite values.;mission/acsDefs.h 11205;0x2bc5;MEKF_INVALID_MODE_VIOLATION;HIGH;No description;mission/acs/defs.h
11206;0x2bc6;MEKF_INVALID_MODE_VIOLATION;HIGH;MEKF was not able to compute a solution during any pointing ACS mode for a prolonged time.;mission/acsDefs.h 11206;0x2bc6;SAFE_MODE_CONTROLLER_FAILURE;HIGH;No description;mission/acs/defs.h
11207;0x2bc7;SAFE_MODE_CONTROLLER_FAILURE;HIGH;The ACS safe mode controller was not able to compute a solution and has failed. P1: Missing information about magnetic field, P2: Missing information about rotational rate;mission/acsDefs.h 11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/power/defs.h
11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h 11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/power/defs.h
11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h 11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/power/defs.h
11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h 11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/power/defs.h
11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h 11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;No description;mission/tcs/HeaterHandler.h
11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;No description;mission/devices/HeaterHandler.h 11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;No description;mission/tcs/HeaterHandler.h
11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;No description;mission/devices/HeaterHandler.h 11402;0x2c8a;HEATER_WENT_ON;INFO;No description;mission/tcs/HeaterHandler.h
11402;0x2c8a;HEATER_WENT_ON;INFO;No description;mission/devices/HeaterHandler.h 11403;0x2c8b;HEATER_WENT_OFF;INFO;No description;mission/tcs/HeaterHandler.h
11403;0x2c8b;HEATER_WENT_OFF;INFO;No description;mission/devices/HeaterHandler.h 11404;0x2c8c;SWITCH_ALREADY_ON;LOW;No description;mission/tcs/HeaterHandler.h
11404;0x2c8c;SWITCH_ALREADY_ON;LOW;No description;mission/devices/HeaterHandler.h 11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;No description;mission/tcs/HeaterHandler.h
11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;No description;mission/devices/HeaterHandler.h 11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;No description;mission/tcs/HeaterHandler.h
11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;No description;mission/devices/HeaterHandler.h 11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;No description;mission/tcs/HeaterHandler.h
11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;No description;mission/devices/HeaterHandler.h 11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/SolarArrayDeploymentHandler.h
11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h 11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/SolarArrayDeploymentHandler.h
11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h 11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;No description;mission/SolarArrayDeploymentHandler.h
11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;No description;mission/devices/SolarArrayDeploymentHandler.h 11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;No description;mission/SolarArrayDeploymentHandler.h
11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;No description;mission/devices/SolarArrayDeploymentHandler.h 11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;No description;mission/SolarArrayDeploymentHandler.h
11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;No description;mission/devices/SolarArrayDeploymentHandler.h 11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/payload/PlocMpsocHandler.h
11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/devices/ploc/PlocMPSoCHandler.h 11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/payload/PlocMpsocHandler.h
11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h 11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/payload/PlocMpsocHandler.h
11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h 11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/payload/PlocMpsocHandler.h
11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/devices/ploc/PlocMPSoCHandler.h 11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/payload/PlocMpsocHandler.h
11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHandler.h 11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/payload/PlocMpsocHandler.h
11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/devices/ploc/PlocMPSoCHandler.h 11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/acs/ImtqHandler.h
11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/devices/ImtqHandler.h 11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/acs/rwHelpers.h
11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/devices/devicedefinitions/rwHelpers.h 11802;0x2e1a;RESET_OCCURED;LOW;No description;mission/acs/rwHelpers.h
11802;0x2e1a;RESET_OCCURED;LOW;No description;mission/devices/devicedefinitions/rwHelpers.h 11901;0x2e7d;BOOTING_FIRMWARE_FAILED_EVENT;LOW;Failed to boot firmware;mission/acs/str/StarTrackerHandler.h
11901;0x2e7d;BOOTING_FIRMWARE_FAILED_EVENT;LOW;Failed to boot firmware;linux/devices/startracker/StarTrackerHandler.h 11902;0x2e7e;BOOTING_BOOTLOADER_FAILED_EVENT;LOW;Failed to boot star tracker into bootloader mode;mission/acs/str/StarTrackerHandler.h
11902;0x2e7e;BOOTING_BOOTLOADER_FAILED_EVENT;LOW;Failed to boot star tracker into bootloader mode;linux/devices/startracker/StarTrackerHandler.h 12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/payload/PlocSupervisorHandler.h
12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/devices/ploc/PlocSupervisorHandler.h 12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/payload/PlocSupervisorHandler.h
12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/devices/ploc/PlocSupervisorHandler.h 12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;No description;linux/payload/PlocSupervisorHandler.h
12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;No description;linux/devices/ploc/PlocSupervisorHandler.h 12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/payload/PlocSupervisorHandler.h
12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/devices/ploc/PlocSupervisorHandler.h 12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/payload/PlocSupervisorHandler.h
12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/devices/ploc/PlocSupervisorHandler.h 12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/payload/PlocSupervisorHandler.h
12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/devices/ploc/PlocSupervisorHandler.h 12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/payload/PlocSupervisorHandler.h
12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/devices/ploc/PlocSupervisorHandler.h 12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/payload/PlocSupervisorHandler.h
12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/devices/ploc/PlocSupervisorHandler.h
12100;0x2f44;SANITIZATION_FAILED;LOW;No description;bsp_q7s/fs/SdCardManager.h 12100;0x2f44;SANITIZATION_FAILED;LOW;No description;bsp_q7s/fs/SdCardManager.h
12101;0x2f45;MOUNTED_SD_CARD;INFO;No description;bsp_q7s/fs/SdCardManager.h 12101;0x2f45;MOUNTED_SD_CARD;INFO;No description;bsp_q7s/fs/SdCardManager.h
12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/devices/ploc/PlocMemoryDumper.h 12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/payload/PlocMemoryDumper.h
12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/devices/ploc/PlocMemoryDumper.h 12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/payload/PlocMemoryDumper.h
12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/devices/ploc/PlocMemoryDumper.h 12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/payload/PlocMemoryDumper.h
12401;0x3071;INVALID_TC_FRAME;HIGH;No description;linux/ipcore/PdecHandler.h 12401;0x3071;INVALID_TC_FRAME;HIGH;No description;linux/ipcore/PdecHandler.h
12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/PdecHandler.h 12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/PdecHandler.h
12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/PdecHandler.h 12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/PdecHandler.h
@ -157,95 +156,96 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
12409;0x3079;WRITE_SYSCALL_ERROR_PDEC;HIGH;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 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 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/StrComHandler.h 12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/acs/StrComHandler.h
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/devices/startracker/StrComHandler.h 12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/acs/StrComHandler.h
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/devices/startracker/StrComHandler.h 12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/acs/StrComHandler.h
12503;0x30d7;IMAGE_DOWNLOAD_SUCCESSFUL;LOW;Image download was successful;linux/devices/startracker/StrComHandler.h 12503;0x30d7;IMAGE_DOWNLOAD_SUCCESSFUL;LOW;Image download was successful;linux/acs/StrComHandler.h
12504;0x30d8;FLASH_WRITE_SUCCESSFUL;LOW;Finished flash write procedure successfully;linux/devices/startracker/StrComHandler.h 12504;0x30d8;FLASH_WRITE_SUCCESSFUL;LOW;Finished flash write procedure successfully;linux/acs/StrComHandler.h
12505;0x30d9;FLASH_READ_SUCCESSFUL;LOW;Finished flash read procedure successfully;linux/devices/startracker/StrComHandler.h 12505;0x30d9;FLASH_READ_SUCCESSFUL;LOW;Finished flash read procedure successfully;linux/acs/StrComHandler.h
12506;0x30da;FLASH_READ_FAILED;LOW;Flash read procedure failed;linux/devices/startracker/StrComHandler.h 12506;0x30da;FLASH_READ_FAILED;LOW;Flash read procedure failed;linux/acs/StrComHandler.h
12507;0x30db;FIRMWARE_UPDATE_SUCCESSFUL;LOW;Firmware update was successful;linux/devices/startracker/StrComHandler.h 12507;0x30db;FIRMWARE_UPDATE_SUCCESSFUL;LOW;Firmware update was successful;linux/acs/StrComHandler.h
12508;0x30dc;FIRMWARE_UPDATE_FAILED;LOW;Firmware update failed;linux/devices/startracker/StrComHandler.h 12508;0x30dc;FIRMWARE_UPDATE_FAILED;LOW;Firmware update failed;linux/acs/StrComHandler.h
12509;0x30dd;STR_HELPER_READING_REPLY_FAILED;LOW;Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/devices/startracker/StrComHandler.h 12509;0x30dd;STR_HELPER_READING_REPLY_FAILED;LOW;Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/acs/StrComHandler.h
12510;0x30de;STR_HELPER_COM_ERROR;LOW;Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/devices/startracker/StrComHandler.h 12510;0x30de;STR_HELPER_COM_ERROR;LOW;Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/acs/StrComHandler.h
12511;0x30df;STR_COM_REPLY_TIMEOUT;LOW;Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout;linux/devices/startracker/StrComHandler.h 12511;0x30df;STR_COM_REPLY_TIMEOUT;LOW;Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout;linux/acs/StrComHandler.h
12513;0x30e1;STR_HELPER_DEC_ERROR;LOW;Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request;linux/devices/startracker/StrComHandler.h 12513;0x30e1;STR_HELPER_DEC_ERROR;LOW;Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request;linux/acs/StrComHandler.h
12514;0x30e2;POSITION_MISMATCH;LOW;Position mismatch P1: The expected position and thus the position for which the image upload/download failed;linux/devices/startracker/StrComHandler.h 12514;0x30e2;POSITION_MISMATCH;LOW;Position mismatch P1: The expected position and thus the position for which the image upload/download failed;linux/acs/StrComHandler.h
12515;0x30e3;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux/devices/startracker/StrComHandler.h 12515;0x30e3;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux/acs/StrComHandler.h
12516;0x30e4;STR_HELPER_SENDING_PACKET_FAILED;LOW;No description;linux/devices/startracker/StrComHandler.h 12516;0x30e4;STR_HELPER_SENDING_PACKET_FAILED;LOW;No description;linux/acs/StrComHandler.h
12517;0x30e5;STR_HELPER_REQUESTING_MSG_FAILED;LOW;No description;linux/devices/startracker/StrComHandler.h 12517;0x30e5;STR_HELPER_REQUESTING_MSG_FAILED;LOW;No description;linux/acs/StrComHandler.h
12600;0x3138;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux/devices/ploc/PlocMPSoCHelper.h 12600;0x3138;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux/payload/PlocMpsocHelper.h
12601;0x3139;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux/devices/ploc/PlocMPSoCHelper.h 12601;0x3139;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux/payload/PlocMpsocHelper.h
12602;0x313a;MPSOC_SENDING_COMMAND_FAILED;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h 12602;0x313a;MPSOC_SENDING_COMMAND_FAILED;LOW;No description;linux/payload/PlocMpsocHelper.h
12603;0x313b;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12603;0x313b;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12604;0x313c;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12604;0x313c;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12605;0x313d;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12605;0x313d;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12606;0x313e;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12606;0x313e;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12607;0x313f;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12607;0x313f;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12608;0x3140;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12608;0x3140;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12609;0x3141;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12609;0x3141;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12610;0x3142;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12610;0x3142;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12611;0x3143;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHelper.h 12611;0x3143;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux/payload/PlocMpsocHelper.h
12612;0x3144;MPSOC_TM_SIZE_ERROR;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h 12612;0x3144;MPSOC_TM_SIZE_ERROR;LOW;No description;linux/payload/PlocMpsocHelper.h
12613;0x3145;MPSOC_TM_CRC_MISSMATCH;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h 12613;0x3145;MPSOC_TM_CRC_MISSMATCH;LOW;No description;linux/payload/PlocMpsocHelper.h
12700;0x319c;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission/devices/PayloadPcduHandler.h 12700;0x319c;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission/payload/PayloadPcduHandler.h
12701;0x319d;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12701;0x319d;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12702;0x319e;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12702;0x319e;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12703;0x319f;I_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12703;0x319f;I_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12704;0x31a0;U_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12704;0x31a0;U_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12705;0x31a1;I_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12705;0x31a1;I_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12706;0x31a2;U_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12706;0x31a2;U_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12707;0x31a3;I_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12707;0x31a3;I_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12708;0x31a4;U_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12708;0x31a4;U_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/objects/AcsBoardAssembly.h 12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/acs/AcsBoardAssembly.h
12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/objects/AcsBoardAssembly.h 12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/acs/AcsBoardAssembly.h
12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/objects/AcsBoardAssembly.h 12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/acs/AcsBoardAssembly.h
12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/AcsBoardAssembly.h 12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/acs/AcsBoardAssembly.h
12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/objects/SusAssembly.h 12804;0x3204;DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY;MEDIUM;This is triggered when the assembly would have normally switched the board side, but the GPS device of the other side was marked faulty. P1: Current submode.;mission/system/acs/AcsBoardAssembly.h
12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/objects/SusAssembly.h 12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/acs/SusAssembly.h
12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/objects/SusAssembly.h 12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/acs/SusAssembly.h
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/SusAssembly.h 12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/acs/SusAssembly.h
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/acs/SusAssembly.h
13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;No description;mission/system/objects/TcsBoardAssembly.h 13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;No description;mission/system/objects/TcsBoardAssembly.h
13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/devices/devicedefinitions/GPSDefinitions.h 13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/acs/archive/GPSDefinitions.h
13101;0x332d;CANT_GET_FIX;LOW;Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on.;mission/devices/devicedefinitions/GPSDefinitions.h 13101;0x332d;CANT_GET_FIX;LOW;Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on.;mission/acs/archive/GPSDefinitions.h
13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/devices/P60DockHandler.h 13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/power/P60DockHandler.h
13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/devices/P60DockHandler.h 13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/power/P60DockHandler.h
13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/devices/P60DockHandler.h 13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/power/P60DockHandler.h
13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/devices/ploc/PlocSupvUartMan.h 13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/payload/PlocSupvUartMan.h
13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/devices/ploc/PlocSupvUartMan.h 13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/payload/PlocSupvUartMan.h
13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/devices/ploc/PlocSupvUartMan.h 13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/payload/PlocSupvUartMan.h
13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/devices/ploc/PlocSupvUartMan.h 13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/payload/PlocSupvUartMan.h
13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/devices/ploc/PlocSupvUartMan.h 13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/payload/PlocSupvUartMan.h
13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/devices/ploc/PlocSupvUartMan.h 13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/payload/PlocSupvUartMan.h
13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/devices/ploc/PlocSupvUartMan.h 13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/payload/PlocSupvUartMan.h
13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/devices/ploc/PlocSupvUartMan.h 13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/payload/PlocSupvUartMan.h
13608;0x3528;SUPV_MEM_CHECK_OK;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13608;0x3528;SUPV_MEM_CHECK_OK;INFO;No description;linux/payload/PlocSupvUartMan.h
13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;No description;linux/payload/PlocSupvUartMan.h
13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h 13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;No description;linux/payload/PlocSupvUartMan.h
13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocSupvUartMan.h 13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocSupvUartMan.h
13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/devices/ploc/PlocSupvUartMan.h 13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/payload/PlocSupvUartMan.h
13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/devices/ploc/PlocSupvUartMan.h 13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/payload/PlocSupvUartMan.h
13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/devices/ploc/PlocSupvUartMan.h 13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/payload/PlocSupvUartMan.h
13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h 13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/payload/PlocSupvUartMan.h
13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h 13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;No description;linux/payload/PlocSupvUartMan.h
13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h 13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;No description;linux/payload/PlocSupvUartMan.h
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h 13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/payload/PlocSupvUartMan.h
13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;No description;linux/payload/PlocSupvUartMan.h
13632;0x3540;HDLC_CRC_ERROR;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13632;0x3540;HDLC_CRC_ERROR;INFO;No description;linux/payload/PlocSupvUartMan.h
13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/devices/devicedefinitions/SyrlinksDefinitions.h 13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/com/syrlinksDefs.h
13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/devices/devicedefinitions/SyrlinksDefinitions.h 13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/com/syrlinksDefs.h
13800;0x35e8;MISSING_PACKET;LOW;No description;mission/devices/devicedefinitions/ScexDefinitions.h 13800;0x35e8;MISSING_PACKET;LOW;No description;mission/payload/scexHelpers.h
13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;No description;mission/devices/devicedefinitions/ScexDefinitions.h 13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;No description;mission/payload/scexHelpers.h
13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;No description;mission/devices/devicedefinitions/ScexDefinitions.h 13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;No description;mission/payload/scexHelpers.h
13901;0x364d;SET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h 13901;0x364d;SET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13902;0x364e;GET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h 13902;0x364e;GET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h 13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
@ -261,21 +261,25 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
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 14007;0x36b7;REBOOT_COUNTER;INFO;Total reboot counter, which is the sum of the boot count of all individual images.;bsp_q7s/core/CoreController.h
14008;0x36b8;INDIVIDUAL_BOOT_COUNTS;INFO;Get the boot count of the individual images. P1: First 16 bits boot count of image 0 0, last 16 bits boot count of image 0 1. P2: First 16 bits boot count of image 1 0, last 16 bits boot count of image 1 1.;bsp_q7s/core/CoreController.h 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
14010;0x36ba;I2C_UNAVAILABLE_REBOOT;MEDIUM;No description;bsp_q7s/core/CoreController.h 14010;0x36ba;I2C_UNAVAILABLE_REBOOT;MEDIUM;No description;bsp_q7s/core/CoreController.h
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.h 14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/tcsDefs.h
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h 14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/tcsDefs.h
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14103;0x3717;PLOC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14105;0x3719;CAMERA_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14105;0x3719;HPA_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14106;0x371a;PCDU_SYSTEM_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14106;0x371a;PLPCDU_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14107;0x371b;HEATER_NOT_OFF_FOR_OFF_MODE;MEDIUM;No description;mission/controller/tcsDefs.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 14201;0x3779;TX_TIMER_EXPIRED;INFO;The transmit timer to protect the Syrlinks expired P1: The current timer value;mission/system/com/ComSubsystem.h
14202;0x377a;BIT_LOCK_TX_ON;INFO;Transmitter will be turned on due to detection of bitlock;mission/system/objects/ComSubsystem.h 14202;0x377a;BIT_LOCK_TX_ON;INFO;Transmitter will be turned on due to detection of bitlock;mission/system/com/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 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 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 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 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 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 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 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 14309;0x37e5;DUMP_CFDP_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14310;0x37e6;DUMP_OK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14311;0x37e7;DUMP_NOK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14312;0x37e8;DUMP_MISC_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14313;0x37e9;DUMP_HK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14314;0x37ea;DUMP_CFDP_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h

1 Event ID (dec) Event ID (hex) Name Severity Description File Path
86 10802 0x2a32 SERIALIZATION_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
87 10803 0x2a33 FILESTORE_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
88 10804 0x2a34 FILENAME_TOO_LARGE_ERROR LOW P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name fsfw/src/fsfw/cfdp/handler/defs.h
89 11200 0x2bc0 SAFE_RATE_VIOLATION MEDIUM The limits for the rotation in safe mode were violated. No description mission/acsDefs.h mission/acs/defs.h
90 11201 0x2bc1 SAFE_RATE_RECOVERY MEDIUM The system has recovered from a safe rate rotation violation. No description mission/acsDefs.h mission/acs/defs.h
91 11202 0x2bc2 MULTIPLE_RW_INVALID HIGH Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained. No description mission/acsDefs.h mission/acs/defs.h
92 11203 0x2bc3 MEKF_INVALID_INFO INFO MEKF was not able to compute a solution. P1: MEKF state on exit No description mission/acsDefs.h mission/acs/defs.h
93 11204 0x2bc4 MEKF_RECOVERY INFO MEKF is able to compute a solution again. No description mission/acsDefs.h mission/acs/defs.h
94 11205 0x2bc5 MEKF_AUTOMATIC_RESET MEKF_INVALID_MODE_VIOLATION INFO HIGH MEKF performed an automatic reset after detection of nonfinite values. No description mission/acsDefs.h mission/acs/defs.h
95 11206 0x2bc6 MEKF_INVALID_MODE_VIOLATION SAFE_MODE_CONTROLLER_FAILURE HIGH MEKF was not able to compute a solution during any pointing ACS mode for a prolonged time. No description mission/acsDefs.h mission/acs/defs.h
96 11207 11300 0x2bc7 0x2c24 SAFE_MODE_CONTROLLER_FAILURE SWITCH_CMD_SENT HIGH INFO The ACS safe mode controller was not able to compute a solution and has failed. P1: Missing information about magnetic field, P2: Missing information about rotational rate Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index mission/acsDefs.h mission/power/defs.h
97 11300 11301 0x2c24 0x2c25 SWITCH_CMD_SENT SWITCH_HAS_CHANGED INFO Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index mission/devices/devicedefinitions/powerDefinitions.h mission/power/defs.h
98 11301 11302 0x2c25 0x2c26 SWITCH_HAS_CHANGED SWITCHING_Q7S_DENIED INFO MEDIUM Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index No description mission/devices/devicedefinitions/powerDefinitions.h mission/power/defs.h
99 11302 11303 0x2c26 0x2c27 SWITCHING_Q7S_DENIED FDIR_REACTION_IGNORED MEDIUM No description mission/devices/devicedefinitions/powerDefinitions.h mission/power/defs.h
100 11303 11400 0x2c27 0x2c88 FDIR_REACTION_IGNORED GPIO_PULL_HIGH_FAILED MEDIUM LOW No description mission/devices/devicedefinitions/powerDefinitions.h mission/tcs/HeaterHandler.h
101 11400 11401 0x2c88 0x2c89 GPIO_PULL_HIGH_FAILED GPIO_PULL_LOW_FAILED LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
102 11401 11402 0x2c89 0x2c8a GPIO_PULL_LOW_FAILED HEATER_WENT_ON LOW INFO No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
103 11402 11403 0x2c8a 0x2c8b HEATER_WENT_ON HEATER_WENT_OFF INFO No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
104 11403 11404 0x2c8b 0x2c8c HEATER_WENT_OFF SWITCH_ALREADY_ON INFO LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
105 11404 11405 0x2c8c 0x2c8d SWITCH_ALREADY_ON SWITCH_ALREADY_OFF LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
106 11405 11406 0x2c8d 0x2c8e SWITCH_ALREADY_OFF MAIN_SWITCH_TIMEOUT LOW MEDIUM No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
107 11406 11407 0x2c8e 0x2c8f MAIN_SWITCH_TIMEOUT FAULTY_HEATER_WAS_ON MEDIUM LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
108 11407 11500 0x2c8f 0x2cec FAULTY_HEATER_WAS_ON BURN_PHASE_START LOW INFO No description P1: Burn duration in milliseconds, P2: Dry run flag mission/devices/HeaterHandler.h mission/SolarArrayDeploymentHandler.h
109 11500 11501 0x2cec 0x2ced BURN_PHASE_START BURN_PHASE_DONE INFO P1: Burn duration in milliseconds, P2: Dry run flag mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
110 11501 11502 0x2ced 0x2cee BURN_PHASE_DONE MAIN_SWITCH_ON_TIMEOUT INFO LOW P1: Burn duration in milliseconds, P2: Dry run flag No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
111 11502 11503 0x2cee 0x2cef MAIN_SWITCH_ON_TIMEOUT MAIN_SWITCH_OFF_TIMEOUT LOW No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
112 11503 11504 0x2cef 0x2cf0 MAIN_SWITCH_OFF_TIMEOUT DEPL_SA1_GPIO_SWTICH_ON_FAILED LOW HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
113 11504 11505 0x2cf0 0x2cf1 DEPL_SA1_GPIO_SWTICH_ON_FAILED DEPL_SA2_GPIO_SWTICH_ON_FAILED HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
114 11505 11506 0x2cf1 0x2cf2 DEPL_SA2_GPIO_SWTICH_ON_FAILED DEPL_SA1_GPIO_SWTICH_OFF_FAILED HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
115 11506 11507 0x2cf2 0x2cf3 DEPL_SA1_GPIO_SWTICH_OFF_FAILED DEPL_SA2_GPIO_SWTICH_OFF_FAILED HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
116 11507 11508 0x2cf3 0x2cf4 DEPL_SA2_GPIO_SWTICH_OFF_FAILED AUTONOMOUS_DEPLOYMENT_COMPLETED HIGH INFO No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
117 11508 11601 0x2cf4 0x2d51 AUTONOMOUS_DEPLOYMENT_COMPLETED MEMORY_READ_RPT_CRC_FAILURE INFO LOW No description PLOC crc failure in telemetry packet mission/devices/SolarArrayDeploymentHandler.h linux/payload/PlocMpsocHandler.h
118 11601 11602 0x2d51 0x2d52 MEMORY_READ_RPT_CRC_FAILURE ACK_FAILURE LOW PLOC crc failure in telemetry packet PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
119 11602 11603 0x2d52 0x2d53 ACK_FAILURE EXE_FAILURE LOW PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
120 11603 11604 0x2d53 0x2d54 EXE_FAILURE MPSOC_HANDLER_CRC_FAILURE LOW PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field PLOC reply has invalid crc linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
121 11604 11605 0x2d54 0x2d55 MPSOC_HANDLER_CRC_FAILURE MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH LOW PLOC reply has invalid crc Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
122 11605 11606 0x2d55 0x2d56 MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH MPSOC_SHUTDOWN_FAILED LOW HIGH Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor. linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
123 11606 11701 0x2d56 0x2db5 MPSOC_SHUTDOWN_FAILED SELF_TEST_I2C_FAILURE HIGH LOW Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor. Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA linux/devices/ploc/PlocMPSoCHandler.h mission/acs/ImtqHandler.h
124 11701 11702 0x2db5 0x2db6 SELF_TEST_I2C_FAILURE SELF_TEST_SPI_FAILURE LOW Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
125 11702 11703 0x2db6 0x2db7 SELF_TEST_SPI_FAILURE SELF_TEST_ADC_FAILURE LOW Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
126 11703 11704 0x2db7 0x2db8 SELF_TEST_ADC_FAILURE SELF_TEST_PWM_FAILURE LOW Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
127 11704 11705 0x2db8 0x2db9 SELF_TEST_PWM_FAILURE SELF_TEST_TC_FAILURE LOW Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
128 11705 11706 0x2db9 0x2dba SELF_TEST_TC_FAILURE SELF_TEST_MTM_RANGE_FAILURE LOW Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
129 11706 11707 0x2dba 0x2dbb SELF_TEST_MTM_RANGE_FAILURE SELF_TEST_COIL_CURRENT_FAILURE LOW Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
130 11707 11708 0x2dbb 0x2dbc SELF_TEST_COIL_CURRENT_FAILURE INVALID_ERROR_BYTE LOW Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
131 11708 11801 0x2dbc 0x2e19 INVALID_ERROR_BYTE ERROR_STATE LOW HIGH Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. Reaction wheel signals an error state mission/devices/ImtqHandler.h mission/acs/rwHelpers.h
132 11801 11802 0x2e19 0x2e1a ERROR_STATE RESET_OCCURED HIGH LOW Reaction wheel signals an error state No description mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
133 11802 11901 0x2e1a 0x2e7d RESET_OCCURED BOOTING_FIRMWARE_FAILED_EVENT LOW No description Failed to boot firmware mission/devices/devicedefinitions/rwHelpers.h mission/acs/str/StarTrackerHandler.h
134 11901 11902 0x2e7d 0x2e7e BOOTING_FIRMWARE_FAILED_EVENT BOOTING_BOOTLOADER_FAILED_EVENT LOW Failed to boot firmware Failed to boot star tracker into bootloader mode linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
135 11902 12001 0x2e7e 0x2ee1 BOOTING_BOOTLOADER_FAILED_EVENT SUPV_MEMORY_READ_RPT_CRC_FAILURE LOW Failed to boot star tracker into bootloader mode PLOC supervisor crc failure in telemetry packet linux/devices/startracker/StarTrackerHandler.h linux/payload/PlocSupervisorHandler.h
136 12001 12002 0x2ee1 0x2ee2 SUPV_MEMORY_READ_RPT_CRC_FAILURE SUPV_UNKNOWN_TM LOW PLOC supervisor crc failure in telemetry packet Unhandled event. P1: APID, P2: Service ID linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
137 12002 12003 0x2ee2 0x2ee3 SUPV_UNKNOWN_TM SUPV_UNINIMPLEMENTED_TM LOW Unhandled event. P1: APID, P2: Service ID No description linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
138 12003 12004 0x2ee3 0x2ee4 SUPV_UNINIMPLEMENTED_TM SUPV_ACK_FAILURE LOW No description PLOC supervisor received acknowledgment failure report linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
139 12004 12005 0x2ee4 0x2ee5 SUPV_ACK_FAILURE SUPV_EXE_FAILURE LOW PLOC supervisor received acknowledgment failure report PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
140 12005 12006 0x2ee5 0x2ee6 SUPV_EXE_FAILURE SUPV_CRC_FAILURE_EVENT LOW PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler PLOC supervisor reply has invalid crc linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
141 12006 12007 0x2ee6 0x2ee7 SUPV_CRC_FAILURE_EVENT SUPV_HELPER_EXECUTING LOW PLOC supervisor reply has invalid crc Supervisor helper currently executing a command linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
142 12007 12008 0x2ee7 0x2ee8 SUPV_HELPER_EXECUTING SUPV_MPSOC_SHUTDOWN_BUILD_FAILED LOW Supervisor helper currently executing a command Failed to build the command to shutdown the MPSoC linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
12008 0x2ee8 SUPV_MPSOC_SHUTDOWN_BUILD_FAILED LOW Failed to build the command to shutdown the MPSoC linux/devices/ploc/PlocSupervisorHandler.h
143 12100 0x2f44 SANITIZATION_FAILED LOW No description bsp_q7s/fs/SdCardManager.h
144 12101 0x2f45 MOUNTED_SD_CARD INFO No description bsp_q7s/fs/SdCardManager.h
145 12300 0x300c SEND_MRAM_DUMP_FAILED LOW Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
146 12301 0x300d MRAM_DUMP_FAILED LOW Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
147 12302 0x300e MRAM_DUMP_FINISHED LOW MRAM dump finished successfully linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
148 12401 0x3071 INVALID_TC_FRAME HIGH No description linux/ipcore/PdecHandler.h
149 12402 0x3072 INVALID_FAR HIGH Read invalid FAR from PDEC after startup linux/ipcore/PdecHandler.h
150 12403 0x3073 CARRIER_LOCK INFO Carrier lock detected linux/ipcore/PdecHandler.h
156 12409 0x3079 WRITE_SYSCALL_ERROR_PDEC HIGH No description linux/ipcore/PdecHandler.h
157 12410 0x307a PDEC_RESET_FAILED HIGH Failed to pull PDEC reset to low linux/ipcore/PdecHandler.h
158 12411 0x307b OPEN_IRQ_FILE_FAILED HIGH Failed to open the IRQ uio file linux/ipcore/PdecHandler.h
159 12500 0x30d4 IMAGE_UPLOAD_FAILED LOW Image upload failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
160 12501 0x30d5 IMAGE_DOWNLOAD_FAILED LOW Image download failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
161 12502 0x30d6 IMAGE_UPLOAD_SUCCESSFUL LOW Uploading image to star tracker was successfulop linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
162 12503 0x30d7 IMAGE_DOWNLOAD_SUCCESSFUL LOW Image download was successful linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
163 12504 0x30d8 FLASH_WRITE_SUCCESSFUL LOW Finished flash write procedure successfully linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
164 12505 0x30d9 FLASH_READ_SUCCESSFUL LOW Finished flash read procedure successfully linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
165 12506 0x30da FLASH_READ_FAILED LOW Flash read procedure failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
166 12507 0x30db FIRMWARE_UPDATE_SUCCESSFUL LOW Firmware update was successful linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
167 12508 0x30dc FIRMWARE_UPDATE_FAILED LOW Firmware update failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
168 12509 0x30dd STR_HELPER_READING_REPLY_FAILED LOW Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
169 12510 0x30de STR_HELPER_COM_ERROR LOW Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
170 12511 0x30df STR_COM_REPLY_TIMEOUT LOW Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
171 12513 0x30e1 STR_HELPER_DEC_ERROR LOW Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
172 12514 0x30e2 POSITION_MISMATCH LOW Position mismatch P1: The expected position and thus the position for which the image upload/download failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
173 12515 0x30e3 STR_HELPER_FILE_NOT_EXISTS LOW Specified file does not exist P1: Internal state of str helper linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
174 12516 0x30e4 STR_HELPER_SENDING_PACKET_FAILED LOW No description linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
175 12517 0x30e5 STR_HELPER_REQUESTING_MSG_FAILED LOW No description linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
176 12600 0x3138 MPSOC_FLASH_WRITE_FAILED LOW Flash write fails linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
177 12601 0x3139 MPSOC_FLASH_WRITE_SUCCESSFUL LOW Flash write successful linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
178 12602 0x313a MPSOC_SENDING_COMMAND_FAILED LOW No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
179 12603 0x313b MPSOC_HELPER_REQUESTING_REPLY_FAILED LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
180 12604 0x313c MPSOC_HELPER_READING_REPLY_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
181 12605 0x313d MPSOC_MISSING_ACK LOW Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
182 12606 0x313e MPSOC_MISSING_EXE LOW Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
183 12607 0x313f MPSOC_ACK_FAILURE_REPORT LOW Received acknowledgment failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
184 12608 0x3140 MPSOC_EXE_FAILURE_REPORT LOW Received execution failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
185 12609 0x3141 MPSOC_ACK_INVALID_APID LOW Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
186 12610 0x3142 MPSOC_EXE_INVALID_APID LOW Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
187 12611 0x3143 MPSOC_HELPER_SEQ_CNT_MISMATCH LOW Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
188 12612 0x3144 MPSOC_TM_SIZE_ERROR LOW No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
189 12613 0x3145 MPSOC_TM_CRC_MISSMATCH LOW No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
190 12700 0x319c TRANSITION_BACK_TO_OFF MEDIUM Could not transition properly and went back to ALL OFF mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
191 12701 0x319d NEG_V_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
192 12702 0x319e U_DRO_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
193 12703 0x319f I_DRO_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
194 12704 0x31a0 U_X8_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
195 12705 0x31a1 I_X8_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
196 12706 0x31a2 U_TX_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
197 12707 0x31a3 I_TX_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
198 12708 0x31a4 U_MPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
199 12709 0x31a5 I_MPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
200 12710 0x31a6 U_HPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
201 12711 0x31a7 I_HPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
202 12800 0x3200 TRANSITION_OTHER_SIDE_FAILED HIGH No description mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
203 12801 0x3201 NOT_ENOUGH_DEVICES_DUAL_MODE HIGH No description mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
204 12802 0x3202 POWER_STATE_MACHINE_TIMEOUT MEDIUM No description mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
205 12803 0x3203 SIDE_SWITCH_TRANSITION_NOT_ALLOWED LOW Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
206 12900 12804 0x3264 0x3204 TRANSITION_OTHER_SIDE_FAILED DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY HIGH MEDIUM No description This is triggered when the assembly would have normally switched the board side, but the GPS device of the other side was marked faulty. P1: Current submode. mission/system/objects/SusAssembly.h mission/system/acs/AcsBoardAssembly.h
207 12901 12900 0x3265 0x3264 NOT_ENOUGH_DEVICES_DUAL_MODE TRANSITION_OTHER_SIDE_FAILED HIGH No description mission/system/objects/SusAssembly.h mission/system/acs/SusAssembly.h
208 12902 12901 0x3266 0x3265 POWER_STATE_MACHINE_TIMEOUT NOT_ENOUGH_DEVICES_DUAL_MODE MEDIUM HIGH No description mission/system/objects/SusAssembly.h mission/system/acs/SusAssembly.h
209 12903 12902 0x3267 0x3266 SIDE_SWITCH_TRANSITION_NOT_ALLOWED POWER_STATE_MACHINE_TIMEOUT LOW MEDIUM Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination No description mission/system/objects/SusAssembly.h mission/system/acs/SusAssembly.h
210 12903 0x3267 SIDE_SWITCH_TRANSITION_NOT_ALLOWED LOW Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination mission/system/acs/SusAssembly.h
211 13000 0x32c8 CHILDREN_LOST_MODE MEDIUM No description mission/system/objects/TcsBoardAssembly.h
212 13100 0x332c GPS_FIX_CHANGE INFO Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix mission/devices/devicedefinitions/GPSDefinitions.h mission/acs/archive/GPSDefinitions.h
213 13101 0x332d CANT_GET_FIX LOW Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on. mission/devices/devicedefinitions/GPSDefinitions.h mission/acs/archive/GPSDefinitions.h
214 13200 0x3390 P60_BOOT_COUNT INFO P60 boot count is broadcasted once at SW startup. P1: Boot count mission/devices/P60DockHandler.h mission/power/P60DockHandler.h
215 13201 0x3391 BATT_MODE INFO Battery mode is broadcasted at startup. P1: Mode mission/devices/P60DockHandler.h mission/power/P60DockHandler.h
216 13202 0x3392 BATT_MODE_CHANGED MEDIUM Battery mode has changed. P1: Old mode. P2: New mode mission/devices/P60DockHandler.h mission/power/P60DockHandler.h
217 13600 0x3520 SUPV_UPDATE_FAILED LOW update failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
218 13601 0x3521 SUPV_UPDATE_SUCCESSFUL LOW update successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
219 13602 0x3522 SUPV_CONTINUE_UPDATE_FAILED LOW Continue update command failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
220 13603 0x3523 SUPV_CONTINUE_UPDATE_SUCCESSFUL LOW Continue update command successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
221 13604 0x3524 TERMINATED_UPDATE_PROCEDURE LOW Terminated update procedure by command linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
222 13605 0x3525 SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL LOW Requesting event buffer was successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
223 13606 0x3526 SUPV_EVENT_BUFFER_REQUEST_FAILED LOW Requesting event buffer failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
224 13607 0x3527 SUPV_EVENT_BUFFER_REQUEST_TERMINATED LOW Terminated event buffer request by command P1: Number of packets read before process was terminated linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
225 13608 0x3528 SUPV_MEM_CHECK_OK INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
226 13609 0x3529 SUPV_MEM_CHECK_FAIL INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
227 13616 0x3530 SUPV_SENDING_COMMAND_FAILED LOW No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
228 13617 0x3531 SUPV_HELPER_REQUESTING_REPLY_FAILED LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
229 13618 0x3532 SUPV_HELPER_READING_REPLY_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
230 13619 0x3533 SUPV_MISSING_ACK LOW Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
231 13620 0x3534 SUPV_MISSING_EXE LOW Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
232 13621 0x3535 SUPV_ACK_FAILURE_REPORT LOW Supervisor received acknowledgment failure report P1: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
233 13622 0x3536 SUPV_EXE_FAILURE_REPORT LOW Execution report failure P1: linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
234 13623 0x3537 SUPV_ACK_INVALID_APID LOW Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
235 13624 0x3538 SUPV_EXE_INVALID_APID LOW Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
236 13625 0x3539 ACK_RECEPTION_FAILURE LOW Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
237 13626 0x353a EXE_RECEPTION_FAILURE LOW Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
238 13627 0x353b WRITE_MEMORY_FAILED LOW Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
239 13628 0x353c SUPV_REPLY_SIZE_MISSMATCH LOW No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
240 13629 0x353d SUPV_REPLY_CRC_MISSMATCH LOW No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
241 13630 0x353e SUPV_UPDATE_PROGRESS INFO Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
242 13631 0x353f HDLC_FRAME_REMOVAL_ERROR INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
243 13632 0x3540 HDLC_CRC_ERROR INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
244 13701 0x3585 TX_ON INFO Transmitter is on now. P1: Submode, P2: Current default datarate. mission/devices/devicedefinitions/SyrlinksDefinitions.h mission/com/syrlinksDefs.h
245 13702 0x3586 TX_OFF INFO Transmitter is off now. mission/devices/devicedefinitions/SyrlinksDefinitions.h mission/com/syrlinksDefs.h
246 13800 0x35e8 MISSING_PACKET LOW No description mission/devices/devicedefinitions/ScexDefinitions.h mission/payload/scexHelpers.h
247 13801 0x35e9 EXPERIMENT_TIMEDOUT LOW No description mission/devices/devicedefinitions/ScexDefinitions.h mission/payload/scexHelpers.h
248 13802 0x35ea MULTI_PACKET_COMMAND_DONE INFO No description mission/devices/devicedefinitions/ScexDefinitions.h mission/payload/scexHelpers.h
249 13901 0x364d SET_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
250 13902 0x364e GET_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
251 13903 0x364f INSERT_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
261 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
262 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
263 14010 0x36ba I2C_UNAVAILABLE_REBOOT MEDIUM No description bsp_q7s/core/CoreController.h
264 14100 0x3714 NO_VALID_SENSOR_TEMPERATURE MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
265 14101 0x3715 NO_HEALTHY_HEATER_AVAILABLE MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
266 14102 0x3716 SYRLINKS_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
267 14103 14104 0x3717 0x3718 PLOC_OVERHEATING OBC_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
268 14104 14105 0x3718 0x3719 OBC_OVERHEATING CAMERA_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
269 14105 14106 0x3719 0x371a HPA_OVERHEATING PCDU_SYSTEM_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
270 14106 14107 0x371a 0x371b PLPCDU_OVERHEATING HEATER_NOT_OFF_FOR_OFF_MODE HIGH MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
271 14201 0x3779 TX_TIMER_EXPIRED INFO The transmit timer to protect the Syrlinks expired P1: The current timer value mission/system/objects/ComSubsystem.h mission/system/com/ComSubsystem.h
272 14202 0x377a BIT_LOCK_TX_ON INFO Transmitter will be turned on due to detection of bitlock mission/system/objects/ComSubsystem.h mission/system/com/ComSubsystem.h
273 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
274 14301 0x37dd FILE_TOO_LARGE LOW File in store too large. P1: Detected file size P2: Allowed file size mission/persistentTmStoreDefs.h
275 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
276 14305 0x37e1 DUMP_OK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
277 14306 0x37e2 DUMP_NOK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
278 14307 0x37e3 DUMP_MISC_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
279 14308 0x37e4 DUMP_HK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
280 14309 0x37e5 DUMP_CFDP_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
281 14310 0x37e6 DUMP_OK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
282 14311 0x37e7 DUMP_NOK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
283 14312 0x37e8 DUMP_MISC_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
284 14313 0x37e9 DUMP_HK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
285 14314 0x37ea DUMP_CFDP_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h

View File

@ -30,6 +30,8 @@
0x44120350;RW4 0x44120350;RW4
0x44130001;STAR_TRACKER 0x44130001;STAR_TRACKER
0x44130045;GPS_CONTROLLER 0x44130045;GPS_CONTROLLER
0x44130046;GPS_0_HEALTH_DEV
0x44130047;GPS_1_HEALTH_DEV
0x44140013;IMTQ_POLLING 0x44140013;IMTQ_POLLING
0x44140014;IMTQ_HANDLER 0x44140014;IMTQ_HANDLER
0x442000A1;PCDU_HANDLER 0x442000A1;PCDU_HANDLER

1 0x42694269 TEST_TASK
30 0x44120350 RW4
31 0x44130001 STAR_TRACKER
32 0x44130045 GPS_CONTROLLER
33 0x44130046 GPS_0_HEALTH_DEV
34 0x44130047 GPS_1_HEALTH_DEV
35 0x44140013 IMTQ_POLLING
36 0x44140014 IMTQ_HANDLER
37 0x442000A1 PCDU_HANDLER

View File

@ -357,6 +357,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x3a02;MQI_Full;No space left for more messages;2;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 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 0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3b00;SPH_ConnBroken;No description;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
0x3b01;SPH_SemaphoreTimeout;No description;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.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 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 0x3b03;SPH_SemaphoreInvalid;No description;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
@ -372,7 +373,6 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3f01;DLEE_NoPacketFound;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h 0x3f01;DLEE_NoPacketFound;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x3f02;DLEE_PossiblePacketLoss;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h 0x3f02;DLEE_PossiblePacketLoss;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x4100;PUS9_ConnBroken;No description;0;PUS_SERVICE_9;fsfw/src/fsfw/osal/common/TcpTmTcServer.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
@ -417,54 +417,86 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4c00;SPPA_NoPacketFound;No description;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.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 0x4c01;SPPA_SplitPacket;No description;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4fa0;HEATER_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa1;HEATER_CommandNotSupported;No description;161;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa1;HEATER_InvalidRampTime;Action Message with invalid ramp time was received.;161;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa2;HEATER_InitFailed;No description;162;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa2;HEATER_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa3;HEATER_InvalidSwitchNr;No description;163;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa3;HEATER_ExecutionFailed;Command execution failed;163;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa4;HEATER_MainSwitchSetTimeout;No description;164;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa4;HEATER_CrcError;Reaction wheel reply has invalid crc;164;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa5;HEATER_CommandAlreadyWaiting;No description;165;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa5;HEATER_ValueNotRead;No description;165;HEATER_HANDLER;mission/devices/RwHandler.h 0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a3;SYRLINKS_BadParameterValueAck;No description;163;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a3;SYRLINKS_BadParameterValueAck;No description;163;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a4;SYRLINKS_BadEndOfFrameAck;No description;164;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a4;SYRLINKS_BadEndOfFrameAck;No description;164;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a5;SYRLINKS_UnknownCommandIdAck;No description;165;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a5;SYRLINKS_UnknownCommandIdAck;No description;165;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5103;IMTQ_ParameterMissing;No description;3;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5103;IMTQ_ParameterMissing;No description;3;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5104;IMTQ_ParameterInvalid;No description;4;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5104;IMTQ_ParameterInvalid;No description;4;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5105;IMTQ_CcUnavailable;No description;5;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5105;IMTQ_CcUnavailable;No description;5;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5106;IMTQ_InternalProcessingError;No description;6;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5106;IMTQ_InternalProcessingError;No description;6;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5107;IMTQ_RejectedWithoutReason;No description;7;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5107;IMTQ_RejectedWithoutReason;No description;7;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5108;IMTQ_CmdErrUnknown;No description;8;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5108;IMTQ_CmdErrUnknown;No description;8;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5109;IMTQ_StartupCfgError;No description;9;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x51a7;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;167;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x510a;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;10;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b0;RWHA_SpiWriteFailure;No description;176;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b0;RWHA_SpiWriteFailure;No description;176;RW_HANDLER;mission/acs/rwHelpers.h
0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/acs/rwHelpers.h
0x52b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;178;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;178;RW_HANDLER;mission/acs/rwHelpers.h
0x52b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;179;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;179;RW_HANDLER;mission/acs/rwHelpers.h
0x52b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;180;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;180;RW_HANDLER;mission/acs/rwHelpers.h
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/acs/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/acs/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/acs/rwHelpers.h
0x58a0;SUSS_ErrorUnlockMutex;No description;160;SUS_HANDLER;mission/devices/LegacySusHandler.h 0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x58a1;SUSS_ErrorLockMutex;No description;161;SUS_HANDLER;mission/devices/LegacySusHandler.h 0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h 0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b7;STRH_StartrackerNotRunningFirmware;Star tracker must be in firmware mode to run this command;183;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b8;STRH_StartrackerNotRunningBootloader;Star tracker must be in bootloader mode to run this command;184;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x58a0;SUSS_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;SUS_HANDLER;mission/acs/RwHandler.h
0x58a1;SUSS_InvalidRampTime;Action Message with invalid ramp time was received.;161;SUS_HANDLER;mission/acs/RwHandler.h
0x58a2;SUSS_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;SUS_HANDLER;mission/acs/RwHandler.h
0x58a3;SUSS_ExecutionFailed;Command execution failed;163;SUS_HANDLER;mission/acs/RwHandler.h
0x58a4;SUSS_CrcError;Reaction wheel reply has invalid crc;164;SUS_HANDLER;mission/acs/RwHandler.h
0x58a5;SUSS_ValueNotRead;No description;165;SUS_HANDLER;mission/acs/RwHandler.h
0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/com/CcsdsIpCoreHandler.h
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h 0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h
0x66a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.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
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
@ -474,11 +506,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x6a07;ACSMEKF_MekfNotFinite;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a07;ACSMEKF_MekfNotFinite;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6a08;ACSMEKF_MekfInitialized;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a08;ACSMEKF_MekfInitialized;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6a09;ACSMEKF_MekfRunning;No description;9;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a09;ACSMEKF_MekfRunning;No description;9;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b02;ACSSAF_SafectrlNoMagFieldForControl;No description;2;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h 0x6b01;ACSSAF_SafectrlMekfInputInvalid;No description;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b03;ACSSAF_SafectrlUseMekf;No description;3;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b04;ACSSAF_SafectrlUseNonmekf;No description;4;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b05;ACSSAF_SafectrlUseDamping;No description;5;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b06;ACSSAF_SafectrlNoSensorsForControl;No description;6;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
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
0x7000;PTM_DumpDone;No description;0;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h 0x7000;PTM_DumpDone;No description;0;PERSISTENT_TM_STORE;mission/tmtc/PersistentTmStore.h

1 Full ID (hex) Name Description Unique ID Subsytem Name File Path
357 0x3a02 MQI_Full No space left for more messages 2 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
358 0x3a03 MQI_NoReplyPartner Returned if a reply method was called without partner 3 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
359 0x3a04 MQI_DestinationInvalid Returned if the target destination is invalid. 4 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
360 0x3b00 SPH_ConnBroken No description 0 SEMAPHORE_IF fsfw/src/fsfw/osal/common/TcpTmTcServer.h
361 0x3b01 SPH_SemaphoreTimeout No description 1 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
362 0x3b02 SPH_SemaphoreNotOwned No description 2 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
363 0x3b03 SPH_SemaphoreInvalid No description 3 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
373 0x3e05 HKM_DatasetNotFound No description 5 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
374 0x3f01 DLEE_NoPacketFound No description 1 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleParser.h
375 0x3f02 DLEE_PossiblePacketLoss No description 2 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleParser.h
0x4100 PUS9_ConnBroken No description 0 PUS_SERVICE_9 fsfw/src/fsfw/osal/common/TcpTmTcServer.h
376 0x4201 PUS11_InvalidTypeTimeWindow No description 1 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
377 0x4202 PUS11_InvalidTimeWindow No description 2 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
378 0x4203 PUS11_TimeshiftingNotPossible No description 3 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
417 0x4807 HGIO_GpioGetValueFailed No description 7 HAL_GPIO fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
418 0x4c00 SPPA_NoPacketFound No description 0 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
419 0x4c01 SPPA_SplitPacket No description 1 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
420 0x4fa0 0x4fa1 HEATER_InvalidSpeed HEATER_CommandNotSupported Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000] No description 160 161 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
421 0x4fa1 0x4fa2 HEATER_InvalidRampTime HEATER_InitFailed Action Message with invalid ramp time was received. No description 161 162 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
422 0x4fa2 0x4fa3 HEATER_SetSpeedCommandInvalidLength HEATER_InvalidSwitchNr Received set speed command has invalid length. Should be 6. No description 162 163 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
423 0x4fa3 0x4fa4 HEATER_ExecutionFailed HEATER_MainSwitchSetTimeout Command execution failed No description 163 164 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
424 0x4fa4 0x4fa5 HEATER_CrcError HEATER_CommandAlreadyWaiting Reaction wheel reply has invalid crc No description 164 165 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
425 0x4fa5 0x50a0 HEATER_ValueNotRead SYRLINKS_CrcFailure No description 165 160 HEATER_HANDLER SYRLINKS_HANDLER mission/devices/RwHandler.h mission/com/SyrlinksHandler.h
426 0x50a0 0x50a1 SYRLINKS_CrcFailure SYRLINKS_UartFraminOrParityErrorAck No description 160 161 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
427 0x50a1 0x50a2 SYRLINKS_UartFraminOrParityErrorAck SYRLINKS_BadCharacterAck No description 161 162 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
428 0x50a2 0x50a3 SYRLINKS_BadCharacterAck SYRLINKS_BadParameterValueAck No description 162 163 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
429 0x50a3 0x50a4 SYRLINKS_BadParameterValueAck SYRLINKS_BadEndOfFrameAck No description 163 164 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
430 0x50a4 0x50a5 SYRLINKS_BadEndOfFrameAck SYRLINKS_UnknownCommandIdAck No description 164 165 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
431 0x50a5 0x50a6 SYRLINKS_UnknownCommandIdAck SYRLINKS_BadCrcAck No description 165 166 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
432 0x50a6 0x50a7 SYRLINKS_BadCrcAck SYRLINKS_ReplyWrongSize No description 166 167 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
433 0x50a7 0x50a8 SYRLINKS_ReplyWrongSize SYRLINKS_MissingStartFrameCharacter No description 167 168 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
434 0x50a8 0x5100 SYRLINKS_MissingStartFrameCharacter IMTQ_InvalidCommandCode No description 168 0 SYRLINKS_HANDLER IMTQ_HANDLER mission/devices/SyrlinksHandler.h mission/acs/imtqHelpers.h
435 0x5100 0x5101 IMTQ_InvalidCommandCode IMTQ_MgmMeasurementLowLevelError No description 0 1 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
436 0x5101 0x5102 IMTQ_MgmMeasurementLowLevelError IMTQ_ActuateCmdLowLevelError No description 1 2 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
437 0x5102 0x5103 IMTQ_ActuateCmdLowLevelError IMTQ_ParameterMissing No description 2 3 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
438 0x5103 0x5104 IMTQ_ParameterMissing IMTQ_ParameterInvalid No description 3 4 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
439 0x5104 0x5105 IMTQ_ParameterInvalid IMTQ_CcUnavailable No description 4 5 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
440 0x5105 0x5106 IMTQ_CcUnavailable IMTQ_InternalProcessingError No description 5 6 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
441 0x5106 0x5107 IMTQ_InternalProcessingError IMTQ_RejectedWithoutReason No description 6 7 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
442 0x5107 0x5108 IMTQ_RejectedWithoutReason IMTQ_CmdErrUnknown No description 7 8 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
443 0x5108 0x5109 IMTQ_CmdErrUnknown IMTQ_StartupCfgError No description 8 9 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
444 0x51a7 0x510a IMTQ_UnexpectedSelfTestReply The status reply to a self test command was received but no self test command has been sent. This should normally never happen. 167 10 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
445 0x52b0 RWHA_SpiWriteFailure No description 176 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
446 0x52b1 RWHA_SpiReadFailure Used by the spi send function to tell a failing read call 177 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
447 0x52b2 RWHA_MissingStartSign Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E 178 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
448 0x52b3 RWHA_InvalidSubstitute Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination 179 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
449 0x52b4 RWHA_MissingEndSign HDLC decoding mechanism never receives the end sign 0x7E 180 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
450 0x52b5 RWHA_NoReply Reaction wheel only responds with empty frames. 181 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
451 0x52b6 RWHA_NoStartMarker Expected a start marker as first byte 182 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
452 0x52b7 RWHA_SpiReadTimeout Timeout when reading reply 183 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
453 0x58a0 0x53a0 SUSS_ErrorUnlockMutex STRH_TemperatureReqFailed No description Status in temperature reply signals error 160 SUS_HANDLER STR_HANDLER mission/devices/LegacySusHandler.h mission/acs/str/StarTrackerHandler.h
454 0x58a1 0x53a1 SUSS_ErrorLockMutex STRH_PingFailed No description Ping command failed 161 SUS_HANDLER STR_HANDLER mission/devices/LegacySusHandler.h mission/acs/str/StarTrackerHandler.h
455 0x5d00 0x53a2 GOMS_PacketTooLong STRH_VersionReqFailed No description Status in version reply signals error 0 162 GOM_SPACE_HANDLER STR_HANDLER mission/devices/GomspaceDeviceHandler.h mission/acs/str/StarTrackerHandler.h
456 0x5d01 0x53a3 GOMS_InvalidTableId STRH_InterfaceReqFailed No description Status in interface reply signals error 1 163 GOM_SPACE_HANDLER STR_HANDLER mission/devices/GomspaceDeviceHandler.h mission/acs/str/StarTrackerHandler.h
457 0x5d02 0x53a4 GOMS_InvalidAddress STRH_PowerReqFailed No description Status in power reply signals error 2 164 GOM_SPACE_HANDLER STR_HANDLER mission/devices/GomspaceDeviceHandler.h mission/acs/str/StarTrackerHandler.h
458 0x5d03 0x53a5 GOMS_InvalidParamSize STRH_SetParamFailed No description Status of reply to parameter set command signals error 3 165 GOM_SPACE_HANDLER STR_HANDLER mission/devices/GomspaceDeviceHandler.h mission/acs/str/StarTrackerHandler.h
459 0x5d04 0x53a6 GOMS_InvalidPayloadSize STRH_ActionFailed No description Status of reply to action command signals error 4 166 GOM_SPACE_HANDLER STR_HANDLER mission/devices/GomspaceDeviceHandler.h mission/acs/str/StarTrackerHandler.h
460 0x5d05 0x53a7 GOMS_UnknownReplyId STRH_FilePathTooLong No description Received invalid path string. Exceeds allowed length 5 167 GOM_SPACE_HANDLER STR_HANDLER mission/devices/GomspaceDeviceHandler.h mission/acs/str/StarTrackerHandler.h
461 0x60a0 0x53a8 CCSDS_CommandNotImplemented STRH_FilenameTooLong Received action message with unknown action id Name of file received with command is too long 160 168 CCSDS_HANDLER STR_HANDLER mission/tmtc/CcsdsIpCoreHandler.h mission/acs/str/StarTrackerHandler.h
462 0x53a9 STRH_InvalidProgram Received version reply with invalid program ID 169 STR_HANDLER mission/acs/str/StarTrackerHandler.h
463 0x53aa STRH_ReplyError Status field reply signals error 170 STR_HANDLER mission/acs/str/StarTrackerHandler.h
464 0x53ab STRH_CommandTooShort Received command which is too short (some data is missing for proper execution) 171 STR_HANDLER mission/acs/str/StarTrackerHandler.h
465 0x53ac STRH_InvalidLength Received command with invalid length (too few or too many parameters) 172 STR_HANDLER mission/acs/str/StarTrackerHandler.h
466 0x53ad STRH_RegionMismatch Region mismatch between send and received data 173 STR_HANDLER mission/acs/str/StarTrackerHandler.h
467 0x53ae STRH_AddressMismatch Address mismatch between send and received data 174 STR_HANDLER mission/acs/str/StarTrackerHandler.h
468 0x53af STRH_LengthMismatch Length field mismatch between send and received data 175 STR_HANDLER mission/acs/str/StarTrackerHandler.h
469 0x53b0 STRH_FileNotExists Specified file does not exist 176 STR_HANDLER mission/acs/str/StarTrackerHandler.h
470 0x53b1 STRH_InvalidType Download blob pixel command has invalid type field 177 STR_HANDLER mission/acs/str/StarTrackerHandler.h
471 0x53b2 STRH_InvalidId Received FPGA action command with invalid ID 178 STR_HANDLER mission/acs/str/StarTrackerHandler.h
472 0x53b3 STRH_ReplyTooShort Received reply is too short 179 STR_HANDLER mission/acs/str/StarTrackerHandler.h
473 0x53b4 STRH_CrcFailure Received reply with invalid CRC 180 STR_HANDLER mission/acs/str/StarTrackerHandler.h
474 0x53b5 STRH_StrHelperExecuting Star tracker handler currently executing a command and using the communication interface 181 STR_HANDLER mission/acs/str/StarTrackerHandler.h
475 0x53b6 STRH_StartrackerAlreadyBooted Star tracker is already in firmware mode 182 STR_HANDLER mission/acs/str/StarTrackerHandler.h
476 0x53b7 STRH_StartrackerNotRunningFirmware Star tracker must be in firmware mode to run this command 183 STR_HANDLER mission/acs/str/StarTrackerHandler.h
477 0x53b8 STRH_StartrackerNotRunningBootloader Star tracker must be in bootloader mode to run this command 184 STR_HANDLER mission/acs/str/StarTrackerHandler.h
478 0x58a0 SUSS_InvalidSpeed Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000] 160 SUS_HANDLER mission/acs/RwHandler.h
479 0x58a1 SUSS_InvalidRampTime Action Message with invalid ramp time was received. 161 SUS_HANDLER mission/acs/RwHandler.h
480 0x58a2 SUSS_SetSpeedCommandInvalidLength Received set speed command has invalid length. Should be 6. 162 SUS_HANDLER mission/acs/RwHandler.h
481 0x58a3 SUSS_ExecutionFailed Command execution failed 163 SUS_HANDLER mission/acs/RwHandler.h
482 0x58a4 SUSS_CrcError Reaction wheel reply has invalid crc 164 SUS_HANDLER mission/acs/RwHandler.h
483 0x58a5 SUSS_ValueNotRead No description 165 SUS_HANDLER mission/acs/RwHandler.h
484 0x5d00 GOMS_PacketTooLong No description 0 GOM_SPACE_HANDLER mission/power/GomspaceDeviceHandler.h
485 0x5d01 GOMS_InvalidTableId No description 1 GOM_SPACE_HANDLER mission/power/GomspaceDeviceHandler.h
486 0x5d02 GOMS_InvalidAddress No description 2 GOM_SPACE_HANDLER mission/power/GomspaceDeviceHandler.h
487 0x5d03 GOMS_InvalidParamSize No description 3 GOM_SPACE_HANDLER mission/power/GomspaceDeviceHandler.h
488 0x5d04 GOMS_InvalidPayloadSize No description 4 GOM_SPACE_HANDLER mission/power/GomspaceDeviceHandler.h
489 0x5d05 GOMS_UnknownReplyId No description 5 GOM_SPACE_HANDLER mission/power/GomspaceDeviceHandler.h
490 0x60a0 CCSDS_CommandNotImplemented Received action message with unknown action id 160 CCSDS_HANDLER mission/com/CcsdsIpCoreHandler.h
491 0x6201 JSONBASE_JsonFileNotExists Specified json file does not exist 1 ARCSEC_JSON_BASE mission/acs/str/ArcsecJsonParamBase.h
492 0x6202 JSONBASE_SetNotExists Requested set does not exist in json file 2 ARCSEC_JSON_BASE mission/acs/str/ArcsecJsonParamBase.h
493 0x6203 JSONBASE_ParamNotExists Requested parameter does not exist in json file 3 ARCSEC_JSON_BASE mission/acs/str/ArcsecJsonParamBase.h
494 0x63a0 NVMB_KeyNotExists Specified key does not exist in json file 160 NVM_PARAM_BASE mission/memory/NvmParameterBase.h
495 0x66a0 SADPL_CommandNotSupported No description 160 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
496 0x66a1 SADPL_DeploymentAlreadyExecuting No description 161 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
497 0x66a2 SADPL_MainSwitchTimeoutFailure No description 162 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
498 0x66a3 SADPL_SwitchingDeplSa1Failed No description 163 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
499 0x66a4 SADPL_SwitchingDeplSa2Failed No description 164 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
500 0x6900 ACSCTRL_FileDeletionFailed No description 0 ACS_CTRL mission/controller/AcsController.h
501 0x6a02 ACSMEKF_MekfUninitialized No description 2 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
502 0x6a03 ACSMEKF_MekfNoGyrData No description 3 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
506 0x6a07 ACSMEKF_MekfNotFinite No description 7 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
507 0x6a08 ACSMEKF_MekfInitialized No description 8 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
508 0x6a09 ACSMEKF_MekfRunning No description 9 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
509 0x6b02 0x6b01 ACSSAF_SafectrlNoMagFieldForControl ACSSAF_SafectrlMekfInputInvalid No description 2 1 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b03 ACSSAF_SafectrlUseMekf No description 3 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b04 ACSSAF_SafectrlUseNonmekf No description 4 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b05 ACSSAF_SafectrlUseDamping No description 5 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b06 ACSSAF_SafectrlNoSensorsForControl No description 6 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
510 0x6c01 ACSPTG_PtgctrlMekfInputInvalid No description 1 ACS_PTG mission/controller/acs/control/PtgCtrl.h
511 0x6d01 ACSDTB_DetumbleNoSensordata No description 1 ACS_DETUMBLE mission/controller/acs/control/Detumble.h
512 0x7000 PTM_DumpDone No description 0 PERSISTENT_TM_STORE mission/tmtc/PersistentTmStore.h

View File

@ -86,66 +86,65 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h 10802;0x2a32;SERIALIZATION_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h 10803;0x2a33;FILESTORE_ERROR;LOW;No description;fsfw/src/fsfw/cfdp/handler/defs.h
10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h 10804;0x2a34;FILENAME_TOO_LARGE_ERROR;LOW;P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name;fsfw/src/fsfw/cfdp/handler/defs.h
11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;The limits for the rotation in safe mode were violated.;mission/acsDefs.h 11200;0x2bc0;SAFE_RATE_VIOLATION;MEDIUM;No description;mission/acs/defs.h
11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;The system has recovered from a safe rate rotation violation.;mission/acsDefs.h 11201;0x2bc1;SAFE_RATE_RECOVERY;MEDIUM;No description;mission/acs/defs.h
11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained.;mission/acsDefs.h 11202;0x2bc2;MULTIPLE_RW_INVALID;HIGH;No description;mission/acs/defs.h
11203;0x2bc3;MEKF_INVALID_INFO;INFO;MEKF was not able to compute a solution. P1: MEKF state on exit;mission/acsDefs.h 11203;0x2bc3;MEKF_INVALID_INFO;INFO;No description;mission/acs/defs.h
11204;0x2bc4;MEKF_RECOVERY;INFO;MEKF is able to compute a solution again.;mission/acsDefs.h 11204;0x2bc4;MEKF_RECOVERY;INFO;No description;mission/acs/defs.h
11205;0x2bc5;MEKF_AUTOMATIC_RESET;INFO;MEKF performed an automatic reset after detection of nonfinite values.;mission/acsDefs.h 11205;0x2bc5;MEKF_INVALID_MODE_VIOLATION;HIGH;No description;mission/acs/defs.h
11206;0x2bc6;MEKF_INVALID_MODE_VIOLATION;HIGH;MEKF was not able to compute a solution during any pointing ACS mode for a prolonged time.;mission/acsDefs.h 11206;0x2bc6;SAFE_MODE_CONTROLLER_FAILURE;HIGH;No description;mission/acs/defs.h
11207;0x2bc7;SAFE_MODE_CONTROLLER_FAILURE;HIGH;The ACS safe mode controller was not able to compute a solution and has failed. P1: Missing information about magnetic field, P2: Missing information about rotational rate;mission/acsDefs.h 11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/power/defs.h
11300;0x2c24;SWITCH_CMD_SENT;INFO;Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h 11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/power/defs.h
11301;0x2c25;SWITCH_HAS_CHANGED;INFO;Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index;mission/devices/devicedefinitions/powerDefinitions.h 11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/power/defs.h
11302;0x2c26;SWITCHING_Q7S_DENIED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h 11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/power/defs.h
11303;0x2c27;FDIR_REACTION_IGNORED;MEDIUM;No description;mission/devices/devicedefinitions/powerDefinitions.h 11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;No description;mission/tcs/HeaterHandler.h
11400;0x2c88;GPIO_PULL_HIGH_FAILED;LOW;No description;mission/devices/HeaterHandler.h 11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;No description;mission/tcs/HeaterHandler.h
11401;0x2c89;GPIO_PULL_LOW_FAILED;LOW;No description;mission/devices/HeaterHandler.h 11402;0x2c8a;HEATER_WENT_ON;INFO;No description;mission/tcs/HeaterHandler.h
11402;0x2c8a;HEATER_WENT_ON;INFO;No description;mission/devices/HeaterHandler.h 11403;0x2c8b;HEATER_WENT_OFF;INFO;No description;mission/tcs/HeaterHandler.h
11403;0x2c8b;HEATER_WENT_OFF;INFO;No description;mission/devices/HeaterHandler.h 11404;0x2c8c;SWITCH_ALREADY_ON;LOW;No description;mission/tcs/HeaterHandler.h
11404;0x2c8c;SWITCH_ALREADY_ON;LOW;No description;mission/devices/HeaterHandler.h 11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;No description;mission/tcs/HeaterHandler.h
11405;0x2c8d;SWITCH_ALREADY_OFF;LOW;No description;mission/devices/HeaterHandler.h 11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;No description;mission/tcs/HeaterHandler.h
11406;0x2c8e;MAIN_SWITCH_TIMEOUT;MEDIUM;No description;mission/devices/HeaterHandler.h 11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;No description;mission/tcs/HeaterHandler.h
11407;0x2c8f;FAULTY_HEATER_WAS_ON;LOW;No description;mission/devices/HeaterHandler.h 11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/SolarArrayDeploymentHandler.h
11500;0x2cec;BURN_PHASE_START;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h 11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/SolarArrayDeploymentHandler.h
11501;0x2ced;BURN_PHASE_DONE;INFO;P1: Burn duration in milliseconds, P2: Dry run flag;mission/devices/SolarArrayDeploymentHandler.h 11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;No description;mission/SolarArrayDeploymentHandler.h
11502;0x2cee;MAIN_SWITCH_ON_TIMEOUT;LOW;No description;mission/devices/SolarArrayDeploymentHandler.h 11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;No description;mission/SolarArrayDeploymentHandler.h
11503;0x2cef;MAIN_SWITCH_OFF_TIMEOUT;LOW;No description;mission/devices/SolarArrayDeploymentHandler.h 11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11504;0x2cf0;DEPL_SA1_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11505;0x2cf1;DEPL_SA2_GPIO_SWTICH_ON_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11506;0x2cf2;DEPL_SA1_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/SolarArrayDeploymentHandler.h
11507;0x2cf3;DEPL_SA2_GPIO_SWTICH_OFF_FAILED;HIGH;No description;mission/devices/SolarArrayDeploymentHandler.h 11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;No description;mission/SolarArrayDeploymentHandler.h
11508;0x2cf4;AUTONOMOUS_DEPLOYMENT_COMPLETED;INFO;No description;mission/devices/SolarArrayDeploymentHandler.h 11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/payload/PlocMpsocHandler.h
11601;0x2d51;MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC crc failure in telemetry packet;linux/devices/ploc/PlocMPSoCHandler.h 11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/payload/PlocMpsocHandler.h
11602;0x2d52;ACK_FAILURE;LOW;PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h 11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/payload/PlocMpsocHandler.h
11603;0x2d53;EXE_FAILURE;LOW;PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field;linux/devices/ploc/PlocMPSoCHandler.h 11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/payload/PlocMpsocHandler.h
11604;0x2d54;MPSOC_HANDLER_CRC_FAILURE;LOW;PLOC reply has invalid crc;linux/devices/ploc/PlocMPSoCHandler.h 11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/payload/PlocMpsocHandler.h
11605;0x2d55;MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH;LOW;Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHandler.h 11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/payload/PlocMpsocHandler.h
11606;0x2d56;MPSOC_SHUTDOWN_FAILED;HIGH;Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor.;linux/devices/ploc/PlocMPSoCHandler.h 11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11701;0x2db5;SELF_TEST_I2C_FAILURE;LOW;Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11702;0x2db6;SELF_TEST_SPI_FAILURE;LOW;Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11703;0x2db7;SELF_TEST_ADC_FAILURE;LOW;Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11704;0x2db8;SELF_TEST_PWM_FAILURE;LOW;Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11705;0x2db9;SELF_TEST_TC_FAILURE;LOW;Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11706;0x2dba;SELF_TEST_MTM_RANGE_FAILURE;LOW;Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/acs/ImtqHandler.h
11707;0x2dbb;SELF_TEST_COIL_CURRENT_FAILURE;LOW;Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA;mission/devices/ImtqHandler.h 11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/acs/ImtqHandler.h
11708;0x2dbc;INVALID_ERROR_BYTE;LOW;Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC.;mission/devices/ImtqHandler.h 11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/acs/rwHelpers.h
11801;0x2e19;ERROR_STATE;HIGH;Reaction wheel signals an error state;mission/devices/devicedefinitions/rwHelpers.h 11802;0x2e1a;RESET_OCCURED;LOW;No description;mission/acs/rwHelpers.h
11802;0x2e1a;RESET_OCCURED;LOW;No description;mission/devices/devicedefinitions/rwHelpers.h 11901;0x2e7d;BOOTING_FIRMWARE_FAILED_EVENT;LOW;Failed to boot firmware;mission/acs/str/StarTrackerHandler.h
11901;0x2e7d;BOOTING_FIRMWARE_FAILED_EVENT;LOW;Failed to boot firmware;linux/devices/startracker/StarTrackerHandler.h 11902;0x2e7e;BOOTING_BOOTLOADER_FAILED_EVENT;LOW;Failed to boot star tracker into bootloader mode;mission/acs/str/StarTrackerHandler.h
11902;0x2e7e;BOOTING_BOOTLOADER_FAILED_EVENT;LOW;Failed to boot star tracker into bootloader mode;linux/devices/startracker/StarTrackerHandler.h 12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/payload/PlocSupervisorHandler.h
12001;0x2ee1;SUPV_MEMORY_READ_RPT_CRC_FAILURE;LOW;PLOC supervisor crc failure in telemetry packet;linux/devices/ploc/PlocSupervisorHandler.h 12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/payload/PlocSupervisorHandler.h
12002;0x2ee2;SUPV_UNKNOWN_TM;LOW;Unhandled event. P1: APID, P2: Service ID;linux/devices/ploc/PlocSupervisorHandler.h 12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;No description;linux/payload/PlocSupervisorHandler.h
12003;0x2ee3;SUPV_UNINIMPLEMENTED_TM;LOW;No description;linux/devices/ploc/PlocSupervisorHandler.h 12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/payload/PlocSupervisorHandler.h
12004;0x2ee4;SUPV_ACK_FAILURE;LOW;PLOC supervisor received acknowledgment failure report;linux/devices/ploc/PlocSupervisorHandler.h 12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/payload/PlocSupervisorHandler.h
12005;0x2ee5;SUPV_EXE_FAILURE;LOW;PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler;linux/devices/ploc/PlocSupervisorHandler.h 12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/payload/PlocSupervisorHandler.h
12006;0x2ee6;SUPV_CRC_FAILURE_EVENT;LOW;PLOC supervisor reply has invalid crc;linux/devices/ploc/PlocSupervisorHandler.h 12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/payload/PlocSupervisorHandler.h
12007;0x2ee7;SUPV_HELPER_EXECUTING;LOW;Supervisor helper currently executing a command;linux/devices/ploc/PlocSupervisorHandler.h 12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/payload/PlocSupervisorHandler.h
12008;0x2ee8;SUPV_MPSOC_SHUTDOWN_BUILD_FAILED;LOW;Failed to build the command to shutdown the MPSoC;linux/devices/ploc/PlocSupervisorHandler.h
12100;0x2f44;SANITIZATION_FAILED;LOW;No description;bsp_q7s/fs/SdCardManager.h 12100;0x2f44;SANITIZATION_FAILED;LOW;No description;bsp_q7s/fs/SdCardManager.h
12101;0x2f45;MOUNTED_SD_CARD;INFO;No description;bsp_q7s/fs/SdCardManager.h 12101;0x2f45;MOUNTED_SD_CARD;INFO;No description;bsp_q7s/fs/SdCardManager.h
12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/devices/ploc/PlocMemoryDumper.h 12300;0x300c;SEND_MRAM_DUMP_FAILED;LOW;Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command;linux/payload/PlocMemoryDumper.h
12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/devices/ploc/PlocMemoryDumper.h 12301;0x300d;MRAM_DUMP_FAILED;LOW;Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command;linux/payload/PlocMemoryDumper.h
12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/devices/ploc/PlocMemoryDumper.h 12302;0x300e;MRAM_DUMP_FINISHED;LOW;MRAM dump finished successfully;linux/payload/PlocMemoryDumper.h
12401;0x3071;INVALID_TC_FRAME;HIGH;No description;linux/ipcore/PdecHandler.h 12401;0x3071;INVALID_TC_FRAME;HIGH;No description;linux/ipcore/PdecHandler.h
12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/PdecHandler.h 12402;0x3072;INVALID_FAR;HIGH;Read invalid FAR from PDEC after startup;linux/ipcore/PdecHandler.h
12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/PdecHandler.h 12403;0x3073;CARRIER_LOCK;INFO;Carrier lock detected;linux/ipcore/PdecHandler.h
@ -157,95 +156,96 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
12409;0x3079;WRITE_SYSCALL_ERROR_PDEC;HIGH;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 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 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/StrComHandler.h 12500;0x30d4;IMAGE_UPLOAD_FAILED;LOW;Image upload failed;linux/acs/StrComHandler.h
12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/devices/startracker/StrComHandler.h 12501;0x30d5;IMAGE_DOWNLOAD_FAILED;LOW;Image download failed;linux/acs/StrComHandler.h
12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/devices/startracker/StrComHandler.h 12502;0x30d6;IMAGE_UPLOAD_SUCCESSFUL;LOW;Uploading image to star tracker was successfulop;linux/acs/StrComHandler.h
12503;0x30d7;IMAGE_DOWNLOAD_SUCCESSFUL;LOW;Image download was successful;linux/devices/startracker/StrComHandler.h 12503;0x30d7;IMAGE_DOWNLOAD_SUCCESSFUL;LOW;Image download was successful;linux/acs/StrComHandler.h
12504;0x30d8;FLASH_WRITE_SUCCESSFUL;LOW;Finished flash write procedure successfully;linux/devices/startracker/StrComHandler.h 12504;0x30d8;FLASH_WRITE_SUCCESSFUL;LOW;Finished flash write procedure successfully;linux/acs/StrComHandler.h
12505;0x30d9;FLASH_READ_SUCCESSFUL;LOW;Finished flash read procedure successfully;linux/devices/startracker/StrComHandler.h 12505;0x30d9;FLASH_READ_SUCCESSFUL;LOW;Finished flash read procedure successfully;linux/acs/StrComHandler.h
12506;0x30da;FLASH_READ_FAILED;LOW;Flash read procedure failed;linux/devices/startracker/StrComHandler.h 12506;0x30da;FLASH_READ_FAILED;LOW;Flash read procedure failed;linux/acs/StrComHandler.h
12507;0x30db;FIRMWARE_UPDATE_SUCCESSFUL;LOW;Firmware update was successful;linux/devices/startracker/StrComHandler.h 12507;0x30db;FIRMWARE_UPDATE_SUCCESSFUL;LOW;Firmware update was successful;linux/acs/StrComHandler.h
12508;0x30dc;FIRMWARE_UPDATE_FAILED;LOW;Firmware update failed;linux/devices/startracker/StrComHandler.h 12508;0x30dc;FIRMWARE_UPDATE_FAILED;LOW;Firmware update failed;linux/acs/StrComHandler.h
12509;0x30dd;STR_HELPER_READING_REPLY_FAILED;LOW;Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/devices/startracker/StrComHandler.h 12509;0x30dd;STR_HELPER_READING_REPLY_FAILED;LOW;Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/acs/StrComHandler.h
12510;0x30de;STR_HELPER_COM_ERROR;LOW;Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/devices/startracker/StrComHandler.h 12510;0x30de;STR_HELPER_COM_ERROR;LOW;Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed;linux/acs/StrComHandler.h
12511;0x30df;STR_COM_REPLY_TIMEOUT;LOW;Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout;linux/devices/startracker/StrComHandler.h 12511;0x30df;STR_COM_REPLY_TIMEOUT;LOW;Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout;linux/acs/StrComHandler.h
12513;0x30e1;STR_HELPER_DEC_ERROR;LOW;Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request;linux/devices/startracker/StrComHandler.h 12513;0x30e1;STR_HELPER_DEC_ERROR;LOW;Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request;linux/acs/StrComHandler.h
12514;0x30e2;POSITION_MISMATCH;LOW;Position mismatch P1: The expected position and thus the position for which the image upload/download failed;linux/devices/startracker/StrComHandler.h 12514;0x30e2;POSITION_MISMATCH;LOW;Position mismatch P1: The expected position and thus the position for which the image upload/download failed;linux/acs/StrComHandler.h
12515;0x30e3;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux/devices/startracker/StrComHandler.h 12515;0x30e3;STR_HELPER_FILE_NOT_EXISTS;LOW;Specified file does not exist P1: Internal state of str helper;linux/acs/StrComHandler.h
12516;0x30e4;STR_HELPER_SENDING_PACKET_FAILED;LOW;No description;linux/devices/startracker/StrComHandler.h 12516;0x30e4;STR_HELPER_SENDING_PACKET_FAILED;LOW;No description;linux/acs/StrComHandler.h
12517;0x30e5;STR_HELPER_REQUESTING_MSG_FAILED;LOW;No description;linux/devices/startracker/StrComHandler.h 12517;0x30e5;STR_HELPER_REQUESTING_MSG_FAILED;LOW;No description;linux/acs/StrComHandler.h
12600;0x3138;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux/devices/ploc/PlocMPSoCHelper.h 12600;0x3138;MPSOC_FLASH_WRITE_FAILED;LOW;Flash write fails;linux/payload/PlocMpsocHelper.h
12601;0x3139;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux/devices/ploc/PlocMPSoCHelper.h 12601;0x3139;MPSOC_FLASH_WRITE_SUCCESSFUL;LOW;Flash write successful;linux/payload/PlocMpsocHelper.h
12602;0x313a;MPSOC_SENDING_COMMAND_FAILED;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h 12602;0x313a;MPSOC_SENDING_COMMAND_FAILED;LOW;No description;linux/payload/PlocMpsocHelper.h
12603;0x313b;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12603;0x313b;MPSOC_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12604;0x313c;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12604;0x313c;MPSOC_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12605;0x313d;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12605;0x313d;MPSOC_MISSING_ACK;LOW;Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12606;0x313e;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocMPSoCHelper.h 12606;0x313e;MPSOC_MISSING_EXE;LOW;Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocMpsocHelper.h
12607;0x313f;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12607;0x313f;MPSOC_ACK_FAILURE_REPORT;LOW;Received acknowledgment failure report P1: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12608;0x3140;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12608;0x3140;MPSOC_EXE_FAILURE_REPORT;LOW;Received execution failure report P1: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12609;0x3141;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12609;0x3141;MPSOC_ACK_INVALID_APID;LOW;Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12610;0x3142;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/devices/ploc/PlocMPSoCHelper.h 12610;0x3142;MPSOC_EXE_INVALID_APID;LOW;Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC;linux/payload/PlocMpsocHelper.h
12611;0x3143;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux/devices/ploc/PlocMPSoCHelper.h 12611;0x3143;MPSOC_HELPER_SEQ_CNT_MISMATCH;LOW;Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count;linux/payload/PlocMpsocHelper.h
12612;0x3144;MPSOC_TM_SIZE_ERROR;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h 12612;0x3144;MPSOC_TM_SIZE_ERROR;LOW;No description;linux/payload/PlocMpsocHelper.h
12613;0x3145;MPSOC_TM_CRC_MISSMATCH;LOW;No description;linux/devices/ploc/PlocMPSoCHelper.h 12613;0x3145;MPSOC_TM_CRC_MISSMATCH;LOW;No description;linux/payload/PlocMpsocHelper.h
12700;0x319c;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission/devices/PayloadPcduHandler.h 12700;0x319c;TRANSITION_BACK_TO_OFF;MEDIUM;Could not transition properly and went back to ALL OFF;mission/payload/PayloadPcduHandler.h
12701;0x319d;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12701;0x319d;NEG_V_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12702;0x319e;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12702;0x319e;U_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12703;0x319f;I_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12703;0x319f;I_DRO_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12704;0x31a0;U_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12704;0x31a0;U_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12705;0x31a1;I_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12705;0x31a1;I_X8_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12706;0x31a2;U_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12706;0x31a2;U_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12707;0x31a3;I_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12707;0x31a3;I_TX_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12708;0x31a4;U_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12708;0x31a4;U_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12709;0x31a5;I_MPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12710;0x31a6;U_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/devices/PayloadPcduHandler.h 12711;0x31a7;I_HPA_OUT_OF_BOUNDS;MEDIUM;P1: 0 -> too low, 1 -> too high P2: Float value;mission/payload/PayloadPcduHandler.h
12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/objects/AcsBoardAssembly.h 12800;0x3200;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/acs/AcsBoardAssembly.h
12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/objects/AcsBoardAssembly.h 12801;0x3201;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/acs/AcsBoardAssembly.h
12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/objects/AcsBoardAssembly.h 12802;0x3202;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/acs/AcsBoardAssembly.h
12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/AcsBoardAssembly.h 12803;0x3203;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/acs/AcsBoardAssembly.h
12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/objects/SusAssembly.h 12804;0x3204;DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY;MEDIUM;This is triggered when the assembly would have normally switched the board side, but the GPS device of the other side was marked faulty. P1: Current submode.;mission/system/acs/AcsBoardAssembly.h
12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/objects/SusAssembly.h 12900;0x3264;TRANSITION_OTHER_SIDE_FAILED;HIGH;No description;mission/system/acs/SusAssembly.h
12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/objects/SusAssembly.h 12901;0x3265;NOT_ENOUGH_DEVICES_DUAL_MODE;HIGH;No description;mission/system/acs/SusAssembly.h
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/objects/SusAssembly.h 12902;0x3266;POWER_STATE_MACHINE_TIMEOUT;MEDIUM;No description;mission/system/acs/SusAssembly.h
12903;0x3267;SIDE_SWITCH_TRANSITION_NOT_ALLOWED;LOW;Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination;mission/system/acs/SusAssembly.h
13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;No description;mission/system/objects/TcsBoardAssembly.h 13000;0x32c8;CHILDREN_LOST_MODE;MEDIUM;No description;mission/system/objects/TcsBoardAssembly.h
13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/devices/devicedefinitions/GPSDefinitions.h 13100;0x332c;GPS_FIX_CHANGE;INFO;Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix;mission/acs/archive/GPSDefinitions.h
13101;0x332d;CANT_GET_FIX;LOW;Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on.;mission/devices/devicedefinitions/GPSDefinitions.h 13101;0x332d;CANT_GET_FIX;LOW;Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on.;mission/acs/archive/GPSDefinitions.h
13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/devices/P60DockHandler.h 13200;0x3390;P60_BOOT_COUNT;INFO;P60 boot count is broadcasted once at SW startup. P1: Boot count;mission/power/P60DockHandler.h
13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/devices/P60DockHandler.h 13201;0x3391;BATT_MODE;INFO;Battery mode is broadcasted at startup. P1: Mode;mission/power/P60DockHandler.h
13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/devices/P60DockHandler.h 13202;0x3392;BATT_MODE_CHANGED;MEDIUM;Battery mode has changed. P1: Old mode. P2: New mode;mission/power/P60DockHandler.h
13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/devices/ploc/PlocSupvUartMan.h 13600;0x3520;SUPV_UPDATE_FAILED;LOW;update failed;linux/payload/PlocSupvUartMan.h
13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/devices/ploc/PlocSupvUartMan.h 13601;0x3521;SUPV_UPDATE_SUCCESSFUL;LOW;update successful;linux/payload/PlocSupvUartMan.h
13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/devices/ploc/PlocSupvUartMan.h 13602;0x3522;SUPV_CONTINUE_UPDATE_FAILED;LOW;Continue update command failed;linux/payload/PlocSupvUartMan.h
13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/devices/ploc/PlocSupvUartMan.h 13603;0x3523;SUPV_CONTINUE_UPDATE_SUCCESSFUL;LOW;Continue update command successful;linux/payload/PlocSupvUartMan.h
13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/devices/ploc/PlocSupvUartMan.h 13604;0x3524;TERMINATED_UPDATE_PROCEDURE;LOW;Terminated update procedure by command;linux/payload/PlocSupvUartMan.h
13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/devices/ploc/PlocSupvUartMan.h 13605;0x3525;SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL;LOW;Requesting event buffer was successful;linux/payload/PlocSupvUartMan.h
13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/devices/ploc/PlocSupvUartMan.h 13606;0x3526;SUPV_EVENT_BUFFER_REQUEST_FAILED;LOW;Requesting event buffer failed;linux/payload/PlocSupvUartMan.h
13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/devices/ploc/PlocSupvUartMan.h 13607;0x3527;SUPV_EVENT_BUFFER_REQUEST_TERMINATED;LOW;Terminated event buffer request by command P1: Number of packets read before process was terminated;linux/payload/PlocSupvUartMan.h
13608;0x3528;SUPV_MEM_CHECK_OK;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13608;0x3528;SUPV_MEM_CHECK_OK;INFO;No description;linux/payload/PlocSupvUartMan.h
13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13609;0x3529;SUPV_MEM_CHECK_FAIL;INFO;No description;linux/payload/PlocSupvUartMan.h
13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h 13616;0x3530;SUPV_SENDING_COMMAND_FAILED;LOW;No description;linux/payload/PlocSupvUartMan.h
13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13617;0x3531;SUPV_HELPER_REQUESTING_REPLY_FAILED;LOW;Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13618;0x3532;SUPV_HELPER_READING_REPLY_FAILED;LOW;Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/devices/ploc/PlocSupvUartMan.h 13619;0x3533;SUPV_MISSING_ACK;LOW;Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper;linux/payload/PlocSupvUartMan.h
13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13620;0x3534;SUPV_MISSING_EXE;LOW;Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13621;0x3535;SUPV_ACK_FAILURE_REPORT;LOW;Supervisor received acknowledgment failure report P1: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/devices/ploc/PlocSupvUartMan.h 13622;0x3536;SUPV_EXE_FAILURE_REPORT;LOW;Execution report failure P1:;linux/payload/PlocSupvUartMan.h
13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13623;0x3537;SUPV_ACK_INVALID_APID;LOW;Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/devices/ploc/PlocSupvUartMan.h 13624;0x3538;SUPV_EXE_INVALID_APID;LOW;Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper;linux/payload/PlocSupvUartMan.h
13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/devices/ploc/PlocSupvUartMan.h 13625;0x3539;ACK_RECEPTION_FAILURE;LOW;Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed;linux/payload/PlocSupvUartMan.h
13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/devices/ploc/PlocSupvUartMan.h 13626;0x353a;EXE_RECEPTION_FAILURE;LOW;Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed;linux/payload/PlocSupvUartMan.h
13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h 13627;0x353b;WRITE_MEMORY_FAILED;LOW;Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/payload/PlocSupvUartMan.h
13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h 13628;0x353c;SUPV_REPLY_SIZE_MISSMATCH;LOW;No description;linux/payload/PlocSupvUartMan.h
13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;No description;linux/devices/ploc/PlocSupvUartMan.h 13629;0x353d;SUPV_REPLY_CRC_MISSMATCH;LOW;No description;linux/payload/PlocSupvUartMan.h
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h 13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/payload/PlocSupvUartMan.h
13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;No description;linux/payload/PlocSupvUartMan.h
13632;0x3540;HDLC_CRC_ERROR;INFO;No description;linux/devices/ploc/PlocSupvUartMan.h 13632;0x3540;HDLC_CRC_ERROR;INFO;No description;linux/payload/PlocSupvUartMan.h
13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/devices/devicedefinitions/SyrlinksDefinitions.h 13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/com/syrlinksDefs.h
13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/devices/devicedefinitions/SyrlinksDefinitions.h 13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/com/syrlinksDefs.h
13800;0x35e8;MISSING_PACKET;LOW;No description;mission/devices/devicedefinitions/ScexDefinitions.h 13800;0x35e8;MISSING_PACKET;LOW;No description;mission/payload/scexHelpers.h
13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;No description;mission/devices/devicedefinitions/ScexDefinitions.h 13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;No description;mission/payload/scexHelpers.h
13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;No description;mission/devices/devicedefinitions/ScexDefinitions.h 13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;No description;mission/payload/scexHelpers.h
13901;0x364d;SET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h 13901;0x364d;SET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13902;0x364e;GET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h 13902;0x364e;GET_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h 13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;No description;mission/utility/GlobalConfigHandler.h
@ -261,21 +261,25 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
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 14007;0x36b7;REBOOT_COUNTER;INFO;Total reboot counter, which is the sum of the boot count of all individual images.;bsp_q7s/core/CoreController.h
14008;0x36b8;INDIVIDUAL_BOOT_COUNTS;INFO;Get the boot count of the individual images. P1: First 16 bits boot count of image 0 0, last 16 bits boot count of image 0 1. P2: First 16 bits boot count of image 1 0, last 16 bits boot count of image 1 1.;bsp_q7s/core/CoreController.h 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
14010;0x36ba;I2C_UNAVAILABLE_REBOOT;MEDIUM;No description;bsp_q7s/core/CoreController.h 14010;0x36ba;I2C_UNAVAILABLE_REBOOT;MEDIUM;No description;bsp_q7s/core/CoreController.h
14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/ThermalController.h 14100;0x3714;NO_VALID_SENSOR_TEMPERATURE;MEDIUM;No description;mission/controller/tcsDefs.h
14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/ThermalController.h 14101;0x3715;NO_HEALTHY_HEATER_AVAILABLE;MEDIUM;No description;mission/controller/tcsDefs.h
14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14102;0x3716;SYRLINKS_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14103;0x3717;PLOC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14104;0x3718;OBC_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14105;0x3719;CAMERA_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14105;0x3719;HPA_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14106;0x371a;PCDU_SYSTEM_OVERHEATING;HIGH;No description;mission/controller/tcsDefs.h
14106;0x371a;PLPCDU_OVERHEATING;HIGH;No description;mission/controller/ThermalController.h 14107;0x371b;HEATER_NOT_OFF_FOR_OFF_MODE;MEDIUM;No description;mission/controller/tcsDefs.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 14201;0x3779;TX_TIMER_EXPIRED;INFO;The transmit timer to protect the Syrlinks expired P1: The current timer value;mission/system/com/ComSubsystem.h
14202;0x377a;BIT_LOCK_TX_ON;INFO;Transmitter will be turned on due to detection of bitlock;mission/system/objects/ComSubsystem.h 14202;0x377a;BIT_LOCK_TX_ON;INFO;Transmitter will be turned on due to detection of bitlock;mission/system/com/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 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 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 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 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 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 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 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 14309;0x37e5;DUMP_CFDP_STORE_DONE;INFO;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14310;0x37e6;DUMP_OK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14311;0x37e7;DUMP_NOK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14312;0x37e8;DUMP_MISC_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14313;0x37e9;DUMP_HK_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h
14314;0x37ea;DUMP_CFDP_CANCELLED;LOW;P1: Number of dumped packets. P2: Total dumped bytes.;mission/persistentTmStoreDefs.h

1 Event ID (dec) Event ID (hex) Name Severity Description File Path
86 10802 0x2a32 SERIALIZATION_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
87 10803 0x2a33 FILESTORE_ERROR LOW No description fsfw/src/fsfw/cfdp/handler/defs.h
88 10804 0x2a34 FILENAME_TOO_LARGE_ERROR LOW P1: Transaction step ID, P2: 0 for source file name, 1 for dest file name fsfw/src/fsfw/cfdp/handler/defs.h
89 11200 0x2bc0 SAFE_RATE_VIOLATION MEDIUM The limits for the rotation in safe mode were violated. No description mission/acsDefs.h mission/acs/defs.h
90 11201 0x2bc1 SAFE_RATE_RECOVERY MEDIUM The system has recovered from a safe rate rotation violation. No description mission/acsDefs.h mission/acs/defs.h
91 11202 0x2bc2 MULTIPLE_RW_INVALID HIGH Multiple RWs are invalid, uncommandable and therefore higher ACS modes cannot be maintained. No description mission/acsDefs.h mission/acs/defs.h
92 11203 0x2bc3 MEKF_INVALID_INFO INFO MEKF was not able to compute a solution. P1: MEKF state on exit No description mission/acsDefs.h mission/acs/defs.h
93 11204 0x2bc4 MEKF_RECOVERY INFO MEKF is able to compute a solution again. No description mission/acsDefs.h mission/acs/defs.h
94 11205 0x2bc5 MEKF_AUTOMATIC_RESET MEKF_INVALID_MODE_VIOLATION INFO HIGH MEKF performed an automatic reset after detection of nonfinite values. No description mission/acsDefs.h mission/acs/defs.h
95 11206 0x2bc6 MEKF_INVALID_MODE_VIOLATION SAFE_MODE_CONTROLLER_FAILURE HIGH MEKF was not able to compute a solution during any pointing ACS mode for a prolonged time. No description mission/acsDefs.h mission/acs/defs.h
96 11207 11300 0x2bc7 0x2c24 SAFE_MODE_CONTROLLER_FAILURE SWITCH_CMD_SENT HIGH INFO The ACS safe mode controller was not able to compute a solution and has failed. P1: Missing information about magnetic field, P2: Missing information about rotational rate Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index mission/acsDefs.h mission/power/defs.h
97 11300 11301 0x2c24 0x2c25 SWITCH_CMD_SENT SWITCH_HAS_CHANGED INFO Indicates that a FSFW object requested setting a switch P1: 1 if on was requested, 0 for off | P2: Switch Index Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index mission/devices/devicedefinitions/powerDefinitions.h mission/power/defs.h
98 11301 11302 0x2c25 0x2c26 SWITCH_HAS_CHANGED SWITCHING_Q7S_DENIED INFO MEDIUM Indicated that a switch state has changed P1: New switch state, 1 for on, 0 for off | P2: Switch Index No description mission/devices/devicedefinitions/powerDefinitions.h mission/power/defs.h
99 11302 11303 0x2c26 0x2c27 SWITCHING_Q7S_DENIED FDIR_REACTION_IGNORED MEDIUM No description mission/devices/devicedefinitions/powerDefinitions.h mission/power/defs.h
100 11303 11400 0x2c27 0x2c88 FDIR_REACTION_IGNORED GPIO_PULL_HIGH_FAILED MEDIUM LOW No description mission/devices/devicedefinitions/powerDefinitions.h mission/tcs/HeaterHandler.h
101 11400 11401 0x2c88 0x2c89 GPIO_PULL_HIGH_FAILED GPIO_PULL_LOW_FAILED LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
102 11401 11402 0x2c89 0x2c8a GPIO_PULL_LOW_FAILED HEATER_WENT_ON LOW INFO No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
103 11402 11403 0x2c8a 0x2c8b HEATER_WENT_ON HEATER_WENT_OFF INFO No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
104 11403 11404 0x2c8b 0x2c8c HEATER_WENT_OFF SWITCH_ALREADY_ON INFO LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
105 11404 11405 0x2c8c 0x2c8d SWITCH_ALREADY_ON SWITCH_ALREADY_OFF LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
106 11405 11406 0x2c8d 0x2c8e SWITCH_ALREADY_OFF MAIN_SWITCH_TIMEOUT LOW MEDIUM No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
107 11406 11407 0x2c8e 0x2c8f MAIN_SWITCH_TIMEOUT FAULTY_HEATER_WAS_ON MEDIUM LOW No description mission/devices/HeaterHandler.h mission/tcs/HeaterHandler.h
108 11407 11500 0x2c8f 0x2cec FAULTY_HEATER_WAS_ON BURN_PHASE_START LOW INFO No description P1: Burn duration in milliseconds, P2: Dry run flag mission/devices/HeaterHandler.h mission/SolarArrayDeploymentHandler.h
109 11500 11501 0x2cec 0x2ced BURN_PHASE_START BURN_PHASE_DONE INFO P1: Burn duration in milliseconds, P2: Dry run flag mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
110 11501 11502 0x2ced 0x2cee BURN_PHASE_DONE MAIN_SWITCH_ON_TIMEOUT INFO LOW P1: Burn duration in milliseconds, P2: Dry run flag No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
111 11502 11503 0x2cee 0x2cef MAIN_SWITCH_ON_TIMEOUT MAIN_SWITCH_OFF_TIMEOUT LOW No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
112 11503 11504 0x2cef 0x2cf0 MAIN_SWITCH_OFF_TIMEOUT DEPL_SA1_GPIO_SWTICH_ON_FAILED LOW HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
113 11504 11505 0x2cf0 0x2cf1 DEPL_SA1_GPIO_SWTICH_ON_FAILED DEPL_SA2_GPIO_SWTICH_ON_FAILED HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
114 11505 11506 0x2cf1 0x2cf2 DEPL_SA2_GPIO_SWTICH_ON_FAILED DEPL_SA1_GPIO_SWTICH_OFF_FAILED HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
115 11506 11507 0x2cf2 0x2cf3 DEPL_SA1_GPIO_SWTICH_OFF_FAILED DEPL_SA2_GPIO_SWTICH_OFF_FAILED HIGH No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
116 11507 11508 0x2cf3 0x2cf4 DEPL_SA2_GPIO_SWTICH_OFF_FAILED AUTONOMOUS_DEPLOYMENT_COMPLETED HIGH INFO No description mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
117 11508 11601 0x2cf4 0x2d51 AUTONOMOUS_DEPLOYMENT_COMPLETED MEMORY_READ_RPT_CRC_FAILURE INFO LOW No description PLOC crc failure in telemetry packet mission/devices/SolarArrayDeploymentHandler.h linux/payload/PlocMpsocHandler.h
118 11601 11602 0x2d51 0x2d52 MEMORY_READ_RPT_CRC_FAILURE ACK_FAILURE LOW PLOC crc failure in telemetry packet PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
119 11602 11603 0x2d52 0x2d53 ACK_FAILURE EXE_FAILURE LOW PLOC receive acknowledgment failure report P1: Command Id which leads the acknowledgment failure report P2: The status field inserted by the MPSoC into the data field PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
120 11603 11604 0x2d53 0x2d54 EXE_FAILURE MPSOC_HANDLER_CRC_FAILURE LOW PLOC receive execution failure report P1: Command Id which leads the execution failure report P2: The status field inserted by the MPSoC into the data field PLOC reply has invalid crc linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
121 11604 11605 0x2d54 0x2d55 MPSOC_HANDLER_CRC_FAILURE MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH LOW PLOC reply has invalid crc Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
122 11605 11606 0x2d55 0x2d56 MPSOC_HANDLER_SEQUENCE_COUNT_MISMATCH MPSOC_SHUTDOWN_FAILED LOW HIGH Packet sequence count in received space packet does not match expected count P1: Expected sequence count P2: Received sequence count Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor. linux/devices/ploc/PlocMPSoCHandler.h linux/payload/PlocMpsocHandler.h
123 11606 11701 0x2d56 0x2db5 MPSOC_SHUTDOWN_FAILED SELF_TEST_I2C_FAILURE HIGH LOW Supervisor fails to shutdown MPSoC. Requires to power off the PLOC and thus also to shutdown the supervisor. Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA linux/devices/ploc/PlocMPSoCHandler.h mission/acs/ImtqHandler.h
124 11701 11702 0x2db5 0x2db6 SELF_TEST_I2C_FAILURE SELF_TEST_SPI_FAILURE LOW Get self test result returns I2C failure P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
125 11702 11703 0x2db6 0x2db7 SELF_TEST_SPI_FAILURE SELF_TEST_ADC_FAILURE LOW Get self test result returns SPI failure. This concerns the MTM connectivity. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
126 11703 11704 0x2db7 0x2db8 SELF_TEST_ADC_FAILURE SELF_TEST_PWM_FAILURE LOW Get self test result returns failure in measurement of current and temperature. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
127 11704 11705 0x2db8 0x2db9 SELF_TEST_PWM_FAILURE SELF_TEST_TC_FAILURE LOW Get self test result returns PWM failure which concerns the coil actuation. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
128 11705 11706 0x2db9 0x2dba SELF_TEST_TC_FAILURE SELF_TEST_MTM_RANGE_FAILURE LOW Get self test result returns TC failure (system failure) P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
129 11706 11707 0x2dba 0x2dbb SELF_TEST_MTM_RANGE_FAILURE SELF_TEST_COIL_CURRENT_FAILURE LOW Get self test result returns failure that MTM values were outside of the expected range. P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
130 11707 11708 0x2dbb 0x2dbc SELF_TEST_COIL_CURRENT_FAILURE INVALID_ERROR_BYTE LOW Get self test result returns failure indicating that the coil current was outside of the expected range P1: Indicates on which axis the failure occurred. 0 -> INIT, 1 -> +X, 2 -> -X, 3 -> +Y, 4 -> -Y, 5 -> +Z, 6 -> -Z, 7 -> FINA Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. mission/devices/ImtqHandler.h mission/acs/ImtqHandler.h
131 11708 11801 0x2dbc 0x2e19 INVALID_ERROR_BYTE ERROR_STATE LOW HIGH Received invalid error byte. This indicates an error of the communication link between IMTQ and OBC. Reaction wheel signals an error state mission/devices/ImtqHandler.h mission/acs/rwHelpers.h
132 11801 11802 0x2e19 0x2e1a ERROR_STATE RESET_OCCURED HIGH LOW Reaction wheel signals an error state No description mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
133 11802 11901 0x2e1a 0x2e7d RESET_OCCURED BOOTING_FIRMWARE_FAILED_EVENT LOW No description Failed to boot firmware mission/devices/devicedefinitions/rwHelpers.h mission/acs/str/StarTrackerHandler.h
134 11901 11902 0x2e7d 0x2e7e BOOTING_FIRMWARE_FAILED_EVENT BOOTING_BOOTLOADER_FAILED_EVENT LOW Failed to boot firmware Failed to boot star tracker into bootloader mode linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
135 11902 12001 0x2e7e 0x2ee1 BOOTING_BOOTLOADER_FAILED_EVENT SUPV_MEMORY_READ_RPT_CRC_FAILURE LOW Failed to boot star tracker into bootloader mode PLOC supervisor crc failure in telemetry packet linux/devices/startracker/StarTrackerHandler.h linux/payload/PlocSupervisorHandler.h
136 12001 12002 0x2ee1 0x2ee2 SUPV_MEMORY_READ_RPT_CRC_FAILURE SUPV_UNKNOWN_TM LOW PLOC supervisor crc failure in telemetry packet Unhandled event. P1: APID, P2: Service ID linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
137 12002 12003 0x2ee2 0x2ee3 SUPV_UNKNOWN_TM SUPV_UNINIMPLEMENTED_TM LOW Unhandled event. P1: APID, P2: Service ID No description linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
138 12003 12004 0x2ee3 0x2ee4 SUPV_UNINIMPLEMENTED_TM SUPV_ACK_FAILURE LOW No description PLOC supervisor received acknowledgment failure report linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
139 12004 12005 0x2ee4 0x2ee5 SUPV_ACK_FAILURE SUPV_EXE_FAILURE LOW PLOC supervisor received acknowledgment failure report PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
140 12005 12006 0x2ee5 0x2ee6 SUPV_EXE_FAILURE SUPV_CRC_FAILURE_EVENT LOW PLOC received execution failure report P1: ID of command for which the execution failed P2: Status code sent by the supervisor handler PLOC supervisor reply has invalid crc linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
141 12006 12007 0x2ee6 0x2ee7 SUPV_CRC_FAILURE_EVENT SUPV_HELPER_EXECUTING LOW PLOC supervisor reply has invalid crc Supervisor helper currently executing a command linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
142 12007 12008 0x2ee7 0x2ee8 SUPV_HELPER_EXECUTING SUPV_MPSOC_SHUTDOWN_BUILD_FAILED LOW Supervisor helper currently executing a command Failed to build the command to shutdown the MPSoC linux/devices/ploc/PlocSupervisorHandler.h linux/payload/PlocSupervisorHandler.h
12008 0x2ee8 SUPV_MPSOC_SHUTDOWN_BUILD_FAILED LOW Failed to build the command to shutdown the MPSoC linux/devices/ploc/PlocSupervisorHandler.h
143 12100 0x2f44 SANITIZATION_FAILED LOW No description bsp_q7s/fs/SdCardManager.h
144 12101 0x2f45 MOUNTED_SD_CARD INFO No description bsp_q7s/fs/SdCardManager.h
145 12300 0x300c SEND_MRAM_DUMP_FAILED LOW Failed to send mram dump command to supervisor handler P1: Return value of commandAction function P2: Start address of MRAM to dump with this command linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
146 12301 0x300d MRAM_DUMP_FAILED LOW Received completion failure report form PLOC supervisor handler P1: MRAM start address of failing dump command linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
147 12302 0x300e MRAM_DUMP_FINISHED LOW MRAM dump finished successfully linux/devices/ploc/PlocMemoryDumper.h linux/payload/PlocMemoryDumper.h
148 12401 0x3071 INVALID_TC_FRAME HIGH No description linux/ipcore/PdecHandler.h
149 12402 0x3072 INVALID_FAR HIGH Read invalid FAR from PDEC after startup linux/ipcore/PdecHandler.h
150 12403 0x3073 CARRIER_LOCK INFO Carrier lock detected linux/ipcore/PdecHandler.h
156 12409 0x3079 WRITE_SYSCALL_ERROR_PDEC HIGH No description linux/ipcore/PdecHandler.h
157 12410 0x307a PDEC_RESET_FAILED HIGH Failed to pull PDEC reset to low linux/ipcore/PdecHandler.h
158 12411 0x307b OPEN_IRQ_FILE_FAILED HIGH Failed to open the IRQ uio file linux/ipcore/PdecHandler.h
159 12500 0x30d4 IMAGE_UPLOAD_FAILED LOW Image upload failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
160 12501 0x30d5 IMAGE_DOWNLOAD_FAILED LOW Image download failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
161 12502 0x30d6 IMAGE_UPLOAD_SUCCESSFUL LOW Uploading image to star tracker was successfulop linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
162 12503 0x30d7 IMAGE_DOWNLOAD_SUCCESSFUL LOW Image download was successful linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
163 12504 0x30d8 FLASH_WRITE_SUCCESSFUL LOW Finished flash write procedure successfully linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
164 12505 0x30d9 FLASH_READ_SUCCESSFUL LOW Finished flash read procedure successfully linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
165 12506 0x30da FLASH_READ_FAILED LOW Flash read procedure failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
166 12507 0x30db FIRMWARE_UPDATE_SUCCESSFUL LOW Firmware update was successful linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
167 12508 0x30dc FIRMWARE_UPDATE_FAILED LOW Firmware update failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
168 12509 0x30dd STR_HELPER_READING_REPLY_FAILED LOW Failed to read communication interface reply data P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
169 12510 0x30de STR_HELPER_COM_ERROR LOW Unexpected stop of decoding sequence P1: Return code of failed communication interface read call P1: Upload/download position for which the read call failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
170 12511 0x30df STR_COM_REPLY_TIMEOUT LOW Star tracker did not send a valid reply for a certain timeout. P1: Position of upload or download packet for which the packet wa sent. P2: Timeout linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
171 12513 0x30e1 STR_HELPER_DEC_ERROR LOW Error during decoding of received reply occurred P1: Return value of decoding function P2: Position of upload/download packet, or address of flash write/read request linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
172 12514 0x30e2 POSITION_MISMATCH LOW Position mismatch P1: The expected position and thus the position for which the image upload/download failed linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
173 12515 0x30e3 STR_HELPER_FILE_NOT_EXISTS LOW Specified file does not exist P1: Internal state of str helper linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
174 12516 0x30e4 STR_HELPER_SENDING_PACKET_FAILED LOW No description linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
175 12517 0x30e5 STR_HELPER_REQUESTING_MSG_FAILED LOW No description linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
176 12600 0x3138 MPSOC_FLASH_WRITE_FAILED LOW Flash write fails linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
177 12601 0x3139 MPSOC_FLASH_WRITE_SUCCESSFUL LOW Flash write successful linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
178 12602 0x313a MPSOC_SENDING_COMMAND_FAILED LOW No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
179 12603 0x313b MPSOC_HELPER_REQUESTING_REPLY_FAILED LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
180 12604 0x313c MPSOC_HELPER_READING_REPLY_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
181 12605 0x313d MPSOC_MISSING_ACK LOW Did not receive acknowledgment report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
182 12606 0x313e MPSOC_MISSING_EXE LOW Did not receive execution report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
183 12607 0x313f MPSOC_ACK_FAILURE_REPORT LOW Received acknowledgment failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
184 12608 0x3140 MPSOC_EXE_FAILURE_REPORT LOW Received execution failure report P1: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
185 12609 0x3141 MPSOC_ACK_INVALID_APID LOW Expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
186 12610 0x3142 MPSOC_EXE_INVALID_APID LOW Expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of MPSoC linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
187 12611 0x3143 MPSOC_HELPER_SEQ_CNT_MISMATCH LOW Received sequence count does not match expected sequence count P1: Expected sequence count P2: Received sequence count linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
188 12612 0x3144 MPSOC_TM_SIZE_ERROR LOW No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
189 12613 0x3145 MPSOC_TM_CRC_MISSMATCH LOW No description linux/devices/ploc/PlocMPSoCHelper.h linux/payload/PlocMpsocHelper.h
190 12700 0x319c TRANSITION_BACK_TO_OFF MEDIUM Could not transition properly and went back to ALL OFF mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
191 12701 0x319d NEG_V_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
192 12702 0x319e U_DRO_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
193 12703 0x319f I_DRO_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
194 12704 0x31a0 U_X8_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
195 12705 0x31a1 I_X8_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
196 12706 0x31a2 U_TX_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
197 12707 0x31a3 I_TX_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
198 12708 0x31a4 U_MPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
199 12709 0x31a5 I_MPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
200 12710 0x31a6 U_HPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
201 12711 0x31a7 I_HPA_OUT_OF_BOUNDS MEDIUM P1: 0 -> too low, 1 -> too high P2: Float value mission/devices/PayloadPcduHandler.h mission/payload/PayloadPcduHandler.h
202 12800 0x3200 TRANSITION_OTHER_SIDE_FAILED HIGH No description mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
203 12801 0x3201 NOT_ENOUGH_DEVICES_DUAL_MODE HIGH No description mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
204 12802 0x3202 POWER_STATE_MACHINE_TIMEOUT MEDIUM No description mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
205 12803 0x3203 SIDE_SWITCH_TRANSITION_NOT_ALLOWED LOW Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination mission/system/objects/AcsBoardAssembly.h mission/system/acs/AcsBoardAssembly.h
206 12900 12804 0x3264 0x3204 TRANSITION_OTHER_SIDE_FAILED DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY HIGH MEDIUM No description This is triggered when the assembly would have normally switched the board side, but the GPS device of the other side was marked faulty. P1: Current submode. mission/system/objects/SusAssembly.h mission/system/acs/AcsBoardAssembly.h
207 12901 12900 0x3265 0x3264 NOT_ENOUGH_DEVICES_DUAL_MODE TRANSITION_OTHER_SIDE_FAILED HIGH No description mission/system/objects/SusAssembly.h mission/system/acs/SusAssembly.h
208 12902 12901 0x3266 0x3265 POWER_STATE_MACHINE_TIMEOUT NOT_ENOUGH_DEVICES_DUAL_MODE MEDIUM HIGH No description mission/system/objects/SusAssembly.h mission/system/acs/SusAssembly.h
209 12903 12902 0x3267 0x3266 SIDE_SWITCH_TRANSITION_NOT_ALLOWED POWER_STATE_MACHINE_TIMEOUT LOW MEDIUM Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination No description mission/system/objects/SusAssembly.h mission/system/acs/SusAssembly.h
210 12903 0x3267 SIDE_SWITCH_TRANSITION_NOT_ALLOWED LOW Not implemented, would increase already high complexity. Operator should instead command the assembly off first and then command the assembly on into the desired mode/submode combination mission/system/acs/SusAssembly.h
211 13000 0x32c8 CHILDREN_LOST_MODE MEDIUM No description mission/system/objects/TcsBoardAssembly.h
212 13100 0x332c GPS_FIX_CHANGE INFO Fix has changed. P1: Old fix. P2: New fix 0: Not seen, 1: No Fix, 2: 2D-Fix, 3: 3D-Fix mission/devices/devicedefinitions/GPSDefinitions.h mission/acs/archive/GPSDefinitions.h
213 13101 0x332d CANT_GET_FIX LOW Could not get fix in maximum allowed time. P1: Maximum allowed time to get a fix after the GPS was switched on. mission/devices/devicedefinitions/GPSDefinitions.h mission/acs/archive/GPSDefinitions.h
214 13200 0x3390 P60_BOOT_COUNT INFO P60 boot count is broadcasted once at SW startup. P1: Boot count mission/devices/P60DockHandler.h mission/power/P60DockHandler.h
215 13201 0x3391 BATT_MODE INFO Battery mode is broadcasted at startup. P1: Mode mission/devices/P60DockHandler.h mission/power/P60DockHandler.h
216 13202 0x3392 BATT_MODE_CHANGED MEDIUM Battery mode has changed. P1: Old mode. P2: New mode mission/devices/P60DockHandler.h mission/power/P60DockHandler.h
217 13600 0x3520 SUPV_UPDATE_FAILED LOW update failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
218 13601 0x3521 SUPV_UPDATE_SUCCESSFUL LOW update successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
219 13602 0x3522 SUPV_CONTINUE_UPDATE_FAILED LOW Continue update command failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
220 13603 0x3523 SUPV_CONTINUE_UPDATE_SUCCESSFUL LOW Continue update command successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
221 13604 0x3524 TERMINATED_UPDATE_PROCEDURE LOW Terminated update procedure by command linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
222 13605 0x3525 SUPV_EVENT_BUFFER_REQUEST_SUCCESSFUL LOW Requesting event buffer was successful linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
223 13606 0x3526 SUPV_EVENT_BUFFER_REQUEST_FAILED LOW Requesting event buffer failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
224 13607 0x3527 SUPV_EVENT_BUFFER_REQUEST_TERMINATED LOW Terminated event buffer request by command P1: Number of packets read before process was terminated linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
225 13608 0x3528 SUPV_MEM_CHECK_OK INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
226 13609 0x3529 SUPV_MEM_CHECK_FAIL INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
227 13616 0x3530 SUPV_SENDING_COMMAND_FAILED LOW No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
228 13617 0x3531 SUPV_HELPER_REQUESTING_REPLY_FAILED LOW Request receive message of communication interface failed P1: Return value returned by the communication interface requestReceiveMessage function P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
229 13618 0x3532 SUPV_HELPER_READING_REPLY_FAILED LOW Reading receive message of communication interface failed P1: Return value returned by the communication interface readingReceivedMessage function P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
230 13619 0x3533 SUPV_MISSING_ACK LOW Did not receive acknowledgement report P1: Number of bytes missing P2: Internal state of MPSoC helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
231 13620 0x3534 SUPV_MISSING_EXE LOW Supervisor did not receive execution report P1: Number of bytes missing P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
232 13621 0x3535 SUPV_ACK_FAILURE_REPORT LOW Supervisor received acknowledgment failure report P1: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
233 13622 0x3536 SUPV_EXE_FAILURE_REPORT LOW Execution report failure P1: linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
234 13623 0x3537 SUPV_ACK_INVALID_APID LOW Supervisor expected acknowledgment report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
235 13624 0x3538 SUPV_EXE_INVALID_APID LOW Supervisor helper expected execution report but received space packet with other apid P1: Apid of received space packet P2: Internal state of supervisor helper linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
236 13625 0x3539 ACK_RECEPTION_FAILURE LOW Failed to receive acknowledgment report P1: Return value P2: Apid of command for which the reception of the acknowledgment report failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
237 13626 0x353a EXE_RECEPTION_FAILURE LOW Failed to receive execution report P1: Return value P2: Apid of command for which the reception of the execution report failed linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
238 13627 0x353b WRITE_MEMORY_FAILED LOW Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
239 13628 0x353c SUPV_REPLY_SIZE_MISSMATCH LOW No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
240 13629 0x353d SUPV_REPLY_CRC_MISSMATCH LOW No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
241 13630 0x353e SUPV_UPDATE_PROGRESS INFO Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
242 13631 0x353f HDLC_FRAME_REMOVAL_ERROR INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
243 13632 0x3540 HDLC_CRC_ERROR INFO No description linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
244 13701 0x3585 TX_ON INFO Transmitter is on now. P1: Submode, P2: Current default datarate. mission/devices/devicedefinitions/SyrlinksDefinitions.h mission/com/syrlinksDefs.h
245 13702 0x3586 TX_OFF INFO Transmitter is off now. mission/devices/devicedefinitions/SyrlinksDefinitions.h mission/com/syrlinksDefs.h
246 13800 0x35e8 MISSING_PACKET LOW No description mission/devices/devicedefinitions/ScexDefinitions.h mission/payload/scexHelpers.h
247 13801 0x35e9 EXPERIMENT_TIMEDOUT LOW No description mission/devices/devicedefinitions/ScexDefinitions.h mission/payload/scexHelpers.h
248 13802 0x35ea MULTI_PACKET_COMMAND_DONE INFO No description mission/devices/devicedefinitions/ScexDefinitions.h mission/payload/scexHelpers.h
249 13901 0x364d SET_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
250 13902 0x364e GET_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
251 13903 0x364f INSERT_CONFIGFILEVALUE_FAILED MEDIUM No description mission/utility/GlobalConfigHandler.h
261 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
262 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
263 14010 0x36ba I2C_UNAVAILABLE_REBOOT MEDIUM No description bsp_q7s/core/CoreController.h
264 14100 0x3714 NO_VALID_SENSOR_TEMPERATURE MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
265 14101 0x3715 NO_HEALTHY_HEATER_AVAILABLE MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
266 14102 0x3716 SYRLINKS_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
267 14103 14104 0x3717 0x3718 PLOC_OVERHEATING OBC_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
268 14104 14105 0x3718 0x3719 OBC_OVERHEATING CAMERA_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
269 14105 14106 0x3719 0x371a HPA_OVERHEATING PCDU_SYSTEM_OVERHEATING HIGH No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
270 14106 14107 0x371a 0x371b PLPCDU_OVERHEATING HEATER_NOT_OFF_FOR_OFF_MODE HIGH MEDIUM No description mission/controller/ThermalController.h mission/controller/tcsDefs.h
271 14201 0x3779 TX_TIMER_EXPIRED INFO The transmit timer to protect the Syrlinks expired P1: The current timer value mission/system/objects/ComSubsystem.h mission/system/com/ComSubsystem.h
272 14202 0x377a BIT_LOCK_TX_ON INFO Transmitter will be turned on due to detection of bitlock mission/system/objects/ComSubsystem.h mission/system/com/ComSubsystem.h
273 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
274 14301 0x37dd FILE_TOO_LARGE LOW File in store too large. P1: Detected file size P2: Allowed file size mission/persistentTmStoreDefs.h
275 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
276 14305 0x37e1 DUMP_OK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
277 14306 0x37e2 DUMP_NOK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
278 14307 0x37e3 DUMP_MISC_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
279 14308 0x37e4 DUMP_HK_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
280 14309 0x37e5 DUMP_CFDP_STORE_DONE INFO P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
281 14310 0x37e6 DUMP_OK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
282 14311 0x37e7 DUMP_NOK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
283 14312 0x37e8 DUMP_MISC_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
284 14313 0x37e9 DUMP_HK_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h
285 14314 0x37ea DUMP_CFDP_CANCELLED LOW P1: Number of dumped packets. P2: Total dumped bytes. mission/persistentTmStoreDefs.h

View File

@ -29,6 +29,8 @@
0x44120350;RW4 0x44120350;RW4
0x44130001;STAR_TRACKER 0x44130001;STAR_TRACKER
0x44130045;GPS_CONTROLLER 0x44130045;GPS_CONTROLLER
0x44130046;GPS_0_HEALTH_DEV
0x44130047;GPS_1_HEALTH_DEV
0x44140013;IMTQ_POLLING 0x44140013;IMTQ_POLLING
0x44140014;IMTQ_HANDLER 0x44140014;IMTQ_HANDLER
0x442000A1;PCDU_HANDLER 0x442000A1;PCDU_HANDLER

1 0x00005060 P60DOCK_TEST_TASK
29 0x44120350 RW4
30 0x44130001 STAR_TRACKER
31 0x44130045 GPS_CONTROLLER
32 0x44130046 GPS_0_HEALTH_DEV
33 0x44130047 GPS_1_HEALTH_DEV
34 0x44140013 IMTQ_POLLING
35 0x44140014 IMTQ_HANDLER
36 0x442000A1 PCDU_HANDLER

View File

@ -357,6 +357,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x3a02;MQI_Full;No space left for more messages;2;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 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 0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3b00;SPH_ConnBroken;No description;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
0x3b01;SPH_SemaphoreTimeout;No description;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.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 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 0x3b03;SPH_SemaphoreInvalid;No description;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
@ -372,7 +373,6 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h 0x3e05;HKM_DatasetNotFound;No description;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3f01;DLEE_NoPacketFound;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h 0x3f01;DLEE_NoPacketFound;No description;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x3f02;DLEE_PossiblePacketLoss;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h 0x3f02;DLEE_PossiblePacketLoss;No description;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x4100;PUS9_ConnBroken;No description;0;PUS_SERVICE_9;fsfw/src/fsfw/osal/common/TcpTmTcServer.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
@ -417,102 +417,105 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h 0x4807;HGIO_GpioGetValueFailed;No description;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4c00;SPPA_NoPacketFound;No description;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.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 0x4c01;SPPA_SplitPacket;No description;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4fa0;HEATER_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa1;HEATER_CommandNotSupported;No description;161;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa1;HEATER_InvalidRampTime;Action Message with invalid ramp time was received.;161;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa2;HEATER_InitFailed;No description;162;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa2;HEATER_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa3;HEATER_InvalidSwitchNr;No description;163;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa3;HEATER_ExecutionFailed;Command execution failed;163;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa4;HEATER_MainSwitchSetTimeout;No description;164;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa4;HEATER_CrcError;Reaction wheel reply has invalid crc;164;HEATER_HANDLER;mission/devices/RwHandler.h 0x4fa5;HEATER_CommandAlreadyWaiting;No description;165;HEATER_HANDLER;mission/tcs/HeaterHandler.h
0x4fa5;HEATER_ValueNotRead;No description;165;HEATER_HANDLER;mission/devices/RwHandler.h 0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a0;SYRLINKS_CrcFailure;No description;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;No description;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a2;SYRLINKS_BadCharacterAck;No description;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a3;SYRLINKS_BadParameterValueAck;No description;163;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a3;SYRLINKS_BadParameterValueAck;No description;163;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a4;SYRLINKS_BadEndOfFrameAck;No description;164;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a4;SYRLINKS_BadEndOfFrameAck;No description;164;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a5;SYRLINKS_UnknownCommandIdAck;No description;165;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a5;SYRLINKS_UnknownCommandIdAck;No description;165;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a6;SYRLINKS_BadCrcAck;No description;166;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a7;SYRLINKS_ReplyWrongSize;No description;167;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/com/SyrlinksHandler.h
0x50a8;SYRLINKS_MissingStartFrameCharacter;No description;168;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h 0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5100;IMTQ_InvalidCommandCode;No description;0;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5101;IMTQ_MgmMeasurementLowLevelError;No description;1;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5102;IMTQ_ActuateCmdLowLevelError;No description;2;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5103;IMTQ_ParameterMissing;No description;3;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5103;IMTQ_ParameterMissing;No description;3;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5104;IMTQ_ParameterInvalid;No description;4;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5104;IMTQ_ParameterInvalid;No description;4;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5105;IMTQ_CcUnavailable;No description;5;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5105;IMTQ_CcUnavailable;No description;5;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5106;IMTQ_InternalProcessingError;No description;6;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5106;IMTQ_InternalProcessingError;No description;6;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5107;IMTQ_RejectedWithoutReason;No description;7;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5107;IMTQ_RejectedWithoutReason;No description;7;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5108;IMTQ_CmdErrUnknown;No description;8;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x5108;IMTQ_CmdErrUnknown;No description;8;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x5109;IMTQ_StartupCfgError;No description;9;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x51a7;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;167;IMTQ_HANDLER;mission/devices/devicedefinitions/imtqHelpers.h 0x510a;IMTQ_UnexpectedSelfTestReply;The status reply to a self test command was received but no self test command has been sent. This should normally never happen.;10;IMTQ_HANDLER;mission/acs/imtqHelpers.h
0x52b0;RWHA_SpiWriteFailure;No description;176;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b0;RWHA_SpiWriteFailure;No description;176;RW_HANDLER;mission/acs/rwHelpers.h
0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/acs/rwHelpers.h
0x52b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;178;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b2;RWHA_MissingStartSign;Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E;178;RW_HANDLER;mission/acs/rwHelpers.h
0x52b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;179;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b3;RWHA_InvalidSubstitute;Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination;179;RW_HANDLER;mission/acs/rwHelpers.h
0x52b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;180;RW_HANDLER;mission/devices/devicedefinitions/rwHelpers.h 0x52b4;RWHA_MissingEndSign;HDLC decoding mechanism never receives the end sign 0x7E;180;RW_HANDLER;mission/acs/rwHelpers.h
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/acs/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/acs/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/acs/rwHelpers.h
0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;mission/acs/str/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 0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;mission/acs/str/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 0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b7;STRH_StartrackerNotRunningFirmware;Star tracker must be in firmware mode to run this command;183;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b7;STRH_StartrackerNotRunningFirmware;Star tracker must be in firmware mode to run this command;183;STR_HANDLER;mission/acs/str/StarTrackerHandler.h
0x53b8;STRH_StartrackerNotRunningBootloader;Star tracker must be in bootloader mode to run this command;184;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h 0x53b8;STRH_StartrackerNotRunningBootloader;Star tracker must be in bootloader mode to run this command;184;STR_HANDLER;mission/acs/str/StarTrackerHandler.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/payload/plocMpscoDefs.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/payload/plocMpscoDefs.h
0x5700;PLSPVhLP_RequestDone;No description;0;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h 0x5700;PLSPVhLP_RequestDone;No description;0;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x5701;PLSPVhLP_NoPacketFound;No description;1;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h 0x5701;PLSPVhLP_NoPacketFound;No description;1;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x5702;PLSPVhLP_DecodeBufTooSmall;No description;2;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h 0x5702;PLSPVhLP_DecodeBufTooSmall;No description;2;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;No description;3;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h 0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;No description;3;PLOC_SUPV_HELPER;linux/payload/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/payload/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/payload/PlocSupvUartMan.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/payload/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/payload/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/payload/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 0x57a3;PLSPVhLP_EventBufferReplyInvalidApid;Expected event buffer TM but received space packet with other APID;163;PLOC_SUPV_HELPER;linux/payload/PlocSupvUartMan.h
0x58a0;SUSS_ErrorUnlockMutex;No description;160;SUS_HANDLER;mission/devices/LegacySusHandler.h 0x58a0;SUSS_InvalidSpeed;Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000];160;SUS_HANDLER;mission/acs/RwHandler.h
0x58a1;SUSS_ErrorLockMutex;No description;161;SUS_HANDLER;mission/devices/LegacySusHandler.h 0x58a1;SUSS_InvalidRampTime;Action Message with invalid ramp time was received.;161;SUS_HANDLER;mission/acs/RwHandler.h
0x58a2;SUSS_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;SUS_HANDLER;mission/acs/RwHandler.h
0x58a3;SUSS_ExecutionFailed;Command execution failed;163;SUS_HANDLER;mission/acs/RwHandler.h
0x58a4;SUSS_CrcError;Reaction wheel reply has invalid crc;164;SUS_HANDLER;mission/acs/RwHandler.h
0x58a5;SUSS_ValueNotRead;No description;165;SUS_HANDLER;mission/acs/RwHandler.h
0x5900;IPCI_NoReplyAvailable;No description;0;CCSDS_IP_CORE_BRIDGE;linux/acs/ImtqPollingTask.h
0x5901;IPCI_NoPacketFound;No description;1;CCSDS_IP_CORE_BRIDGE;linux/com/SyrlinksComHandler.h
0x59a0;IPCI_PapbBusy;No description;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h 0x59a0;IPCI_PapbBusy;No description;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h
0x5aa0;PTME_UnknownVcId;No description;160;PTME;linux/ipcore/Ptme.h 0x5aa0;PTME_UnknownVcId;No description;160;PTME;linux/ipcore/Ptme.h
0x5c01;STRHLP_SdNotMounted;SD card specified in path string not mounted;1;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c01;STRHLP_SdNotMounted;SD card specified in path string not mounted;1;STR_HELPER;linux/acs/StrComHandler.h
0x5c02;STRHLP_FileNotExists;Specified file does not exist on filesystem;2;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c02;STRHLP_FileNotExists;Specified file does not exist on filesystem;2;STR_HELPER;linux/acs/StrComHandler.h
0x5c03;STRHLP_PathNotExists;Specified path does not exist;3;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c03;STRHLP_PathNotExists;Specified path does not exist;3;STR_HELPER;linux/acs/StrComHandler.h
0x5c04;STRHLP_FileCreationFailed;Failed to create download image or read flash file;4;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c04;STRHLP_FileCreationFailed;Failed to create download image or read flash file;4;STR_HELPER;linux/acs/StrComHandler.h
0x5c05;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;5;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c05;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;5;STR_HELPER;linux/acs/StrComHandler.h
0x5c06;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;6;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c06;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;6;STR_HELPER;linux/acs/StrComHandler.h
0x5c07;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;7;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c07;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;7;STR_HELPER;linux/acs/StrComHandler.h
0x5c08;STRHLP_StatusError;Status field in reply signals error;8;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c08;STRHLP_StatusError;Status field in reply signals error;8;STR_HELPER;linux/acs/StrComHandler.h
0x5c09;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);9;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c09;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);9;STR_HELPER;linux/acs/StrComHandler.h
0x5c0a;STRHLP_ReceptionTimeout;No description;10;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c0a;STRHLP_ReceptionTimeout;No description;10;STR_HELPER;linux/acs/StrComHandler.h
0x5c0b;STRHLP_DecodingError;No description;11;STR_HELPER;linux/devices/startracker/StrComHandler.h 0x5c0b;STRHLP_DecodingError;No description;11;STR_HELPER;linux/acs/StrComHandler.h
0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x5d00;GOMS_PacketTooLong;No description;0;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x5d01;GOMS_InvalidTableId;No description;1;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x5d02;GOMS_InvalidAddress;No description;2;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x5d03;GOMS_InvalidParamSize;No description;3;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x5d04;GOMS_InvalidPayloadSize;No description;4;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h 0x5d05;GOMS_UnknownReplyId;No description;5;GOM_SPACE_HANDLER;mission/power/GomspaceDeviceHandler.h
0x5e00;PLMEMDUMP_NoReplyAvailable;No description;0;PLOC_MEMORY_DUMPER;linux/devices/ImtqPollingTask.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/payload/PlocMemoryDumper.h
0x5e01;PLMEMDUMP_NoPacketFound;No description;1;PLOC_MEMORY_DUMPER;linux/devices/SyrlinksComHandler.h 0x5ea1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/payload/PlocMemoryDumper.h
0x5e02;PLMEMDUMP_InvalidCrc;No description;2;PLOC_MEMORY_DUMPER;linux/devices/ScexHelper.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
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
0x5fa2;PDEC_FrameIllegalMultipleReasons;No description;162;PDEC_HANDLER;linux/ipcore/PdecHandler.h 0x5fa2;PDEC_FrameIllegalMultipleReasons;No description;162;PDEC_HANDLER;linux/ipcore/PdecHandler.h
@ -528,57 +531,58 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x5fac;PDEC_NsNotZeroRetval;No description;172;PDEC_HANDLER;linux/ipcore/PdecHandler.h 0x5fac;PDEC_NsNotZeroRetval;No description;172;PDEC_HANDLER;linux/ipcore/PdecHandler.h
0x5fae;PDEC_InvalidBcCc;No description;174;PDEC_HANDLER;linux/ipcore/PdecHandler.h 0x5fae;PDEC_InvalidBcCc;No description;174;PDEC_HANDLER;linux/ipcore/PdecHandler.h
0x5fb0;PDEC_CommandNotImplemented;Received action message with unknown action id;176;PDEC_HANDLER;linux/ipcore/PdecHandler.h 0x5fb0;PDEC_CommandNotImplemented;Received action message with unknown action id;176;PDEC_HANDLER;linux/ipcore/PdecHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h 0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/com/CcsdsIpCoreHandler.h
0x61a0;RS_RateNotSupported;The commanded rate is not supported by the current FPGA design;160;RATE_SETTER;linux/ipcore/PtmeConfig.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 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
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h 0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h 0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h 0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;mission/acs/str/ArcsecJsonParamBase.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h 0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NvmParameterBase.h
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
0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/devices/ploc/PlocMPSoCHelper.h 0x6502;PLMPHLP_InvalidCrc;No description;2;PLOC_MPSOC_HELPER;linux/payload/ScexHelper.h
0x66a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/payload/PlocMpsocHelper.h
0x66a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a0;SADPL_CommandNotSupported;No description;160;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a1;SADPL_DeploymentAlreadyExecuting;No description;161;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a2;SADPL_MainSwitchTimeoutFailure;No description;162;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x66a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h 0x66a3;SADPL_SwitchingDeplSa1Failed;No description;163;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h 0x66a4;SADPL_SwitchingDeplSa2Failed;No description;164;SA_DEPL_HANDLER;mission/SolarArrayDeploymentHandler.h
0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h 0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h 0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x67a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h 0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;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/payload/mpsocRetvals.h
0x67a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h 0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x67a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;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/payload/mpsocRetvals.h
0x67a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;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/payload/mpsocRetvals.h
0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;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/payload/mpsocRetvals.h
0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h 0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a0;SPVRTVIF_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;160;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h 0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/payload/mpsocRetvals.h
0x68a1;SPVRTVIF_InvalidServiceId;No description;161;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/payload/plocSupvDefs.h
0x68a2;SPVRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;162;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h 0x68a1;SPVRTVIF_InvalidServiceId;No description;161;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68a3;SPVRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC supervisor;163;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/payload/plocSupvDefs.h
0x68a4;SPVRTVIF_InvalidApid;Received space packet with invalid APID from PLOC supervisor;164;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/payload/plocSupvDefs.h
0x68a5;SPVRTVIF_GetTimeFailure;Failed to read current system time;165;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/payload/plocSupvDefs.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 0x68a5;SPVRTVIF_GetTimeFailure;Failed to read current system time;165;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.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 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/payload/plocSupvDefs.h
0x68a8;SPVRTVIF_InvalidLatchupId;Received latchup config command with invalid latchup ID;168;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/payload/plocSupvDefs.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 0x68a8;SPVRTVIF_InvalidLatchupId;Received latchup config command with invalid latchup ID;168;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.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 0x68a9;SPVRTVIF_SweepPeriodTooSmall;Received set adc sweep period command with invalid sweep period. Must be larger than 21.;169;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68ab;SPVRTVIF_MramPacketParsingFailure;Returned when scanning for MRAM dump packets failed.;171;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/payload/plocSupvDefs.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 0x68ab;SPVRTVIF_MramPacketParsingFailure;Returned when scanning for MRAM dump packets failed.;171;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.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 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/payload/plocSupvDefs.h
0x68ae;SPVRTVIF_PathDoesNotExist;Path to PLOC directory on SD card does not exist;174;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/payload/plocSupvDefs.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 0x68ae;SPVRTVIF_PathDoesNotExist;Path to PLOC directory on SD card does not exist;174;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b0;SPVRTVIF_InvalidReplyLength;No description;176;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/payload/plocSupvDefs.h
0x68b1;SPVRTVIF_InvalidLength;Received action command has invalid length;177;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h 0x68b0;SPVRTVIF_InvalidReplyLength;No description;176;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b2;SPVRTVIF_FilenameTooLong;Filename too long;178;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h 0x68b1;SPVRTVIF_InvalidLength;Received action command has invalid length;177;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68b3;SPVRTVIF_UpdateStatusReportInvalidLength;Received update status report with invalid packet length field;179;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h 0x68b2;SPVRTVIF_FilenameTooLong;Filename too long;178;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.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 0x68b3;SPVRTVIF_UpdateStatusReportInvalidLength;Received update status report with invalid packet length field;179;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.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 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/payload/plocSupvDefs.h
0x68c0;SPVRTVIF_BufTooSmall;No description;192;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/payload/plocSupvDefs.h
0x68c1;SPVRTVIF_NoReplyTimeout;No description;193;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h 0x68c0;SPVRTVIF_BufTooSmall;No description;192;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.h
0x68c1;SPVRTVIF_NoReplyTimeout;No description;193;SUPV_RETURN_VALUES_IF;linux/payload/plocSupvDefs.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
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
@ -588,11 +592,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x6a07;ACSMEKF_MekfNotFinite;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a07;ACSMEKF_MekfNotFinite;No description;7;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6a08;ACSMEKF_MekfInitialized;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a08;ACSMEKF_MekfInitialized;No description;8;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6a09;ACSMEKF_MekfRunning;No description;9;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h 0x6a09;ACSMEKF_MekfRunning;No description;9;ACS_MEKF;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6b02;ACSSAF_SafectrlNoMagFieldForControl;No description;2;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h 0x6b01;ACSSAF_SafectrlMekfInputInvalid;No description;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b03;ACSSAF_SafectrlUseMekf;No description;3;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b04;ACSSAF_SafectrlUseNonmekf;No description;4;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b05;ACSSAF_SafectrlUseDamping;No description;5;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6b06;ACSSAF_SafectrlNoSensorsForControl;No description;6;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
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
0x6e00;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

1 Full ID (hex) Name Description Unique ID Subsytem Name File Path
357 0x3a02 MQI_Full No space left for more messages 2 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
358 0x3a03 MQI_NoReplyPartner Returned if a reply method was called without partner 3 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
359 0x3a04 MQI_DestinationInvalid Returned if the target destination is invalid. 4 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
360 0x3b00 SPH_ConnBroken No description 0 SEMAPHORE_IF fsfw/src/fsfw/osal/common/TcpTmTcServer.h
361 0x3b01 SPH_SemaphoreTimeout No description 1 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
362 0x3b02 SPH_SemaphoreNotOwned No description 2 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
363 0x3b03 SPH_SemaphoreInvalid No description 3 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
373 0x3e05 HKM_DatasetNotFound No description 5 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
374 0x3f01 DLEE_NoPacketFound No description 1 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleParser.h
375 0x3f02 DLEE_PossiblePacketLoss No description 2 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleParser.h
0x4100 PUS9_ConnBroken No description 0 PUS_SERVICE_9 fsfw/src/fsfw/osal/common/TcpTmTcServer.h
376 0x4201 PUS11_InvalidTypeTimeWindow No description 1 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
377 0x4202 PUS11_InvalidTimeWindow No description 2 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
378 0x4203 PUS11_TimeshiftingNotPossible No description 3 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
417 0x4807 HGIO_GpioGetValueFailed No description 7 HAL_GPIO fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
418 0x4c00 SPPA_NoPacketFound No description 0 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
419 0x4c01 SPPA_SplitPacket No description 1 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
420 0x4fa0 0x4fa1 HEATER_InvalidSpeed HEATER_CommandNotSupported Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000] No description 160 161 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
421 0x4fa1 0x4fa2 HEATER_InvalidRampTime HEATER_InitFailed Action Message with invalid ramp time was received. No description 161 162 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
422 0x4fa2 0x4fa3 HEATER_SetSpeedCommandInvalidLength HEATER_InvalidSwitchNr Received set speed command has invalid length. Should be 6. No description 162 163 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
423 0x4fa3 0x4fa4 HEATER_ExecutionFailed HEATER_MainSwitchSetTimeout Command execution failed No description 163 164 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
424 0x4fa4 0x4fa5 HEATER_CrcError HEATER_CommandAlreadyWaiting Reaction wheel reply has invalid crc No description 164 165 HEATER_HANDLER mission/devices/RwHandler.h mission/tcs/HeaterHandler.h
425 0x4fa5 0x50a0 HEATER_ValueNotRead SYRLINKS_CrcFailure No description 165 160 HEATER_HANDLER SYRLINKS_HANDLER mission/devices/RwHandler.h mission/com/SyrlinksHandler.h
426 0x50a0 0x50a1 SYRLINKS_CrcFailure SYRLINKS_UartFraminOrParityErrorAck No description 160 161 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
427 0x50a1 0x50a2 SYRLINKS_UartFraminOrParityErrorAck SYRLINKS_BadCharacterAck No description 161 162 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
428 0x50a2 0x50a3 SYRLINKS_BadCharacterAck SYRLINKS_BadParameterValueAck No description 162 163 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
429 0x50a3 0x50a4 SYRLINKS_BadParameterValueAck SYRLINKS_BadEndOfFrameAck No description 163 164 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
430 0x50a4 0x50a5 SYRLINKS_BadEndOfFrameAck SYRLINKS_UnknownCommandIdAck No description 164 165 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
431 0x50a5 0x50a6 SYRLINKS_UnknownCommandIdAck SYRLINKS_BadCrcAck No description 165 166 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
432 0x50a6 0x50a7 SYRLINKS_BadCrcAck SYRLINKS_ReplyWrongSize No description 166 167 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
433 0x50a7 0x50a8 SYRLINKS_ReplyWrongSize SYRLINKS_MissingStartFrameCharacter No description 167 168 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h mission/com/SyrlinksHandler.h
434 0x50a8 0x5100 SYRLINKS_MissingStartFrameCharacter IMTQ_InvalidCommandCode No description 168 0 SYRLINKS_HANDLER IMTQ_HANDLER mission/devices/SyrlinksHandler.h mission/acs/imtqHelpers.h
435 0x5100 0x5101 IMTQ_InvalidCommandCode IMTQ_MgmMeasurementLowLevelError No description 0 1 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
436 0x5101 0x5102 IMTQ_MgmMeasurementLowLevelError IMTQ_ActuateCmdLowLevelError No description 1 2 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
437 0x5102 0x5103 IMTQ_ActuateCmdLowLevelError IMTQ_ParameterMissing No description 2 3 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
438 0x5103 0x5104 IMTQ_ParameterMissing IMTQ_ParameterInvalid No description 3 4 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
439 0x5104 0x5105 IMTQ_ParameterInvalid IMTQ_CcUnavailable No description 4 5 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
440 0x5105 0x5106 IMTQ_CcUnavailable IMTQ_InternalProcessingError No description 5 6 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
441 0x5106 0x5107 IMTQ_InternalProcessingError IMTQ_RejectedWithoutReason No description 6 7 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
442 0x5107 0x5108 IMTQ_RejectedWithoutReason IMTQ_CmdErrUnknown No description 7 8 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
443 0x5108 0x5109 IMTQ_CmdErrUnknown IMTQ_StartupCfgError No description 8 9 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
444 0x51a7 0x510a IMTQ_UnexpectedSelfTestReply The status reply to a self test command was received but no self test command has been sent. This should normally never happen. 167 10 IMTQ_HANDLER mission/devices/devicedefinitions/imtqHelpers.h mission/acs/imtqHelpers.h
445 0x52b0 RWHA_SpiWriteFailure No description 176 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
446 0x52b1 RWHA_SpiReadFailure Used by the spi send function to tell a failing read call 177 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
447 0x52b2 RWHA_MissingStartSign Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E 178 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
448 0x52b3 RWHA_InvalidSubstitute Can be used by the HDLC decoding mechanism to inform about an invalid substitution combination 179 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
449 0x52b4 RWHA_MissingEndSign HDLC decoding mechanism never receives the end sign 0x7E 180 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
450 0x52b5 RWHA_NoReply Reaction wheel only responds with empty frames. 181 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
451 0x52b6 RWHA_NoStartMarker Expected a start marker as first byte 182 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
452 0x52b7 RWHA_SpiReadTimeout Timeout when reading reply 183 RW_HANDLER mission/devices/devicedefinitions/rwHelpers.h mission/acs/rwHelpers.h
453 0x53a0 STRH_TemperatureReqFailed Status in temperature reply signals error 160 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
454 0x53a1 STRH_PingFailed Ping command failed 161 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
455 0x53a2 STRH_VersionReqFailed Status in version reply signals error 162 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
456 0x53a3 STRH_InterfaceReqFailed Status in interface reply signals error 163 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
457 0x53a4 STRH_PowerReqFailed Status in power reply signals error 164 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
458 0x53a5 STRH_SetParamFailed Status of reply to parameter set command signals error 165 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
459 0x53a6 STRH_ActionFailed Status of reply to action command signals error 166 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
460 0x53a7 STRH_FilePathTooLong Received invalid path string. Exceeds allowed length 167 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
461 0x53a8 STRH_FilenameTooLong Name of file received with command is too long 168 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
462 0x53a9 STRH_InvalidProgram Received version reply with invalid program ID 169 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
463 0x53aa STRH_ReplyError Status field reply signals error 170 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
464 0x53ab STRH_CommandTooShort Received command which is too short (some data is missing for proper execution) 171 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
465 0x53ac STRH_InvalidLength Received command with invalid length (too few or too many parameters) 172 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
466 0x53ad STRH_RegionMismatch Region mismatch between send and received data 173 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
467 0x53ae STRH_AddressMismatch Address mismatch between send and received data 174 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
468 0x53af STRH_LengthMismatch Length field mismatch between send and received data 175 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
469 0x53b0 STRH_FileNotExists Specified file does not exist 176 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
470 0x53b1 STRH_InvalidType Download blob pixel command has invalid type field 177 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
471 0x53b2 STRH_InvalidId Received FPGA action command with invalid ID 178 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
472 0x53b3 STRH_ReplyTooShort Received reply is too short 179 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
473 0x53b4 STRH_CrcFailure Received reply with invalid CRC 180 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
474 0x53b5 STRH_StrHelperExecuting Star tracker handler currently executing a command and using the communication interface 181 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
475 0x53b6 STRH_StartrackerAlreadyBooted Star tracker is already in firmware mode 182 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
476 0x53b7 STRH_StartrackerNotRunningFirmware Star tracker must be in firmware mode to run this command 183 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
477 0x53b8 STRH_StartrackerNotRunningBootloader Star tracker must be in bootloader mode to run this command 184 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h mission/acs/str/StarTrackerHandler.h
478 0x54e0 DWLPWRON_InvalidMode Received command has invalid JESD mode (valid modes are 0 - 5) 224 DWLPWRON_CMD linux/devices/devicedefinitions/PlocMPSoCDefinitions.h linux/payload/plocMpscoDefs.h
479 0x54e1 DWLPWRON_InvalidLaneRate Received command has invalid lane rate (valid lane rate are 0 - 9) 225 DWLPWRON_CMD linux/devices/devicedefinitions/PlocMPSoCDefinitions.h linux/payload/plocMpscoDefs.h
480 0x5700 PLSPVhLP_RequestDone No description 0 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
481 0x5701 PLSPVhLP_NoPacketFound No description 1 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
482 0x5702 PLSPVhLP_DecodeBufTooSmall No description 2 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
483 0x5703 PLSPVhLP_PossiblePacketLossConsecutiveStart No description 3 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
484 0x5704 PLSPVhLP_PossiblePacketLossConsecutiveEnd No description 4 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
485 0x5705 PLSPVhLP_HdlcError No description 5 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
486 0x57a0 PLSPVhLP_FileClosedAccidentally File accidentally close 160 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
487 0x57a1 PLSPVhLP_ProcessTerminated Process has been terminated by command 161 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
488 0x57a2 PLSPVhLP_PathNotExists Received command with invalid pathname 162 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
489 0x57a3 PLSPVhLP_EventBufferReplyInvalidApid Expected event buffer TM but received space packet with other APID 163 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h linux/payload/PlocSupvUartMan.h
490 0x58a0 SUSS_ErrorUnlockMutex SUSS_InvalidSpeed No description Action Message with invalid speed was received. Valid speeds must be in the range of [-65000, 1000] or [1000, 65000] 160 SUS_HANDLER mission/devices/LegacySusHandler.h mission/acs/RwHandler.h
491 0x58a1 SUSS_ErrorLockMutex SUSS_InvalidRampTime No description Action Message with invalid ramp time was received. 161 SUS_HANDLER mission/devices/LegacySusHandler.h mission/acs/RwHandler.h
492 0x58a2 SUSS_SetSpeedCommandInvalidLength Received set speed command has invalid length. Should be 6. 162 SUS_HANDLER mission/acs/RwHandler.h
493 0x58a3 SUSS_ExecutionFailed Command execution failed 163 SUS_HANDLER mission/acs/RwHandler.h
494 0x58a4 SUSS_CrcError Reaction wheel reply has invalid crc 164 SUS_HANDLER mission/acs/RwHandler.h
495 0x58a5 SUSS_ValueNotRead No description 165 SUS_HANDLER mission/acs/RwHandler.h
496 0x5900 IPCI_NoReplyAvailable No description 0 CCSDS_IP_CORE_BRIDGE linux/acs/ImtqPollingTask.h
497 0x5901 IPCI_NoPacketFound No description 1 CCSDS_IP_CORE_BRIDGE linux/com/SyrlinksComHandler.h
498 0x59a0 IPCI_PapbBusy No description 160 CCSDS_IP_CORE_BRIDGE linux/ipcore/PapbVcInterface.h
499 0x5aa0 PTME_UnknownVcId No description 160 PTME linux/ipcore/Ptme.h
500 0x5c01 STRHLP_SdNotMounted SD card specified in path string not mounted 1 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
501 0x5c02 STRHLP_FileNotExists Specified file does not exist on filesystem 2 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
502 0x5c03 STRHLP_PathNotExists Specified path does not exist 3 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
503 0x5c04 STRHLP_FileCreationFailed Failed to create download image or read flash file 4 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
504 0x5c05 STRHLP_RegionMismatch Region in flash write/read reply does not match expected region 5 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
505 0x5c06 STRHLP_AddressMismatch Address in flash write/read reply does not match expected address 6 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
506 0x5c07 STRHLP_LengthMismatch Length in flash write/read reply does not match expected length 7 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
507 0x5c08 STRHLP_StatusError Status field in reply signals error 8 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
508 0x5c09 STRHLP_InvalidTypeId Reply has invalid type ID (should be of action reply type) 9 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
509 0x5c0a STRHLP_ReceptionTimeout No description 10 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
510 0x5c0b STRHLP_DecodingError No description 11 STR_HELPER linux/devices/startracker/StrComHandler.h linux/acs/StrComHandler.h
511 0x5d00 GOMS_PacketTooLong No description 0 GOM_SPACE_HANDLER mission/devices/GomspaceDeviceHandler.h mission/power/GomspaceDeviceHandler.h
512 0x5d01 GOMS_InvalidTableId No description 1 GOM_SPACE_HANDLER mission/devices/GomspaceDeviceHandler.h mission/power/GomspaceDeviceHandler.h
513 0x5d02 GOMS_InvalidAddress No description 2 GOM_SPACE_HANDLER mission/devices/GomspaceDeviceHandler.h mission/power/GomspaceDeviceHandler.h
514 0x5d03 GOMS_InvalidParamSize No description 3 GOM_SPACE_HANDLER mission/devices/GomspaceDeviceHandler.h mission/power/GomspaceDeviceHandler.h
515 0x5d04 GOMS_InvalidPayloadSize No description 4 GOM_SPACE_HANDLER mission/devices/GomspaceDeviceHandler.h mission/power/GomspaceDeviceHandler.h
516 0x5d05 GOMS_UnknownReplyId No description 5 GOM_SPACE_HANDLER mission/devices/GomspaceDeviceHandler.h mission/power/GomspaceDeviceHandler.h
517 0x5e00 0x5ea0 PLMEMDUMP_NoReplyAvailable PLMEMDUMP_MramAddressTooHigh No description The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000. 0 160 PLOC_MEMORY_DUMPER linux/devices/ImtqPollingTask.h linux/payload/PlocMemoryDumper.h
518 0x5e01 0x5ea1 PLMEMDUMP_NoPacketFound PLMEMDUMP_MramInvalidAddressCombination No description The specified end address is lower than the start address 1 161 PLOC_MEMORY_DUMPER linux/devices/SyrlinksComHandler.h linux/payload/PlocMemoryDumper.h
0x5e02 PLMEMDUMP_InvalidCrc No description 2 PLOC_MEMORY_DUMPER linux/devices/ScexHelper.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
519 0x5fa0 PDEC_AbandonedCltuRetval No description 160 PDEC_HANDLER linux/ipcore/PdecHandler.h
520 0x5fa1 PDEC_FrameDirtyRetval No description 161 PDEC_HANDLER linux/ipcore/PdecHandler.h
521 0x5fa2 PDEC_FrameIllegalMultipleReasons No description 162 PDEC_HANDLER linux/ipcore/PdecHandler.h
531 0x5fac PDEC_NsNotZeroRetval No description 172 PDEC_HANDLER linux/ipcore/PdecHandler.h
532 0x5fae PDEC_InvalidBcCc No description 174 PDEC_HANDLER linux/ipcore/PdecHandler.h
533 0x5fb0 PDEC_CommandNotImplemented Received action message with unknown action id 176 PDEC_HANDLER linux/ipcore/PdecHandler.h
534 0x60a0 CCSDS_CommandNotImplemented Received action message with unknown action id 160 CCSDS_HANDLER mission/tmtc/CcsdsIpCoreHandler.h mission/com/CcsdsIpCoreHandler.h
535 0x61a0 RS_RateNotSupported The commanded rate is not supported by the current FPGA design 160 RATE_SETTER linux/ipcore/PtmeConfig.h
536 0x61a1 RS_BadBitRate Bad bitrate has been commanded (e.g. 0) 161 RATE_SETTER linux/ipcore/PtmeConfig.h
537 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
538 0x61a3 RS_TxManipulatorConfigFailed Failed to change configuration bit of tx clock manipulator 163 RATE_SETTER linux/ipcore/PtmeConfig.h
539 0x6201 JSONBASE_JsonFileNotExists Specified json file does not exist 1 ARCSEC_JSON_BASE linux/devices/startracker/ArcsecJsonParamBase.h mission/acs/str/ArcsecJsonParamBase.h
540 0x6202 JSONBASE_SetNotExists Requested set does not exist in json file 2 ARCSEC_JSON_BASE linux/devices/startracker/ArcsecJsonParamBase.h mission/acs/str/ArcsecJsonParamBase.h
541 0x6203 JSONBASE_ParamNotExists Requested parameter does not exist in json file 3 ARCSEC_JSON_BASE linux/devices/startracker/ArcsecJsonParamBase.h mission/acs/str/ArcsecJsonParamBase.h
542 0x63a0 NVMB_KeyNotExists Specified key does not exist in json file 160 NVM_PARAM_BASE mission/memory/NvmParameterBase.h
543 0x64a0 FSHLP_SdNotMounted SD card specified with path string not mounted 160 FILE_SYSTEM_HELPER bsp_q7s/fs/FilesystemHelper.h
544 0x64a1 FSHLP_FileNotExists Specified file does not exist on filesystem 161 FILE_SYSTEM_HELPER bsp_q7s/fs/FilesystemHelper.h
545 0x65a0 0x6502 PLMPHLP_FileClosedAccidentally PLMPHLP_InvalidCrc File accidentally close No description 160 2 PLOC_MPSOC_HELPER linux/devices/ploc/PlocMPSoCHelper.h linux/payload/ScexHelper.h
546 0x66a0 0x65a0 SADPL_CommandNotSupported PLMPHLP_FileClosedAccidentally No description File accidentally close 160 SA_DEPL_HANDLER PLOC_MPSOC_HELPER mission/devices/SolarArrayDeploymentHandler.h linux/payload/PlocMpsocHelper.h
547 0x66a1 0x66a0 SADPL_DeploymentAlreadyExecuting SADPL_CommandNotSupported No description 161 160 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
548 0x66a2 0x66a1 SADPL_MainSwitchTimeoutFailure SADPL_DeploymentAlreadyExecuting No description 162 161 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
549 0x66a3 0x66a2 SADPL_SwitchingDeplSa1Failed SADPL_MainSwitchTimeoutFailure No description 163 162 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
550 0x66a4 0x66a3 SADPL_SwitchingDeplSa2Failed SADPL_SwitchingDeplSa1Failed No description 164 163 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/SolarArrayDeploymentHandler.h
551 0x67a0 0x66a4 MPSOCRTVIF_CrcFailure SADPL_SwitchingDeplSa2Failed Space Packet received from PLOC has invalid CRC No description 160 164 MPSOC_RETURN_VALUES_IF SA_DEPL_HANDLER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h mission/SolarArrayDeploymentHandler.h
552 0x67a1 0x67a0 MPSOCRTVIF_ReceivedAckFailure MPSOCRTVIF_CrcFailure Received ACK failure reply from PLOC Space Packet received from PLOC has invalid CRC 161 160 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
553 0x67a2 0x67a1 MPSOCRTVIF_ReceivedExeFailure MPSOCRTVIF_ReceivedAckFailure Received execution failure reply from PLOC Received ACK failure reply from PLOC 162 161 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
554 0x67a3 0x67a2 MPSOCRTVIF_InvalidApid MPSOCRTVIF_ReceivedExeFailure Received space packet with invalid APID from PLOC Received execution failure reply from PLOC 163 162 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
555 0x67a4 0x67a3 MPSOCRTVIF_InvalidLength MPSOCRTVIF_InvalidApid Received command with invalid length Received space packet with invalid APID from PLOC 164 163 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
556 0x67a5 0x67a4 MPSOCRTVIF_FilenameTooLong MPSOCRTVIF_InvalidLength Filename of file in OBC filesystem is too long Received command with invalid length 165 164 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
557 0x67a6 0x67a5 MPSOCRTVIF_MpsocHelperExecuting MPSOCRTVIF_FilenameTooLong MPSoC helper is currently executing a command Filename of file in OBC filesystem is too long 166 165 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
558 0x67a7 0x67a6 MPSOCRTVIF_MpsocFilenameTooLong MPSOCRTVIF_MpsocHelperExecuting Filename of MPSoC file is to long (max. 256 bytes) MPSoC helper is currently executing a command 167 166 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
559 0x67a8 0x67a7 MPSOCRTVIF_InvalidParameter MPSOCRTVIF_MpsocFilenameTooLong Command has invalid parameter Filename of MPSoC file is to long (max. 256 bytes) 168 167 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
560 0x67a9 0x67a8 MPSOCRTVIF_NameTooLong MPSOCRTVIF_InvalidParameter Received command has file string with invalid length Command has invalid parameter 169 168 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/payload/mpsocRetvals.h
561 0x68a0 0x67a9 SPVRTVIF_CrcFailure MPSOCRTVIF_NameTooLong Space Packet received from PLOC supervisor has invalid CRC Received command has file string with invalid length 160 169 SUPV_RETURN_VALUES_IF MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/mpsocRetvals.h
562 0x68a1 0x68a0 SPVRTVIF_InvalidServiceId SPVRTVIF_CrcFailure No description Space Packet received from PLOC supervisor has invalid CRC 161 160 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
563 0x68a2 0x68a1 SPVRTVIF_ReceivedAckFailure SPVRTVIF_InvalidServiceId Received ACK failure reply from PLOC supervisor No description 162 161 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
564 0x68a3 0x68a2 SPVRTVIF_ReceivedExeFailure SPVRTVIF_ReceivedAckFailure Received execution failure reply from PLOC supervisor Received ACK failure reply from PLOC supervisor 163 162 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
565 0x68a4 0x68a3 SPVRTVIF_InvalidApid SPVRTVIF_ReceivedExeFailure Received space packet with invalid APID from PLOC supervisor Received execution failure reply from PLOC supervisor 164 163 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
566 0x68a5 0x68a4 SPVRTVIF_GetTimeFailure SPVRTVIF_InvalidApid Failed to read current system time Received space packet with invalid APID from PLOC supervisor 165 164 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
567 0x68a6 0x68a5 SPVRTVIF_InvalidWatchdog SPVRTVIF_GetTimeFailure Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT Failed to read current system time 166 165 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
568 0x68a7 0x68a6 SPVRTVIF_InvalidWatchdogTimeout SPVRTVIF_InvalidWatchdog Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms. Received command with invalid watchdog parameter. Valid watchdogs are 0 for PS, 1 for PL and 2 for INT 167 166 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
569 0x68a8 0x68a7 SPVRTVIF_InvalidLatchupId SPVRTVIF_InvalidWatchdogTimeout Received latchup config command with invalid latchup ID Received watchdog timeout config command with invalid timeout. Valid timeouts must be in the range between 1000 and 360000 ms. 168 167 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
570 0x68a9 0x68a8 SPVRTVIF_SweepPeriodTooSmall SPVRTVIF_InvalidLatchupId Received set adc sweep period command with invalid sweep period. Must be larger than 21. Received latchup config command with invalid latchup ID 169 168 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
571 0x68aa 0x68a9 SPVRTVIF_InvalidTestParam SPVRTVIF_SweepPeriodTooSmall Receive auto EM test command with invalid test param. Valid params are 1 and 2. Received set adc sweep period command with invalid sweep period. Must be larger than 21. 170 169 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
572 0x68ab 0x68aa SPVRTVIF_MramPacketParsingFailure SPVRTVIF_InvalidTestParam Returned when scanning for MRAM dump packets failed. Receive auto EM test command with invalid test param. Valid params are 1 and 2. 171 170 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
573 0x68ac 0x68ab SPVRTVIF_InvalidMramAddresses SPVRTVIF_MramPacketParsingFailure 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) Returned when scanning for MRAM dump packets failed. 172 171 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
574 0x68ad 0x68ac SPVRTVIF_NoMramPacket SPVRTVIF_InvalidMramAddresses Expect reception of an MRAM dump packet but received space packet with other apid. 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) 173 172 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
575 0x68ae 0x68ad SPVRTVIF_PathDoesNotExist SPVRTVIF_NoMramPacket Path to PLOC directory on SD card does not exist Expect reception of an MRAM dump packet but received space packet with other apid. 174 173 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
576 0x68af 0x68ae SPVRTVIF_MramFileNotExists SPVRTVIF_PathDoesNotExist MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet. Path to PLOC directory on SD card does not exist 175 174 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
577 0x68b0 0x68af SPVRTVIF_InvalidReplyLength SPVRTVIF_MramFileNotExists No description MRAM dump file does not exists. The file should actually already have been created with the reception of the first dump packet. 176 175 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
578 0x68b1 0x68b0 SPVRTVIF_InvalidLength SPVRTVIF_InvalidReplyLength Received action command has invalid length No description 177 176 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
579 0x68b2 0x68b1 SPVRTVIF_FilenameTooLong SPVRTVIF_InvalidLength Filename too long Received action command has invalid length 178 177 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
580 0x68b3 0x68b2 SPVRTVIF_UpdateStatusReportInvalidLength SPVRTVIF_FilenameTooLong Received update status report with invalid packet length field Filename too long 179 178 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
581 0x68b4 0x68b3 SPVRTVIF_UpdateCrcFailure SPVRTVIF_UpdateStatusReportInvalidLength Update status report does not contain expected CRC. There might be a bit flip in the update memory region. Received update status report with invalid packet length field 180 179 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
582 0x68b5 0x68b4 SPVRTVIF_SupvHelperExecuting SPVRTVIF_UpdateCrcFailure Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command) Update status report does not contain expected CRC. There might be a bit flip in the update memory region. 181 180 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
583 0x68c0 0x68b5 SPVRTVIF_BufTooSmall SPVRTVIF_SupvHelperExecuting No description Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command) 192 181 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
584 0x68c1 0x68c0 SPVRTVIF_NoReplyTimeout SPVRTVIF_BufTooSmall No description 193 192 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h linux/payload/plocSupvDefs.h
585 0x68c1 SPVRTVIF_NoReplyTimeout No description 193 SUPV_RETURN_VALUES_IF linux/payload/plocSupvDefs.h
586 0x6900 ACSCTRL_FileDeletionFailed No description 0 ACS_CTRL mission/controller/AcsController.h
587 0x6a02 ACSMEKF_MekfUninitialized No description 2 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
588 0x6a03 ACSMEKF_MekfNoGyrData No description 3 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
592 0x6a07 ACSMEKF_MekfNotFinite No description 7 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
593 0x6a08 ACSMEKF_MekfInitialized No description 8 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
594 0x6a09 ACSMEKF_MekfRunning No description 9 ACS_MEKF mission/controller/acs/MultiplicativeKalmanFilter.h
595 0x6b02 0x6b01 ACSSAF_SafectrlNoMagFieldForControl ACSSAF_SafectrlMekfInputInvalid No description 2 1 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b03 ACSSAF_SafectrlUseMekf No description 3 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b04 ACSSAF_SafectrlUseNonmekf No description 4 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b05 ACSSAF_SafectrlUseDamping No description 5 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
0x6b06 ACSSAF_SafectrlNoSensorsForControl No description 6 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
596 0x6c01 ACSPTG_PtgctrlMekfInputInvalid No description 1 ACS_PTG mission/controller/acs/control/PtgCtrl.h
597 0x6d01 ACSDTB_DetumbleNoSensordata No description 1 ACS_DETUMBLE mission/controller/acs/control/Detumble.h
598 0x6e00 SDMA_OpOngoing No description 0 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 280 translations. * @brief Auto-generated event translation file. Contains 284 translations.
* @details * @details
* Generated on: 2023-03-24 15:19:38 * Generated on: 2023-04-04 13:59:07
*/ */
#include "translateEvents.h" #include "translateEvents.h"
@ -97,7 +97,6 @@ const char *SAFE_RATE_RECOVERY_STRING = "SAFE_RATE_RECOVERY";
const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID"; const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID";
const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO"; const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO";
const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY"; const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY";
const char *MEKF_AUTOMATIC_RESET_STRING = "MEKF_AUTOMATIC_RESET";
const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION"; const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION";
const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE"; const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE";
const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT"; const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT";
@ -210,6 +209,11 @@ const char *TRANSITION_OTHER_SIDE_FAILED_STRING = "TRANSITION_OTHER_SIDE_FAILED"
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE"; const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE";
const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT"; const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED"; const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED";
const char *DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING = "DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY";
const char *TRANSITION_OTHER_SIDE_FAILED_12900_STRING = "TRANSITION_OTHER_SIDE_FAILED_12900";
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE_12901";
const char *POWER_STATE_MACHINE_TIMEOUT_12902_STRING = "POWER_STATE_MACHINE_TIMEOUT_12902";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903";
const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE"; const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE";
const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE"; const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE";
const char *CANT_GET_FIX_STRING = "CANT_GET_FIX"; const char *CANT_GET_FIX_STRING = "CANT_GET_FIX";
@ -266,21 +270,25 @@ const char *I2C_UNAVAILABLE_REBOOT_STRING = "I2C_UNAVAILABLE_REBOOT";
const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE"; const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE";
const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE"; const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE";
const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING"; const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING";
const char *PLOC_OVERHEATING_STRING = "PLOC_OVERHEATING";
const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING"; const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING";
const char *HPA_OVERHEATING_STRING = "HPA_OVERHEATING"; const char *CAMERA_OVERHEATING_STRING = "CAMERA_OVERHEATING";
const char *PLPCDU_OVERHEATING_STRING = "PLPCDU_OVERHEATING"; const char *PCDU_SYSTEM_OVERHEATING_STRING = "PCDU_SYSTEM_OVERHEATING";
const char *HEATER_NOT_OFF_FOR_OFF_MODE_STRING = "HEATER_NOT_OFF_FOR_OFF_MODE";
const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED"; const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED";
const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON"; const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON";
const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION"; const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION";
const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE"; const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE";
const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT"; const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT";
const char *DUMP_WAS_CANCELLED_STRING = "DUMP_WAS_CANCELLED";
const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE"; const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE";
const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE"; const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE";
const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE"; const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE";
const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE"; const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE";
const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE"; const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE";
const char *DUMP_OK_CANCELLED_STRING = "DUMP_OK_CANCELLED";
const char *DUMP_NOK_CANCELLED_STRING = "DUMP_NOK_CANCELLED";
const char *DUMP_MISC_CANCELLED_STRING = "DUMP_MISC_CANCELLED";
const char *DUMP_HK_CANCELLED_STRING = "DUMP_HK_CANCELLED";
const char *DUMP_CFDP_CANCELLED_STRING = "DUMP_CFDP_CANCELLED";
const char *translateEvents(Event event) { const char *translateEvents(Event event) {
switch ((event & 0xFFFF)) { switch ((event & 0xFFFF)) {
@ -469,10 +477,8 @@ const char *translateEvents(Event event) {
case (11204): case (11204):
return MEKF_RECOVERY_STRING; return MEKF_RECOVERY_STRING;
case (11205): case (11205):
return MEKF_AUTOMATIC_RESET_STRING;
case (11206):
return MEKF_INVALID_MODE_VIOLATION_STRING; return MEKF_INVALID_MODE_VIOLATION_STRING;
case (11207): case (11206):
return SAFE_MODE_CONTROLLER_FAILURE_STRING; return SAFE_MODE_CONTROLLER_FAILURE_STRING;
case (11300): case (11300):
return SWITCH_CMD_SENT_STRING; return SWITCH_CMD_SENT_STRING;
@ -694,6 +700,16 @@ const char *translateEvents(Event event) {
return POWER_STATE_MACHINE_TIMEOUT_STRING; return POWER_STATE_MACHINE_TIMEOUT_STRING;
case (12803): case (12803):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING; return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING;
case (12804):
return DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING;
case (12900):
return TRANSITION_OTHER_SIDE_FAILED_12900_STRING;
case (12901):
return NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING;
case (12902):
return POWER_STATE_MACHINE_TIMEOUT_12902_STRING;
case (12903):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING;
case (13000): case (13000):
return CHILDREN_LOST_MODE_STRING; return CHILDREN_LOST_MODE_STRING;
case (13100): case (13100):
@ -806,14 +822,14 @@ const char *translateEvents(Event event) {
return NO_HEALTHY_HEATER_AVAILABLE_STRING; return NO_HEALTHY_HEATER_AVAILABLE_STRING;
case (14102): case (14102):
return SYRLINKS_OVERHEATING_STRING; return SYRLINKS_OVERHEATING_STRING;
case (14103):
return PLOC_OVERHEATING_STRING;
case (14104): case (14104):
return OBC_OVERHEATING_STRING; return OBC_OVERHEATING_STRING;
case (14105): case (14105):
return HPA_OVERHEATING_STRING; return CAMERA_OVERHEATING_STRING;
case (14106): case (14106):
return PLPCDU_OVERHEATING_STRING; return PCDU_SYSTEM_OVERHEATING_STRING;
case (14107):
return HEATER_NOT_OFF_FOR_OFF_MODE_STRING;
case (14201): case (14201):
return TX_TIMER_EXPIRED_STRING; return TX_TIMER_EXPIRED_STRING;
case (14202): case (14202):
@ -824,8 +840,6 @@ const char *translateEvents(Event event) {
return FILE_TOO_LARGE_STRING; return FILE_TOO_LARGE_STRING;
case (14302): case (14302):
return BUSY_DUMPING_EVENT_STRING; return BUSY_DUMPING_EVENT_STRING;
case (14303):
return DUMP_WAS_CANCELLED_STRING;
case (14305): case (14305):
return DUMP_OK_STORE_DONE_STRING; return DUMP_OK_STORE_DONE_STRING;
case (14306): case (14306):
@ -836,6 +850,16 @@ const char *translateEvents(Event event) {
return DUMP_HK_STORE_DONE_STRING; return DUMP_HK_STORE_DONE_STRING;
case (14309): case (14309):
return DUMP_CFDP_STORE_DONE_STRING; return DUMP_CFDP_STORE_DONE_STRING;
case (14310):
return DUMP_OK_CANCELLED_STRING;
case (14311):
return DUMP_NOK_CANCELLED_STRING;
case (14312):
return DUMP_MISC_CANCELLED_STRING;
case (14313):
return DUMP_HK_CANCELLED_STRING;
case (14314):
return DUMP_CFDP_CANCELLED_STRING;
default: default:
return "UNKNOWN_EVENT"; return "UNKNOWN_EVENT";
} }

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 173 translations. * Contains 175 translations.
* Generated on: 2023-03-24 15:19:38 * Generated on: 2023-04-04 13:59:07
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -37,6 +37,8 @@ const char *GYRO_3_L3G_HANDLER_STRING = "GYRO_3_L3G_HANDLER";
const char *RW4_STRING = "RW4"; const char *RW4_STRING = "RW4";
const char *STAR_TRACKER_STRING = "STAR_TRACKER"; const char *STAR_TRACKER_STRING = "STAR_TRACKER";
const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER"; const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER";
const char *GPS_0_HEALTH_DEV_STRING = "GPS_0_HEALTH_DEV";
const char *GPS_1_HEALTH_DEV_STRING = "GPS_1_HEALTH_DEV";
const char *IMTQ_POLLING_STRING = "IMTQ_POLLING"; const char *IMTQ_POLLING_STRING = "IMTQ_POLLING";
const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER"; const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER";
const char *PCDU_HANDLER_STRING = "PCDU_HANDLER"; const char *PCDU_HANDLER_STRING = "PCDU_HANDLER";
@ -244,6 +246,10 @@ const char *translateObject(object_id_t object) {
return STAR_TRACKER_STRING; return STAR_TRACKER_STRING;
case 0x44130045: case 0x44130045:
return GPS_CONTROLLER_STRING; return GPS_CONTROLLER_STRING;
case 0x44130046:
return GPS_0_HEALTH_DEV_STRING;
case 0x44130047:
return GPS_1_HEALTH_DEV_STRING;
case 0x44140013: case 0x44140013:
return IMTQ_POLLING_STRING; return IMTQ_POLLING_STRING;
case 0x44140014: case 0x44140014:

View File

@ -1,2 +1,2 @@
colorlog==6.7.0 colorlog==6.7.0
git+https://egit.irs.uni-stuttgart.de/fsfw/fsfwgen@v0.3.1#egg=fsfwgen git+https://egit.irs.uni-stuttgart.de/fsfw/fsfwgen@v0.3.2#egg=fsfwgen

View File

@ -1,8 +1,11 @@
add_subdirectory(utility) add_subdirectory(utility)
add_subdirectory(callbacks) add_subdirectory(callbacks)
add_subdirectory(boardtest) add_subdirectory(boardtest)
add_subdirectory(devices)
add_subdirectory(ipcore) add_subdirectory(ipcore)
add_subdirectory(com)
add_subdirectory(acs)
add_subdirectory(tcs)
add_subdirectory(payload)
if(EIVE_ADD_LINUX_FSFWCONFIG) if(EIVE_ADD_LINUX_FSFWCONFIG)
add_subdirectory(fsfwconfig) add_subdirectory(fsfwconfig)
@ -10,7 +13,7 @@ endif()
# Dependency on proprietary library # Dependency on proprietary library
if(TGT_BSP MATCHES "arm/q7s") if(TGT_BSP MATCHES "arm/q7s")
add_subdirectory(csp) add_subdirectory(power)
endif() endif()
target_sources(${OBSW_NAME} PUBLIC ObjectFactory.cpp scheduling.cpp) target_sources(${OBSW_NAME} PUBLIC ObjectFactory.cpp scheduling.cpp)

View File

@ -8,26 +8,25 @@
#include <fsfw_hal/linux/serial/SerialCookie.h> #include <fsfw_hal/linux/serial/SerialCookie.h>
#include <fsfw_hal/linux/spi/SpiComIF.h> #include <fsfw_hal/linux/spi/SpiComIF.h>
#include <fsfw_hal/linux/spi/SpiCookie.h> #include <fsfw_hal/linux/spi/SpiCookie.h>
#include <linux/acs/SusPolling.h>
#include <linux/callbacks/gpioCallbacks.h> #include <linux/callbacks/gpioCallbacks.h>
#include <linux/devices/Max31865RtdPolling.h> #include <linux/tcs/Max31865RtdPolling.h>
#include <linux/devices/SusPolling.h> #include <mission/acs/SusHandler.h>
#include <mission/controller/AcsController.h> #include <mission/controller/AcsController.h>
#include <mission/core/GenericFactory.h> #include <mission/genericFactory.h>
#include <mission/devices/LegacySusHandler.h> #include <mission/payload/ScexDeviceHandler.h>
#include <mission/devices/Max31865EiveHandler.h> #include <mission/system/acs/SusAssembly.h>
#include <mission/devices/ScexDeviceHandler.h> #include <mission/system/acs/SusFdir.h>
#include <mission/devices/SusHandler.h>
#include <mission/system/fdir/RtdFdir.h> #include <mission/system/fdir/RtdFdir.h>
#include <mission/system/fdir/SusFdir.h>
#include <mission/system/objects/SusAssembly.h>
#include <mission/system/objects/TcsBoardAssembly.h> #include <mission/system/objects/TcsBoardAssembly.h>
#include <mission/tcs/Max31865EiveHandler.h>
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "devConf.h" #include "devConf.h"
#include "devices/addresses.h" #include "devices/addresses.h"
#include "devices/gpioIds.h" #include "devices/gpioIds.h"
#include "eive/definitions.h" #include "eive/definitions.h"
#include "mission/system/tree/acsModeTree.h" #include "mission/system/acs/acsModeTree.h"
#include "mission/system/tree/payloadModeTree.h" #include "mission/system/tree/payloadModeTree.h"
#include "mission/system/tree/tcsModeTree.h" #include "mission/system/tree/tcsModeTree.h"
@ -328,8 +327,8 @@ void ObjectFactory::createScexComponents(std::string uartDev, PowerSwitchIF* pwr
scexHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM); scexHandler->connectModeTreeParent(satsystem::payload::SUBSYSTEM);
} }
AcsController* ObjectFactory::createAcsController(bool connectSubsystem) { AcsController* ObjectFactory::createAcsController(bool connectSubsystem, bool enableHkSets) {
auto acsCtrl = new AcsController(objects::ACS_CONTROLLER); auto acsCtrl = new AcsController(objects::ACS_CONTROLLER, enableHkSets);
if (connectSubsystem) { if (connectSubsystem) {
acsCtrl->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM); acsCtrl->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
} }

View File

@ -3,16 +3,15 @@
#include <fsfw/power/definitions.h> #include <fsfw/power/definitions.h>
#include <fsfw/returnvalues/returnvalue.h> #include <fsfw/returnvalues/returnvalue.h>
#include <fsfw_hal/linux/gpio/LinuxLibgpioIF.h> #include <fsfw_hal/linux/gpio/LinuxLibgpioIF.h>
#include <mission/com/CcsdsIpCoreHandler.h>
#include <mission/memory/SdCardMountedIF.h> #include <mission/memory/SdCardMountedIF.h>
#include <mission/tmtc/CcsdsIpCoreHandler.h> #include <mission/tcs/HeaterHandler.h>
#include <mission/tmtc/CfdpTmFunnel.h> #include <mission/tmtc/CfdpTmFunnel.h>
#include <mission/tmtc/PusTmFunnel.h> #include <mission/tmtc/PusTmFunnel.h>
#include <optional> #include <optional>
#include <string> #include <string>
#include "mission/devices/HeaterHandler.h"
class GpioIF; class GpioIF;
class SpiComIF; class SpiComIF;
class PowerSwitchIF; class PowerSwitchIF;
@ -31,6 +30,6 @@ void createScexComponents(std::string uartDev, PowerSwitchIF* pwrSwitcher,
void gpioChecker(ReturnValue_t result, std::string output); void gpioChecker(ReturnValue_t result, std::string output);
AcsController* createAcsController(bool connectSubsystem); AcsController* createAcsController(bool connectSubsystem, bool enableHkSets);
} // namespace ObjectFactory } // namespace ObjectFactory

View File

@ -10,7 +10,7 @@
#include <fsfw_hal/linux/UnixFileGuard.h> #include <fsfw_hal/linux/UnixFileGuard.h>
#include <fsfw_hal/linux/spi/SpiCookie.h> #include <fsfw_hal/linux/spi/SpiCookie.h>
#include <fsfw_hal/linux/utility.h> #include <fsfw_hal/linux/utility.h>
#include <mission/devices/devicedefinitions/gyroAdisHelpers.h> #include <mission/acs/gyroAdisHelpers.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "devices/gpioIds.h" #include "devices/gpioIds.h"

View File

@ -7,8 +7,8 @@
#include <fsfw/tasks/SemaphoreIF.h> #include <fsfw/tasks/SemaphoreIF.h>
#include <fsfw_hal/devicehandlers/devicedefinitions/mgmRm3100Helpers.h> #include <fsfw_hal/devicehandlers/devicedefinitions/mgmRm3100Helpers.h>
#include <fsfw_hal/linux/spi/SpiComIF.h> #include <fsfw_hal/linux/spi/SpiComIF.h>
#include <mission/devices/devicedefinitions/acsPolling.h> #include <mission/acs/acsBoardPolling.h>
#include <mission/devices/devicedefinitions/gyroAdisHelpers.h> #include <mission/acs/gyroAdisHelpers.h>
class AcsBoardPolling : public SystemObject, class AcsBoardPolling : public SystemObject,
public ExecutableObjectIF, public ExecutableObjectIF,

7
linux/acs/CMakeLists.txt Normal file
View File

@ -0,0 +1,7 @@
target_sources(
${OBSW_NAME} PUBLIC AcsBoardPolling.cpp ImtqPollingTask.cpp RwPollingTask.cpp
SusPolling.cpp StrComHandler.cpp)
if(EIVE_BUILD_GPSD_GPS_HANDLER)
target_sources(${OBSW_NAME} PRIVATE GpsHyperionLinuxController.cpp)
endif()

View File

@ -18,8 +18,11 @@
#include <ctime> #include <ctime>
GpsHyperionLinuxController::GpsHyperionLinuxController(object_id_t objectId, object_id_t parentId, GpsHyperionLinuxController::GpsHyperionLinuxController(object_id_t objectId, object_id_t parentId,
bool debugHyperionGps) bool enableHkSets, bool debugHyperionGps)
: ExtendedControllerBase(objectId), gpsSet(this), debugHyperionGps(debugHyperionGps) {} : ExtendedControllerBase(objectId),
gpsSet(this),
enableHkSets(enableHkSets),
debugHyperionGps(debugHyperionGps) {}
GpsHyperionLinuxController::~GpsHyperionLinuxController() { GpsHyperionLinuxController::~GpsHyperionLinuxController() {
gps_stream(&gps, WATCH_DISABLE, nullptr); gps_stream(&gps, WATCH_DISABLE, nullptr);
@ -86,7 +89,7 @@ ReturnValue_t GpsHyperionLinuxController::initializeLocalDataPool(
localDataPoolMap.emplace(GpsHyperion::SATS_IN_USE, new PoolEntry<uint8_t>()); localDataPoolMap.emplace(GpsHyperion::SATS_IN_USE, new PoolEntry<uint8_t>());
localDataPoolMap.emplace(GpsHyperion::SATS_IN_VIEW, new PoolEntry<uint8_t>()); localDataPoolMap.emplace(GpsHyperion::SATS_IN_VIEW, new PoolEntry<uint8_t>());
localDataPoolMap.emplace(GpsHyperion::FIX_MODE, new PoolEntry<uint8_t>()); localDataPoolMap.emplace(GpsHyperion::FIX_MODE, new PoolEntry<uint8_t>());
poolManager.subscribeForRegularPeriodicPacket({gpsSet.getSid(), false, 30.0}); poolManager.subscribeForRegularPeriodicPacket({gpsSet.getSid(), enableHkSets, 30.0});
return returnvalue::OK; return returnvalue::OK;
} }
@ -99,6 +102,7 @@ void GpsHyperionLinuxController::setResetPinTriggerFunction(gpioResetFunction_t
ReturnValue_t GpsHyperionLinuxController::performOperation(uint8_t opCode) { ReturnValue_t GpsHyperionLinuxController::performOperation(uint8_t opCode) {
handleQueue(); handleQueue();
poolManager.performHkOperation(); poolManager.performHkOperation();
while (true) { while (true) {
#if OBSW_THREAD_TRACING == 1 #if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "GPS CTRL"); trace::threadTrace(opCounter, "GPS CTRL");

View File

@ -1,12 +1,13 @@
#ifndef MISSION_DEVICES_GPSHYPERIONHANDLER_H_ #ifndef MISSION_DEVICES_GPSHYPERIONHANDLER_H_
#define MISSION_DEVICES_GPSHYPERIONHANDLER_H_ #define MISSION_DEVICES_GPSHYPERIONHANDLER_H_
#include <mission/acs/archive/GPSDefinitions.h>
#include <mission/utility/trace.h>
#include "eive/eventSubsystemIds.h" #include "eive/eventSubsystemIds.h"
#include "fsfw/FSFW.h" #include "fsfw/FSFW.h"
#include "fsfw/controller/ExtendedControllerBase.h" #include "fsfw/controller/ExtendedControllerBase.h"
#include "fsfw/devicehandlers/DeviceHandlerBase.h" #include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "mission/devices/devicedefinitions/GPSDefinitions.h"
#include "mission/trace.h"
#ifdef FSFW_OSAL_LINUX #ifdef FSFW_OSAL_LINUX
#include <gps.h> #include <gps.h>
@ -28,7 +29,7 @@ class GpsHyperionLinuxController : public ExtendedControllerBase {
enum ReadModes { SHM = 0, SOCKET = 1 }; enum ReadModes { SHM = 0, SOCKET = 1 };
GpsHyperionLinuxController(object_id_t objectId, object_id_t parentId, GpsHyperionLinuxController(object_id_t objectId, object_id_t parentId, bool enableHkSets,
bool debugHyperionGps = false); bool debugHyperionGps = false);
virtual ~GpsHyperionLinuxController(); virtual ~GpsHyperionLinuxController();
@ -57,6 +58,7 @@ class GpsHyperionLinuxController : public ExtendedControllerBase {
private: private:
GpsPrimaryDataset gpsSet; GpsPrimaryDataset gpsSet;
gps_data_t gps = {}; gps_data_t gps = {};
bool enableHkSets = false;
const char* currentClientBuf = nullptr; const char* currentClientBuf = nullptr;
ReadModes readMode = ReadModes::SOCKET; ReadModes readMode = ReadModes::SOCKET;
Countdown maxTimeToReachFix = Countdown(MAX_SECONDS_TO_REACH_FIX * 1000); Countdown maxTimeToReachFix = Countdown(MAX_SECONDS_TO_REACH_FIX * 1000);

View File

@ -27,7 +27,7 @@ ReturnValue_t ImtqPollingTask::performOperation(uint8_t operationCode) {
comStatus = returnvalue::OK; comStatus = returnvalue::OK;
// Stopwatch watch; // Stopwatch watch;
switch (currentRequest) { switch (currentRequest.requestType) {
case imtq::RequestType::MEASURE_NO_ACTUATION: { case imtq::RequestType::MEASURE_NO_ACTUATION: {
// Measured to take 24 ms for debug and release builds. // Measured to take 24 ms for debug and release builds.
// Stopwatch watch; // Stopwatch watch;
@ -51,6 +51,30 @@ void ImtqPollingTask::handleMeasureStep() {
uint8_t* replyPtr; uint8_t* replyPtr;
ImtqRepliesDefault replies(replyBuf.data()); ImtqRepliesDefault replies(replyBuf.data());
// If some startup handling is added later, set configured after it was done once. // If some startup handling is added later, set configured after it was done once.
if (performStartup) {
// Set integration time for the MGM.
cmdBuf[0] = imtq::CC::SET_PARAM;
size_t dummy = 0;
SerializeAdapter::serialize(&imtq::param::INTEGRATION_TIME_SELECT, cmdBuf.data() + 1, &dummy,
cmdBuf.size(), SerializeIF::Endianness::LITTLE);
cmdBuf[3] = currentRequest.integrationTimeSel;
cmdLen = 4;
ReturnValue_t result = performI2cFullRequest(replyBuf.data(), 5);
if (result != returnvalue::OK) {
comStatus = imtq::STARTUP_CFG_ERROR;
}
if (replyBuf[0] != imtq::CC::SET_PARAM) {
sif::error << "ImtqPollingTask: First byte of reply not equal to sent CC" << std::endl;
comStatus = imtq::STARTUP_CFG_ERROR;
}
if (replyBuf[4] != currentRequest.integrationTimeSel) {
sif::error << "ImtqPollingTask: Integration time configuration failed" << std::endl;
comStatus = imtq::STARTUP_CFG_ERROR;
}
currentIntegrationTimeMs =
imtq::integrationTimeFromSelectValue(currentRequest.integrationTimeSel);
performStartup = false;
}
replies.setConfigured(); replies.setConfigured();
// Can be used later to verify correct timing (e.g. all data has been read) // Can be used later to verify correct timing (e.g. all data has been read)
@ -73,7 +97,7 @@ void ImtqPollingTask::handleMeasureStep() {
return; return;
} }
if (specialRequest != imtq::SpecialRequest::NONE) { if (currentRequest.specialRequest != imtq::SpecialRequest::NONE) {
auto executeSelfTest = [&](imtq::selfTest::Axis axis) { auto executeSelfTest = [&](imtq::selfTest::Axis axis) {
cmdBuf[0] = imtq::CC::SELF_TEST_CMD; cmdBuf[0] = imtq::CC::SELF_TEST_CMD;
cmdBuf[1] = axis; cmdBuf[1] = axis;
@ -81,7 +105,7 @@ void ImtqPollingTask::handleMeasureStep() {
}; };
// If a self-test is already ongoing, ignore the request. // If a self-test is already ongoing, ignore the request.
if (replies.getSystemState()[2] != static_cast<uint8_t>(imtq::mode::SELF_TEST)) { if (replies.getSystemState()[2] != static_cast<uint8_t>(imtq::mode::SELF_TEST)) {
switch (specialRequest) { switch (currentRequest.specialRequest) {
case (imtq::SpecialRequest::DO_SELF_TEST_POS_X): { case (imtq::SpecialRequest::DO_SELF_TEST_POS_X): {
executeSelfTest(imtq::selfTest::Axis::X_POSITIVE); executeSelfTest(imtq::selfTest::Axis::X_POSITIVE);
break; break;
@ -234,18 +258,21 @@ ReturnValue_t ImtqPollingTask::initializeInterface(CookieIF* cookie) {
ReturnValue_t ImtqPollingTask::sendMessage(CookieIF* cookie, const uint8_t* sendData, ReturnValue_t ImtqPollingTask::sendMessage(CookieIF* cookie, const uint8_t* sendData,
size_t sendLen) { size_t sendLen) {
const auto* imtqReq = reinterpret_cast<const imtq::Request*>(sendData); const auto* imtqReq = reinterpret_cast<const imtq::Request*>(sendData);
if (sendLen != sizeof(imtq::Request)) {
return returnvalue::FAILED;
}
{ {
MutexGuard mg(ipcLock); MutexGuard mg(ipcLock);
if (imtqReq->request == imtq::RequestType::ACTUATE) {
std::memcpy(dipoles, imtqReq->dipoles, sizeof(dipoles));
torqueDuration = imtqReq->torqueDuration;
}
currentRequest = imtqReq->request;
specialRequest = imtqReq->specialRequest;
if (state != InternalState::IDLE) { if (state != InternalState::IDLE) {
return returnvalue::FAILED; return returnvalue::FAILED;
} }
state = InternalState::IS_BUSY; state = InternalState::IS_BUSY;
if (currentRequest.mode != imtqReq->mode) {
if (imtqReq->mode == acs::SimpleSensorMode::NORMAL) {
performStartup = true;
}
}
std::memcpy(&currentRequest, imtqReq, sendLen);
} }
semaphore->release(); semaphore->release();
@ -345,10 +372,10 @@ void ImtqPollingTask::buildDipoleCommand() {
uint8_t* serPtr = cmdBuf.data() + 1; uint8_t* serPtr = cmdBuf.data() + 1;
size_t serLen = 0; size_t serLen = 0;
for (uint8_t idx = 0; idx < 3; idx++) { for (uint8_t idx = 0; idx < 3; idx++) {
SerializeAdapter::serialize(&dipoles[idx], &serPtr, &serLen, cmdBuf.size(), SerializeAdapter::serialize(&currentRequest.dipoles[idx], &serPtr, &serLen, cmdBuf.size(),
SerializeIF::Endianness::LITTLE); SerializeIF::Endianness::LITTLE);
} }
SerializeAdapter::serialize(&torqueDuration, &serPtr, &serLen, cmdBuf.size(), SerializeAdapter::serialize(&currentRequest.torqueDuration, &serPtr, &serLen, cmdBuf.size(),
SerializeIF::Endianness::LITTLE); SerializeIF::Endianness::LITTLE);
// sif::debug << "Dipole X: " << dipoles[0] << std::endl; // sif::debug << "Dipole X: " << dipoles[0] << std::endl;
// sif::debug << "Torqeu Dur: " << torqueDuration << std::endl; // sif::debug << "Torqeu Dur: " << torqueDuration << std::endl;
@ -357,23 +384,29 @@ void ImtqPollingTask::buildDipoleCommand() {
ReturnValue_t ImtqPollingTask::readReceivedMessage(CookieIF* cookie, uint8_t** buffer, ReturnValue_t ImtqPollingTask::readReceivedMessage(CookieIF* cookie, uint8_t** buffer,
size_t* size) { size_t* size) {
imtq::RequestType currentRequest; imtq::Request currentRequest;
{ {
MutexGuard mg(ipcLock); MutexGuard mg(ipcLock);
currentRequest = this->currentRequest; std::memcpy(&currentRequest, &this->currentRequest, sizeof(currentRequest));
} }
size_t replyLen = 0; size_t replyLen = 0;
{
MutexGuard mg(bufLock); MutexGuard mg(bufLock);
if (currentRequest == imtq::RequestType::MEASURE_NO_ACTUATION) { if (currentRequest.requestType == imtq::RequestType::MEASURE_NO_ACTUATION) {
replyLen = getExchangeBufLen(specialRequest); replyLen = getExchangeBufLen(currentRequest.specialRequest);
memcpy(exchangeBuf.data(), replyBuf.data(), replyLen); memcpy(exchangeBuf.data(), replyBuf.data(), replyLen);
} else if (currentRequest == imtq::RequestType::ACTUATE) { } else if (currentRequest.requestType == imtq::RequestType::ACTUATE) {
replyLen = ImtqRepliesWithTorque::BASE_LEN; replyLen = ImtqRepliesWithTorque::BASE_LEN;
memcpy(exchangeBuf.data(), replyBufActuation.data(), replyLen); memcpy(exchangeBuf.data(), replyBufActuation.data(), replyLen);
} else { } else {
*size = 0; *size = 0;
} }
}
{
MutexGuard mg(ipcLock);
this->currentRequest.requestType = imtq::RequestType::DO_NOTHING;
}
*buffer = exchangeBuf.data(); *buffer = exchangeBuf.data();
*size = replyLen; *size = replyLen;
return comStatus; return comStatus;
@ -417,6 +450,7 @@ void ImtqPollingTask::clearReadFlagsWithTorque(ImtqRepliesWithTorque& replies) {
ReturnValue_t ImtqPollingTask::performI2cFullRequest(uint8_t* reply, size_t replyLen) { ReturnValue_t ImtqPollingTask::performI2cFullRequest(uint8_t* reply, size_t replyLen) {
int fd = 0; int fd = 0;
if (cmdLen == 0 or reply == nullptr) { if (cmdLen == 0 or reply == nullptr) {
sif::error << "ImtqPollingTask: Command lenght is zero or reply PTR is invalid" << std::endl;
return returnvalue::FAILED; return returnvalue::FAILED;
} }

View File

@ -3,13 +3,14 @@
#include <fsfw/tasks/SemaphoreIF.h> #include <fsfw/tasks/SemaphoreIF.h>
#include <fsfw_hal/linux/i2c/I2cCookie.h> #include <fsfw_hal/linux/i2c/I2cCookie.h>
#include <mission/acs/acsBoardPolling.h>
#include <atomic> #include <atomic>
#include "fsfw/devicehandlers/DeviceCommunicationIF.h" #include "fsfw/devicehandlers/DeviceCommunicationIF.h"
#include "fsfw/objectmanager/SystemObject.h" #include "fsfw/objectmanager/SystemObject.h"
#include "fsfw/tasks/ExecutableObjectIF.h" #include "fsfw/tasks/ExecutableObjectIF.h"
#include "mission/devices/devicedefinitions/imtqHelpers.h" #include "mission/acs/imtqHelpers.h"
class ImtqPollingTask : public SystemObject, class ImtqPollingTask : public SystemObject,
public ExecutableObjectIF, public ExecutableObjectIF,
@ -24,7 +25,6 @@ class ImtqPollingTask : public SystemObject,
static constexpr ReturnValue_t NO_REPLY_AVAILABLE = returnvalue::makeCode(2, 0); static constexpr ReturnValue_t NO_REPLY_AVAILABLE = returnvalue::makeCode(2, 0);
enum class InternalState { IDLE, IS_BUSY } state = InternalState::IDLE; enum class InternalState { IDLE, IS_BUSY } state = InternalState::IDLE;
imtq::RequestType currentRequest = imtq::RequestType::MEASURE_NO_ACTUATION;
SemaphoreIF* semaphore; SemaphoreIF* semaphore;
ReturnValue_t comStatus = returnvalue::OK; ReturnValue_t comStatus = returnvalue::OK;
@ -38,10 +38,9 @@ class ImtqPollingTask : public SystemObject,
// Required in addition to integration time, otherwise old data might be read. // Required in addition to integration time, otherwise old data might be read.
static constexpr uint32_t MGM_READ_BUFFER_TIME_MS = 6; static constexpr uint32_t MGM_READ_BUFFER_TIME_MS = 6;
bool ignoreNextActuateRequest = false; bool ignoreNextActuateRequest = false;
bool performStartup = false;
imtq::SpecialRequest specialRequest = imtq::SpecialRequest::NONE; imtq::Request currentRequest{};
int16_t dipoles[3] = {};
uint16_t torqueDuration = 0;
std::array<uint8_t, 32> cmdBuf; std::array<uint8_t, 32> cmdBuf;
std::array<uint8_t, 524> replyBuf; std::array<uint8_t, 524> replyBuf;

View File

@ -11,7 +11,7 @@
#include <unistd.h> #include <unistd.h>
#include "devConf.h" #include "devConf.h"
#include "mission/devices/devicedefinitions/rwHelpers.h" #include "mission/acs/rwHelpers.h"
RwPollingTask::RwPollingTask(object_id_t objectId, const char* spiDev, GpioIF& gpioIF) RwPollingTask::RwPollingTask(object_id_t objectId, const char* spiDev, GpioIF& gpioIF)
: SystemObject(objectId), spiDev(spiDev), gpioIF(gpioIF) { : SystemObject(objectId), spiDev(spiDev), gpioIF(gpioIF) {

View File

@ -9,7 +9,7 @@
#include <fsfw_hal/linux/spi/SpiComIF.h> #include <fsfw_hal/linux/spi/SpiComIF.h>
#include <fsfw_hal/linux/spi/SpiCookie.h> #include <fsfw_hal/linux/spi/SpiCookie.h>
#include "mission/devices/devicedefinitions/rwHelpers.h" #include "mission/acs/rwHelpers.h"
class RwCookie : public SpiCookie { class RwCookie : public SpiCookie {
friend class RwPollingTask; friend class RwPollingTask;

View File

@ -1,8 +1,10 @@
#include "StrComHandler.h"
#include <fcntl.h> #include <fcntl.h>
#include <fsfw/filesystem/HasFileSystemIF.h> #include <fsfw/filesystem/HasFileSystemIF.h>
#include <fsfw/tasks/TaskFactory.h> #include <fsfw/tasks/TaskFactory.h>
#include <fsfw/timemanager/Stopwatch.h> #include <fsfw/timemanager/Stopwatch.h>
#include <linux/devices/startracker/StrComHandler.h> #include <mission/acs/str/strHelpers.h>
#include <unistd.h> #include <unistd.h>
#include <filesystem> #include <filesystem>
@ -11,8 +13,6 @@
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "eive/definitions.h" #include "eive/definitions.h"
#include "fsfw/timemanager/Countdown.h" #include "fsfw/timemanager/Countdown.h"
#include "helpers.h"
#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h"
#include "mission/utility/Filenaming.h" #include "mission/utility/Filenaming.h"
#include "mission/utility/ProgressPrinter.h" #include "mission/utility/ProgressPrinter.h"
#include "mission/utility/Timestamp.h" #include "mission/utility/Timestamp.h"
@ -42,7 +42,6 @@ ReturnValue_t StrComHandler::performOperation(uint8_t operationCode) {
while (true) { while (true) {
lock->lockMutex(); lock->lockMutex();
state = InternalState::SLEEPING; state = InternalState::SLEEPING;
datalinkLayer.reset();
lock->unlockMutex(); lock->unlockMutex();
semaphore.acquire(); semaphore.acquire();
switch (state) { switch (state) {
@ -58,6 +57,7 @@ ReturnValue_t StrComHandler::performOperation(uint8_t operationCode) {
} }
case InternalState::UPLOAD_IMAGE: { case InternalState::UPLOAD_IMAGE: {
replyTimeout.setTimeout(200); replyTimeout.setTimeout(200);
resetReplyHandlingState();
result = performImageUpload(); result = performImageUpload();
if (result == returnvalue::OK) { if (result == returnvalue::OK) {
triggerEvent(IMAGE_UPLOAD_SUCCESSFUL); triggerEvent(IMAGE_UPLOAD_SUCCESSFUL);
@ -68,6 +68,7 @@ ReturnValue_t StrComHandler::performOperation(uint8_t operationCode) {
} }
case InternalState::DOWNLOAD_IMAGE: { case InternalState::DOWNLOAD_IMAGE: {
replyTimeout.setTimeout(200); replyTimeout.setTimeout(200);
resetReplyHandlingState();
result = performImageDownload(); result = performImageDownload();
if (result == returnvalue::OK) { if (result == returnvalue::OK) {
triggerEvent(IMAGE_DOWNLOAD_SUCCESSFUL); triggerEvent(IMAGE_DOWNLOAD_SUCCESSFUL);
@ -78,6 +79,7 @@ ReturnValue_t StrComHandler::performOperation(uint8_t operationCode) {
} }
case InternalState::FLASH_READ: { case InternalState::FLASH_READ: {
replyTimeout.setTimeout(200); replyTimeout.setTimeout(200);
resetReplyHandlingState();
result = performFlashRead(); result = performFlashRead();
if (result == returnvalue::OK) { if (result == returnvalue::OK) {
triggerEvent(FLASH_READ_SUCCESSFUL); triggerEvent(FLASH_READ_SUCCESSFUL);
@ -88,6 +90,7 @@ ReturnValue_t StrComHandler::performOperation(uint8_t operationCode) {
} }
case InternalState::FIRMWARE_UPDATE: { case InternalState::FIRMWARE_UPDATE: {
replyTimeout.setTimeout(200); replyTimeout.setTimeout(200);
resetReplyHandlingState();
result = performFirmwareUpdate(); result = performFirmwareUpdate();
if (result == returnvalue::OK) { if (result == returnvalue::OK) {
triggerEvent(FIRMWARE_UPDATE_SUCCESSFUL); triggerEvent(FIRMWARE_UPDATE_SUCCESSFUL);
@ -553,12 +556,12 @@ ReturnValue_t StrComHandler::sendAndRead(size_t size, uint32_t failParameter) {
} }
ReturnValue_t StrComHandler::checkActionReply(size_t replySize) { ReturnValue_t StrComHandler::checkActionReply(size_t replySize) {
uint8_t type = str::getReplyFrameType(replyPtr); uint8_t type = startracker::getReplyFrameType(replyPtr);
if (type != TMTC_ACTIONREPLY) { if (type != TMTC_ACTIONREPLY) {
sif::warning << "StrHelper::checkActionReply: Received reply with invalid type ID" << std::endl; sif::warning << "StrHelper::checkActionReply: Received reply with invalid type ID" << std::endl;
return INVALID_TYPE_ID; return INVALID_TYPE_ID;
} }
uint8_t status = str::getStatusField(replyPtr); uint8_t status = startracker::getStatusField(replyPtr);
if (status != ArcsecDatalinkLayer::STATUS_OK) { if (status != ArcsecDatalinkLayer::STATUS_OK) {
sif::warning << "StrHelper::checkActionReply: Status failure: " sif::warning << "StrHelper::checkActionReply: Status failure: "
<< static_cast<unsigned int>(status) << std::endl; << static_cast<unsigned int>(status) << std::endl;
@ -645,7 +648,8 @@ ReturnValue_t StrComHandler::sendMessage(CookieIF* cookie, const uint8_t* sendDa
return BUSY; return BUSY;
} }
} }
serial::flushRxBuf(serialPort); // Ensure consistent state.
resetReplyHandlingState();
const uint8_t* txFrame; const uint8_t* txFrame;
size_t frameLen; size_t frameLen;
@ -697,6 +701,7 @@ ReturnValue_t StrComHandler::readReceivedMessage(CookieIF* cookie, uint8_t** buf
*buffer = const_cast<uint8_t*>(replyPtr); *buffer = const_cast<uint8_t*>(replyPtr);
*size = replyLen; *size = replyLen;
} }
replyLen = 0;
return replyResult; return replyResult;
} }
@ -781,3 +786,8 @@ ReturnValue_t StrComHandler::readOneReply(uint32_t failParameter) {
} }
} }
} }
void StrComHandler::resetReplyHandlingState() {
serial::flushRxBuf(serialPort);
datalinkLayer.reset();
}

View File

@ -1,9 +1,10 @@
#ifndef BSP_Q7S_DEVICES_STRHELPER_H_ #ifndef BSP_Q7S_DEVICES_STRHELPER_H_
#define BSP_Q7S_DEVICES_STRHELPER_H_ #define BSP_Q7S_DEVICES_STRHELPER_H_
#include <mission/acs/str/ArcsecDatalinkLayer.h>
#include <string> #include <string>
#include "ArcsecDatalinkLayer.h"
#include "OBSWConfig.h" #include "OBSWConfig.h"
#ifdef XIPHOS_Q7S #ifdef XIPHOS_Q7S
@ -373,6 +374,8 @@ class StrComHandler : public SystemObject, public DeviceCommunicationIF, public
* @return * @return
*/ */
ReturnValue_t readOneReply(uint32_t failParameter); ReturnValue_t readOneReply(uint32_t failParameter);
void resetReplyHandlingState();
}; };
#endif /* BSP_Q7S_DEVICES_STRHELPER_H_ */ #endif /* BSP_Q7S_DEVICES_STRHELPER_H_ */

View File

@ -4,12 +4,11 @@
#include <fsfw/tasks/TaskFactory.h> #include <fsfw/tasks/TaskFactory.h>
#include <fsfw/timemanager/Stopwatch.h> #include <fsfw/timemanager/Stopwatch.h>
#include <fsfw_hal/linux/spi/SpiCookie.h> #include <fsfw_hal/linux/spi/SpiCookie.h>
#include <mission/acs/susMax1227Helpers.h>
#include <mission/controller/acs/AcsParameters.h> #include <mission/controller/acs/AcsParameters.h>
#include <mission/devices/max1227.h> #include <mission/tcs/max1227.h>
#include <unistd.h> #include <unistd.h>
#include "mission/devices/devicedefinitions/susMax1227Helpers.h"
using namespace returnvalue; using namespace returnvalue;
SusPolling::SusPolling(object_id_t objectId, SpiComIF& spiComIF, GpioIF& gpioIF) SusPolling::SusPolling(object_id_t objectId, SpiComIF& spiComIF, GpioIF& gpioIF)

View File

@ -8,7 +8,7 @@
#include <fsfw_hal/linux/spi/SpiComIF.h> #include <fsfw_hal/linux/spi/SpiComIF.h>
#include "devices/addresses.h" #include "devices/addresses.h"
#include "mission/devices/devicedefinitions/acsPolling.h" #include "mission/acs/acsBoardPolling.h"
class SusPolling : public SystemObject, public ExecutableObjectIF, public DeviceCommunicationIF { class SusPolling : public SystemObject, public ExecutableObjectIF, public DeviceCommunicationIF {
public: public:

View File

@ -1,13 +1,12 @@
#ifndef LINUX_BOARDTEST_I2CTESTCLASS_H_ #ifndef LINUX_BOARDTEST_I2CTESTCLASS_H_
#define LINUX_BOARDTEST_I2CTESTCLASS_H_ #define LINUX_BOARDTEST_I2CTESTCLASS_H_
#include <mission/power/bpxBattDefs.h>
#include <test/TestTask.h> #include <test/TestTask.h>
#include <array> #include <array>
#include <string> #include <string>
#include "mission/devices/devicedefinitions/BpxBatteryDefinitions.h"
class I2cTestClass : public TestTask { class I2cTestClass : public TestTask {
public: public:
I2cTestClass(object_id_t objectId, std::string i2cdev); I2cTestClass(object_id_t objectId, std::string i2cdev);

View File

@ -18,8 +18,9 @@
#if defined(XIPHOS_Q7S) #if defined(XIPHOS_Q7S)
#include "busConf.h" #include "busConf.h"
#endif #endif
#include <mission/tcs/max1227.h>
#include "devices/gpioIds.h" #include "devices/gpioIds.h"
#include "mission/devices/max1227.h"
SpiTestClass::SpiTestClass(object_id_t objectId, GpioIF *gpioIF) SpiTestClass::SpiTestClass(object_id_t objectId, GpioIF *gpioIF)
: TestTask(objectId), gpioIF(gpioIF) { : TestTask(objectId), gpioIF(gpioIF) {

View File

@ -4,9 +4,10 @@
#include <fcntl.h> // Contains file controls like O_RDWR #include <fcntl.h> // Contains file controls like O_RDWR
#include <fsfw/tasks/TaskFactory.h> #include <fsfw/tasks/TaskFactory.h>
#include <fsfw_hal/linux/serial/SerialCookie.h> #include <fsfw_hal/linux/serial/SerialCookie.h>
#include <linux/devices/ScexDleParser.h> #include <linux/payload/ScexDleParser.h>
#include <linux/devices/ScexHelper.h> #include <linux/payload/ScexHelper.h>
#include <linux/devices/ScexUartReader.h> #include <linux/payload/ScexUartReader.h>
#include <mission/payload/scexHelpers.h>
#include <unistd.h> // write(), read(), close() #include <unistd.h> // write(), read(), close()
#include <random> #include <random>
@ -18,7 +19,6 @@
#include "fsfw/globalfunctions/DleEncoder.h" #include "fsfw/globalfunctions/DleEncoder.h"
#include "fsfw/globalfunctions/arrayprinter.h" #include "fsfw/globalfunctions/arrayprinter.h"
#include "fsfw/serviceinterface.h" #include "fsfw/serviceinterface.h"
#include "mission/devices/devicedefinitions/ScexDefinitions.h"
#define GPS_REPLY_WIRETAPPING 0 #define GPS_REPLY_WIRETAPPING 0

View File

@ -6,12 +6,12 @@
#include <fsfw/globalfunctions/DleParser.h> #include <fsfw/globalfunctions/DleParser.h>
#include <fsfw/timemanager/Countdown.h> #include <fsfw/timemanager/Countdown.h>
#include <fsfw_hal/linux/serial/SerialCookie.h> #include <fsfw_hal/linux/serial/SerialCookie.h>
#include <mission/payload/scexHelpers.h>
#include <termios.h> // Contains POSIX terminal control definitions #include <termios.h> // Contains POSIX terminal control definitions
#include <array> #include <array>
//#include "lwgps/lwgps.h" //#include "lwgps/lwgps.h"
#include "mission/devices/devicedefinitions/ScexDefinitions.h"
#include "test/TestTask.h" #include "test/TestTask.h"
class ScexUartReader; class ScexUartReader;

1
linux/com/CMakeLists.txt Normal file
View File

@ -0,0 +1 @@
target_sources(${OBSW_NAME} PUBLIC SyrlinksComHandler.cpp)

View File

@ -1,22 +0,0 @@
if(EIVE_BUILD_GPSD_GPS_HANDLER)
target_sources(${OBSW_NAME} PRIVATE GpsHyperionLinuxController.cpp)
endif()
target_sources(
${OBSW_NAME}
PRIVATE Max31865RtdPolling.cpp
ScexUartReader.cpp
ImtqPollingTask.cpp
SusPolling.cpp
ScexDleParser.cpp
ScexHelper.cpp
RwPollingTask.cpp
AcsBoardPolling.cpp
SyrlinksComHandler.cpp)
add_subdirectory(ploc)
# Dependency on proprietary library
if(TGT_BSP MATCHES "arm/q7s")
add_subdirectory(startracker)
endif()

View File

@ -1,4 +0,0 @@
target_sources(
${OBSW_NAME}
PRIVATE PlocSupervisorHandler.cpp PlocMemoryDumper.cpp PlocMPSoCHandler.cpp
PlocMPSoCHelper.cpp PlocSupvUartMan.cpp)

View File

@ -1,7 +0,0 @@
#include "helpers.h"
uint8_t str::getReplyFrameType(const uint8_t* rawFrame) { return rawFrame[0]; }
uint8_t str::getId(const uint8_t* rawFrame) { return rawFrame[1]; }
uint8_t str::getStatusField(const uint8_t* rawFrame) { return rawFrame[2]; }

View File

@ -1,17 +0,0 @@
#ifndef LINUX_DEVICES_STARTRACKER_HELPERS_H_
#define LINUX_DEVICES_STARTRACKER_HELPERS_H_
#include "arcsec/common/genericstructs.h"
namespace str {
/**
* @brief Returns the frame type field of a decoded frame.
*/
uint8_t getReplyFrameType(const uint8_t* rawFrame);
uint8_t getId(const uint8_t* rawFrame);
uint8_t getStatusField(const uint8_t* rawFrame);
} // namespace str
#endif /* LINUX_DEVICES_STARTRACKER_HELPERS_H_ */

View File

@ -1,7 +1,7 @@
/** /**
* @brief Auto-generated event translation file. Contains 280 translations. * @brief Auto-generated event translation file. Contains 284 translations.
* @details * @details
* Generated on: 2023-03-24 15:19:38 * Generated on: 2023-04-04 13:59:07
*/ */
#include "translateEvents.h" #include "translateEvents.h"
@ -97,7 +97,6 @@ const char *SAFE_RATE_RECOVERY_STRING = "SAFE_RATE_RECOVERY";
const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID"; const char *MULTIPLE_RW_INVALID_STRING = "MULTIPLE_RW_INVALID";
const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO"; const char *MEKF_INVALID_INFO_STRING = "MEKF_INVALID_INFO";
const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY"; const char *MEKF_RECOVERY_STRING = "MEKF_RECOVERY";
const char *MEKF_AUTOMATIC_RESET_STRING = "MEKF_AUTOMATIC_RESET";
const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION"; const char *MEKF_INVALID_MODE_VIOLATION_STRING = "MEKF_INVALID_MODE_VIOLATION";
const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE"; const char *SAFE_MODE_CONTROLLER_FAILURE_STRING = "SAFE_MODE_CONTROLLER_FAILURE";
const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT"; const char *SWITCH_CMD_SENT_STRING = "SWITCH_CMD_SENT";
@ -210,6 +209,11 @@ const char *TRANSITION_OTHER_SIDE_FAILED_STRING = "TRANSITION_OTHER_SIDE_FAILED"
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE"; const char *NOT_ENOUGH_DEVICES_DUAL_MODE_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE";
const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT"; const char *POWER_STATE_MACHINE_TIMEOUT_STRING = "POWER_STATE_MACHINE_TIMEOUT";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED"; const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED";
const char *DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING = "DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY";
const char *TRANSITION_OTHER_SIDE_FAILED_12900_STRING = "TRANSITION_OTHER_SIDE_FAILED_12900";
const char *NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING = "NOT_ENOUGH_DEVICES_DUAL_MODE_12901";
const char *POWER_STATE_MACHINE_TIMEOUT_12902_STRING = "POWER_STATE_MACHINE_TIMEOUT_12902";
const char *SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING = "SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903";
const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE"; const char *CHILDREN_LOST_MODE_STRING = "CHILDREN_LOST_MODE";
const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE"; const char *GPS_FIX_CHANGE_STRING = "GPS_FIX_CHANGE";
const char *CANT_GET_FIX_STRING = "CANT_GET_FIX"; const char *CANT_GET_FIX_STRING = "CANT_GET_FIX";
@ -266,21 +270,25 @@ const char *I2C_UNAVAILABLE_REBOOT_STRING = "I2C_UNAVAILABLE_REBOOT";
const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE"; const char *NO_VALID_SENSOR_TEMPERATURE_STRING = "NO_VALID_SENSOR_TEMPERATURE";
const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE"; const char *NO_HEALTHY_HEATER_AVAILABLE_STRING = "NO_HEALTHY_HEATER_AVAILABLE";
const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING"; const char *SYRLINKS_OVERHEATING_STRING = "SYRLINKS_OVERHEATING";
const char *PLOC_OVERHEATING_STRING = "PLOC_OVERHEATING";
const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING"; const char *OBC_OVERHEATING_STRING = "OBC_OVERHEATING";
const char *HPA_OVERHEATING_STRING = "HPA_OVERHEATING"; const char *CAMERA_OVERHEATING_STRING = "CAMERA_OVERHEATING";
const char *PLPCDU_OVERHEATING_STRING = "PLPCDU_OVERHEATING"; const char *PCDU_SYSTEM_OVERHEATING_STRING = "PCDU_SYSTEM_OVERHEATING";
const char *HEATER_NOT_OFF_FOR_OFF_MODE_STRING = "HEATER_NOT_OFF_FOR_OFF_MODE";
const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED"; const char *TX_TIMER_EXPIRED_STRING = "TX_TIMER_EXPIRED";
const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON"; const char *BIT_LOCK_TX_ON_STRING = "BIT_LOCK_TX_ON";
const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION"; const char *POSSIBLE_FILE_CORRUPTION_STRING = "POSSIBLE_FILE_CORRUPTION";
const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE"; const char *FILE_TOO_LARGE_STRING = "FILE_TOO_LARGE";
const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT"; const char *BUSY_DUMPING_EVENT_STRING = "BUSY_DUMPING_EVENT";
const char *DUMP_WAS_CANCELLED_STRING = "DUMP_WAS_CANCELLED";
const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE"; const char *DUMP_OK_STORE_DONE_STRING = "DUMP_OK_STORE_DONE";
const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE"; const char *DUMP_NOK_STORE_DONE_STRING = "DUMP_NOK_STORE_DONE";
const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE"; const char *DUMP_MISC_STORE_DONE_STRING = "DUMP_MISC_STORE_DONE";
const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE"; const char *DUMP_HK_STORE_DONE_STRING = "DUMP_HK_STORE_DONE";
const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE"; const char *DUMP_CFDP_STORE_DONE_STRING = "DUMP_CFDP_STORE_DONE";
const char *DUMP_OK_CANCELLED_STRING = "DUMP_OK_CANCELLED";
const char *DUMP_NOK_CANCELLED_STRING = "DUMP_NOK_CANCELLED";
const char *DUMP_MISC_CANCELLED_STRING = "DUMP_MISC_CANCELLED";
const char *DUMP_HK_CANCELLED_STRING = "DUMP_HK_CANCELLED";
const char *DUMP_CFDP_CANCELLED_STRING = "DUMP_CFDP_CANCELLED";
const char *translateEvents(Event event) { const char *translateEvents(Event event) {
switch ((event & 0xFFFF)) { switch ((event & 0xFFFF)) {
@ -469,10 +477,8 @@ const char *translateEvents(Event event) {
case (11204): case (11204):
return MEKF_RECOVERY_STRING; return MEKF_RECOVERY_STRING;
case (11205): case (11205):
return MEKF_AUTOMATIC_RESET_STRING;
case (11206):
return MEKF_INVALID_MODE_VIOLATION_STRING; return MEKF_INVALID_MODE_VIOLATION_STRING;
case (11207): case (11206):
return SAFE_MODE_CONTROLLER_FAILURE_STRING; return SAFE_MODE_CONTROLLER_FAILURE_STRING;
case (11300): case (11300):
return SWITCH_CMD_SENT_STRING; return SWITCH_CMD_SENT_STRING;
@ -694,6 +700,16 @@ const char *translateEvents(Event event) {
return POWER_STATE_MACHINE_TIMEOUT_STRING; return POWER_STATE_MACHINE_TIMEOUT_STRING;
case (12803): case (12803):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING; return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_STRING;
case (12804):
return DIRECT_TRANSITION_TO_DUAL_OTHER_GPS_FAULTY_STRING;
case (12900):
return TRANSITION_OTHER_SIDE_FAILED_12900_STRING;
case (12901):
return NOT_ENOUGH_DEVICES_DUAL_MODE_12901_STRING;
case (12902):
return POWER_STATE_MACHINE_TIMEOUT_12902_STRING;
case (12903):
return SIDE_SWITCH_TRANSITION_NOT_ALLOWED_12903_STRING;
case (13000): case (13000):
return CHILDREN_LOST_MODE_STRING; return CHILDREN_LOST_MODE_STRING;
case (13100): case (13100):
@ -806,14 +822,14 @@ const char *translateEvents(Event event) {
return NO_HEALTHY_HEATER_AVAILABLE_STRING; return NO_HEALTHY_HEATER_AVAILABLE_STRING;
case (14102): case (14102):
return SYRLINKS_OVERHEATING_STRING; return SYRLINKS_OVERHEATING_STRING;
case (14103):
return PLOC_OVERHEATING_STRING;
case (14104): case (14104):
return OBC_OVERHEATING_STRING; return OBC_OVERHEATING_STRING;
case (14105): case (14105):
return HPA_OVERHEATING_STRING; return CAMERA_OVERHEATING_STRING;
case (14106): case (14106):
return PLPCDU_OVERHEATING_STRING; return PCDU_SYSTEM_OVERHEATING_STRING;
case (14107):
return HEATER_NOT_OFF_FOR_OFF_MODE_STRING;
case (14201): case (14201):
return TX_TIMER_EXPIRED_STRING; return TX_TIMER_EXPIRED_STRING;
case (14202): case (14202):
@ -824,8 +840,6 @@ const char *translateEvents(Event event) {
return FILE_TOO_LARGE_STRING; return FILE_TOO_LARGE_STRING;
case (14302): case (14302):
return BUSY_DUMPING_EVENT_STRING; return BUSY_DUMPING_EVENT_STRING;
case (14303):
return DUMP_WAS_CANCELLED_STRING;
case (14305): case (14305):
return DUMP_OK_STORE_DONE_STRING; return DUMP_OK_STORE_DONE_STRING;
case (14306): case (14306):
@ -836,6 +850,16 @@ const char *translateEvents(Event event) {
return DUMP_HK_STORE_DONE_STRING; return DUMP_HK_STORE_DONE_STRING;
case (14309): case (14309):
return DUMP_CFDP_STORE_DONE_STRING; return DUMP_CFDP_STORE_DONE_STRING;
case (14310):
return DUMP_OK_CANCELLED_STRING;
case (14311):
return DUMP_NOK_CANCELLED_STRING;
case (14312):
return DUMP_MISC_CANCELLED_STRING;
case (14313):
return DUMP_HK_CANCELLED_STRING;
case (14314):
return DUMP_CFDP_CANCELLED_STRING;
default: default:
return "UNKNOWN_EVENT"; return "UNKNOWN_EVENT";
} }

View File

@ -1,8 +1,8 @@
/** /**
* @brief Auto-generated object translation file. * @brief Auto-generated object translation file.
* @details * @details
* Contains 173 translations. * Contains 175 translations.
* Generated on: 2023-03-24 15:19:38 * Generated on: 2023-04-04 13:59:07
*/ */
#include "translateObjects.h" #include "translateObjects.h"
@ -37,6 +37,8 @@ const char *GYRO_3_L3G_HANDLER_STRING = "GYRO_3_L3G_HANDLER";
const char *RW4_STRING = "RW4"; const char *RW4_STRING = "RW4";
const char *STAR_TRACKER_STRING = "STAR_TRACKER"; const char *STAR_TRACKER_STRING = "STAR_TRACKER";
const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER"; const char *GPS_CONTROLLER_STRING = "GPS_CONTROLLER";
const char *GPS_0_HEALTH_DEV_STRING = "GPS_0_HEALTH_DEV";
const char *GPS_1_HEALTH_DEV_STRING = "GPS_1_HEALTH_DEV";
const char *IMTQ_POLLING_STRING = "IMTQ_POLLING"; const char *IMTQ_POLLING_STRING = "IMTQ_POLLING";
const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER"; const char *IMTQ_HANDLER_STRING = "IMTQ_HANDLER";
const char *PCDU_HANDLER_STRING = "PCDU_HANDLER"; const char *PCDU_HANDLER_STRING = "PCDU_HANDLER";
@ -244,6 +246,10 @@ const char *translateObject(object_id_t object) {
return STAR_TRACKER_STRING; return STAR_TRACKER_STRING;
case 0x44130045: case 0x44130045:
return GPS_CONTROLLER_STRING; return GPS_CONTROLLER_STRING;
case 0x44130046:
return GPS_0_HEALTH_DEV_STRING;
case 0x44130047:
return GPS_1_HEALTH_DEV_STRING;
case 0x44140013: case 0x44140013:
return IMTQ_POLLING_STRING; return IMTQ_POLLING_STRING;
case 0x44140014: case 0x44140014:

View File

@ -1,5 +1,7 @@
#include "AxiPtmeConfig.h" #include "AxiPtmeConfig.h"
#include <fsfw/ipc/MutexGuard.h>
#include "fsfw/serviceinterface/ServiceInterface.h" #include "fsfw/serviceinterface/ServiceInterface.h"
#include "fsfw_hal/linux/uio/UioMapper.h" #include "fsfw_hal/linux/uio/UioMapper.h"
@ -39,97 +41,59 @@ ReturnValue_t AxiPtmeConfig::writeCaduRateReg(uint8_t rateVal) {
return returnvalue::OK; return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::enableTxclockManipulator() { void AxiPtmeConfig::enableTxclockManipulator() {
ReturnValue_t result = writeBit(COMMON_CONFIG_REG, true, BitPos::EN_TX_CLK_MANIPULATOR); writeBit(COMMON_CONFIG_REG, true, BitPos::EN_TX_CLK_MANIPULATOR);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::disableTxclockManipulator() { void AxiPtmeConfig::disableTxclockManipulator() {
ReturnValue_t result = writeBit(COMMON_CONFIG_REG, false, BitPos::EN_TX_CLK_MANIPULATOR); writeBit(COMMON_CONFIG_REG, false, BitPos::EN_TX_CLK_MANIPULATOR);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::enableTxclockInversion() { void AxiPtmeConfig::enableTxclockInversion() {
ReturnValue_t result = writeBit(COMMON_CONFIG_REG, true, BitPos::INVERT_CLOCK); writeBit(COMMON_CONFIG_REG, true, BitPos::INVERT_CLOCK);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::disableTxclockInversion() { void AxiPtmeConfig::disableTxclockInversion() {
ReturnValue_t result = writeBit(COMMON_CONFIG_REG, false, BitPos::INVERT_CLOCK); writeBit(COMMON_CONFIG_REG, false, BitPos::INVERT_CLOCK);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::enableBatPriorityBit() { void AxiPtmeConfig::enableBatPriorityBit() {
ReturnValue_t result = writeBit(COMMON_CONFIG_REG, true, BitPos::EN_BAT_PRIORITY); writeBit(COMMON_CONFIG_REG, true, BitPos::EN_BAT_PRIORITY);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::disableBatPriorityBit() { void AxiPtmeConfig::disableBatPriorityBit() {
ReturnValue_t result = writeBit(COMMON_CONFIG_REG, false, BitPos::EN_BAT_PRIORITY); writeBit(COMMON_CONFIG_REG, false, BitPos::EN_BAT_PRIORITY);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::writeReg(uint32_t regOffset, uint32_t writeVal) { void AxiPtmeConfig::writeReg(uint32_t regOffset, uint32_t writeVal) {
ReturnValue_t result = returnvalue::OK; MutexGuard mg(mutex, timeoutType, mutexTimeout);
result = mutex->lockMutex(timeoutType, mutexTimeout);
if (result != returnvalue::OK) {
sif::warning << "AxiPtmeConfig::readReg: Failed to lock mutex" << std::endl;
return returnvalue::FAILED;
}
*(baseAddress + regOffset / ADRESS_DIVIDER) = writeVal; *(baseAddress + regOffset / ADRESS_DIVIDER) = writeVal;
result = mutex->unlockMutex();
if (result != returnvalue::OK) {
sif::warning << "AxiPtmeConfig::readReg: Failed to unlock mutex" << std::endl;
return returnvalue::FAILED;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::readReg(uint32_t regOffset, uint32_t* readVal) { uint32_t AxiPtmeConfig::readReg(uint32_t regOffset) {
ReturnValue_t result = returnvalue::OK; MutexGuard mg(mutex, timeoutType, mutexTimeout);
result = mutex->lockMutex(timeoutType, mutexTimeout); return *(baseAddress + regOffset / ADRESS_DIVIDER);
if (result != returnvalue::OK) {
sif::warning << "AxiPtmeConfig::readReg: Failed to lock mutex" << std::endl;
return returnvalue::FAILED;
}
*readVal = *(baseAddress + regOffset / ADRESS_DIVIDER);
result = mutex->unlockMutex();
if (result != returnvalue::OK) {
sif::warning << "AxiPtmeConfig::readReg: Failed to unlock mutex" << std::endl;
return returnvalue::FAILED;
}
return returnvalue::OK;
} }
ReturnValue_t AxiPtmeConfig::writeBit(uint32_t regOffset, bool bitVal, BitPos bitPos) { void AxiPtmeConfig::writePollThreshold(AxiPtmeConfig::IdlePollThreshold pollThreshold) {
uint32_t readVal = 0; uint32_t regVal = readCommonCfgReg();
ReturnValue_t result = readReg(regOffset, &readVal); // Clear bits first
if (result != returnvalue::OK) { regVal &= ~(0b111 << 3);
return result; regVal |= (static_cast<uint8_t>(pollThreshold) << 3);
writeCommonCfgReg(regVal);
} }
AxiPtmeConfig::IdlePollThreshold AxiPtmeConfig::readPollThreshold() {
uint32_t regVal = readCommonCfgReg();
return static_cast<AxiPtmeConfig::IdlePollThreshold>((regVal >> 3) & 0b111);
}
void AxiPtmeConfig::writeCommonCfgReg(uint32_t value) { writeReg(COMMON_CONFIG_REG, value); }
uint32_t AxiPtmeConfig::readCommonCfgReg() { return readReg(COMMON_CONFIG_REG); }
void AxiPtmeConfig::writeBit(uint32_t regOffset, bool bitVal, BitPos bitPos) {
uint32_t readVal = readReg(regOffset);
uint32_t writeVal = uint32_t writeVal =
(readVal & ~(1 << static_cast<uint32_t>(bitPos))) | bitVal << static_cast<uint32_t>(bitPos); (readVal & ~(1 << static_cast<uint32_t>(bitPos))) | bitVal << static_cast<uint32_t>(bitPos);
result = writeReg(regOffset, writeVal); writeReg(regOffset, writeVal);
if (result != returnvalue::OK) {
return result;
}
return returnvalue::OK;
} }

View File

@ -14,6 +14,16 @@
*/ */
class AxiPtmeConfig : public SystemObject { class AxiPtmeConfig : public SystemObject {
public: public:
enum IdlePollThreshold : uint8_t {
ALWAYS = 0b000,
POLL_1 = 0b001,
POLL_4 = 0b010,
POLL_16 = 0b011,
POLL_64 = 0b100,
POLL_256 = 0b101,
POLL_1024 = 0b110,
NEVER = 0b111
};
/** /**
* @brief Constructor * @brief Constructor
* @param axiUio Device file of UIO belonging to the AXI configuration interface. * @param axiUio Device file of UIO belonging to the AXI configuration interface.
@ -40,8 +50,8 @@ class AxiPtmeConfig : public SystemObject {
* Default: Enables TX clock manipulator * Default: Enables TX clock manipulator
* *
*/ */
ReturnValue_t enableTxclockManipulator(); void enableTxclockManipulator();
ReturnValue_t disableTxclockManipulator(); void disableTxclockManipulator();
/** /**
* @brief The next to functions control whether data will be updated on the rising or falling edge * @brief The next to functions control whether data will be updated on the rising or falling edge
@ -51,11 +61,14 @@ class AxiPtmeConfig : public SystemObject {
* Disable clock inversion. Data updated on rising edge. * Disable clock inversion. Data updated on rising edge.
* Default: Inversion is disabled * Default: Inversion is disabled
*/ */
ReturnValue_t enableTxclockInversion(); void enableTxclockInversion();
ReturnValue_t disableTxclockInversion(); void disableTxclockInversion();
ReturnValue_t enableBatPriorityBit(); void enableBatPriorityBit();
ReturnValue_t disableBatPriorityBit(); void disableBatPriorityBit();
void writePollThreshold(IdlePollThreshold pollThreshold);
IdlePollThreshold readPollThreshold();
private: private:
// Address of register storing the bitrate configuration parameter // Address of register storing the bitrate configuration parameter
@ -80,7 +93,7 @@ class AxiPtmeConfig : public SystemObject {
* *
* @param writeVal Value to write * @param writeVal Value to write
*/ */
ReturnValue_t writeReg(uint32_t regOffset, uint32_t writeVal); void writeReg(uint32_t regOffset, uint32_t writeVal);
/** /**
* @brief Reads value from configuration register * @brief Reads value from configuration register
@ -88,7 +101,10 @@ class AxiPtmeConfig : public SystemObject {
* @param regOffset Offset of register from base address to read from * @param regOffset Offset of register from base address to read from
* Qparam readVal Pointer to variable where read value will be written to * Qparam readVal Pointer to variable where read value will be written to
*/ */
ReturnValue_t readReg(uint32_t regOffset, uint32_t* readVal); uint32_t readReg(uint32_t regOffset);
uint32_t readCommonCfgReg();
void writeCommonCfgReg(uint32_t value);
/** /**
* @brief Sets one bit in a register * @brief Sets one bit in a register
@ -99,7 +115,7 @@ class AxiPtmeConfig : public SystemObject {
* *
* @return returnvalue::OK if successful, otherwise returnvalue::FAILED * @return returnvalue::OK if successful, otherwise returnvalue::FAILED
*/ */
ReturnValue_t writeBit(uint32_t regOffset, bool bitVal, BitPos bitPos); void writeBit(uint32_t regOffset, bool bitVal, BitPos bitPos);
}; };
#endif /* LINUX_OBC_AXIPTMECONFIG_H_ */ #endif /* LINUX_OBC_AXIPTMECONFIG_H_ */

View File

@ -2,6 +2,9 @@
#include <linux/ipcore/PapbVcInterface.h> #include <linux/ipcore/PapbVcInterface.h>
#include <unistd.h> #include <unistd.h>
#include <cstring>
#include <ctime>
#include "fsfw/serviceinterface/ServiceInterface.h" #include "fsfw/serviceinterface/ServiceInterface.h"
PapbVcInterface::PapbVcInterface(LinuxLibgpioIF* gpioComIF, gpioId_t papbBusyId, PapbVcInterface::PapbVcInterface(LinuxLibgpioIF* gpioComIF, gpioId_t papbBusyId,
@ -16,30 +19,71 @@ PapbVcInterface::~PapbVcInterface() {}
ReturnValue_t PapbVcInterface::initialize() { ReturnValue_t PapbVcInterface::initialize() {
UioMapper uioMapper(uioFile, mapNum); UioMapper uioMapper(uioFile, mapNum);
uint32_t* baseReg; ReturnValue_t result = uioMapper.getMappedAdress(const_cast<uint32_t**>(&vcBaseReg),
ReturnValue_t result = uioMapper.getMappedAdress(&baseReg, UioMapper::Permissions::WRITE_ONLY); UioMapper::Permissions::WRITE_ONLY);
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
vcBaseReg = baseReg;
return returnvalue::OK; return returnvalue::OK;
} }
ReturnValue_t PapbVcInterface::write(const uint8_t* data, size_t size) { ReturnValue_t PapbVcInterface::write(const uint8_t* data, size_t size) {
if (pollPapbBusySignal(0, 0) == returnvalue::OK) { // There are no packets smaller than 4, this is considered a configuration error.
startPacketTransfer(); if (size < 4) {
return returnvalue::FAILED;
}
if (pollInterfaceReadiness(0, true) == returnvalue::OK) {
startPacketTransfer(ByteWidthCfg::ONE);
} else { } else {
return DirectTmSinkIF::IS_BUSY; return DirectTmSinkIF::IS_BUSY;
} }
// TODO: This should work but does not.. :(
// size_t idx = 0;
// while (idx < size) {
//
// nanosleep(&BETWEEN_POLL_DELAY, &remDelay);
// if ((size - idx) < 4) {
// *vcBaseReg = CONFIG_DATA_INPUT | (size - idx - 1);
// usleep(1);
// }
// if (pollPapbBusySignal(2) == returnvalue::OK) {
// // vcBaseReg + DATA_REG_OFFSET + 3 = static_cast<uint8_t>(data + idx);
// // vcBaseReg + DATA_REG_OFFSET + 2 = static_cast<uint8_t>(data + idx + 1);
// // vcBaseReg + DATA_REG_OFFSET + 1 = static_cast<uint8_t>(data + idx + 2);
// // vcBaseReg + DATA_REG_OFFSET = static_cast<uint8_t>(data + idx + 3);
//
// // std::memcpy((vcBaseReg + DATA_REG_OFFSET), data + idx , nextWriteSize);
// *(vcBaseReg + DATA_REG_OFFSET) = *reinterpret_cast<const uint32_t*>(data + idx);
// //uint8_t* byteReg = reinterpret_cast<uint8_t*>(vcBaseReg + DATA_REG_OFFSET);
//
// //byteReg[0] = data[idx];
// //byteReg[1] = data[idx];
// } else {
// abortPacketTransfer();
// return returnvalue::FAILED;
// }
// // TODO: Change this after the bugfix. Right now, the PAPB ignores the content of the byte
// // width configuration.5
// // It's okay to increment by a larger amount for the last segment here, loop will be over
// // in any case.
// idx += 4;
// }
for (size_t idx = 0; idx < size; idx++) { for (size_t idx = 0; idx < size; idx++) {
if (pollPapbBusySignal(10, 10) == returnvalue::OK) { // This delay is super-important, DO NOT REMOVE!
// Polling the GPIO or the config register too often messes up the scheduler.
// TODO: Maybe this should not be done like this. It would be better if there was a custom
// FPGA module which can accept packets and then takes care of dumping that packet into
// the PTME. DMA would be an ideal solution for this.
nanosleep(&BETWEEN_POLL_DELAY, &remDelay);
if (pollInterfaceReadiness(2, false) == returnvalue::OK) {
*(vcBaseReg + DATA_REG_OFFSET) = static_cast<uint32_t>(data[idx]); *(vcBaseReg + DATA_REG_OFFSET) = static_cast<uint32_t>(data[idx]);
} else { } else {
abortPacketTransfer(); abortPacketTransfer();
return returnvalue::FAILED; return returnvalue::FAILED;
} }
} }
if (pollPapbBusySignal(10, 10) == returnvalue::OK) { nanosleep(&BETWEEN_POLL_DELAY, &remDelay);
if (pollInterfaceReadiness(2, false) == returnvalue::OK) {
completePacketTransfer(); completePacketTransfer();
} else { } else {
abortPacketTransfer(); abortPacketTransfer();
@ -48,34 +92,41 @@ ReturnValue_t PapbVcInterface::write(const uint8_t* data, size_t size) {
return returnvalue::OK; return returnvalue::OK;
} }
void PapbVcInterface::startPacketTransfer() { *vcBaseReg = CONFIG_START; } void PapbVcInterface::startPacketTransfer(ByteWidthCfg initWidth) {
*vcBaseReg = CONFIG_DATA_INPUT | initWidth;
}
void PapbVcInterface::completePacketTransfer() { *vcBaseReg = CONFIG_END; } void PapbVcInterface::completePacketTransfer() { *vcBaseReg = CONFIG_END; }
ReturnValue_t PapbVcInterface::pollPapbBusySignal(uint32_t maxPollRetries, ReturnValue_t PapbVcInterface::pollInterfaceReadiness(uint32_t maxPollRetries,
uint32_t retryDelayUs) const { bool checkReadyState) const {
gpio::Levels papbBusyState = gpio::Levels::LOW;
ReturnValue_t result;
uint32_t busyIdx = 0; uint32_t busyIdx = 0;
nextDelay.tv_nsec = FIRST_DELAY_PAPB_POLLING_NS;
while (true) { while (true) {
/** Check if PAPB interface is ready to receive data */ // Check if PAPB interface is ready to receive data. Use the configuration register for this.
result = gpioComIF->readGpio(papbBusyId, papbBusyState); // Bit 5, see PTME ptme_001_01-0-7-r2 Table 31.
if (result != returnvalue::OK) { uint32_t reg = *vcBaseReg;
sif::warning << "PapbVcInterface::pollPapbBusySignal: Failed to read papb busy signal" bool busy = (reg >> 5) & 0b1;
<< std::endl; bool ready = (reg >> 6) & 0b1;
return returnvalue::FAILED; if (not busy) {
}
if (papbBusyState == gpio::Levels::HIGH) {
return returnvalue::OK; return returnvalue::OK;
} }
if (checkReadyState and not ready) {
return PAPB_BUSY;
}
busyIdx++; busyIdx++;
if (busyIdx >= maxPollRetries) { if (busyIdx >= maxPollRetries) {
return PAPB_BUSY; return PAPB_BUSY;
} }
usleep(retryDelayUs); // Ignore signal handling here for now.
nanosleep(&nextDelay, &remDelay);
// Adaptive delay.
if (nextDelay.tv_nsec * 2 <= MAX_DELAY_PAPB_POLLING_NS) {
nextDelay.tv_nsec *= 2;
}
} }
return returnvalue::OK; return returnvalue::OK;
} }
@ -100,7 +151,7 @@ void PapbVcInterface::isVcInterfaceBufferEmpty() {
return; return;
} }
bool PapbVcInterface::isBusy() const { return pollPapbBusySignal(0, 0) == PAPB_BUSY; } bool PapbVcInterface::isBusy() const { return pollInterfaceReadiness(0, true) == PAPB_BUSY; }
void PapbVcInterface::cancelTransfer() { abortPacketTransfer(); } void PapbVcInterface::cancelTransfer() { abortPacketTransfer(); }

View File

@ -5,6 +5,8 @@
#include <fsfw_hal/linux/gpio/LinuxLibgpioIF.h> #include <fsfw_hal/linux/gpio/LinuxLibgpioIF.h>
#include <linux/ipcore/VirtualChannelIF.h> #include <linux/ipcore/VirtualChannelIF.h>
#include <atomic>
#include "OBSWConfig.h" #include "OBSWConfig.h"
#include "fsfw/returnvalues/returnvalue.h" #include "fsfw/returnvalues/returnvalue.h"
@ -50,13 +52,14 @@ class PapbVcInterface : public VirtualChannelIF {
static const ReturnValue_t PAPB_BUSY = MAKE_RETURN_CODE(0xA0); static const ReturnValue_t PAPB_BUSY = MAKE_RETURN_CODE(0xA0);
enum ByteWidthCfg : uint32_t { ONE = 0b00, TWO = 0b01, THREE = 0b10, FOUR = 0b11 };
/** /**
* Configuration bits: * Configuration bits:
* bit[1:0]: Size of data (1,2,3 or 4 bytes). 1 Byte <=> b00 * bit[1:0]: Size of data (1,2,3 or 4 bytes). 1 Byte <=> b00
* bit[2]: Set this bit to 1 to abort a transferred packet * bit[2]: Set this bit to 1 to abort a transferred packet
* bit[3]: Signals to VcInterface the start of a new telemetry packet * bit[3]: Signals to VcInterface the start of a new telemetry packet
*/ */
static constexpr uint32_t CONFIG_START = 0b00001000; static constexpr uint32_t CONFIG_DATA_INPUT = 0b00001000;
/** /**
* Abort a transferred packet. * Abort a transferred packet.
@ -76,6 +79,9 @@ class PapbVcInterface : public VirtualChannelIF {
*/ */
static const int DATA_REG_OFFSET = 256; static const int DATA_REG_OFFSET = 256;
static constexpr long int FIRST_DELAY_PAPB_POLLING_NS = 10;
static constexpr long int MAX_DELAY_PAPB_POLLING_NS = 40;
LinuxLibgpioIF* gpioComIF = nullptr; LinuxLibgpioIF* gpioComIF = nullptr;
/** Pulled to low when virtual channel not ready to receive data */ /** Pulled to low when virtual channel not ready to receive data */
@ -85,6 +91,9 @@ class PapbVcInterface : public VirtualChannelIF {
std::string uioFile; std::string uioFile;
int mapNum = 0; int mapNum = 0;
mutable struct timespec nextDelay = {.tv_sec = 0, .tv_nsec = 0};
const struct timespec BETWEEN_POLL_DELAY = {.tv_sec = 0, .tv_nsec = 10};
mutable struct timespec remDelay;
volatile uint32_t* vcBaseReg = nullptr; volatile uint32_t* vcBaseReg = nullptr;
@ -94,7 +103,7 @@ class PapbVcInterface : public VirtualChannelIF {
* @brief This function sends the config byte to the virtual channel of the PTME IP Core * @brief This function sends the config byte to the virtual channel of the PTME IP Core
* to initiate a packet transfer. * to initiate a packet transfer.
*/ */
void startPacketTransfer(); void startPacketTransfer(ByteWidthCfg initWidth);
void abortPacketTransfer(); void abortPacketTransfer();
@ -111,7 +120,7 @@ class PapbVcInterface : public VirtualChannelIF {
* *
* @return returnvalue::OK when ready to receive data else PAPB_BUSY. * @return returnvalue::OK when ready to receive data else PAPB_BUSY.
*/ */
ReturnValue_t pollPapbBusySignal(uint32_t maxPollRetries, uint32_t retryDelayUs) const; inline ReturnValue_t pollInterfaceReadiness(uint32_t maxPollRetries, bool checkReadyState) const;
/** /**
* @brief This function can be used for debugging to check whether there are packets in * @brief This function can be used for debugging to check whether there are packets in

Some files were not shown because too many files have changed in this diff Show More