Compare commits

...

92 Commits

Author SHA1 Message Date
177b573cd4 prep v1.27.2
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-14 18:54:43 +01:00
1553900145 Merge pull request 'Enable ACS Controller to command RWs' (#375) from eggert/rw-cmd-acs-ctrl into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #375
2023-02-14 18:53:01 +01:00
166fd77f7b stupid RW
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 18:41:43 +01:00
29e78a7ae3 Merge remote-tracking branch 'origin/develop' into eggert/rw-cmd-acs-ctrl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 17:33:37 +01:00
a893618f60 Merge pull request 'Thread Tracing and Scheduling Update' (#379) from thread_tracing into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #379
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-02-14 15:59:11 +01:00
918cd7b237 small tweak for scripts, bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-14 14:38:33 +01:00
d506b515fc bump fsfw
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 14:33:12 +01:00
6f84099c5e small update and afmt
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 14:29:47 +01:00
024e06a3d3 set define to 0 for PR
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 14:28:26 +01:00
35b9c7a4df bump changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 14:27:25 +01:00
fd9503ed3b Merge remote-tracking branch 'origin/develop' into thread_tracing
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 14:23:49 +01:00
0654001945 Merge remote-tracking branch 'origin/develop' into eggert/rw-cmd-acs-ctrl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-14 14:15:56 +01:00
a0d09e7f23 go away
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-14 14:15:30 +01:00
e07492c855 bump tmtc
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-14 14:10:37 +01:00
92b3f740d5 Merge remote-tracking branch 'origin/develop' into eggert/rw-cmd-acs-ctrl 2023-02-14 14:10:21 +01:00
16eab6b266 update forwarding scripts for UDP
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 14:01:16 +01:00
1de832509a do a commit
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-14 13:40:07 +01:00
ef09cdabc2 remove lwgps properly
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 13:15:12 +01:00
3da5f1d6cc update .cproject file
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 13:13:16 +01:00
e0c33b21e9 remove lwgps dependency
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 13:11:52 +01:00
2d4c881d3a add missing include
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 11:56:40 +01:00
56840deb9b Merge branch 'develop' into eggert/rw-cmd-acs-ctrl
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-14 11:51:38 +01:00
ecb22bdd85 further cut down the number of threads
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 11:32:03 +01:00
9b2398888d add some more traces
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 11:18:51 +01:00
a57384f6c4 trace has settable div
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 11:11:06 +01:00
2aac3c67ee instrumented some more tasks
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 11:10:18 +01:00
66d20dc118 add tracing for first tasks
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 10:59:35 +01:00
a75e035cc5 fix cppcheck lints
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 10:36:53 +01:00
3c5a2568ef updatr lwgps dependency
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-14 10:24:43 +01:00
131fff6847 update create dummeis
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-14 10:02:12 +01:00
d9acbe3207 Merge pull request 'Make satsystem work on EM' (#377) from make_satsyste_work_on_em into develop
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Reviewed-on: #377
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-02-13 18:04:01 +01:00
4ba0d36800 Merge remote-tracking branch 'origin/develop' into make_satsyste_work_on_em
Some checks are pending
EIVE/eive-obsw/pipeline/pr-develop Build started...
2023-02-13 18:01:20 +01:00
6a1d4bd52f continue 2023-02-13 18:01:16 +01:00
4cccafbe01 no error im happy
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 17:59:08 +01:00
f5092b27ba add SCEX dummy
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 17:24:56 +01:00
17fa9a6e82 add TCS board assy for EM
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 17:04:04 +01:00
2813d229bb comntinue
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 16:39:26 +01:00
6c0234149e compile fixes
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 16:19:14 +01:00
99913594fd rfrmt
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 16:10:58 +01:00
f864d73253 Merge branch 'develop' into eggert/rw-cmd-acs-ctrl 2023-02-13 16:06:46 +01:00
af8caca3f6 Merge pull request 'lets see if this fixes issues' (#378) from refactor_tcs_acs_and_scheduling into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #378
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
2023-02-13 16:00:44 +01:00
e2f8ca752f continue satsystem
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 15:59:44 +01:00
efbb5d69c7 remove removed task start
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 15:44:19 +01:00
ebc32d1cc2 changelog
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-13 15:42:45 +01:00
b4d9ea6c19 lets see if this fixes issues
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
2023-02-13 15:37:42 +01:00
323140c846 bump revision
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 14:19:24 +01:00
cec9ef6c5d some fixes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 14:19:07 +01:00
97a001a1da continue satsytem for EM
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-13 13:53:13 +01:00
59a0a74032 start adding assy components for EM
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 11:49:26 +01:00
068b31a3d6 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 11:07:09 +01:00
1d20c3b472 changelog
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 11:04:43 +01:00
14c43c49dc scale rwCmdSpeed to appropriate range 2023-02-13 10:58:12 +01:00
53f31ca5a4 lol
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 10:42:05 +01:00
b5e096abcb start work on EM satsystem
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 10:40:39 +01:00
f4f6d1ed81 added InternalState SET_SPEED to enable setting RW Speed from ACS Ctrl 2023-02-13 10:33:08 +01:00
ac22a00e09 Merge branch 'develop' into eggert/rw-cmd-acs-ctrl 2023-02-13 10:29:56 +01:00
4958fa73d1 re-run generators
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 10:08:42 +01:00
c90d6f1f55 bump tmtc 2023-02-13 10:07:21 +01:00
227b371329 Merge branch 'develop' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 10:05:11 +01:00
577915db13 prep next version
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 10:04:05 +01:00
2c0efdee5a printout corrections
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 10:03:16 +01:00
7e3de3ca95 timing problem does not fully disappear..
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-13 09:56:57 +01:00
f81984235b Merge pull request 'EIVE System' (#376) from eive_system into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #376
2023-02-13 09:38:53 +01:00
3759b5d34a I am happy with this version
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-13 01:26:30 +01:00
c5a4fcd674 that delay is unecessary 2023-02-12 21:44:23 +01:00
1d40e40691 remove obsolete code 2023-02-12 21:36:24 +01:00
4b36313fea update config files 2023-02-12 21:34:55 +01:00
2f2d164526 this is crap but might just work
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-12 21:27:10 +01:00
6521e419eb issues with SPI..
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-12 21:07:33 +01:00
e94af34ef0 some more tests to avoid SPI issue 2023-02-12 20:41:20 +01:00
f5b5ef66b7 some tweaks for SPI, some fixes 2023-02-12 20:01:20 +01:00
767618f61f bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-12 18:57:24 +01:00
84a4d093bc schedule new EIVE system
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-10 18:07:44 +01:00
b0c84f9284 safe mode fallback
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-10 17:59:37 +01:00
6b919c727d build idle system sequence 2023-02-10 17:59:16 +01:00
62eb39923f add eive system first impl
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-10 17:52:46 +01:00
b3202623f4 bump tmtc
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
2023-02-10 16:32:15 +01:00
35172185f9 fix
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-10 13:29:13 +01:00
fc5196f8da Merge branch 'develop' into eggert/rw-cmd-acs-ctrl
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-10 13:23:58 +01:00
285bd7116b bump changelog 2023-02-10 13:17:52 +01:00
08df102f36 rwHandler rwSpeedActuationSet handling 2023-02-10 13:16:50 +01:00
33684f2ef7 fixed imtq setDipoles check
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-10 12:48:17 +01:00
bc4c6c3a54 changelog
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-10 12:07:45 +01:00
109560feb2 disabled actCmd from acsCtrl again for now
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-10 11:30:52 +01:00
ea32d87c25 function now handles actuator cmd
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-10 11:27:25 +01:00
01d6060111 added ramp time 2023-02-10 11:27:02 +01:00
c2079dcbba added rampTime and made dataSet public 2023-02-10 11:26:46 +01:00
9041a3376c ActuatorCmd now output their solutions as integers as expected by the sensors
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-10 10:56:50 +01:00
9dfd8491d2 added rampTime and torqueDuration to AcsParameters
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-10 10:25:13 +01:00
51629da4a0 naming fixes
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
2023-02-09 17:55:20 +01:00
a3eaace4a5 added RwSpeedActuationSets to AcsController
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-09 17:31:26 +01:00
5a5d00e4e5 dataPool for setting RW speeds
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
2023-02-09 17:11:23 +01:00
107 changed files with 2455 additions and 1305 deletions

View File

@ -17,6 +17,83 @@ change warranting a new major release:
# [unreleased]
# [v1.27.2] 2023-02-14
Reaction Wheel handling was determined to be (quasi) broken and needs to be fixed in future release
to be usable by ACS controller.
eive-tmtc: v2.15.6
## Added
- Function for the ACS controller to command MTQ and RWs called by all subroutines
- RwHandler now handles commanding of RW speeds via RwSpeedActuationSet
- Tracing supports which allows checking whether threads are running as usual.
## Changed
- Remove 2 TCS threads.
- Move low level polling into ACS PST, move high level device handlers into TCS system task.
- ActCmds now returns command vectors as integers as required by the actuators
and scales them to the appropriate range
- All RwHandler are now polled five times per ACS cycle
- Remove 2 TCS threads. Move low level polling into ACS PST, move high level device handlers into
TCS system task.
- Further reduce number of threads:
1. Remove PUS low priority task, move assigned threads to the generic system task
2. Group events and verification tasks into PUS high priority task
3. Group all other components into PUS medium priority task
4. Add SCEX device handler to PL task, remove dedicated thread
## Removed
- lwgps dependency not compiled anymore, is not used
# [v1.27.1] 2023-02-13
## Fixed
- Fix for SPI ComIF: Set transfer size to 0 for failed transfers
- Fix shadowing issue with locks in MAX31865 low level handler
# [v1.27.0] 2023-02-13
eive-tmtc: v2.12.5
Added EIVE system top mode component. Currently, only SAFE and IDLE mode are
implemented, and the system does not do more than commanding TCS and ACS
into the correct modes. It does not have a lot of mode tracking capabilities
yet because the ACS controller might alternate between SAFE and DETUMBLE.
It takes around 5-10 seconds for the EIVE system to reach the SAFE mode.
The new system is used at software boot to command the satellite into safe mode
on each reboot. This behaviour can be disabled with the
`OBSW_SWITCH_TO_NORMAL_MODE_AFTER_STARTUP` flag.
## Added
- New EIVE system component like explained above.
## Changed
- The satellite now commands itself into SAFE mode on each reboot, which
triggers a lot of events on each SW reboot. The TCS subsystem will commanded
to NORMAL mode immediately while the ACS subsystem will be commanded to
SAFE mode. The payload subsystem will be commanded OFF.
- `RELEASE_BUILD` flag moved to `commonConfig.h`
- The ACS subsystem transitions are now staggered: The SUS board assembly
is commanded as a separate transition. This reduces the risk of long bus lockups.
- No INFO mode event translations for release builds to reduce number of
printouts.
- More granular locking inside the MAX31865 low level read handler.
## Fixed
- More DHB thermal module fixes.
- ACS PST frequency extended to 0.8 seconds in debug builds to avoid SPI
bus lockups.
- Local datapool fixes for the `PlocSupervisorHandler`
# [v1.26.4] 2023-02-10
eive-tmtc: v2.12.3

View File

@ -10,8 +10,8 @@
cmake_minimum_required(VERSION 3.13)
set(OBSW_VERSION_MAJOR 1)
set(OBSW_VERSION_MINOR 26)
set(OBSW_VERSION_REVISION 4)
set(OBSW_VERSION_MINOR 27)
set(OBSW_VERSION_REVISION 2)
# set(CMAKE_VERBOSE TRUE)
@ -307,6 +307,11 @@ endif()
include(BuildType)
set_build_type()
set(FSFW_DEBUG_INFO 0)
if(RELEASE_BUILD MATCHES 0)
set(FSFW_DEBUG_INFO 1)
endif()
# Configuration files
configure_file(${COMMON_CONFIG_PATH}/commonConfig.h.in commonConfig.h)
configure_file(${FSFW_CONFIG_PATH}/FSFWConfig.h.in FSFWConfig.h)
@ -419,7 +424,6 @@ add_subdirectory(${BSP_PATH})
add_subdirectory(${COMMON_PATH})
add_subdirectory(${DUMMY_PATH})
add_subdirectory(${LIB_LWGPS_PATH})
add_subdirectory(${FSFW_PATH})
add_subdirectory(${LIB_EIVE_MISSION_PATH})
add_subdirectory(${TEST_PATH})
@ -486,8 +490,8 @@ endif()
# ##############################################################################
# Add libraries
target_link_libraries(${LIB_EIVE_MISSION}
PUBLIC ${LIB_FSFW_NAME} ${LIB_LWGPS_NAME} ${LIB_OS_NAME})
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC ${LIB_FSFW_NAME}
${LIB_OS_NAME})
target_link_libraries(${LIB_DUMMIES} PUBLIC ${LIB_FSFW_NAME} ${LIB_JSON_NAME})

View File

@ -62,7 +62,6 @@ void ObjectFactory::produce(void* args) {
auto* dummyGpioIF = new DummyGpioIF();
auto* dummySwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0);
static_cast<void>(dummyGpioIF);
#ifdef PLATFORM_UNIX
new SerialComIF(objects::UART_COM_IF);
#if OBSW_ADD_PLOC_MPSOC == 1
@ -89,7 +88,7 @@ void ObjectFactory::produce(void* args) {
#endif
dummy::DummyCfg cfg;
dummy::createDummies(cfg, *dummySwitcher);
dummy::createDummies(cfg, *dummySwitcher, dummyGpioIF);
HeaterHandler* heaterHandler = nullptr;
// new ThermalController(objects::THERMAL_CONTROLLER);

View File

@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 256 translations.
* @details
* Generated on: 2023-02-09 15:57:01
* Generated on: 2023-02-13 10:07:30
*/
#include "translateEvents.h"

View File

@ -2,7 +2,7 @@
* @brief Auto-generated object translation file.
* @details
* Contains 147 translations.
* Generated on: 2023-02-09 15:57:01
* Generated on: 2023-02-13 10:07:30
*/
#include "translateObjects.h"

View File

@ -9,12 +9,16 @@
#include "commonConfig.h"
#include "q7sConfig.h"
#cmakedefine RELEASE_BUILD
/*******************************************************************/
/** All of the following flags should be enabled for mission code */
/*******************************************************************/
#define OBSW_ENABLE_PERIODIC_HK 0
#define OBSW_ENABLE_SYRLINKS_TRANSMIT_TIMEOUT 0
// 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
#define OBSW_COMMAND_SAFE_MODE_AT_STARTUP 1
#define OBSW_ADD_GOMSPACE_PCDU @OBSW_ADD_GOMSPACE_PCDU@
#define OBSW_ADD_MGT @OBSW_ADD_MGT@
#define OBSW_ADD_BPX_BATTERY_HANDLER @OBSW_ADD_BPX_BATTERY_HANDLER@
@ -41,25 +45,23 @@
#define OBSW_TM_TO_PTME @OBSW_TM_TO_PTME@
// Set to 1 if telecommands are received via the PDEC IP Core
#define OBSW_TC_FROM_PDEC @OBSW_TC_FROM_PDEC@
#define OBSW_ENABLE_SYRLINKS_TRANSMIT_TIMEOUT 0
// Configuration parameter which causes the core controller to try to keep at least one SD card
// working
#define OBSW_SD_CARD_MUST_BE_ON 1
#define OBSW_ENABLE_TIMERS 1
// This is a really tricky switch.. It initializes the PCDU switches to their default states
// at powerup. I think it would be better
// to leave it off for now. It makes testing a lot more difficult and it might mess with
// something the operators might want to do by giving the software too much intelligence
// at the wrong place. The system component might command all the Switches accordingly anyway
#define OBSW_INITIALIZE_SWITCHES 0
#define OBSW_ENABLE_PERIODIC_HK 0
/*******************************************************************/
/** All of the following flags should be disabled for mission code */
/*******************************************************************/
// Use TCP instead of UDP for the TMTC bridge. This allows using the TMTC client locally
// because UDP packets are not allowed in the VPN
// This will cause the OBSW to initialize the TMTC bridge responsible for exchanging data with the
// CCSDS IP Cores.
#define OBSW_ADD_TMTC_TCP_SERVER 1
#define OBSW_ADD_TMTC_UDP_SERVER 1
// Can be used to switch device to NORMAL mode immediately
#define OBSW_SWITCH_TO_NORMAL_MODE_AFTER_STARTUP 0
#define OBSW_PRINT_MISSED_DEADLINES 1
@ -121,13 +123,6 @@
/** CMake Defines */
/*******************************************************************/
// Use TCP instead of UDP for the TMTC bridge. This allows using the TMTC client locally
// because UDP packets are not allowed in the VPN
// This will cause the OBSW to initialize the TMTC bridge responsible for exchanging data with the
// CCSDS IP Cores.
#define OBSW_ADD_TMTC_TCP_SERVER 1
#define OBSW_ADD_TMTC_UDP_SERVER 1
#cmakedefine EIVE_BUILD_GPSD_GPS_HANDLER
#cmakedefine LIBGPS_VERSION_MAJOR @LIBGPS_VERSION_MAJOR@

View File

@ -63,6 +63,9 @@ ReturnValue_t CoreController::handleCommandMessage(CommandMessage *message) {
}
void CoreController::performControlOperation() {
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "CORE CTRL");
#endif
EventMessage event;
for (ReturnValue_t result = eventQueue->receiveMessage(&event); result == returnvalue::OK;
result = eventQueue->receiveMessage(&event)) {

View File

@ -12,6 +12,7 @@
#include "events/subsystemIdRanges.h"
#include "fsfw/controller/ExtendedControllerBase.h"
#include "mission/devices/devicedefinitions/GPSDefinitions.h"
#include "mission/trace.h"
class Timer;
class SdCardManager;
@ -222,6 +223,9 @@ class CoreController : public ExtendedControllerBase {
std::string currMntPrefix;
bool performOneShotSdCardOpsSwitch = false;
uint8_t shortSdCardCdCounter = 0;
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter;
#endif
Countdown sdCardCheckCd = Countdown(INIT_SD_CARD_CHECK_TIMEOUT);
/**

View File

@ -239,10 +239,9 @@ ReturnValue_t ObjectFactory::createRadSensorComponent(LinuxLibgpioIF* gpioComIF,
}
void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF,
PowerSwitchIF* pwrSwitcher) {
PowerSwitchIF& pwrSwitcher) {
using namespace gpio;
GpioCookie* gpioCookieAcsBoard = new GpioCookie();
std::vector<std::reference_wrapper<DeviceHandlerBase>> assemblyChildren;
std::stringstream consumer;
GpiodRegularByLineName* gpio = nullptr;
@ -344,14 +343,16 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
#if OBSW_ADD_ACS_BOARD == 1
std::string spiDev = q7s::SPI_DEFAULT_DEV;
std::array<DeviceHandlerBase*, 8> assemblyChildren;
SpiCookie* spiCookie =
new SpiCookie(addresses::MGM_0_LIS3, gpioIds::MGM_0_LIS3_CS, MGMLIS3MDL::MAX_BUFFER_SIZE,
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto mgmLis3Handler0 = new MgmLIS3MDLHandler(
objects::MGM_0_LIS3_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::LIS3_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_0_LIS3_HANDLER);
mgmLis3Handler0->setCustomFdir(fdir);
assemblyChildren.push_back(*mgmLis3Handler0);
assemblyChildren[0] = mgmLis3Handler0;
#if OBSW_TEST_ACS == 1
mgmLis3Handler->setStartUpImmediately();
mgmLis3Handler->setToGoToNormalMode(true);
@ -362,12 +363,13 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
spiCookie =
new SpiCookie(addresses::MGM_1_RM3100, gpioIds::MGM_1_RM3100_CS, RM3100::MAX_BUFFER_SIZE,
spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto mgmRm3100Handler1 =
new MgmRM3100Handler(objects::MGM_1_RM3100_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
spi::RM3100_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_1_RM3100_HANDLER);
mgmRm3100Handler1->setCustomFdir(fdir);
assemblyChildren.push_back(*mgmRm3100Handler1);
assemblyChildren[1] = mgmRm3100Handler1;
#if OBSW_TEST_ACS == 1
mgmRm3100Handler->setStartUpImmediately();
mgmRm3100Handler->setToGoToNormalMode(true);
@ -378,11 +380,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
spiCookie =
new SpiCookie(addresses::MGM_2_LIS3, gpioIds::MGM_2_LIS3_CS, MGMLIS3MDL::MAX_BUFFER_SIZE,
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto* mgmLis3Handler2 = new MgmLIS3MDLHandler(
objects::MGM_2_LIS3_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::LIS3_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_2_LIS3_HANDLER);
mgmLis3Handler2->setCustomFdir(fdir);
assemblyChildren.push_back(*mgmLis3Handler2);
assemblyChildren[2] = mgmLis3Handler2;
#if OBSW_TEST_ACS == 1
mgmLis3Handler->setStartUpImmediately();
mgmLis3Handler->setToGoToNormalMode(true);
@ -393,12 +396,13 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
spiCookie =
new SpiCookie(addresses::MGM_3_RM3100, gpioIds::MGM_3_RM3100_CS, RM3100::MAX_BUFFER_SIZE,
spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto* mgmRm3100Handler3 =
new MgmRM3100Handler(objects::MGM_3_RM3100_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
spi::RM3100_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::MGM_3_RM3100_HANDLER);
mgmRm3100Handler3->setCustomFdir(fdir);
assemblyChildren.push_back(*mgmRm3100Handler3);
assemblyChildren[3] = mgmRm3100Handler3;
#if OBSW_TEST_ACS == 1
mgmRm3100Handler->setStartUpImmediately();
mgmRm3100Handler->setToGoToNormalMode(true);
@ -411,12 +415,13 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
spiCookie =
new SpiCookie(addresses::GYRO_0_ADIS, gpioIds::GYRO_0_ADIS_CS, ADIS1650X::MAXIMUM_REPLY_SIZE,
spi::DEFAULT_ADIS16507_MODE, spi::DEFAULT_ADIS16507_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto adisHandler =
new GyroADIS1650XHandler(objects::GYRO_0_ADIS_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
ADIS1650X::Type::ADIS16505);
fdir = new AcsBoardFdir(objects::GYRO_0_ADIS_HANDLER);
adisHandler->setCustomFdir(fdir);
assemblyChildren.push_back(*adisHandler);
assemblyChildren[4] = adisHandler;
#if OBSW_TEST_ACS == 1
adisHandler->setStartUpImmediately();
adisHandler->setToGoToNormalModeImmediately();
@ -427,11 +432,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
// Gyro 1 Side A
spiCookie = new SpiCookie(addresses::GYRO_1_L3G, gpioIds::GYRO_1_L3G_CS, L3GD20H::MAX_BUFFER_SIZE,
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto gyroL3gHandler1 = new GyroHandlerL3GD20H(
objects::GYRO_1_L3G_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::L3G_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::GYRO_1_L3G_HANDLER);
gyroL3gHandler1->setCustomFdir(fdir);
assemblyChildren.push_back(*gyroL3gHandler1);
assemblyChildren[5] = gyroL3gHandler1;
#if OBSW_TEST_ACS == 1
gyroL3gHandler->setStartUpImmediately();
gyroL3gHandler->setToGoToNormalMode(true);
@ -443,11 +449,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
spiCookie =
new SpiCookie(addresses::GYRO_2_ADIS, gpioIds::GYRO_2_ADIS_CS, ADIS1650X::MAXIMUM_REPLY_SIZE,
spi::DEFAULT_ADIS16507_MODE, spi::DEFAULT_ADIS16507_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
adisHandler = new GyroADIS1650XHandler(objects::GYRO_2_ADIS_HANDLER, objects::SPI_MAIN_COM_IF,
spiCookie, ADIS1650X::Type::ADIS16505);
fdir = new AcsBoardFdir(objects::GYRO_2_ADIS_HANDLER);
adisHandler->setCustomFdir(fdir);
assemblyChildren.push_back(*adisHandler);
assemblyChildren[6] = adisHandler;
#if OBSW_TEST_ACS == 1
adisHandler->setStartUpImmediately();
adisHandler->setToGoToNormalModeImmediately();
@ -455,11 +462,12 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
// Gyro 3 Side B
spiCookie = new SpiCookie(addresses::GYRO_3_L3G, gpioIds::GYRO_3_L3G_CS, L3GD20H::MAX_BUFFER_SIZE,
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::ACS_BOARD_CS_TIMEOUT);
auto gyroL3gHandler3 = new GyroHandlerL3GD20H(
objects::GYRO_3_L3G_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, spi::L3G_TRANSITION_DELAY);
fdir = new AcsBoardFdir(objects::GYRO_3_L3G_HANDLER);
gyroL3gHandler3->setCustomFdir(fdir);
assemblyChildren.push_back(*gyroL3gHandler3);
assemblyChildren[7] = gyroL3gHandler3;
#if OBSW_TEST_ACS == 1
gyroL3gHandler->setStartUpImmediately();
gyroL3gHandler->setToGoToNormalMode(true);
@ -477,22 +485,7 @@ void ObjectFactory::createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialCo
new GpsHyperionLinuxController(objects::GPS_CONTROLLER, objects::NO_OBJECT, debugGps);
gpsCtrl->setResetPinTriggerFunction(gps::triggerGpioResetPin, &RESET_ARGS_GNSS);
AcsBoardHelper acsBoardHelper = AcsBoardHelper(
objects::MGM_0_LIS3_HANDLER, objects::MGM_1_RM3100_HANDLER, objects::MGM_2_LIS3_HANDLER,
objects::MGM_3_RM3100_HANDLER, objects::GYRO_0_ADIS_HANDLER, objects::GYRO_1_L3G_HANDLER,
objects::GYRO_2_ADIS_HANDLER, objects::GYRO_3_L3G_HANDLER, objects::GPS_CONTROLLER);
auto acsAss =
new AcsBoardAssembly(objects::ACS_BOARD_ASS, pwrSwitcher, acsBoardHelper, gpioComIF);
static_cast<void>(acsAss);
for (auto& assChild : assemblyChildren) {
ReturnValue_t result = assChild.get().connectModeTreeParent(*acsAss);
if (result != returnvalue::OK) {
sif::error << "Connecting assembly for ACS board component " << assChild.get().getObjectId()
<< " failed" << std::endl;
}
}
gpsCtrl->connectModeTreeParent(*acsAss);
acsAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
ObjectFactory::createAcsBoardAssy(pwrSwitcher, assemblyChildren, gpsCtrl, gpioComIF);
#endif /* OBSW_ADD_ACS_HANDLERS == 1 */
}
@ -684,33 +677,24 @@ void ObjectFactory::createReactionWheelComponents(LinuxLibgpioIF* gpioComIF,
std::array<object_id_t, 4> rwIds = {objects::RW1, objects::RW2, objects::RW3, objects::RW4};
std::array<gpioId_t, 4> rwGpioIds = {gpioIds::EN_RW1, gpioIds::EN_RW2, gpioIds::EN_RW3,
gpioIds::EN_RW4};
std::array<RwHandler*, 4> rws = {};
std::array<DeviceHandlerBase*, 4> rws = {};
for (uint8_t idx = 0; idx < rwCookies.size(); idx++) {
rwCookies[idx] = new SpiCookie(rwCookieParams[idx].first, rwCookieParams[idx].second,
RwDefinitions::MAX_REPLY_SIZE, spi::RW_MODE, spi::RW_SPEED,
&rwSpiCallback::spiCallback, nullptr);
rws[idx] = new RwHandler(rwIds[idx], objects::SPI_RW_COM_IF, rwCookies[idx], gpioComIF,
rwGpioIds[idx]);
rwCookies[idx]->setCallbackArgs(rws[idx]);
auto* rwHandler = new RwHandler(rwIds[idx], objects::SPI_RW_COM_IF, rwCookies[idx], gpioComIF,
rwGpioIds[idx], idx);
rwCookies[idx]->setCallbackArgs(rwHandler);
#if OBSW_TEST_RW == 1
rws[idx]->setStartUpImmediately();
#endif
#if OBSW_DEBUG_RW == 1
rws[idx]->setDebugMode(true);
rwHandler->setDebugMode(true);
#endif
rws[idx] = rwHandler;
}
RwHelper rwHelper(rwIds);
auto* rwAss =
new RwAssembly(objects::RW_ASS, pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rwHelper);
for (uint8_t idx = 0; idx < rws.size(); idx++) {
ReturnValue_t result = rws[idx]->connectModeTreeParent(*rwAss);
if (result != returnvalue::OK) {
sif::error << "Connecting RW " << static_cast<int>(idx) << " to RW assembly failed"
<< std::endl;
}
}
rwAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
createRwAssy(*pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds);
#endif /* OBSW_ADD_RW == 1 */
}

View File

@ -33,7 +33,7 @@ void createPlPcduComponents(LinuxLibgpioIF* gpioComIF, SpiComIF* spiComIF,
void createTmpComponents();
ReturnValue_t createRadSensorComponent(LinuxLibgpioIF* gpioComIF, Stack5VHandler& handler);
void createAcsBoardComponents(LinuxLibgpioIF* gpioComIF, SerialComIF* uartComIF,
PowerSwitchIF* pwrSwitcher);
PowerSwitchIF& pwrSwitcher);
void createHeaterComponents(GpioIF* gpioIF, PowerSwitchIF* pwrSwitcher, HealthTableIF* healthTable,
HeaterHandler*& heaterHandler);
void createImtqComponents(PowerSwitchIF* pwrSwitcher);

View File

@ -80,16 +80,12 @@ void scheduling::initTasks() {
}
#endif
PeriodicTaskIF* sysTask = factory->createPeriodicTask(
PeriodicTaskIF* coreCtrlTask = factory->createPeriodicTask(
"CORE_CTRL", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.4, missedDeadlineFunc);
result = sysTask->addComponent(objects::CORE_CONTROLLER);
result = coreCtrlTask->addComponent(objects::CORE_CONTROLLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CORE_CTRL", objects::CORE_CONTROLLER);
}
result = sysTask->addComponent(objects::PL_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PL_SUBSYSTEM", objects::PL_SUBSYSTEM);
}
/* TMTC Distribution */
PeriodicTaskIF* tmTcDistributor = factory->createPeriodicTask(
@ -144,15 +140,31 @@ void scheduling::initTasks() {
#endif
#endif
PeriodicTaskIF* comTask = factory->createPeriodicTask(
"COM_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
result = comTask->addComponent(objects::COM_SUBSYSTEM);
PeriodicTaskIF* genericSysTask = factory->createPeriodicTask(
"SYSTEM_TASK", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc);
result = genericSysTask->addComponent(objects::EIVE_SYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("COM subsystem", objects::COM_SUBSYSTEM);
scheduling::printAddObjectError("EIVE_SYSTEM", objects::EIVE_SYSTEM);
}
result = genericSysTask->addComponent(objects::COM_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("COM_SUBSYSTEM", objects::COM_SUBSYSTEM);
}
result = genericSysTask->addComponent(objects::PL_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PL_SUBSYSTEM", objects::PL_SUBSYSTEM);
}
result = genericSysTask->addComponent(objects::INTERNAL_ERROR_REPORTER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ERROR_REPORTER", objects::INTERNAL_ERROR_REPORTER);
}
result = genericSysTask->addComponent(objects::PUS_SERVICE_17_TEST);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_17", objects::PUS_SERVICE_17_TEST);
}
#if OBSW_ADD_CCSDS_IP_CORES == 1
result = comTask->addComponent(objects::CCSDS_HANDLER);
result = genericSysTask->addComponent(objects::CCSDS_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CCSDS Handler", objects::CCSDS_HANDLER);
}
@ -185,8 +197,12 @@ void scheduling::initTasks() {
#endif /* OBSW_ADD_GPS_CTRL */
PeriodicTaskIF* acsSysTask = factory->createPeriodicTask(
"SYS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
"ACS_SYS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.4, missedDeadlineFunc);
static_cast<void>(acsSysTask);
result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM);
}
#if OBSW_ADD_ACS_BOARD == 1
result = acsSysTask->addComponent(objects::ACS_BOARD_ASS);
if (result != returnvalue::OK) {
@ -205,36 +221,18 @@ void scheduling::initTasks() {
scheduling::printAddObjectError("SUS_BOARD_ASS", objects::SUS_BOARD_ASS);
}
#endif
result = acsSysTask->addComponent(objects::ACS_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ACS_SUBSYSTEM", objects::ACS_SUBSYSTEM);
}
#if OBSW_ADD_RTD_DEVICES == 1
PeriodicTaskIF* tcsPollingTask = factory->createPeriodicTask(
"TCS_POLLING_TASK", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.5, missedDeadlineFunc);
result = tcsPollingTask->addComponent(objects::SPI_RTD_COM_IF);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("SPI_RTD_POLLING", objects::SPI_RTD_COM_IF);
}
PeriodicTaskIF* tcsTask = factory->createPeriodicTask(
"TCS_TASK", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
scheduling::scheduleRtdSensors(tcsTask);
#endif
PeriodicTaskIF* tcsSystemTask = factory->createPeriodicTask(
"TCS_TASK", 45, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc);
"TCS_TASK", 55, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.5, missedDeadlineFunc);
scheduling::scheduleRtdSensors(tcsSystemTask);
result = tcsSystemTask->addComponent(objects::TCS_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("TCS_SUBSYSTEM", objects::TCS_SUBSYSTEM);
}
#if OBSW_ADD_RTD_DEVICES == 1
result = tcsSystemTask->addComponent(objects::TCS_BOARD_ASS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("TCS_BOARD_ASS", objects::TCS_BOARD_ASS);
}
#endif /* OBSW_ADD_RTD_DEVICES */
#if OBSW_ADD_TCS_CTRL == 1
result = tcsSystemTask->addComponent(objects::THERMAL_CONTROLLER);
if (result != returnvalue::OK) {
@ -276,14 +274,16 @@ void scheduling::initTasks() {
#endif /* OBSW_ADD_PLOC_SUPERVISOR */
PeriodicTaskIF* plTask = factory->createPeriodicTask(
"PL_TASK", 25, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.0, missedDeadlineFunc);
scheduling::addMpsocSupvHandlers(plTask);
"PL_TASK", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
plTask->addComponent(objects::CAM_SWITCHER);
scheduling::addMpsocSupvHandlers(plTask);
#if OBSW_ADD_SCEX_DEVICE == 1
scheduling::scheduleScexDev(plTask);
#endif
#if OBSW_ADD_SCEX_DEVICE == 1
PeriodicTaskIF* scexDevHandler;
PeriodicTaskIF* scexReaderTask;
scheduling::schedulingScex(*factory, scexDevHandler, scexReaderTask);
scheduling::scheduleScexReader(*factory, scexReaderTask);
#endif
std::vector<PeriodicTaskIF*> pusTasks;
@ -327,12 +327,12 @@ void scheduling::initTasks() {
#endif
#endif
comTask->startTask();
genericSysTask->startTask();
#if OBSW_ADD_CCSDS_IP_CORES == 1
pdecHandlerTask->startTask();
#endif /* OBSW_ADD_CCSDS_IP_CORES == 1 */
sysTask->startTask();
coreCtrlTask->startTask();
#if OBSW_ADD_SA_DEPL == 1
solarArrayDeplTask->startTask();
#endif
@ -340,7 +340,6 @@ void scheduling::initTasks() {
taskStarter(pstTasks, "PST task vector");
taskStarter(pusTasks, "PUS task vector");
#if OBSW_ADD_SCEX_DEVICE == 1
scexDevHandler->startTask();
scexReaderTask->startTask();
#endif
@ -360,10 +359,6 @@ void scheduling::initTasks() {
gpsTask->startTask();
#endif
acsSysTask->startTask();
#if OBSW_ADD_RTD_DEVICES == 1
tcsPollingTask->startTask();
tcsTask->startTask();
#endif /* OBSW_ADD_RTD_DEVICES == 1 */
if (not tcsSystemTask->isEmpty()) {
tcsSystemTask->startTask();
}
@ -386,11 +381,11 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
#ifdef RELEASE_BUILD
static constexpr float acsPstPeriod = 0.4;
#else
static constexpr float acsPstPeriod = 0.6;
static constexpr float acsPstPeriod = 0.8;
#endif
FixedTimeslotTaskIF* acsPst = factory.createFixedTimeslotTask(
"ACS_PST", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, acsPstPeriod, missedDeadlineFunc);
result = pst::pstAcs(acsPst, cfg);
FixedTimeslotTaskIF* acsTcsPst = factory.createFixedTimeslotTask(
"ACS_TCS_PST", 85, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, acsPstPeriod, missedDeadlineFunc);
result = pst::pstTcsAndAcs(acsTcsPst, cfg);
if (result != returnvalue::OK) {
if (result == FixedTimeslotTaskIF::SLOT_LIST_EMPTY) {
sif::warning << "scheduling::initTasks: ACS PST is empty" << std::endl;
@ -398,7 +393,7 @@ void scheduling::createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction
sif::error << "scheduling::initTasks: Creating ACS PST failed!" << std::endl;
}
} else {
taskVec.push_back(acsPst);
taskVec.push_back(acsTcsPst);
}
/* Polling Sequence Table Default */
@ -449,42 +444,28 @@ void scheduling::createPusTasks(TaskFactory& factory, TaskDeadlineMissedFunction
std::vector<PeriodicTaskIF*>& taskVec) {
ReturnValue_t result = returnvalue::OK;
/* PUS Services */
PeriodicTaskIF* pusVerification = factory.createPeriodicTask(
"PUS_VERIF", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
result = pusVerification->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
PeriodicTaskIF* pusHighPrio = factory.createPeriodicTask(
"PUS_HIGH_PRIO", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_1_VERIFICATION);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_VERIF", objects::PUS_SERVICE_1_VERIFICATION);
}
taskVec.push_back(pusVerification);
PeriodicTaskIF* pusEvents = factory.createPeriodicTask(
"PUS_EVENTS", 60, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.200, missedDeadlineFunc);
result = pusEvents->addComponent(objects::PUS_SERVICE_5_EVENT_REPORTING);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_5_EVENT_REPORTING);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_EVENTS", objects::PUS_SERVICE_5_EVENT_REPORTING);
}
result = pusEvents->addComponent(objects::EVENT_MANAGER);
result = pusHighPrio->addComponent(objects::EVENT_MANAGER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_MGMT", objects::EVENT_MANAGER);
}
taskVec.push_back(pusEvents);
PeriodicTaskIF* pusHighPrio = factory.createPeriodicTask(
"PUS_HIGH_PRIO", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
result = pusHighPrio->addComponent(objects::PUS_SERVICE_2_DEVICE_ACCESS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_2", objects::PUS_SERVICE_2_DEVICE_ACCESS);
}
result = pusHighPrio->addComponent(objects::PUS_SERVICE_9_TIME_MGMT);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_9", objects::PUS_SERVICE_9_TIME_MGMT);
}
taskVec.push_back(pusHighPrio);
PeriodicTaskIF* pusMedPrio = factory.createPeriodicTask(
"PUS_MED_PRIO", 40, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.8, missedDeadlineFunc);
result = pusMedPrio->addComponent(objects::PUS_SERVICE_3_HOUSEKEEPING);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_3", objects::PUS_SERVICE_3_HOUSEKEEPING);
@ -509,20 +490,11 @@ void scheduling::createPusTasks(TaskFactory& factory, TaskDeadlineMissedFunction
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_201", objects::PUS_SERVICE_201_HEALTH);
}
// Used for connection tests, therefore use higher priority
result = pusMedPrio->addComponent(objects::PUS_SERVICE_17_TEST);
result = pusMedPrio->addComponent(objects::PUS_SERVICE_2_DEVICE_ACCESS);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("PUS_17", objects::PUS_SERVICE_17_TEST);
scheduling::printAddObjectError("PUS_2", objects::PUS_SERVICE_2_DEVICE_ACCESS);
}
taskVec.push_back(pusMedPrio);
PeriodicTaskIF* pusLowPrio = factory.createPeriodicTask(
"PUS_LOW_PRIO", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE, 1.6, missedDeadlineFunc);
result = pusLowPrio->addComponent(objects::INTERNAL_ERROR_REPORTER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("ERROR_REPORTER", objects::INTERNAL_ERROR_REPORTER);
}
taskVec.push_back(pusLowPrio);
}
void scheduling::createTestTasks(TaskFactory& factory,

View File

@ -2,6 +2,7 @@
#include <fsfw/health/HealthTableIF.h>
#include <fsfw/power/DummyPowerSwitcher.h>
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/system/tree/system.h>
#include "OBSWConfig.h"
#include "bsp_q7s/core/CoreController.h"
@ -54,7 +55,7 @@ void ObjectFactory::produce(void* args) {
createPcduComponents(gpioComIF, &pwrSwitcher);
#endif
dummy::createDummies(dummyCfg, *pwrSwitcher);
dummy::createDummies(dummyCfg, *pwrSwitcher, gpioComIF);
new CoreController(objects::CORE_CONTROLLER);
@ -74,7 +75,7 @@ void ObjectFactory::produce(void* args) {
// createRadSensorComponent(gpioComIF);
#if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher);
createAcsBoardComponents(gpioComIF, uartComIF, *pwrSwitcher);
#endif
#if OBSW_ADD_MGT == 1
@ -115,5 +116,5 @@ void ObjectFactory::produce(void* args) {
HeaterHandler* heaterHandler = nullptr;
ObjectFactory::createGenericHeaterComponents(*gpioComIF, *pwrSwitcher, heaterHandler);
createThermalController(*heaterHandler);
satsystem::com::init();
satsystem::init();
}

View File

@ -39,11 +39,11 @@ void ObjectFactory::produce(void* args) {
createRadSensorComponent(gpioComIF, *stackHandler);
#endif
#if OBSW_ADD_SUN_SENSORS == 1
createSunSensorComponents(gpioComIF, spiMainComIF, pwrSwitcher, q7s::SPI_DEFAULT_DEV, true);
createSunSensorComponents(gpioComIF, spiMainComIF, *pwrSwitcher, q7s::SPI_DEFAULT_DEV, true);
#endif
#if OBSW_ADD_ACS_BOARD == 1
createAcsBoardComponents(gpioComIF, uartComIF, pwrSwitcher);
createAcsBoardComponents(gpioComIF, uartComIF, *pwrSwitcher);
#endif
HeaterHandler* heaterHandler;
createHeaterComponents(gpioComIF, pwrSwitcher, healthTable, heaterHandler);

View File

@ -13,6 +13,8 @@
#include "core/scheduling.h"
#include "fsfw/tasks/TaskFactory.h"
#include "fsfw/version.h"
#include "mission/acsDefs.h"
#include "mission/system/tree/system.h"
#include "q7sConfig.h"
#include "watchdog/definitions.h"
@ -72,6 +74,18 @@ int obsw::obsw() {
scheduling::initMission();
#if OBSW_COMMAND_SAFE_MODE_AT_STARTUP == 1
// Command the EIVE system to safe mode
auto sysQueueId = satsystem::EIVE_SYSTEM.getCommandQueue();
CommandMessage msg;
ModeMessage::setCmdModeMessage(msg, acs::AcsMode::SAFE, 0);
ReturnValue_t result =
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
if (result != returnvalue::OK) {
sif::error << "Sending safe mode command to EIVE system failed" << std::endl;
}
#endif
for (;;) {
/* Suspend main thread by sleeping it. */
TaskFactory::delayTask(5000);

View File

@ -4,6 +4,8 @@
#include <cstdint>
#include "fsfw/version.h"
#cmakedefine RELEASE_BUILD
#cmakedefine RASPBERRY_PI
#cmakedefine XIPHOS_Q7S
#cmakedefine BEAGLEBONEBLACK

View File

@ -5,6 +5,7 @@
#include <cstdint>
#include "commonConfig.h"
#include "fsfw/timemanager/clockDefinitions.h"
#include "fsfw_hal/linux/serial/SerialCookie.h"
#include "fsfw_hal/linux/spi/spiDefinitions.h"
@ -47,10 +48,19 @@ static constexpr spi::SpiModes DEFAULT_ADIS16507_MODE = spi::SpiModes::MODE_3;
static constexpr uint32_t RW_SPEED = 300'000;
static constexpr spi::SpiModes RW_MODE = spi::SpiModes::MODE_0;
static constexpr dur_millis_t RTD_CS_TIMEOUT = 50;
#ifdef RELEASE_BUILD
static constexpr uint8_t CS_FACTOR = 1;
#else
static constexpr uint8_t CS_FACTOR = 3;
#endif
static constexpr dur_millis_t RTD_CS_TIMEOUT = 50 * CS_FACTOR;
static constexpr uint32_t RTD_SPEED = 2'000'000;
static constexpr spi::SpiModes RTD_MODE = spi::SpiModes::MODE_3;
static constexpr dur_millis_t SUS_CS_TIMEOUT = 50 * CS_FACTOR;
static constexpr dur_millis_t ACS_BOARD_CS_TIMEOUT = 50 * CS_FACTOR;
} // namespace spi
namespace uart {

View File

@ -53,7 +53,7 @@ static constexpr uint8_t VC3_QUEUE_SIZE = 50;
static constexpr uint32_t MAX_PUS_FUNNEL_QUEUE_DEPTH = 100;
static constexpr uint32_t MAX_STORED_CMDS_UDP = 120;
static constexpr uint32_t MAX_STORED_CMDS_TCP = 120;
static constexpr uint32_t MAX_STORED_CMDS_TCP = 150;
namespace acs {

View File

@ -14,12 +14,16 @@ target_sources(
PduDummy.cpp
P60DockDummy.cpp
SaDeploymentDummy.cpp
GpsDummy.cpp
GpsDhbDummy.cpp
GpsCtrlDummy.cpp
GyroAdisDummy.cpp
GyroL3GD20Dummy.cpp
MgmLIS3MDLDummy.cpp
PlPcduDummy.cpp
ScexDummy.cpp
CoreControllerDummy.cpp
PlocMpsocDummy.cpp
PlocSupervisorDummy.cpp
helpers.cpp
MgmRm3100Dummy.cpp
Tmp1075Dummy.cpp)

21
dummies/GpsCtrlDummy.cpp Normal file
View File

@ -0,0 +1,21 @@
#include "GpsCtrlDummy.h"
GpsCtrlDummy::GpsCtrlDummy(object_id_t objectId) : ExtendedControllerBase(objectId, 20) {}
ReturnValue_t GpsCtrlDummy::handleCommandMessage(CommandMessage* message) {
return returnvalue::OK;
}
void GpsCtrlDummy::performControlOperation() {}
ReturnValue_t GpsCtrlDummy::checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t* msToReachTheMode) {
return returnvalue::OK;
}
ReturnValue_t GpsCtrlDummy::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
return returnvalue::OK;
}
LocalPoolDataSetBase* GpsCtrlDummy::getDataSetHandle(sid_t sid) { return nullptr; }

20
dummies/GpsCtrlDummy.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef DUMMIES_GPSCTRLDUMMY_H_
#define DUMMIES_GPSCTRLDUMMY_H_
#include <fsfw/controller/ExtendedControllerBase.h>
class GpsCtrlDummy : public ExtendedControllerBase {
public:
GpsCtrlDummy(object_id_t objectId);
private:
ReturnValue_t handleCommandMessage(CommandMessage* message) override;
void performControlOperation() override;
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t* msToReachTheMode) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) override;
LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;
};
#endif /* DUMMIES_GPSCTRLDUMMY_H_ */

View File

@ -1,42 +1,44 @@
#include "GpsDummy.h"
#include <dummies/GpsDhbDummy.h>
#include <mission/devices/devicedefinitions/GPSDefinitions.h>
GpsDummy::GpsDummy(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) {}
GpsDummy::~GpsDummy() {}
GpsDhbDummy::~GpsDhbDummy() {}
void GpsDummy::doStartUp() {}
void GpsDhbDummy::doStartUp() {}
void GpsDummy::doShutDown() {}
void GpsDhbDummy::doShutDown() {}
ReturnValue_t GpsDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
ReturnValue_t GpsDummy::buildTransitionDeviceCommand(DeviceCommandId_t *id) {
ReturnValue_t GpsDhbDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t GpsDummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t *commandData, size_t commandDataLen) {
ReturnValue_t GpsDhbDummy::buildTransitionDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t GpsDhbDummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t *commandData,
size_t commandDataLen) {
return returnvalue::OK;
}
ReturnValue_t GpsDummy::scanForReply(const uint8_t *start, size_t len, DeviceCommandId_t *foundId,
size_t *foundLen) {
ReturnValue_t GpsDhbDummy::scanForReply(const uint8_t *start, size_t len,
DeviceCommandId_t *foundId, size_t *foundLen) {
return returnvalue::OK;
}
ReturnValue_t GpsDummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
ReturnValue_t GpsDhbDummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
return returnvalue::OK;
}
void GpsDummy::fillCommandAndReplyMap() {}
void GpsDhbDummy::fillCommandAndReplyMap() {}
uint32_t GpsDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
uint32_t GpsDhbDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
ReturnValue_t GpsDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
ReturnValue_t GpsDhbDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(GpsHyperion::LATITUDE, new PoolEntry<double>({0.0}, 1));
localDataPoolMap.emplace(GpsHyperion::LONGITUDE, new PoolEntry<double>({0.0}, 1));
localDataPoolMap.emplace(GpsHyperion::ALTITUDE, new PoolEntry<double>({0.0}));

33
dummies/GpsDhbDummy.h Normal file
View File

@ -0,0 +1,33 @@
#ifndef DUMMIES_GPSDHBDUMMY_H_
#define DUMMIES_GPSDHBDUMMY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
class GpsDhbDummy : public DeviceHandlerBase {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;
static const DeviceCommandId_t PERIODIC_REPLY = 2;
static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2;
GpsDhbDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
virtual ~GpsDhbDummy();
protected:
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;
ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t *id) override;
ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, const uint8_t *commandData,
size_t commandDataLen) override;
ReturnValue_t scanForReply(const uint8_t *start, size_t len, DeviceCommandId_t *foundId,
size_t *foundLen) override;
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) override;
void fillCommandAndReplyMap() override;
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override;
};
#endif /* DUMMIES_GPSDHBDUMMY_H_ */

View File

@ -0,0 +1,42 @@
#include "PlocMpsocDummy.h"
PlocMpsocDummy::PlocMpsocDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
PlocMpsocDummy::~PlocMpsocDummy() {}
void PlocMpsocDummy::doStartUp() {}
void PlocMpsocDummy::doShutDown() {}
ReturnValue_t PlocMpsocDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t PlocMpsocDummy::buildTransitionDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t PlocMpsocDummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t *commandData,
size_t commandDataLen) {
return returnvalue::OK;
}
ReturnValue_t PlocMpsocDummy::scanForReply(const uint8_t *start, size_t len,
DeviceCommandId_t *foundId, size_t *foundLen) {
return returnvalue::OK;
}
ReturnValue_t PlocMpsocDummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
return returnvalue::OK;
}
void PlocMpsocDummy::fillCommandAndReplyMap() {}
uint32_t PlocMpsocDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
ReturnValue_t PlocMpsocDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
return returnvalue::OK;
}

View File

@ -1,9 +1,8 @@
#ifndef DUMMIES_GPSDUMMY_H_
#define DUMMIES_GPSDUMMY_H_
#pragma once
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
class GpsDummy : public DeviceHandlerBase {
class PlocMpsocDummy : public DeviceHandlerBase {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;
static const DeviceCommandId_t PERIODIC_REPLY = 2;
@ -11,8 +10,8 @@ class GpsDummy : public DeviceHandlerBase {
static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2;
GpsDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
virtual ~GpsDummy();
PlocMpsocDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
virtual ~PlocMpsocDummy();
protected:
void doStartUp() override;
@ -29,5 +28,3 @@ class GpsDummy : public DeviceHandlerBase {
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override;
};
#endif /* DUMMIES_GPSDUMMY_H_ */

View File

@ -0,0 +1,44 @@
#include "PlocSupervisorDummy.h"
PlocSupervisorDummy::PlocSupervisorDummy(object_id_t objectId, object_id_t comif,
CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
PlocSupervisorDummy::~PlocSupervisorDummy() {}
void PlocSupervisorDummy::doStartUp() {}
void PlocSupervisorDummy::doShutDown() {}
ReturnValue_t PlocSupervisorDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t PlocSupervisorDummy::buildTransitionDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t PlocSupervisorDummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t *commandData,
size_t commandDataLen) {
return returnvalue::OK;
}
ReturnValue_t PlocSupervisorDummy::scanForReply(const uint8_t *start, size_t len,
DeviceCommandId_t *foundId, size_t *foundLen) {
return returnvalue::OK;
}
ReturnValue_t PlocSupervisorDummy::interpretDeviceReply(DeviceCommandId_t id,
const uint8_t *packet) {
return returnvalue::OK;
}
void PlocSupervisorDummy::fillCommandAndReplyMap() {}
uint32_t PlocSupervisorDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
ReturnValue_t PlocSupervisorDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
return returnvalue::OK;
}

View File

@ -0,0 +1,30 @@
#pragma once
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
class PlocSupervisorDummy : public DeviceHandlerBase {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;
static const DeviceCommandId_t PERIODIC_REPLY = 2;
static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2;
PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
virtual ~PlocSupervisorDummy();
protected:
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;
ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t *id) override;
ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, const uint8_t *commandData,
size_t commandDataLen) override;
ReturnValue_t scanForReply(const uint8_t *start, size_t len, DeviceCommandId_t *foundId,
size_t *foundLen) override;
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) override;
void fillCommandAndReplyMap() override;
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override;
};

40
dummies/ScexDummy.cpp Normal file
View File

@ -0,0 +1,40 @@
#include "ScexDummy.h"
ScexDummy::ScexDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie)
: DeviceHandlerBase(objectId, comif, comCookie) {}
ScexDummy::~ScexDummy() {}
void ScexDummy::doStartUp() {}
void ScexDummy::doShutDown() {}
ReturnValue_t ScexDummy::buildNormalDeviceCommand(DeviceCommandId_t *id) { return NOTHING_TO_SEND; }
ReturnValue_t ScexDummy::buildTransitionDeviceCommand(DeviceCommandId_t *id) {
return NOTHING_TO_SEND;
}
ReturnValue_t ScexDummy::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t *commandData,
size_t commandDataLen) {
return returnvalue::OK;
}
ReturnValue_t ScexDummy::scanForReply(const uint8_t *start, size_t len, DeviceCommandId_t *foundId,
size_t *foundLen) {
return returnvalue::OK;
}
ReturnValue_t ScexDummy::interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) {
return returnvalue::OK;
}
void ScexDummy::fillCommandAndReplyMap() {}
uint32_t ScexDummy::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
ReturnValue_t ScexDummy::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) {
return returnvalue::OK;
}

30
dummies/ScexDummy.h Normal file
View File

@ -0,0 +1,30 @@
#pragma once
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
class ScexDummy : public DeviceHandlerBase {
public:
static const DeviceCommandId_t SIMPLE_COMMAND = 1;
static const DeviceCommandId_t PERIODIC_REPLY = 2;
static const uint8_t SIMPLE_COMMAND_DATA = 1;
static const uint8_t PERIODIC_REPLY_DATA = 2;
ScexDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie);
virtual ~ScexDummy();
protected:
void doStartUp() override;
void doShutDown() override;
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override;
ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t *id) override;
ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, const uint8_t *commandData,
size_t commandDataLen) override;
ReturnValue_t scanForReply(const uint8_t *start, size_t len, DeviceCommandId_t *foundId,
size_t *foundLen) override;
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) override;
void fillCommandAndReplyMap() override;
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override;
};

View File

@ -5,7 +5,8 @@
#include <dummies/ComCookieDummy.h>
#include <dummies/ComIFDummy.h>
#include <dummies/CoreControllerDummy.h>
#include <dummies/GpsDummy.h>
#include <dummies/GpsCtrlDummy.h>
#include <dummies/GpsDhbDummy.h>
#include <dummies/GyroAdisDummy.h>
#include <dummies/GyroL3GD20Dummy.h>
#include <dummies/ImtqDummy.h>
@ -14,20 +15,29 @@
#include <dummies/P60DockDummy.h>
#include <dummies/PduDummy.h>
#include <dummies/PlPcduDummy.h>
#include <dummies/PlocMpsocDummy.h>
#include <dummies/PlocSupervisorDummy.h>
#include <dummies/RwDummy.h>
#include <dummies/SaDeploymentDummy.h>
#include <dummies/ScexDummy.h>
#include <dummies/StarTrackerDummy.h>
#include <dummies/SusDummy.h>
#include <dummies/SyrlinksDummy.h>
#include <fsfw_hal/common/gpio/GpioIF.h>
#include <mission/system/objects/CamSwitcher.h>
#include <mission/system/objects/TcsBoardAssembly.h>
#include "TemperatureSensorInserter.h"
#include "dummies/Max31865Dummy.h"
#include "dummies/Tmp1075Dummy.h"
#include "mission/core/GenericFactory.h"
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include "mission/system/tree/acsModeTree.h"
#include "mission/system/tree/comModeTree.h"
#include "mission/system/tree/payloadModeTree.h"
#include "mission/system/tree/tcsModeTree.h"
using namespace dummy;
void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch) {
void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpioIF) {
new ComIFDummy(objects::DUMMY_COM_IF);
auto* comCookieDummy = new ComCookieDummy();
new BpxDummy(objects::BPX_BATT_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
@ -37,17 +47,25 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch) {
if (cfg.addRtdComIFDummy) {
new ComIFDummy(objects::SPI_RTD_COM_IF);
}
new RwDummy(objects::RW1, objects::DUMMY_COM_IF, comCookieDummy);
new RwDummy(objects::RW2, objects::DUMMY_COM_IF, comCookieDummy);
new RwDummy(objects::RW3, objects::DUMMY_COM_IF, comCookieDummy);
new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy);
std::array<object_id_t, 4> rwIds = {objects::RW1, objects::RW2, objects::RW3, objects::RW4};
std::array<DeviceHandlerBase*, 4> rws;
rws[0] = new RwDummy(objects::RW1, 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[3] = new RwDummy(objects::RW4, objects::DUMMY_COM_IF, comCookieDummy);
ObjectFactory::createRwAssy(pwrSwitcher, pcdu::Switches::PDU2_CH2_RW_5V, rws, rwIds);
new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER);
new StarTrackerDummy(objects::STAR_TRACKER, objects::DUMMY_COM_IF, comCookieDummy);
auto* strDummy =
new StarTrackerDummy(objects::STAR_TRACKER, objects::DUMMY_COM_IF, comCookieDummy);
strDummy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
if (cfg.addSyrlinksDummies) {
new SyrlinksDummy(objects::SYRLINKS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
auto* syrlinksDummy =
new SyrlinksDummy(objects::SYRLINKS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
syrlinksDummy->connectModeTreeParent(satsystem::com::SUBSYSTEM);
}
auto* imtqDummy = new ImtqDummy(objects::IMTQ_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
imtqDummy->enableThermalModule(ThermalStateCfg());
imtqDummy->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
if (cfg.addPowerDummies) {
new AcuDummy(objects::ACU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new PduDummy(objects::PDU1_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
@ -56,103 +74,147 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch) {
}
if (cfg.addAcsBoardDummies) {
new GyroAdisDummy(objects::GYRO_0_ADIS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new GyroL3GD20Dummy(objects::GYRO_1_L3G_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new GyroAdisDummy(objects::GYRO_2_ADIS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new GyroL3GD20Dummy(objects::GYRO_3_L3G_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new MgmLIS3MDLDummy(objects::MGM_0_LIS3_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new MgmLIS3MDLDummy(objects::MGM_2_LIS3_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new MgmRm3100Dummy(objects::MGM_1_RM3100_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new MgmRm3100Dummy(objects::MGM_3_RM3100_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new GpsDummy(objects::GPS_CONTROLLER, objects::DUMMY_COM_IF, comCookieDummy);
std::array<DeviceHandlerBase*, 8> assemblyDhbs;
assemblyDhbs[0] =
new MgmLIS3MDLDummy(objects::MGM_0_LIS3_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[1] =
new MgmLIS3MDLDummy(objects::MGM_2_LIS3_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[2] =
new MgmRm3100Dummy(objects::MGM_1_RM3100_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[3] =
new MgmRm3100Dummy(objects::MGM_3_RM3100_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[4] =
new GyroAdisDummy(objects::GYRO_0_ADIS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[5] =
new GyroL3GD20Dummy(objects::GYRO_1_L3G_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[6] =
new GyroAdisDummy(objects::GYRO_2_ADIS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
assemblyDhbs[7] =
new GyroL3GD20Dummy(objects::GYRO_3_L3G_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
auto* gpsCtrl = new GpsCtrlDummy(objects::GPS_CONTROLLER);
ObjectFactory::createAcsBoardAssy(pwrSwitcher, assemblyDhbs, gpsCtrl, gpioIF);
}
if (cfg.addSusDummies) {
new SusDummy(objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_1_N_LOC_XBYFZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_3_N_LOC_XFYBZF_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_5_N_LOC_XFYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_7_R_LOC_XBYBZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_9_R_LOC_XBYBZB_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
new SusDummy(objects::SUS_11_R_LOC_XBYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
std::array<DeviceHandlerBase*, 12> suses;
suses[0] =
new SusDummy(objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
suses[1] =
new SusDummy(objects::SUS_1_N_LOC_XBYFZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
suses[2] =
new SusDummy(objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
suses[3] =
new SusDummy(objects::SUS_3_N_LOC_XFYBZF_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
suses[4] =
new SusDummy(objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
suses[5] =
new SusDummy(objects::SUS_5_N_LOC_XFYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
suses[6] =
new SusDummy(objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::DUMMY_COM_IF, comCookieDummy);
suses[7] =
new SusDummy(objects::SUS_7_R_LOC_XBYBZM_PT_XB, objects::DUMMY_COM_IF, comCookieDummy);
suses[8] =
new SusDummy(objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::DUMMY_COM_IF, comCookieDummy);
suses[9] =
new SusDummy(objects::SUS_9_R_LOC_XBYBZB_PT_YF, objects::DUMMY_COM_IF, comCookieDummy);
suses[10] =
new SusDummy(objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::DUMMY_COM_IF, comCookieDummy);
suses[11] =
new SusDummy(objects::SUS_11_R_LOC_XBYMZB_PT_ZB, objects::DUMMY_COM_IF, comCookieDummy);
ObjectFactory::createSusAssy(pwrSwitcher, suses);
}
if (cfg.addTempSensorDummies) {
std::map<object_id_t, Max31865Dummy*> tempSensorDummies;
tempSensorDummies.emplace(objects::RTD_0_IC3_PLOC_HEATSPREADER,
new Max31865Dummy(objects::RTD_0_IC3_PLOC_HEATSPREADER,
objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(objects::RTD_1_IC4_PLOC_MISSIONBOARD,
new Max31865Dummy(objects::RTD_1_IC4_PLOC_MISSIONBOARD,
objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
std::map<object_id_t, Max31865Dummy*> rtdSensorDummies;
rtdSensorDummies.emplace(objects::RTD_0_IC3_PLOC_HEATSPREADER,
new Max31865Dummy(objects::RTD_0_IC3_PLOC_HEATSPREADER,
objects::DUMMY_COM_IF, comCookieDummy));
rtdSensorDummies.emplace(objects::RTD_1_IC4_PLOC_MISSIONBOARD,
new Max31865Dummy(objects::RTD_1_IC4_PLOC_MISSIONBOARD,
objects::DUMMY_COM_IF, comCookieDummy));
rtdSensorDummies.emplace(
objects::RTD_2_IC5_4K_CAMERA,
new Max31865Dummy(objects::RTD_2_IC5_4K_CAMERA, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(objects::RTD_3_IC6_DAC_HEATSPREADER,
new Max31865Dummy(objects::RTD_3_IC6_DAC_HEATSPREADER,
objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(objects::RTD_3_IC6_DAC_HEATSPREADER,
new Max31865Dummy(objects::RTD_3_IC6_DAC_HEATSPREADER,
objects::DUMMY_COM_IF, comCookieDummy));
rtdSensorDummies.emplace(
objects::RTD_4_IC7_STARTRACKER,
new Max31865Dummy(objects::RTD_4_IC7_STARTRACKER, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_5_IC8_RW1_MX_MY,
new Max31865Dummy(objects::RTD_5_IC8_RW1_MX_MY, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_6_IC9_DRO,
new Max31865Dummy(objects::RTD_6_IC9_DRO, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_7_IC10_SCEX,
new Max31865Dummy(objects::RTD_7_IC10_SCEX, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_8_IC11_X8,
new Max31865Dummy(objects::RTD_8_IC11_X8, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_9_IC12_HPA,
new Max31865Dummy(objects::RTD_9_IC12_HPA, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_10_IC13_PL_TX,
new Max31865Dummy(objects::RTD_10_IC13_PL_TX, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_11_IC14_MPA,
new Max31865Dummy(objects::RTD_11_IC14_MPA, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_12_IC15_ACU,
new Max31865Dummy(objects::RTD_12_IC15_ACU, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(objects::RTD_13_IC16_PLPCDU_HEATSPREADER,
new Max31865Dummy(objects::RTD_13_IC16_PLPCDU_HEATSPREADER,
objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(objects::RTD_13_IC16_PLPCDU_HEATSPREADER,
new Max31865Dummy(objects::RTD_13_IC16_PLPCDU_HEATSPREADER,
objects::DUMMY_COM_IF, comCookieDummy));
rtdSensorDummies.emplace(
objects::RTD_14_IC17_TCS_BOARD,
new Max31865Dummy(objects::RTD_14_IC17_TCS_BOARD, objects::DUMMY_COM_IF, comCookieDummy));
tempSensorDummies.emplace(
rtdSensorDummies.emplace(
objects::RTD_15_IC18_IMTQ,
new Max31865Dummy(objects::RTD_15_IC18_IMTQ, objects::DUMMY_COM_IF, comCookieDummy));
std::map<object_id_t, Tmp1075Dummy*> tempTmpSensorDummies;
tempTmpSensorDummies.emplace(
std::map<object_id_t, Tmp1075Dummy*> tmpSensorDummies;
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_TCS_0,
new Tmp1075Dummy(objects::TMP1075_HANDLER_TCS_0, objects::DUMMY_COM_IF, comCookieDummy));
tempTmpSensorDummies.emplace(
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_TCS_1,
new Tmp1075Dummy(objects::TMP1075_HANDLER_TCS_1, objects::DUMMY_COM_IF, comCookieDummy));
tempTmpSensorDummies.emplace(
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_PLPCDU_0,
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_0, objects::DUMMY_COM_IF, comCookieDummy));
tempTmpSensorDummies.emplace(
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_PLPCDU_1,
new Tmp1075Dummy(objects::TMP1075_HANDLER_PLPCDU_1, objects::DUMMY_COM_IF, comCookieDummy));
tempTmpSensorDummies.emplace(
tmpSensorDummies.emplace(
objects::TMP1075_HANDLER_IF_BOARD,
new Tmp1075Dummy(objects::TMP1075_HANDLER_IF_BOARD, objects::DUMMY_COM_IF, comCookieDummy));
new TemperatureSensorInserter(objects::THERMAL_TEMP_INSERTER, tempSensorDummies,
tempTmpSensorDummies);
new TemperatureSensorInserter(objects::THERMAL_TEMP_INSERTER, rtdSensorDummies,
tmpSensorDummies);
TcsBoardAssembly* tcsBoardAssy = ObjectFactory::createTcsBoardAssy(pwrSwitcher);
for (auto& rtd : rtdSensorDummies) {
rtd.second->connectModeTreeParent(*tcsBoardAssy);
}
for (auto& tmp : tmpSensorDummies) {
tmp.second->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
}
}
auto* camSwitcher = new CamSwitcher(objects::CAM_SWITCHER, pwrSwitcher, power::NO_SWITCH);
camSwitcher->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
auto* scexDummy = new ScexDummy(objects::SCEX, objects::DUMMY_COM_IF, comCookieDummy);
scexDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
auto* plPcduDummy =
new PlPcduDummy(objects::PLPCDU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
plPcduDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
if (cfg.addPlocDummies) {
auto* plocMpsocDummy =
new PlocMpsocDummy(objects::PLOC_MPSOC_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
plocMpsocDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
auto* plocSupervisorDummy = new PlocSupervisorDummy(objects::PLOC_SUPERVISOR_HANDLER,
objects::DUMMY_COM_IF, comCookieDummy);
plocSupervisorDummy->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
}
new CamSwitcher(objects::CAM_SWITCHER, pwrSwitch, power::NO_SWITCH);
new PlPcduDummy(objects::PLPCDU_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
}

View File

@ -2,6 +2,8 @@
#include <fsfw/power/PowerSwitchIF.h>
class GpioIF;
namespace dummy {
struct DummyCfg {
@ -12,8 +14,9 @@ struct DummyCfg {
bool addSusDummies = true;
bool addTempSensorDummies = true;
bool addRtdComIFDummy = true;
bool addPlocDummies = true;
};
void createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch);
void createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch, GpioIF* gpioIF);
} // namespace dummy

2
fsfw

Submodule fsfw updated: d302ba7185...9de6c4b3aa

View File

@ -1,23 +1,13 @@
Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x0000;OK;System-wide code for ok.;0;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
0x0001;Failed;Unspecified system-wide code for failed.;1;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NVMParameterBase.h
0x6300;NVMB_Busy;;0;NVM_PARAM_BASE;mission/system/objects/Stack5VHandler.h
0x58a0;SUSS_ErrorUnlockMutex;;160;SUS_HANDLER;mission/devices/SusHandler.h
0x58a1;SUSS_ErrorLockMutex;;161;SUS_HANDLER;mission/devices/SusHandler.h
0x66a0;SADPL_CommandNotSupported;;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a1;SADPL_DeploymentAlreadyExecuting;;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a2;SADPL_MainSwitchTimeoutFailure;;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a3;SADPL_SwitchingDeplSa1Failed;;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a4;SADPL_SwitchingDeplSa2Failed;;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x51a0;IMTQ_InvalidCommandCode;;160;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a1;IMTQ_ParameterMissing;;161;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a2;IMTQ_ParameterInvalid;;162;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a3;IMTQ_CcUnavailable;;163;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a4;IMTQ_InternalProcessingError;;164;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a5;IMTQ_RejectedWithoutReason;;165;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a6;IMTQ_CmdErrUnknown;;166;IMTQ_HANDLER;mission/devices/ImtqHandler.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/ImtqHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
0x5d00;GOMS_PacketTooLong;;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d01;GOMS_InvalidTableId;;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d02;GOMS_InvalidAddress;;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d03;GOMS_InvalidParamSize;;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d04;GOMS_InvalidPayloadSize;;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d05;GOMS_UnknownReplyId;;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x52b0;RWHA_SpiWriteFailure;;176;RW_HANDLER;mission/devices/RwHandler.h
0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/devices/RwHandler.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/RwHandler.h
@ -30,6 +20,21 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x52a2;RWHA_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;RW_HANDLER;mission/devices/RwHandler.h
0x52a3;RWHA_ExecutionFailed;Command execution failed;163;RW_HANDLER;mission/devices/RwHandler.h
0x52a4;RWHA_CrcError;Reaction wheel reply has invalid crc;164;RW_HANDLER;mission/devices/RwHandler.h
0x4fa1;HEATER_CommandNotSupported;;161;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa2;HEATER_InitFailed;;162;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa3;HEATER_InvalidSwitchNr;;163;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa4;HEATER_MainSwitchSetTimeout;;164;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa5;HEATER_CommandAlreadyWaiting;;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x58a0;SUSS_ErrorUnlockMutex;;160;SUS_HANDLER;mission/devices/SusHandler.h
0x58a1;SUSS_ErrorLockMutex;;161;SUS_HANDLER;mission/devices/SusHandler.h
0x51a0;IMTQ_InvalidCommandCode;;160;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a1;IMTQ_ParameterMissing;;161;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a2;IMTQ_ParameterInvalid;;162;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a3;IMTQ_CcUnavailable;;163;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a4;IMTQ_InternalProcessingError;;164;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a5;IMTQ_RejectedWithoutReason;;165;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a6;IMTQ_CmdErrUnknown;;166;IMTQ_HANDLER;mission/devices/ImtqHandler.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/ImtqHandler.h
0x50a0;SYRLINKS_CrcFailure;;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a2;SYRLINKS_BadCharacterAck;;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
@ -39,123 +44,137 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x50a6;SYRLINKS_BadCrcAck;;166;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a7;SYRLINKS_ReplyWrongSize;;167;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a8;SYRLINKS_MissingStartFrameCharacter;;168;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x5d00;GOMS_PacketTooLong;;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d01;GOMS_InvalidTableId;;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d02;GOMS_InvalidAddress;;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d03;GOMS_InvalidParamSize;;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d04;GOMS_InvalidPayloadSize;;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d05;GOMS_UnknownReplyId;;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x4fa1;HEATER_CommandNotSupported;;161;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa2;HEATER_InitFailed;;162;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa3;HEATER_InvalidSwitchNr;;163;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa4;HEATER_MainSwitchSetTimeout;;164;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa5;HEATER_CommandAlreadyWaiting;;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
0x6a01;ACSSAF_SafectrlMekfInputInvalid;;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x66a0;SADPL_CommandNotSupported;;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a1;SADPL_DeploymentAlreadyExecuting;;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a2;SADPL_MainSwitchTimeoutFailure;;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a3;SADPL_SwitchingDeplSa1Failed;;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a4;SADPL_SwitchingDeplSa2Failed;;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x6600;SADPL_Busy;;0;SA_DEPL_HANDLER;mission/system/objects/Stack5VHandler.h
0x6b01;ACSPTG_PtgctrlMekfInputInvalid;;1;ACS_PTG;mission/controller/acs/control/PtgCtrl.h
0x6a01;ACSSAF_SafectrlMekfInputInvalid;;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6c01;ACSDTB_DetumbleNoSensordata;;1;ACS_DETUMBLE;mission/controller/acs/control/Detumble.h
0x6901;ACSKAL_KalmanNoGyrMeas;;1;ACS_KALMAN;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6902;ACSKAL_KalmanNoModel;;2;ACS_KALMAN;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6903;ACSKAL_KalmanInversionFailed;;3;ACS_KALMAN;mission/controller/acs/MultiplicativeKalmanFilter.h
0x4500;HSPI_OpeningFileFailed;;0;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
0x4501;HSPI_FullDuplexTransferFailed;;1;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
0x4502;HSPI_HalfDuplexTransferFailed;;2;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
0x4801;HGIO_UnknownGpioId;;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4802;HGIO_DriveGpioFailure;;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4803;HGIO_GpioTypeFailure;;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4804;HGIO_GpioInvalidInstance;;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4805;HGIO_GpioDuplicateDetected;;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4806;HGIO_GpioInitFailed;;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4807;HGIO_GpioGetValueFailed;;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4601;HURT_UartReadFailure;;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4602;HURT_UartReadSizeMissmatch;;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4603;HURT_UartRxBufferTooSmall;;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4406;UXOS_PcloseCallError;;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x2801;SM_DataTooLarge;;1;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2802;SM_DataStorageFull;;2;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2803;SM_IllegalStorageId;;3;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2804;SM_DataDoesNotExist;;4;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2805;SM_IllegalAddress;;5;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2806;SM_PoolTooLarge;;6;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x0601;PP_DoItMyself;;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0602;PP_PointsToVariable;;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0603;PP_PointsToMemory;;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0604;PP_ActivityCompleted;;4;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0605;PP_PointsToVectorUint8;;5;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0606;PP_PointsToVectorUint16;;6;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0607;PP_PointsToVectorUint32;;7;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0608;PP_PointsToVectorFloat;;8;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06a0;PP_DumpNotSupported;;160;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e0;PP_InvalidSize;;224;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e1;PP_InvalidAddress;;225;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e2;PP_InvalidContent;;226;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e3;PP_UnalignedAccess;;227;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e4;PP_WriteProtected;;228;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x13e0;MH_UnknownCmd;;224;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e1;MH_InvalidAddress;;225;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e2;MH_InvalidSize;;226;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e3;MH_StateMismatch;;227;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x38a1;SGP4_InvalidEccentricity;;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a2;SGP4_InvalidMeanMotion;;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a3;SGP4_InvalidPerturbationElements;;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a4;SGP4_InvalidSemiLatusRectum;;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a5;SGP4_InvalidEpochElements;;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a6;SGP4_SatelliteHasDecayed;;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b1;SGP4_TleTooOld;;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b2;SGP4_TleNotInitialized;;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x1801;FF_Full;;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1802;FF_Empty;;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1601;FMM_MapFull;;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x1602;FMM_KeyDoesNotExist;;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x3901;MUX_NotEnoughResources;;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3902;MUX_InsufficientMemory;;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3903;MUX_NoPrivilege;;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3904;MUX_WrongAttributeSetting;;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3905;MUX_MutexAlreadyLocked;;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3906;MUX_MutexNotFound;;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3907;MUX_MutexMaxLocks;;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3908;MUX_CurrThreadAlreadyOwnsMutex;;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3909;MUX_CurrThreadDoesNotOwnMutex;;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390a;MUX_MutexTimeout;;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390b;MUX_MutexInvalidId;;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390c;MUX_MutexDestroyedWhileWaiting;;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3a01;MQI_Empty;;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x0f01;CM_UnknownCommand;;1;COMMAND_MESSAGE;fsfw/src/fsfw/ipc/CommandMessageIF.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NVMParameterBase.h
0x2c01;CCS_BcIsSetVrCommand;;1;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2c02;CCS_BcIsUnlockCommand;;2;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb0;CCS_BcIllegalCommand;;176;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb1;CCS_BoardReadingNotFinished;;177;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf0;CCS_NsPositiveW;;240;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf1;CCS_NsNegativeW;;241;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf2;CCS_NsLockout;;242;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf3;CCS_FarmInLockout;;243;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf4;CCS_FarmInWait;;244;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce0;CCS_WrongSymbol;;224;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce1;CCS_DoubleStart;;225;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce2;CCS_StartSymbolMissed;;226;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce3;CCS_EndWithoutStart;;227;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce4;CCS_TooLarge;;228;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce5;CCS_TooShort;;229;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce6;CCS_WrongTfVersion;;230;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce7;CCS_WrongSpacecraftId;;231;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce8;CCS_NoValidFrameType;;232;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce9;CCS_CrcFailed;;233;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cea;CCS_VcNotFound;;234;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ceb;CCS_ForwardingFailed;;235;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cec;CCS_ContentTooLarge;;236;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ced;CCS_ResidualData;;237;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cee;CCS_DataCorrupted;;238;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cef;CCS_IllegalSegmentationFlag;;239;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd0;CCS_IllegalFlagCombination;;208;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd1;CCS_ShorterThanHeader;;209;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd2;CCS_TooShortBlockedPacket;;210;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd3;CCS_TooShortMapExtraction;;211;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x3b00;SPH_ConnBroken;;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
0x2a01;IEC_NoConfigurationTable;;1;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a02;IEC_NoCpuTable;;2;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a03;IEC_InvalidWorkspaceAddress;;3;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a04;IEC_TooLittleWorkspace;;4;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a05;IEC_WorkspaceAllocation;;5;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a06;IEC_InterruptStackTooSmall;;6;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a07;IEC_ThreadExitted;;7;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a08;IEC_InconsistentMpInformation;;8;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a09;IEC_InvalidNode;;9;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0a;IEC_NoMpci;;10;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0b;IEC_BadPacket;;11;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0c;IEC_OutOfPackets;;12;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0d;IEC_OutOfGlobalObjects;;13;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0e;IEC_OutOfProxies;;14;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0f;IEC_InvalidGlobalId;;15;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a10;IEC_BadStackHook;;16;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a11;IEC_BadAttributes;;17;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a12;IEC_ImplementationKeyCreateInconsistency;;18;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a13;IEC_ImplementationBlockingOperationCancel;;19;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a14;IEC_MutexObtainFromBadState;;20;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a15;IEC_UnlimitedAndMaximumIs0;;21;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x0e01;HM_InvalidMode;;1;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0e02;HM_TransNotAllowed;;2;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0e03;HM_InTransition;;3;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0e04;HM_InvalidSubmode;;4;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0c02;MS_InvalidEntry;;2;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c03;MS_TooManyElements;;3;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c04;MS_CantStoreEmpty;;4;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0b01;SB_ChildNotFound;;1;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b02;SB_ChildInfoUpdated;;2;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b03;SB_ChildDoesntHaveModes;;3;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b04;SB_CouldNotInsertChild;;4;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b05;SB_TableContainsInvalidObjectId;;5;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0d01;SS_SequenceAlreadyExists;;1;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d02;SS_TableAlreadyExists;;2;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d03;SS_TableDoesNotExist;;3;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d04;SS_TableOrSequenceLengthInvalid;;4;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d05;SS_SequenceDoesNotExist;;5;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d06;SS_TableContainsInvalidObjectId;;6;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d07;SS_FallbackSequenceDoesNotExist;;7;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d08;SS_NoTargetTable;;8;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d09;SS_SequenceOrTableTooLong;;9;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0b;SS_IsFallbackSequence;;11;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0c;SS_AccessDenied;;12;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0e;SS_TableInUse;;14;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da1;SS_TargetTableNotReached;;161;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da2;SS_TableCheckFailed;;162;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x2501;EV_ListenerNotFound;;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
0x2e01;HPA_InvalidIdentifierId;;1;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e02;HPA_InvalidDomainId;;2;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e03;HPA_InvalidValue;;3;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e05;HPA_ReadOnly;;5;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2d01;PAW_UnknownDatatype;;1;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d02;PAW_DatatypeMissmatch;;2;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d03;PAW_Readonly;;3;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d04;PAW_TooBig;;4;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d05;PAW_SourceNotSet;;5;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d06;PAW_OutOfBounds;;6;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d07;PAW_NotSet;;7;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d08;PAW_ColumnOrRowsZero;;8;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x3201;CF_ObjectHasNoFunctions;;1;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3202;CF_AlreadyCommanding;;2;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3301;HF_IsBusy;;1;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3302;HF_InvalidParameters;;2;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3303;HF_ExecutionFinished;;3;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3304;HF_InvalidActionId;;4;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x0201;OM_InsertionFailed;;1;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0202;OM_NotFound;;2;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0203;OM_ChildInitFailed;;3;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0204;OM_InternalErrReporterUninit;;4;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x2600;FDI_YourFault;;0;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2601;FDI_MyFault;;1;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2602;FDI_ConfirmLater;;2;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2201;TMF_Busy;;1;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2202;TMF_LastPacketFound;;2;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2203;TMF_StopFetch;;3;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2204;TMF_Timeout;;4;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2205;TMF_TmChannelFull;;5;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2206;TMF_NotStored;;6;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2207;TMF_AllDeleted;;7;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2208;TMF_InvalidData;;8;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2209;TMF_NotReady;;9;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2101;TMB_Busy;;1;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2102;TMB_Full;;2;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2103;TMB_Empty;;3;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2104;TMB_NullRequested;;4;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2105;TMB_TooLarge;;5;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2106;TMB_NotReady;;6;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2107;TMB_DumpError;;7;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2108;TMB_CrcError;;8;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2109;TMB_Timeout;;9;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210a;TMB_IdlePacketFound;;10;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210b;TMB_TelecommandFound;;11;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210c;TMB_NoPusATm;;12;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210d;TMB_TooSmall;;13;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210e;TMB_BlockNotFound;;14;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210f;TMB_InvalidRequest;;15;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x1c01;TCD_PacketLost;;1;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c02;TCD_DestinationNotFound;;2;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c03;TCD_ServiceIdAlreadyExists;;3;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1b00;TCC_NoDestinationFound;;0;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b01;TCC_InvalidCcsdsVersion;;1;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b02;TCC_InvalidApid;;2;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b03;TCC_InvalidPacketType;;3;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b04;TCC_InvalidSecHeaderField;;4;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b05;TCC_IncorrectPrimaryHeader;;5;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b07;TCC_IncompletePacket;;7;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b08;TCC_InvalidPusVersion;;8;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b09;TCC_IncorrectChecksum;;9;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0a;TCC_IllegalPacketSubtype;;10;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0b;TCC_IncorrectSecondaryHeader;;11;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x04e1;RMP_CommandNoDescriptorsAvailable;;225;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x04e2;RMP_CommandBufferFull;;226;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x04e3;RMP_CommandChannelOutOfRange;;227;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
@ -196,9 +215,95 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x040a;RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x040b;RMP_ReplyRmwDataLengthError;;11;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x040c;RMP_ReplyInvalidTargetLogicalAddress;;12;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x1401;SE_BufferTooShort;;1;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1402;SE_StreamTooShort;;2;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1403;SE_TooManyElements;;3;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x2801;SM_DataTooLarge;;1;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2802;SM_DataStorageFull;;2;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2803;SM_IllegalStorageId;;3;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2804;SM_DataDoesNotExist;;4;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2805;SM_IllegalAddress;;5;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2806;SM_PoolTooLarge;;6;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x38a1;SGP4_InvalidEccentricity;;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a2;SGP4_InvalidMeanMotion;;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a3;SGP4_InvalidPerturbationElements;;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a4;SGP4_InvalidSemiLatusRectum;;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a5;SGP4_InvalidEpochElements;;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a6;SGP4_SatelliteHasDecayed;;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b1;SGP4_TleTooOld;;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b2;SGP4_TleNotInitialized;;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x2401;MT_NoPacketFound;;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
0x2402;MT_PossiblePacketLoss;;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
0x2403;MT_NoMatch;;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2404;MT_Full;;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2405;MT_NewNodeCreated;;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x3f01;DLEE_StreamTooShort;;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
0x3f02;DLEE_DecodingError;;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
0x2f01;ASC_TooLongForTargetType;;1;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f02;ASC_InvalidCharacters;;2;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f03;ASC_BufferTooSmall;;3;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x0f01;CM_UnknownCommand;;1;COMMAND_MESSAGE;fsfw/src/fsfw/ipc/CommandMessageIF.h
0x3a01;MQI_Empty;;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3901;MUX_NotEnoughResources;;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3902;MUX_InsufficientMemory;;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3903;MUX_NoPrivilege;;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3904;MUX_WrongAttributeSetting;;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3905;MUX_MutexAlreadyLocked;;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3906;MUX_MutexNotFound;;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3907;MUX_MutexMaxLocks;;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3908;MUX_CurrThreadAlreadyOwnsMutex;;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3909;MUX_CurrThreadDoesNotOwnMutex;;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390a;MUX_MutexTimeout;;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390b;MUX_MutexInvalidId;;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390c;MUX_MutexDestroyedWhileWaiting;;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3b01;SPH_SemaphoreTimeout;;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b02;SPH_SemaphoreNotOwned;;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b03;SPH_SemaphoreInvalid;;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x1e00;PUS_InvalidPusVersion;;0;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x1e01;PUS_InvalidCrc16;;1;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x3601;CFDP_InvalidTlvType;;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3602;CFDP_InvalidDirectiveField;;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3603;CFDP_InvalidPduDatafieldLen;;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3604;CFDP_InvalidAckDirectiveFields;;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3605;CFDP_MetadataCantParseOptions;;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3606;CFDP_NakCantParseOptions;;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3607;CFDP_FinishedCantParseFsResponses;;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3608;CFDP_FilestoreRequiresSecondFile;;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3609;CFDP_FilestoreResponseCantParseFsMessage;;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x360a;CFDP_InvalidPduFormat;;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x2901;TC_InvalidTargetState;;1;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f1;TC_AboveOperationalLimit;;241;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f2;TC_BelowOperationalLimit;;242;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x0c02;MS_InvalidEntry;;2;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c03;MS_TooManyElements;;3;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c04;MS_CantStoreEmpty;;4;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0d01;SS_SequenceAlreadyExists;;1;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d02;SS_TableAlreadyExists;;2;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d03;SS_TableDoesNotExist;;3;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d04;SS_TableOrSequenceLengthInvalid;;4;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d05;SS_SequenceDoesNotExist;;5;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d06;SS_TableContainsInvalidObjectId;;6;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d07;SS_FallbackSequenceDoesNotExist;;7;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d08;SS_NoTargetTable;;8;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d09;SS_SequenceOrTableTooLong;;9;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0b;SS_IsFallbackSequence;;11;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0c;SS_AccessDenied;;12;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0e;SS_TableInUse;;14;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da1;SS_TargetTableNotReached;;161;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da2;SS_TableCheckFailed;;162;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0b01;SB_ChildNotFound;;1;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b02;SB_ChildInfoUpdated;;2;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b03;SB_ChildDoesntHaveModes;;3;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b04;SB_CouldNotInsertChild;;4;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b05;SB_TableContainsInvalidObjectId;;5;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x3e00;HKM_QueueOrDestinationInvalid;;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e01;HKM_WrongHkPacketType;;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e02;HKM_ReportingStatusUnchanged;;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e03;HKM_PeriodicHelperInvalid;;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e04;HKM_PoolobjectNotFound;;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e05;HKM_DatasetNotFound;;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3c00;LPIF_PoolEntryNotFound;;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3c01;LPIF_PoolEntryTypeConflict;;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3da0;PVA_InvalidReadWriteMode;;160;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
0x3da1;PVA_InvalidPoolEntry;;161;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
0x0801;DPS_InvalidParameterDefinition;;1;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
@ -207,20 +312,35 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x0804;DPS_DataSetUninitialised;;4;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
0x0805;DPS_DataSetFull;;5;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
0x0806;DPS_PoolVarNull;;6;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
0x1c01;TCD_PacketLost;;1;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c02;TCD_DestinationNotFound;;2;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c03;TCD_ServiceIdAlreadyExists;;3;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1b00;TCC_NoDestinationFound;;0;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b01;TCC_InvalidCcsdsVersion;;1;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b02;TCC_InvalidApid;;2;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b03;TCC_InvalidPacketType;;3;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b04;TCC_InvalidSecHeaderField;;4;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b05;TCC_IncorrectPrimaryHeader;;5;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b07;TCC_IncompletePacket;;7;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b08;TCC_InvalidPusVersion;;8;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b09;TCC_IncorrectChecksum;;9;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0a;TCC_IllegalPacketSubtype;;10;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0b;TCC_IncorrectSecondaryHeader;;11;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1000;TIM_UnsupportedTimeFormat;;0;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1002;TIM_LengthMismatch;;2;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1003;TIM_InvalidTimeFormat;;3;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1004;TIM_InvalidDayOfYear;;4;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1005;TIM_TimeDoesNotFitFormat;;5;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x3701;TSI_BadTimestamp;;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
0x1d01;ATC_ActivityStarted;;1;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d02;ATC_InvalidSubservice;;2;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d03;ATC_IllegalApplicationData;;3;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d04;ATC_SendTmFailed;;4;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d05;ATC_Timeout;;5;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x4c00;SPPA_NoPacketFound;;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4c01;SPPA_SplitPacket;;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x2001;CSB_ExecutionComplete;;1;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2002;CSB_NoStepMessage;;2;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2003;CSB_ObjectBusy;;3;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2004;CSB_Busy;;4;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2005;CSB_InvalidTc;;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2006;CSB_InvalidObject;;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2007;CSB_InvalidReply;;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x1801;FF_Full;;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1802;FF_Empty;;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1601;FMM_MapFull;;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x1602;FMM_KeyDoesNotExist;;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x2501;EV_ListenerNotFound;;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
0x1701;HHI_ObjectNotHealthy;;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1702;HHI_InvalidHealthState;;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1703;HHI_IsExternallyControlled;;3;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x3001;POS_InPowerTransition;;1;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
0x3002;POS_SwitchStateMismatch;;2;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
0x0501;PS_SwitchOn;;1;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
@ -228,76 +348,23 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x0502;PS_SwitchTimeout;;2;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
0x0503;PS_FuseOn;;3;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
0x0504;PS_FuseOff;;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
0x3b00;SPH_ConnBroken;;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
0x2a01;IEC_NoConfigurationTable;;1;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a02;IEC_NoCpuTable;;2;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a03;IEC_InvalidWorkspaceAddress;;3;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a04;IEC_TooLittleWorkspace;;4;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a05;IEC_WorkspaceAllocation;;5;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a06;IEC_InterruptStackTooSmall;;6;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a07;IEC_ThreadExitted;;7;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a08;IEC_InconsistentMpInformation;;8;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a09;IEC_InvalidNode;;9;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0a;IEC_NoMpci;;10;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0b;IEC_BadPacket;;11;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0c;IEC_OutOfPackets;;12;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0d;IEC_OutOfGlobalObjects;;13;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0e;IEC_OutOfProxies;;14;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0f;IEC_InvalidGlobalId;;15;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a10;IEC_BadStackHook;;16;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a11;IEC_BadAttributes;;17;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a12;IEC_ImplementationKeyCreateInconsistency;;18;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a13;IEC_ImplementationBlockingOperationCancel;;19;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a14;IEC_MutexObtainFromBadState;;20;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a15;IEC_UnlimitedAndMaximumIs0;;21;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2600;FDI_YourFault;;0;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2601;FDI_MyFault;;1;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2602;FDI_ConfirmLater;;2;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x1e00;PUS_InvalidPusVersion;;0;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x1e01;PUS_InvalidCrc16;;1;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x0201;OM_InsertionFailed;;1;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0202;OM_NotFound;;2;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0203;OM_ChildInitFailed;;3;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0204;OM_InternalErrReporterUninit;;4;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x2201;TMF_Busy;;1;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2202;TMF_LastPacketFound;;2;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2203;TMF_StopFetch;;3;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2204;TMF_Timeout;;4;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2205;TMF_TmChannelFull;;5;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2206;TMF_NotStored;;6;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2207;TMF_AllDeleted;;7;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2208;TMF_InvalidData;;8;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2209;TMF_NotReady;;9;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2101;TMB_Busy;;1;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2102;TMB_Full;;2;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2103;TMB_Empty;;3;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2104;TMB_NullRequested;;4;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2105;TMB_TooLarge;;5;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2106;TMB_NotReady;;6;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2107;TMB_DumpError;;7;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2108;TMB_CrcError;;8;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2109;TMB_Timeout;;9;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210a;TMB_IdlePacketFound;;10;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210b;TMB_TelecommandFound;;11;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210c;TMB_NoPusATm;;12;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210d;TMB_TooSmall;;13;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210e;TMB_BlockNotFound;;14;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210f;TMB_InvalidRequest;;15;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2d01;PAW_UnknownDatatype;;1;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d02;PAW_DatatypeMissmatch;;2;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d03;PAW_Readonly;;3;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d04;PAW_TooBig;;4;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d05;PAW_SourceNotSet;;5;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d06;PAW_OutOfBounds;;6;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d07;PAW_NotSet;;7;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d08;PAW_ColumnOrRowsZero;;8;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2e01;HPA_InvalidIdentifierId;;1;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e02;HPA_InvalidDomainId;;2;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e03;HPA_InvalidValue;;3;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e05;HPA_ReadOnly;;5;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x3b01;SPH_SemaphoreTimeout;;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b02;SPH_SemaphoreNotOwned;;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b03;SPH_SemaphoreInvalid;;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x4300;FILS_GenericFileError;;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4301;FILS_GenericDirError;;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4302;FILS_FilesystemInactive;;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4303;FILS_GenericRenameError;;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4304;FILS_IsBusy;;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4305;FILS_InvalidParameters;;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430a;FILS_FileDoesNotExist;;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430b;FILS_FileAlreadyExists;;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c;FILS_NotAFile;;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d;FILS_FileLocked;;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e;FILS_PermissionDenied;;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315;FILS_DirectoryDoesNotExist;;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316;FILS_DirectoryAlreadyExists;;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317;FILS_NotADirectory;;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318;FILS_DirectoryNotEmpty;;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e;FILS_SequencePacketMissingWrite;;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f;FILS_SequencePacketMissingRead;;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x1a01;TRC_NotEnoughSensors;;1;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
0x1a02;TRC_LowestValueOol;;2;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
0x1a03;TRC_HighestValueOol;;3;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
@ -316,74 +383,36 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x31e2;LIM_WrongPid;;226;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
0x31e3;LIM_WrongLimitId;;227;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
0x31ee;LIM_MonitorNotFound;;238;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
0x3601;CFDP_InvalidTlvType;;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3602;CFDP_InvalidDirectiveField;;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3603;CFDP_InvalidPduDatafieldLen;;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3604;CFDP_InvalidAckDirectiveFields;;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3605;CFDP_MetadataCantParseOptions;;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3606;CFDP_NakCantParseOptions;;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3607;CFDP_FinishedCantParseFsResponses;;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3608;CFDP_FilestoreRequiresSecondFile;;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3609;CFDP_FilestoreResponseCantParseFsMessage;;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x360a;CFDP_InvalidPduFormat;;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x4300;FILS_GenericFileError;;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4301;FILS_GenericDirError;;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4302;FILS_FilesystemInactive;;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4303;FILS_GenericRenameError;;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4304;FILS_IsBusy;;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4305;FILS_InvalidParameters;;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430a;FILS_FileDoesNotExist;;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430b;FILS_FileAlreadyExists;;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c;FILS_NotAFile;;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d;FILS_FileLocked;;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e;FILS_PermissionDenied;;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315;FILS_DirectoryDoesNotExist;;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316;FILS_DirectoryAlreadyExists;;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317;FILS_NotADirectory;;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318;FILS_DirectoryNotEmpty;;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e;FILS_SequencePacketMissingWrite;;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f;FILS_SequencePacketMissingRead;;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x2c01;CCS_BcIsSetVrCommand;;1;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2c02;CCS_BcIsUnlockCommand;;2;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb0;CCS_BcIllegalCommand;;176;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb1;CCS_BoardReadingNotFinished;;177;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf0;CCS_NsPositiveW;;240;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf1;CCS_NsNegativeW;;241;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf2;CCS_NsLockout;;242;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf3;CCS_FarmInLockout;;243;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf4;CCS_FarmInWait;;244;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce0;CCS_WrongSymbol;;224;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce1;CCS_DoubleStart;;225;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce2;CCS_StartSymbolMissed;;226;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce3;CCS_EndWithoutStart;;227;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce4;CCS_TooLarge;;228;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce5;CCS_TooShort;;229;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce6;CCS_WrongTfVersion;;230;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce7;CCS_WrongSpacecraftId;;231;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce8;CCS_NoValidFrameType;;232;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce9;CCS_CrcFailed;;233;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cea;CCS_VcNotFound;;234;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ceb;CCS_ForwardingFailed;;235;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cec;CCS_ContentTooLarge;;236;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ced;CCS_ResidualData;;237;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cee;CCS_DataCorrupted;;238;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cef;CCS_IllegalSegmentationFlag;;239;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd0;CCS_IllegalFlagCombination;;208;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd1;CCS_ShorterThanHeader;;209;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd2;CCS_TooShortBlockedPacket;;210;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd3;CCS_TooShortMapExtraction;;211;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x4201;PUS11_InvalidTypeTimeWindow;;1;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4202;PUS11_InvalidTimeWindow;;2;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4203;PUS11_TimeshiftingNotPossible;;3;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4204;PUS11_InvalidRelativeTime;;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4205;PUS11_ContainedTcTooSmall;;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4206;PUS11_ContainedTcCrcMissmatch;;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x3401;DC_NoReplyReceived;;1;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3402;DC_ProtocolError;;2;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3403;DC_Nullpointer;;3;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3404;DC_InvalidCookieType;;4;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3405;DC_NotActive;;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3406;DC_TooMuchData;;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x0601;PP_DoItMyself;;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0602;PP_PointsToVariable;;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0603;PP_PointsToMemory;;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0604;PP_ActivityCompleted;;4;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0605;PP_PointsToVectorUint8;;5;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0606;PP_PointsToVectorUint16;;6;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0607;PP_PointsToVectorUint32;;7;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0608;PP_PointsToVectorFloat;;8;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06a0;PP_DumpNotSupported;;160;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e0;PP_InvalidSize;;224;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e1;PP_InvalidAddress;;225;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e2;PP_InvalidContent;;226;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e3;PP_UnalignedAccess;;227;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e4;PP_WriteProtected;;228;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x13e0;MH_UnknownCmd;;224;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e1;MH_InvalidAddress;;225;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e2;MH_InvalidSize;;226;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e3;MH_StateMismatch;;227;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x1201;AB_NeedSecondStep;;1;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1202;AB_NeedToReconfigure;;2;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1203;AB_ModeFallback;;3;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1204;AB_ChildNotCommandable;;4;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1205;AB_NeedToChangeHealth;;5;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x12a1;AB_NotEnoughChildrenInCorrectState;;161;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x03a0;DHB_InvalidChannel;;160;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03b0;DHB_AperiodicReply;;176;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03b1;DHB_IgnoreReplyData;;177;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
@ -393,12 +422,12 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x03d0;DHB_NoSwitch;;208;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03e0;DHB_ChildTimeout;;224;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03e1;DHB_SwitchFailed;;225;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x1201;AB_NeedSecondStep;;1;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1202;AB_NeedToReconfigure;;2;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1203;AB_ModeFallback;;3;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1204;AB_ChildNotCommandable;;4;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1205;AB_NeedToChangeHealth;;5;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x12a1;AB_NotEnoughChildrenInCorrectState;;161;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x3401;DC_NoReplyReceived;;1;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3402;DC_ProtocolError;;2;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3403;DC_Nullpointer;;3;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3404;DC_InvalidCookieType;;4;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3405;DC_NotActive;;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3406;DC_TooMuchData;;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x27a0;DHI_NoCommandData;;160;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27a1;DHI_CommandNotSupported;;161;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27a2;DHI_CommandAlreadySent;;162;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
@ -420,54 +449,25 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x27c3;DHI_DeviceReplyInvalid;;195;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27d0;DHI_InvalidCommandParameter;;208;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27d1;DHI_InvalidNumberOrLengthOfParameters;;209;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x2401;MT_TooDetailedRequest;;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2402;MT_TooGeneralRequest;;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2403;MT_NoMatch;;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2404;MT_Full;;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2405;MT_NewNodeCreated;;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x3f01;DLEE_NoPacketFound;;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x3f02;DLEE_PossiblePacketLoss;;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x2f01;ASC_TooLongForTargetType;;1;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f02;ASC_InvalidCharacters;;2;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f03;ASC_BufferTooSmall;;3;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x1701;HHI_ObjectNotHealthy;;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1702;HHI_InvalidHealthState;;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1703;HHI_IsExternallyControlled;;3;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x3201;CF_ObjectHasNoFunctions;;1;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3202;CF_AlreadyCommanding;;2;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3301;HF_IsBusy;;1;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3302;HF_InvalidParameters;;2;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3303;HF_ExecutionFinished;;3;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3304;HF_InvalidActionId;;4;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x1000;TIM_UnsupportedTimeFormat;;0;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1002;TIM_LengthMismatch;;2;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1003;TIM_InvalidTimeFormat;;3;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1004;TIM_InvalidDayOfYear;;4;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1005;TIM_TimeDoesNotFitFormat;;5;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x3701;TSI_BadTimestamp;;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
0x3c00;LPIF_PoolEntryNotFound;;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3c01;LPIF_PoolEntryTypeConflict;;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3e00;HKM_QueueOrDestinationInvalid;;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e01;HKM_WrongHkPacketType;;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e02;HKM_ReportingStatusUnchanged;;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e03;HKM_PeriodicHelperInvalid;;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e04;HKM_PoolobjectNotFound;;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e05;HKM_DatasetNotFound;;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x2901;TC_InvalidTargetState;;1;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f1;TC_AboveOperationalLimit;;241;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f2;TC_BelowOperationalLimit;;242;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x2001;CSB_ExecutionComplete;;1;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2002;CSB_NoStepMessage;;2;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2003;CSB_ObjectBusy;;3;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2004;CSB_Busy;;4;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2005;CSB_InvalidTc;;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2006;CSB_InvalidObject;;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2007;CSB_InvalidReply;;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x4c00;SPPA_NoPacketFound;;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4c01;SPPA_SplitPacket;;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x1d01;ATC_ActivityStarted;;1;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d02;ATC_InvalidSubservice;;2;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d03;ATC_IllegalApplicationData;;3;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d04;ATC_SendTmFailed;;4;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d05;ATC_Timeout;;5;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1401;SE_BufferTooShort;;1;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1402;SE_StreamTooShort;;2;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1403;SE_TooManyElements;;3;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x4500;HSPI_HalTimeoutRetval;;0;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
0x4501;HSPI_HalBusyRetval;;1;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
0x4502;HSPI_HalErrorRetval;;2;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
0x4601;HURT_UartReadFailure;;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4602;HURT_UartReadSizeMissmatch;;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4603;HURT_UartRxBufferTooSmall;;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4801;HGIO_UnknownGpioId;;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4802;HGIO_DriveGpioFailure;;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4803;HGIO_GpioTypeFailure;;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4804;HGIO_GpioInvalidInstance;;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4805;HGIO_GpioDuplicateDetected;;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4806;HGIO_GpioInitFailed;;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4807;HGIO_GpioGetValueFailed;;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4406;UXOS_PcloseCallError;;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h

1 Full ID (hex) Name Description Unique ID Subsytem Name File Path
2 0x0000 OK System-wide code for ok. 0 HasReturnvaluesIF fsfw/returnvalues/returnvalue.h
3 0x0001 Failed Unspecified system-wide code for failed. 1 HasReturnvaluesIF fsfw/returnvalues/returnvalue.h
4 0x63a0 0x60a0 NVMB_KeyNotExists CCSDS_CommandNotImplemented Specified key does not exist in json file Received action message with unknown action id 160 NVM_PARAM_BASE CCSDS_HANDLER mission/memory/NVMParameterBase.h mission/tmtc/CcsdsIpCoreHandler.h
5 0x6300 0x5d00 NVMB_Busy GOMS_PacketTooLong 0 NVM_PARAM_BASE GOM_SPACE_HANDLER mission/system/objects/Stack5VHandler.h mission/devices/GomspaceDeviceHandler.h
6 0x58a0 0x5d01 SUSS_ErrorUnlockMutex GOMS_InvalidTableId 160 1 SUS_HANDLER GOM_SPACE_HANDLER mission/devices/SusHandler.h mission/devices/GomspaceDeviceHandler.h
7 0x58a1 0x5d02 SUSS_ErrorLockMutex GOMS_InvalidAddress 161 2 SUS_HANDLER GOM_SPACE_HANDLER mission/devices/SusHandler.h mission/devices/GomspaceDeviceHandler.h
8 0x66a0 0x5d03 SADPL_CommandNotSupported GOMS_InvalidParamSize 160 3 SA_DEPL_HANDLER GOM_SPACE_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/devices/GomspaceDeviceHandler.h
9 0x66a1 0x5d04 SADPL_DeploymentAlreadyExecuting GOMS_InvalidPayloadSize 161 4 SA_DEPL_HANDLER GOM_SPACE_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/devices/GomspaceDeviceHandler.h
10 0x66a2 0x5d05 SADPL_MainSwitchTimeoutFailure GOMS_UnknownReplyId 162 5 SA_DEPL_HANDLER GOM_SPACE_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/devices/GomspaceDeviceHandler.h
0x66a3 SADPL_SwitchingDeplSa1Failed 163 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h
0x66a4 SADPL_SwitchingDeplSa2Failed 164 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h
0x51a0 IMTQ_InvalidCommandCode 160 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a1 IMTQ_ParameterMissing 161 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a2 IMTQ_ParameterInvalid 162 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a3 IMTQ_CcUnavailable 163 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a4 IMTQ_InternalProcessingError 164 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a5 IMTQ_RejectedWithoutReason 165 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a6 IMTQ_CmdErrUnknown 166 IMTQ_HANDLER mission/devices/ImtqHandler.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/ImtqHandler.h
11 0x52b0 RWHA_SpiWriteFailure 176 RW_HANDLER mission/devices/RwHandler.h
12 0x52b1 RWHA_SpiReadFailure Used by the spi send function to tell a failing read call 177 RW_HANDLER mission/devices/RwHandler.h
13 0x52b2 RWHA_MissingStartSign Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E 178 RW_HANDLER mission/devices/RwHandler.h
20 0x52a2 RWHA_SetSpeedCommandInvalidLength Received set speed command has invalid length. Should be 6. 162 RW_HANDLER mission/devices/RwHandler.h
21 0x52a3 RWHA_ExecutionFailed Command execution failed 163 RW_HANDLER mission/devices/RwHandler.h
22 0x52a4 RWHA_CrcError Reaction wheel reply has invalid crc 164 RW_HANDLER mission/devices/RwHandler.h
23 0x4fa1 HEATER_CommandNotSupported 161 HEATER_HANDLER mission/devices/HeaterHandler.h
24 0x4fa2 HEATER_InitFailed 162 HEATER_HANDLER mission/devices/HeaterHandler.h
25 0x4fa3 HEATER_InvalidSwitchNr 163 HEATER_HANDLER mission/devices/HeaterHandler.h
26 0x4fa4 HEATER_MainSwitchSetTimeout 164 HEATER_HANDLER mission/devices/HeaterHandler.h
27 0x4fa5 HEATER_CommandAlreadyWaiting 165 HEATER_HANDLER mission/devices/HeaterHandler.h
28 0x58a0 SUSS_ErrorUnlockMutex 160 SUS_HANDLER mission/devices/SusHandler.h
29 0x58a1 SUSS_ErrorLockMutex 161 SUS_HANDLER mission/devices/SusHandler.h
30 0x51a0 IMTQ_InvalidCommandCode 160 IMTQ_HANDLER mission/devices/ImtqHandler.h
31 0x51a1 IMTQ_ParameterMissing 161 IMTQ_HANDLER mission/devices/ImtqHandler.h
32 0x51a2 IMTQ_ParameterInvalid 162 IMTQ_HANDLER mission/devices/ImtqHandler.h
33 0x51a3 IMTQ_CcUnavailable 163 IMTQ_HANDLER mission/devices/ImtqHandler.h
34 0x51a4 IMTQ_InternalProcessingError 164 IMTQ_HANDLER mission/devices/ImtqHandler.h
35 0x51a5 IMTQ_RejectedWithoutReason 165 IMTQ_HANDLER mission/devices/ImtqHandler.h
36 0x51a6 IMTQ_CmdErrUnknown 166 IMTQ_HANDLER mission/devices/ImtqHandler.h
37 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/ImtqHandler.h
38 0x50a0 SYRLINKS_CrcFailure 160 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
39 0x50a1 SYRLINKS_UartFraminOrParityErrorAck 161 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
40 0x50a2 SYRLINKS_BadCharacterAck 162 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
44 0x50a6 SYRLINKS_BadCrcAck 166 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
45 0x50a7 SYRLINKS_ReplyWrongSize 167 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
46 0x50a8 SYRLINKS_MissingStartFrameCharacter 168 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
47 0x5d00 0x66a0 GOMS_PacketTooLong SADPL_CommandNotSupported 0 160 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
48 0x5d01 0x66a1 GOMS_InvalidTableId SADPL_DeploymentAlreadyExecuting 1 161 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
49 0x5d02 0x66a2 GOMS_InvalidAddress SADPL_MainSwitchTimeoutFailure 2 162 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
50 0x5d03 0x66a3 GOMS_InvalidParamSize SADPL_SwitchingDeplSa1Failed 3 163 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
51 0x5d04 0x66a4 GOMS_InvalidPayloadSize SADPL_SwitchingDeplSa2Failed 4 164 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
52 0x5d05 0x6600 GOMS_UnknownReplyId SADPL_Busy 5 0 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/system/objects/Stack5VHandler.h
0x4fa1 HEATER_CommandNotSupported 161 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa2 HEATER_InitFailed 162 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa3 HEATER_InvalidSwitchNr 163 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa4 HEATER_MainSwitchSetTimeout 164 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa5 HEATER_CommandAlreadyWaiting 165 HEATER_HANDLER mission/devices/HeaterHandler.h
0x60a0 CCSDS_CommandNotImplemented Received action message with unknown action id 160 CCSDS_HANDLER mission/tmtc/CcsdsIpCoreHandler.h
0x6a01 ACSSAF_SafectrlMekfInputInvalid 1 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
53 0x6b01 ACSPTG_PtgctrlMekfInputInvalid 1 ACS_PTG mission/controller/acs/control/PtgCtrl.h
54 0x6a01 ACSSAF_SafectrlMekfInputInvalid 1 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
55 0x6c01 ACSDTB_DetumbleNoSensordata 1 ACS_DETUMBLE mission/controller/acs/control/Detumble.h
56 0x6901 ACSKAL_KalmanNoGyrMeas 1 ACS_KALMAN mission/controller/acs/MultiplicativeKalmanFilter.h
57 0x6902 ACSKAL_KalmanNoModel 2 ACS_KALMAN mission/controller/acs/MultiplicativeKalmanFilter.h
58 0x6903 ACSKAL_KalmanInversionFailed 3 ACS_KALMAN mission/controller/acs/MultiplicativeKalmanFilter.h
59 0x4500 0x63a0 HSPI_OpeningFileFailed NVMB_KeyNotExists Specified key does not exist in json file 0 160 HAL_SPI NVM_PARAM_BASE fsfw/src/fsfw_hal/linux/spi/SpiComIF.h mission/memory/NVMParameterBase.h
60 0x4501 0x2c01 HSPI_FullDuplexTransferFailed CCS_BcIsSetVrCommand 1 HAL_SPI CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/spi/SpiComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
61 0x4502 0x2c02 HSPI_HalfDuplexTransferFailed CCS_BcIsUnlockCommand 2 HAL_SPI CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/spi/SpiComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
62 0x4801 0x2cb0 HGIO_UnknownGpioId CCS_BcIllegalCommand 1 176 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
63 0x4802 0x2cb1 HGIO_DriveGpioFailure CCS_BoardReadingNotFinished 2 177 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
64 0x4803 0x2cf0 HGIO_GpioTypeFailure CCS_NsPositiveW 3 240 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
65 0x4804 0x2cf1 HGIO_GpioInvalidInstance CCS_NsNegativeW 4 241 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
66 0x4805 0x2cf2 HGIO_GpioDuplicateDetected CCS_NsLockout 5 242 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
67 0x4806 0x2cf3 HGIO_GpioInitFailed CCS_FarmInLockout 6 243 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
68 0x4807 0x2cf4 HGIO_GpioGetValueFailed CCS_FarmInWait 7 244 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
69 0x4601 0x2ce0 HURT_UartReadFailure CCS_WrongSymbol 1 224 HAL_UART CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
70 0x4602 0x2ce1 HURT_UartReadSizeMissmatch CCS_DoubleStart 2 225 HAL_UART CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
71 0x4603 0x2ce2 HURT_UartRxBufferTooSmall CCS_StartSymbolMissed 3 226 HAL_UART CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
72 0x4400 0x2ce3 UXOS_ExecutionFinished CCS_EndWithoutStart Execution of the current command has finished 0 227 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
73 0x4401 0x2ce4 UXOS_CommandPending CCS_TooLarge Command is pending. This will also be returned if the user tries to load another command but a command is still pending 1 228 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
74 0x4402 0x2ce5 UXOS_BytesRead CCS_TooShort Some bytes have been read from the executing process 2 229 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
75 0x4403 0x2ce6 UXOS_CommandError CCS_WrongTfVersion Command execution failed 3 230 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
76 0x4404 0x2ce7 UXOS_NoCommandLoadedOrPending CCS_WrongSpacecraftId 4 231 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
77 0x4406 0x2ce8 UXOS_PcloseCallError CCS_NoValidFrameType 6 232 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
78 0x2801 0x2ce9 SM_DataTooLarge CCS_CrcFailed 1 233 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
79 0x2802 0x2cea SM_DataStorageFull CCS_VcNotFound 2 234 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
80 0x2803 0x2ceb SM_IllegalStorageId CCS_ForwardingFailed 3 235 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
81 0x2804 0x2cec SM_DataDoesNotExist CCS_ContentTooLarge 4 236 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
82 0x2805 0x2ced SM_IllegalAddress CCS_ResidualData 5 237 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
83 0x2806 0x2cee SM_PoolTooLarge CCS_DataCorrupted 6 238 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
84 0x0601 0x2cef PP_DoItMyself CCS_IllegalSegmentationFlag 1 239 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
85 0x0602 0x2cd0 PP_PointsToVariable CCS_IllegalFlagCombination 2 208 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
86 0x0603 0x2cd1 PP_PointsToMemory CCS_ShorterThanHeader 3 209 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
87 0x0604 0x2cd2 PP_ActivityCompleted CCS_TooShortBlockedPacket 4 210 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
88 0x0605 0x2cd3 PP_PointsToVectorUint8 CCS_TooShortMapExtraction 5 211 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
89 0x0606 0x3b00 PP_PointsToVectorUint16 SPH_ConnBroken 6 0 HAS_MEMORY_IF SEMAPHORE_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/common/TcpTmTcServer.h
90 0x0607 0x2a01 PP_PointsToVectorUint32 IEC_NoConfigurationTable 7 1 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
91 0x0608 0x2a02 PP_PointsToVectorFloat IEC_NoCpuTable 8 2 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
92 0x06a0 0x2a03 PP_DumpNotSupported IEC_InvalidWorkspaceAddress 160 3 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
93 0x06e0 0x2a04 PP_InvalidSize IEC_TooLittleWorkspace 224 4 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
94 0x06e1 0x2a05 PP_InvalidAddress IEC_WorkspaceAllocation 225 5 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
95 0x06e2 0x2a06 PP_InvalidContent IEC_InterruptStackTooSmall 226 6 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
96 0x06e3 0x2a07 PP_UnalignedAccess IEC_ThreadExitted 227 7 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
97 0x06e4 0x2a08 PP_WriteProtected IEC_InconsistentMpInformation 228 8 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
98 0x13e0 0x2a09 MH_UnknownCmd IEC_InvalidNode 224 9 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
99 0x13e1 0x2a0a MH_InvalidAddress IEC_NoMpci 225 10 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
100 0x13e2 0x2a0b MH_InvalidSize IEC_BadPacket 226 11 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
101 0x13e3 0x2a0c MH_StateMismatch IEC_OutOfPackets 227 12 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
102 0x38a1 0x2a0d SGP4_InvalidEccentricity IEC_OutOfGlobalObjects 161 13 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
103 0x38a2 0x2a0e SGP4_InvalidMeanMotion IEC_OutOfProxies 162 14 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
104 0x38a3 0x2a0f SGP4_InvalidPerturbationElements IEC_InvalidGlobalId 163 15 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
105 0x38a4 0x2a10 SGP4_InvalidSemiLatusRectum IEC_BadStackHook 164 16 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
106 0x38a5 0x2a11 SGP4_InvalidEpochElements IEC_BadAttributes 165 17 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
107 0x38a6 0x2a12 SGP4_SatelliteHasDecayed IEC_ImplementationKeyCreateInconsistency 166 18 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
108 0x38b1 0x2a13 SGP4_TleTooOld IEC_ImplementationBlockingOperationCancel 177 19 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
109 0x38b2 0x2a14 SGP4_TleNotInitialized IEC_MutexObtainFromBadState 178 20 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
110 0x1801 0x2a15 FF_Full IEC_UnlimitedAndMaximumIs0 1 21 FIFO_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/container/FIFOBase.h fsfw/src/fsfw/osal/InternalErrorCodes.h
0x1802 FF_Empty 2 FIFO_CLASS fsfw/src/fsfw/container/FIFOBase.h
0x1601 FMM_MapFull 1 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x1602 FMM_KeyDoesNotExist 2 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x3901 MUX_NotEnoughResources 1 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3902 MUX_InsufficientMemory 2 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3903 MUX_NoPrivilege 3 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3904 MUX_WrongAttributeSetting 4 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3905 MUX_MutexAlreadyLocked 5 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3906 MUX_MutexNotFound 6 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3907 MUX_MutexMaxLocks 7 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3908 MUX_CurrThreadAlreadyOwnsMutex 8 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3909 MUX_CurrThreadDoesNotOwnMutex 9 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x390a MUX_MutexTimeout 10 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x390b MUX_MutexInvalidId 11 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x390c MUX_MutexDestroyedWhileWaiting 12 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3a01 MQI_Empty 1 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a02 MQI_Full No space left for more messages 2 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a03 MQI_NoReplyPartner Returned if a reply method was called without partner 3 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a04 MQI_DestinationInvalid Returned if the target destination is invalid. 4 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x0f01 CM_UnknownCommand 1 COMMAND_MESSAGE fsfw/src/fsfw/ipc/CommandMessageIF.h
111 0x0e01 HM_InvalidMode 1 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
112 0x0e02 HM_TransNotAllowed 2 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
113 0x0e03 HM_InTransition 3 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
114 0x0e04 HM_InvalidSubmode 4 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
115 0x0c02 0x2e01 MS_InvalidEntry HPA_InvalidIdentifierId 2 1 MODE_STORE_IF HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h fsfw/src/fsfw/parameters/HasParametersIF.h
116 0x0c03 0x2e02 MS_TooManyElements HPA_InvalidDomainId 3 2 MODE_STORE_IF HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h fsfw/src/fsfw/parameters/HasParametersIF.h
117 0x0c04 0x2e03 MS_CantStoreEmpty HPA_InvalidValue 4 3 MODE_STORE_IF HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h fsfw/src/fsfw/parameters/HasParametersIF.h
118 0x0b01 0x2e05 SB_ChildNotFound HPA_ReadOnly 1 5 SUBSYSTEM_BASE HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/HasParametersIF.h
119 0x0b02 0x2d01 SB_ChildInfoUpdated PAW_UnknownDatatype 2 1 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
120 0x0b03 0x2d02 SB_ChildDoesntHaveModes PAW_DatatypeMissmatch 3 2 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
121 0x0b04 0x2d03 SB_CouldNotInsertChild PAW_Readonly 4 3 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
122 0x0b05 0x2d04 SB_TableContainsInvalidObjectId PAW_TooBig 5 4 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
123 0x0d01 0x2d05 SS_SequenceAlreadyExists PAW_SourceNotSet 1 5 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
124 0x0d02 0x2d06 SS_TableAlreadyExists PAW_OutOfBounds 2 6 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
125 0x0d03 0x2d07 SS_TableDoesNotExist PAW_NotSet 3 7 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
126 0x0d04 0x2d08 SS_TableOrSequenceLengthInvalid PAW_ColumnOrRowsZero 4 8 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
127 0x0d05 0x3201 SS_SequenceDoesNotExist CF_ObjectHasNoFunctions 5 1 SUBSYSTEM COMMANDS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/CommandsActionsIF.h
128 0x0d06 0x3202 SS_TableContainsInvalidObjectId CF_AlreadyCommanding 6 2 SUBSYSTEM COMMANDS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/CommandsActionsIF.h
129 0x0d07 0x3301 SS_FallbackSequenceDoesNotExist HF_IsBusy 7 1 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
130 0x0d08 0x3302 SS_NoTargetTable HF_InvalidParameters 8 2 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
131 0x0d09 0x3303 SS_SequenceOrTableTooLong HF_ExecutionFinished 9 3 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
132 0x0d0b 0x3304 SS_IsFallbackSequence HF_InvalidActionId 11 4 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
133 0x0d0c 0x0201 SS_AccessDenied OM_InsertionFailed 12 1 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
134 0x0d0e 0x0202 SS_TableInUse OM_NotFound 14 2 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
135 0x0da1 0x0203 SS_TargetTableNotReached OM_ChildInitFailed 161 3 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
136 0x0da2 0x0204 SS_TableCheckFailed OM_InternalErrReporterUninit 162 4 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
137 0x2501 0x2600 EV_ListenerNotFound FDI_YourFault 1 0 EVENT_MANAGER_IF HANDLES_FAILURES_IF fsfw/src/fsfw/events/EventManagerIF.h fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
138 0x2601 FDI_MyFault 1 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
139 0x2602 FDI_ConfirmLater 2 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
140 0x2201 TMF_Busy 1 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
141 0x2202 TMF_LastPacketFound 2 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
142 0x2203 TMF_StopFetch 3 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
143 0x2204 TMF_Timeout 4 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
144 0x2205 TMF_TmChannelFull 5 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
145 0x2206 TMF_NotStored 6 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
146 0x2207 TMF_AllDeleted 7 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
147 0x2208 TMF_InvalidData 8 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
148 0x2209 TMF_NotReady 9 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
149 0x2101 TMB_Busy 1 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
150 0x2102 TMB_Full 2 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
151 0x2103 TMB_Empty 3 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
152 0x2104 TMB_NullRequested 4 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
153 0x2105 TMB_TooLarge 5 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
154 0x2106 TMB_NotReady 6 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
155 0x2107 TMB_DumpError 7 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
156 0x2108 TMB_CrcError 8 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
157 0x2109 TMB_Timeout 9 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
158 0x210a TMB_IdlePacketFound 10 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
159 0x210b TMB_TelecommandFound 11 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
160 0x210c TMB_NoPusATm 12 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
161 0x210d TMB_TooSmall 13 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
162 0x210e TMB_BlockNotFound 14 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
163 0x210f TMB_InvalidRequest 15 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
164 0x1c01 TCD_PacketLost 1 PACKET_DISTRIBUTION fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
165 0x1c02 TCD_DestinationNotFound 2 PACKET_DISTRIBUTION fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
166 0x1c03 TCD_ServiceIdAlreadyExists 3 PACKET_DISTRIBUTION fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
167 0x1b00 TCC_NoDestinationFound 0 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
168 0x1b01 TCC_InvalidCcsdsVersion 1 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
169 0x1b02 TCC_InvalidApid 2 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
170 0x1b03 TCC_InvalidPacketType 3 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
171 0x1b04 TCC_InvalidSecHeaderField 4 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
172 0x1b05 TCC_IncorrectPrimaryHeader 5 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
173 0x1b07 TCC_IncompletePacket 7 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
174 0x1b08 TCC_InvalidPusVersion 8 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
175 0x1b09 TCC_IncorrectChecksum 9 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
176 0x1b0a TCC_IllegalPacketSubtype 10 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
177 0x1b0b TCC_IncorrectSecondaryHeader 11 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
178 0x04e1 RMP_CommandNoDescriptorsAvailable 225 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
179 0x04e2 RMP_CommandBufferFull 226 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
180 0x04e3 RMP_CommandChannelOutOfRange 227 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
215 0x040a RMP_ReplyCommandNotImplementedOrNotAuthorised 10 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
216 0x040b RMP_ReplyRmwDataLengthError 11 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
217 0x040c RMP_ReplyInvalidTargetLogicalAddress 12 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
218 0x1401 0x2801 SE_BufferTooShort SM_DataTooLarge 1 SERIALIZE_IF STORAGE_MANAGER_IF fsfw/src/fsfw/serialize/SerializeIF.h fsfw/src/fsfw/storagemanager/StorageManagerIF.h
219 0x1402 0x2802 SE_StreamTooShort SM_DataStorageFull 2 SERIALIZE_IF STORAGE_MANAGER_IF fsfw/src/fsfw/serialize/SerializeIF.h fsfw/src/fsfw/storagemanager/StorageManagerIF.h
220 0x1403 0x2803 SE_TooManyElements SM_IllegalStorageId 3 SERIALIZE_IF STORAGE_MANAGER_IF fsfw/src/fsfw/serialize/SerializeIF.h fsfw/src/fsfw/storagemanager/StorageManagerIF.h
221 0x2804 SM_DataDoesNotExist 4 STORAGE_MANAGER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h
222 0x2805 SM_IllegalAddress 5 STORAGE_MANAGER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h
223 0x2806 SM_PoolTooLarge 6 STORAGE_MANAGER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h
224 0x38a1 SGP4_InvalidEccentricity 161 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
225 0x38a2 SGP4_InvalidMeanMotion 162 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
226 0x38a3 SGP4_InvalidPerturbationElements 163 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
227 0x38a4 SGP4_InvalidSemiLatusRectum 164 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
228 0x38a5 SGP4_InvalidEpochElements 165 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
229 0x38a6 SGP4_SatelliteHasDecayed 166 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
230 0x38b1 SGP4_TleTooOld 177 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
231 0x38b2 SGP4_TleNotInitialized 178 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
232 0x2401 MT_NoPacketFound 1 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/DleParser.h
233 0x2402 MT_PossiblePacketLoss 2 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/DleParser.h
234 0x2403 MT_NoMatch 3 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
235 0x2404 MT_Full 4 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
236 0x2405 MT_NewNodeCreated 5 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
237 0x3f01 DLEE_StreamTooShort 1 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleEncoder.h
238 0x3f02 DLEE_DecodingError 2 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleEncoder.h
239 0x2f01 ASC_TooLongForTargetType 1 ASCII_CONVERTER fsfw/src/fsfw/globalfunctions/AsciiConverter.h
240 0x2f02 ASC_InvalidCharacters 2 ASCII_CONVERTER fsfw/src/fsfw/globalfunctions/AsciiConverter.h
241 0x2f03 ASC_BufferTooSmall 3 ASCII_CONVERTER fsfw/src/fsfw/globalfunctions/AsciiConverter.h
242 0x0f01 CM_UnknownCommand 1 COMMAND_MESSAGE fsfw/src/fsfw/ipc/CommandMessageIF.h
243 0x3a01 MQI_Empty 1 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
244 0x3a02 MQI_Full No space left for more messages 2 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
245 0x3a03 MQI_NoReplyPartner Returned if a reply method was called without partner 3 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
246 0x3a04 MQI_DestinationInvalid Returned if the target destination is invalid. 4 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
247 0x3901 MUX_NotEnoughResources 1 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
248 0x3902 MUX_InsufficientMemory 2 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
249 0x3903 MUX_NoPrivilege 3 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
250 0x3904 MUX_WrongAttributeSetting 4 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
251 0x3905 MUX_MutexAlreadyLocked 5 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
252 0x3906 MUX_MutexNotFound 6 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
253 0x3907 MUX_MutexMaxLocks 7 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
254 0x3908 MUX_CurrThreadAlreadyOwnsMutex 8 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
255 0x3909 MUX_CurrThreadDoesNotOwnMutex 9 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
256 0x390a MUX_MutexTimeout 10 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
257 0x390b MUX_MutexInvalidId 11 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
258 0x390c MUX_MutexDestroyedWhileWaiting 12 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
259 0x3b01 SPH_SemaphoreTimeout 1 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
260 0x3b02 SPH_SemaphoreNotOwned 2 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
261 0x3b03 SPH_SemaphoreInvalid 3 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
262 0x1e00 PUS_InvalidPusVersion 0 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
263 0x1e01 PUS_InvalidCrc16 1 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
264 0x3601 CFDP_InvalidTlvType 1 CFDP fsfw/src/fsfw/cfdp/definitions.h
265 0x3602 CFDP_InvalidDirectiveField 2 CFDP fsfw/src/fsfw/cfdp/definitions.h
266 0x3603 CFDP_InvalidPduDatafieldLen 3 CFDP fsfw/src/fsfw/cfdp/definitions.h
267 0x3604 CFDP_InvalidAckDirectiveFields 4 CFDP fsfw/src/fsfw/cfdp/definitions.h
268 0x3605 CFDP_MetadataCantParseOptions 5 CFDP fsfw/src/fsfw/cfdp/definitions.h
269 0x3606 CFDP_NakCantParseOptions 6 CFDP fsfw/src/fsfw/cfdp/definitions.h
270 0x3607 CFDP_FinishedCantParseFsResponses 7 CFDP fsfw/src/fsfw/cfdp/definitions.h
271 0x3608 CFDP_FilestoreRequiresSecondFile 8 CFDP fsfw/src/fsfw/cfdp/definitions.h
272 0x3609 CFDP_FilestoreResponseCantParseFsMessage 9 CFDP fsfw/src/fsfw/cfdp/definitions.h
273 0x360a CFDP_InvalidPduFormat 10 CFDP fsfw/src/fsfw/cfdp/definitions.h
274 0x2901 TC_InvalidTargetState 1 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
275 0x29f1 TC_AboveOperationalLimit 241 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
276 0x29f2 TC_BelowOperationalLimit 242 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
277 0x0c02 MS_InvalidEntry 2 MODE_STORE_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
278 0x0c03 MS_TooManyElements 3 MODE_STORE_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
279 0x0c04 MS_CantStoreEmpty 4 MODE_STORE_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
280 0x0d01 SS_SequenceAlreadyExists 1 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
281 0x0d02 SS_TableAlreadyExists 2 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
282 0x0d03 SS_TableDoesNotExist 3 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
283 0x0d04 SS_TableOrSequenceLengthInvalid 4 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
284 0x0d05 SS_SequenceDoesNotExist 5 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
285 0x0d06 SS_TableContainsInvalidObjectId 6 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
286 0x0d07 SS_FallbackSequenceDoesNotExist 7 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
287 0x0d08 SS_NoTargetTable 8 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
288 0x0d09 SS_SequenceOrTableTooLong 9 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
289 0x0d0b SS_IsFallbackSequence 11 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
290 0x0d0c SS_AccessDenied 12 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
291 0x0d0e SS_TableInUse 14 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
292 0x0da1 SS_TargetTableNotReached 161 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
293 0x0da2 SS_TableCheckFailed 162 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
294 0x0b01 SB_ChildNotFound 1 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
295 0x0b02 SB_ChildInfoUpdated 2 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
296 0x0b03 SB_ChildDoesntHaveModes 3 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
297 0x0b04 SB_CouldNotInsertChild 4 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
298 0x0b05 SB_TableContainsInvalidObjectId 5 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
299 0x3e00 HKM_QueueOrDestinationInvalid 0 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
300 0x3e01 HKM_WrongHkPacketType 1 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
301 0x3e02 HKM_ReportingStatusUnchanged 2 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
302 0x3e03 HKM_PeriodicHelperInvalid 3 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
303 0x3e04 HKM_PoolobjectNotFound 4 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
304 0x3e05 HKM_DatasetNotFound 5 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
305 0x3c00 LPIF_PoolEntryNotFound 0 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
306 0x3c01 LPIF_PoolEntryTypeConflict 1 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
307 0x3da0 PVA_InvalidReadWriteMode 160 POOL_VARIABLE_IF fsfw/src/fsfw/datapool/PoolVariableIF.h
308 0x3da1 PVA_InvalidPoolEntry 161 POOL_VARIABLE_IF fsfw/src/fsfw/datapool/PoolVariableIF.h
309 0x0801 DPS_InvalidParameterDefinition 1 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
312 0x0804 DPS_DataSetUninitialised 4 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
313 0x0805 DPS_DataSetFull 5 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
314 0x0806 DPS_PoolVarNull 6 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
315 0x1c01 0x1000 TCD_PacketLost TIM_UnsupportedTimeFormat 1 0 PACKET_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/TcDistributorBase.h fsfw/src/fsfw/timemanager/CCSDSTime.h
316 0x1c02 0x1001 TCD_DestinationNotFound TIM_NotEnoughInformationForTargetFormat 2 1 PACKET_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/TcDistributorBase.h fsfw/src/fsfw/timemanager/CCSDSTime.h
317 0x1c03 0x1002 TCD_ServiceIdAlreadyExists TIM_LengthMismatch 3 2 PACKET_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/TcDistributorBase.h fsfw/src/fsfw/timemanager/CCSDSTime.h
318 0x1b00 0x1003 TCC_NoDestinationFound TIM_InvalidTimeFormat 0 3 TMTC_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/CCSDSTime.h
319 0x1b01 0x1004 TCC_InvalidCcsdsVersion TIM_InvalidDayOfYear 1 4 TMTC_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/CCSDSTime.h
320 0x1b02 0x1005 TCC_InvalidApid TIM_TimeDoesNotFitFormat 2 5 TMTC_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/CCSDSTime.h
321 0x1b03 0x3701 TCC_InvalidPacketType TSI_BadTimestamp 3 1 TMTC_DISTRIBUTION TIME_STAMPER_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/TimeStampIF.h
322 0x1b04 0x1d01 TCC_InvalidSecHeaderField ATC_ActivityStarted 4 1 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
323 0x1b05 0x1d02 TCC_IncorrectPrimaryHeader ATC_InvalidSubservice 5 2 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
324 0x1b07 0x1d03 TCC_IncompletePacket ATC_IllegalApplicationData 7 3 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
325 0x1b08 0x1d04 TCC_InvalidPusVersion ATC_SendTmFailed 8 4 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
326 0x1b09 0x1d05 TCC_IncorrectChecksum ATC_Timeout 9 5 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
327 0x1b0a 0x4c00 TCC_IllegalPacketSubtype SPPA_NoPacketFound 10 0 TMTC_DISTRIBUTION SPACE_PACKET_PARSER fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
328 0x1b0b 0x4c01 TCC_IncorrectSecondaryHeader SPPA_SplitPacket 11 1 TMTC_DISTRIBUTION SPACE_PACKET_PARSER fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
329 0x2001 CSB_ExecutionComplete 1 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
330 0x2002 CSB_NoStepMessage 2 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
331 0x2003 CSB_ObjectBusy 3 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
332 0x2004 CSB_Busy 4 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
333 0x2005 CSB_InvalidTc 5 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
334 0x2006 CSB_InvalidObject 6 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
335 0x2007 CSB_InvalidReply 7 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
336 0x1801 FF_Full 1 FIFO_CLASS fsfw/src/fsfw/container/FIFOBase.h
337 0x1802 FF_Empty 2 FIFO_CLASS fsfw/src/fsfw/container/FIFOBase.h
338 0x1601 FMM_MapFull 1 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
339 0x1602 FMM_KeyDoesNotExist 2 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
340 0x2501 EV_ListenerNotFound 1 EVENT_MANAGER_IF fsfw/src/fsfw/events/EventManagerIF.h
341 0x1701 HHI_ObjectNotHealthy 1 HAS_HEALTH_IF fsfw/src/fsfw/health/HasHealthIF.h
342 0x1702 HHI_InvalidHealthState 2 HAS_HEALTH_IF fsfw/src/fsfw/health/HasHealthIF.h
343 0x1703 HHI_IsExternallyControlled 3 HAS_HEALTH_IF fsfw/src/fsfw/health/HasHealthIF.h
344 0x3001 POS_InPowerTransition 1 POWER_SWITCHER fsfw/src/fsfw/power/PowerSwitcher.h
345 0x3002 POS_SwitchStateMismatch 2 POWER_SWITCHER fsfw/src/fsfw/power/PowerSwitcher.h
346 0x0501 PS_SwitchOn 1 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
348 0x0502 PS_SwitchTimeout 2 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
349 0x0503 PS_FuseOn 3 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
350 0x0504 PS_FuseOff 4 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
351 0x3b00 0x4300 SPH_ConnBroken FILS_GenericFileError 0 SEMAPHORE_IF FILE_SYSTEM fsfw/src/fsfw/osal/common/TcpTmTcServer.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
352 0x2a01 0x4301 IEC_NoConfigurationTable FILS_GenericDirError 1 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
353 0x2a02 0x4302 IEC_NoCpuTable FILS_FilesystemInactive 2 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
354 0x2a03 0x4303 IEC_InvalidWorkspaceAddress FILS_GenericRenameError 3 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
355 0x2a04 0x4304 IEC_TooLittleWorkspace FILS_IsBusy 4 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
356 0x2a05 0x4305 IEC_WorkspaceAllocation FILS_InvalidParameters 5 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
357 0x2a06 0x430a IEC_InterruptStackTooSmall FILS_FileDoesNotExist 6 10 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
358 0x2a07 0x430b IEC_ThreadExitted FILS_FileAlreadyExists 7 11 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
359 0x2a08 0x430c IEC_InconsistentMpInformation FILS_NotAFile 8 12 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
360 0x2a09 0x430d IEC_InvalidNode FILS_FileLocked 9 13 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
361 0x2a0a 0x430e IEC_NoMpci FILS_PermissionDenied 10 14 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
362 0x2a0b 0x4315 IEC_BadPacket FILS_DirectoryDoesNotExist 11 21 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
363 0x2a0c 0x4316 IEC_OutOfPackets FILS_DirectoryAlreadyExists 12 22 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
364 0x2a0d 0x4317 IEC_OutOfGlobalObjects FILS_NotADirectory 13 23 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
365 0x2a0e 0x4318 IEC_OutOfProxies FILS_DirectoryNotEmpty 14 24 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
366 0x2a0f 0x431e IEC_InvalidGlobalId FILS_SequencePacketMissingWrite 15 30 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
367 0x2a10 0x431f IEC_BadStackHook FILS_SequencePacketMissingRead 16 31 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x2a11 IEC_BadAttributes 17 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a12 IEC_ImplementationKeyCreateInconsistency 18 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a13 IEC_ImplementationBlockingOperationCancel 19 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a14 IEC_MutexObtainFromBadState 20 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a15 IEC_UnlimitedAndMaximumIs0 21 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2600 FDI_YourFault 0 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2601 FDI_MyFault 1 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2602 FDI_ConfirmLater 2 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x1e00 PUS_InvalidPusVersion 0 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x1e01 PUS_InvalidCrc16 1 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x0201 OM_InsertionFailed 1 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0202 OM_NotFound 2 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0203 OM_ChildInitFailed 3 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0204 OM_InternalErrReporterUninit 4 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x2201 TMF_Busy 1 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2202 TMF_LastPacketFound 2 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2203 TMF_StopFetch 3 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2204 TMF_Timeout 4 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2205 TMF_TmChannelFull 5 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2206 TMF_NotStored 6 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2207 TMF_AllDeleted 7 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2208 TMF_InvalidData 8 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2209 TMF_NotReady 9 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2101 TMB_Busy 1 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2102 TMB_Full 2 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2103 TMB_Empty 3 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2104 TMB_NullRequested 4 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2105 TMB_TooLarge 5 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2106 TMB_NotReady 6 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2107 TMB_DumpError 7 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2108 TMB_CrcError 8 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2109 TMB_Timeout 9 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210a TMB_IdlePacketFound 10 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210b TMB_TelecommandFound 11 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210c TMB_NoPusATm 12 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210d TMB_TooSmall 13 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210e TMB_BlockNotFound 14 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210f TMB_InvalidRequest 15 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2d01 PAW_UnknownDatatype 1 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d02 PAW_DatatypeMissmatch 2 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d03 PAW_Readonly 3 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d04 PAW_TooBig 4 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d05 PAW_SourceNotSet 5 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d06 PAW_OutOfBounds 6 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d07 PAW_NotSet 7 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d08 PAW_ColumnOrRowsZero 8 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2e01 HPA_InvalidIdentifierId 1 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e02 HPA_InvalidDomainId 2 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e03 HPA_InvalidValue 3 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e05 HPA_ReadOnly 5 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x3b01 SPH_SemaphoreTimeout 1 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b02 SPH_SemaphoreNotOwned 2 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b03 SPH_SemaphoreInvalid 3 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
368 0x1a01 TRC_NotEnoughSensors 1 TRIPLE_REDUNDACY_CHECK fsfw/src/fsfw/monitoring/TriplexMonitor.h
369 0x1a02 TRC_LowestValueOol 2 TRIPLE_REDUNDACY_CHECK fsfw/src/fsfw/monitoring/TriplexMonitor.h
370 0x1a03 TRC_HighestValueOol 3 TRIPLE_REDUNDACY_CHECK fsfw/src/fsfw/monitoring/TriplexMonitor.h
383 0x31e2 LIM_WrongPid 226 LIMITS_IF fsfw/src/fsfw/monitoring/MonitoringIF.h
384 0x31e3 LIM_WrongLimitId 227 LIMITS_IF fsfw/src/fsfw/monitoring/MonitoringIF.h
385 0x31ee LIM_MonitorNotFound 238 LIMITS_IF fsfw/src/fsfw/monitoring/MonitoringIF.h
0x3601 CFDP_InvalidTlvType 1 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3602 CFDP_InvalidDirectiveField 2 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3603 CFDP_InvalidPduDatafieldLen 3 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3604 CFDP_InvalidAckDirectiveFields 4 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3605 CFDP_MetadataCantParseOptions 5 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3606 CFDP_NakCantParseOptions 6 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3607 CFDP_FinishedCantParseFsResponses 7 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3608 CFDP_FilestoreRequiresSecondFile 8 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3609 CFDP_FilestoreResponseCantParseFsMessage 9 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x360a CFDP_InvalidPduFormat 10 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x4300 FILS_GenericFileError 0 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4301 FILS_GenericDirError 1 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4302 FILS_FilesystemInactive 2 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4303 FILS_GenericRenameError 3 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4304 FILS_IsBusy 4 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4305 FILS_InvalidParameters 5 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430a FILS_FileDoesNotExist 10 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430b FILS_FileAlreadyExists 11 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c FILS_NotAFile 12 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d FILS_FileLocked 13 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e FILS_PermissionDenied 14 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315 FILS_DirectoryDoesNotExist 21 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316 FILS_DirectoryAlreadyExists 22 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317 FILS_NotADirectory 23 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318 FILS_DirectoryNotEmpty 24 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e FILS_SequencePacketMissingWrite 30 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f FILS_SequencePacketMissingRead 31 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x2c01 CCS_BcIsSetVrCommand 1 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2c02 CCS_BcIsUnlockCommand 2 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb0 CCS_BcIllegalCommand 176 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb1 CCS_BoardReadingNotFinished 177 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf0 CCS_NsPositiveW 240 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf1 CCS_NsNegativeW 241 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf2 CCS_NsLockout 242 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf3 CCS_FarmInLockout 243 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf4 CCS_FarmInWait 244 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce0 CCS_WrongSymbol 224 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce1 CCS_DoubleStart 225 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce2 CCS_StartSymbolMissed 226 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce3 CCS_EndWithoutStart 227 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce4 CCS_TooLarge 228 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce5 CCS_TooShort 229 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce6 CCS_WrongTfVersion 230 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce7 CCS_WrongSpacecraftId 231 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce8 CCS_NoValidFrameType 232 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce9 CCS_CrcFailed 233 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cea CCS_VcNotFound 234 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ceb CCS_ForwardingFailed 235 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cec CCS_ContentTooLarge 236 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ced CCS_ResidualData 237 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cee CCS_DataCorrupted 238 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cef CCS_IllegalSegmentationFlag 239 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd0 CCS_IllegalFlagCombination 208 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd1 CCS_ShorterThanHeader 209 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd2 CCS_TooShortBlockedPacket 210 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd3 CCS_TooShortMapExtraction 211 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
386 0x4201 PUS11_InvalidTypeTimeWindow 1 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
387 0x4202 PUS11_InvalidTimeWindow 2 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
388 0x4203 PUS11_TimeshiftingNotPossible 3 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
389 0x4204 PUS11_InvalidRelativeTime 4 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
390 0x4205 PUS11_ContainedTcTooSmall 5 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
391 0x4206 PUS11_ContainedTcCrcMissmatch 6 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
392 0x3401 0x0601 DC_NoReplyReceived PP_DoItMyself 1 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
393 0x3402 0x0602 DC_ProtocolError PP_PointsToVariable 2 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
394 0x3403 0x0603 DC_Nullpointer PP_PointsToMemory 3 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
395 0x3404 0x0604 DC_InvalidCookieType PP_ActivityCompleted 4 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
396 0x3405 0x0605 DC_NotActive PP_PointsToVectorUint8 5 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
397 0x3406 0x0606 DC_TooMuchData PP_PointsToVectorUint16 6 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
398 0x0607 PP_PointsToVectorUint32 7 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
399 0x0608 PP_PointsToVectorFloat 8 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
400 0x06a0 PP_DumpNotSupported 160 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
401 0x06e0 PP_InvalidSize 224 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
402 0x06e1 PP_InvalidAddress 225 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
403 0x06e2 PP_InvalidContent 226 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
404 0x06e3 PP_UnalignedAccess 227 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
405 0x06e4 PP_WriteProtected 228 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
406 0x13e0 MH_UnknownCmd 224 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
407 0x13e1 MH_InvalidAddress 225 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
408 0x13e2 MH_InvalidSize 226 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
409 0x13e3 MH_StateMismatch 227 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
410 0x1201 AB_NeedSecondStep 1 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
411 0x1202 AB_NeedToReconfigure 2 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
412 0x1203 AB_ModeFallback 3 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
413 0x1204 AB_ChildNotCommandable 4 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
414 0x1205 AB_NeedToChangeHealth 5 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
415 0x12a1 AB_NotEnoughChildrenInCorrectState 161 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
416 0x03a0 DHB_InvalidChannel 160 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
417 0x03b0 DHB_AperiodicReply 176 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
418 0x03b1 DHB_IgnoreReplyData 177 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
422 0x03d0 DHB_NoSwitch 208 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
423 0x03e0 DHB_ChildTimeout 224 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
424 0x03e1 DHB_SwitchFailed 225 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
425 0x1201 0x3401 AB_NeedSecondStep DC_NoReplyReceived 1 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
426 0x1202 0x3402 AB_NeedToReconfigure DC_ProtocolError 2 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
427 0x1203 0x3403 AB_ModeFallback DC_Nullpointer 3 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
428 0x1204 0x3404 AB_ChildNotCommandable DC_InvalidCookieType 4 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
429 0x1205 0x3405 AB_NeedToChangeHealth DC_NotActive 5 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
430 0x12a1 0x3406 AB_NotEnoughChildrenInCorrectState DC_TooMuchData 161 6 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
431 0x27a0 DHI_NoCommandData 160 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
432 0x27a1 DHI_CommandNotSupported 161 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
433 0x27a2 DHI_CommandAlreadySent 162 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
449 0x27c3 DHI_DeviceReplyInvalid 195 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
450 0x27d0 DHI_InvalidCommandParameter 208 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
451 0x27d1 DHI_InvalidNumberOrLengthOfParameters 209 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
452 0x2401 0x1401 MT_TooDetailedRequest SE_BufferTooShort 1 MATCH_TREE_CLASS SERIALIZE_IF fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/serialize/SerializeIF.h
453 0x2402 0x1402 MT_TooGeneralRequest SE_StreamTooShort 2 MATCH_TREE_CLASS SERIALIZE_IF fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/serialize/SerializeIF.h
454 0x2403 0x1403 MT_NoMatch SE_TooManyElements 3 MATCH_TREE_CLASS SERIALIZE_IF fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/serialize/SerializeIF.h
455 0x2404 0x4500 MT_Full HSPI_HalTimeoutRetval 4 0 MATCH_TREE_CLASS HAL_SPI fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
456 0x2405 0x4501 MT_NewNodeCreated HSPI_HalBusyRetval 5 1 MATCH_TREE_CLASS HAL_SPI fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
457 0x3f01 0x4502 DLEE_NoPacketFound HSPI_HalErrorRetval 1 2 DLE_ENCODER HAL_SPI fsfw/src/fsfw/globalfunctions/DleParser.h fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
458 0x3f02 0x4601 DLEE_PossiblePacketLoss HURT_UartReadFailure 2 1 DLE_ENCODER HAL_UART fsfw/src/fsfw/globalfunctions/DleParser.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
459 0x2f01 0x4602 ASC_TooLongForTargetType HURT_UartReadSizeMissmatch 1 2 ASCII_CONVERTER HAL_UART fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
460 0x2f02 0x4603 ASC_InvalidCharacters HURT_UartRxBufferTooSmall 2 3 ASCII_CONVERTER HAL_UART fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
461 0x2f03 0x4801 ASC_BufferTooSmall HGIO_UnknownGpioId 3 1 ASCII_CONVERTER HAL_GPIO fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
462 0x1701 0x4802 HHI_ObjectNotHealthy HGIO_DriveGpioFailure 1 2 HAS_HEALTH_IF HAL_GPIO fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
463 0x1702 0x4803 HHI_InvalidHealthState HGIO_GpioTypeFailure 2 3 HAS_HEALTH_IF HAL_GPIO fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
464 0x1703 0x4804 HHI_IsExternallyControlled HGIO_GpioInvalidInstance 3 4 HAS_HEALTH_IF HAL_GPIO fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
465 0x3201 0x4805 CF_ObjectHasNoFunctions HGIO_GpioDuplicateDetected 1 5 COMMANDS_ACTIONS_IF HAL_GPIO fsfw/src/fsfw/action/CommandsActionsIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
466 0x3202 0x4806 CF_AlreadyCommanding HGIO_GpioInitFailed 2 6 COMMANDS_ACTIONS_IF HAL_GPIO fsfw/src/fsfw/action/CommandsActionsIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
467 0x3301 0x4807 HF_IsBusy HGIO_GpioGetValueFailed 1 7 HAS_ACTIONS_IF HAL_GPIO fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
468 0x3302 0x4400 HF_InvalidParameters UXOS_ExecutionFinished Execution of the current command has finished 2 0 HAS_ACTIONS_IF LINUX_OSAL fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
469 0x3303 0x4401 HF_ExecutionFinished UXOS_CommandPending Command is pending. This will also be returned if the user tries to load another command but a command is still pending 3 1 HAS_ACTIONS_IF LINUX_OSAL fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
470 0x3304 0x4402 HF_InvalidActionId UXOS_BytesRead Some bytes have been read from the executing process 4 2 HAS_ACTIONS_IF LINUX_OSAL fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
471 0x1000 0x4403 TIM_UnsupportedTimeFormat UXOS_CommandError Command execution failed 0 3 CCSDS_TIME_HELPER_CLASS LINUX_OSAL fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
472 0x1001 0x4404 TIM_NotEnoughInformationForTargetFormat UXOS_NoCommandLoadedOrPending 1 4 CCSDS_TIME_HELPER_CLASS LINUX_OSAL fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
473 0x1002 0x4406 TIM_LengthMismatch UXOS_PcloseCallError 2 6 CCSDS_TIME_HELPER_CLASS LINUX_OSAL fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x1003 TIM_InvalidTimeFormat 3 CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1004 TIM_InvalidDayOfYear 4 CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1005 TIM_TimeDoesNotFitFormat 5 CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/timemanager/CCSDSTime.h
0x3701 TSI_BadTimestamp 1 TIME_STAMPER_IF fsfw/src/fsfw/timemanager/TimeStampIF.h
0x3c00 LPIF_PoolEntryNotFound 0 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3c01 LPIF_PoolEntryTypeConflict 1 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3e00 HKM_QueueOrDestinationInvalid 0 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e01 HKM_WrongHkPacketType 1 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e02 HKM_ReportingStatusUnchanged 2 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e03 HKM_PeriodicHelperInvalid 3 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e04 HKM_PoolobjectNotFound 4 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e05 HKM_DatasetNotFound 5 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x2901 TC_InvalidTargetState 1 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f1 TC_AboveOperationalLimit 241 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f2 TC_BelowOperationalLimit 242 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x2001 CSB_ExecutionComplete 1 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2002 CSB_NoStepMessage 2 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2003 CSB_ObjectBusy 3 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2004 CSB_Busy 4 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2005 CSB_InvalidTc 5 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2006 CSB_InvalidObject 6 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2007 CSB_InvalidReply 7 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x4c00 SPPA_NoPacketFound 0 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4c01 SPPA_SplitPacket 1 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x1d01 ATC_ActivityStarted 1 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d02 ATC_InvalidSubservice 2 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d03 ATC_IllegalApplicationData 3 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d04 ATC_SendTmFailed 4 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d05 ATC_Timeout 5 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h

View File

@ -1,23 +1,13 @@
Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x0000;OK;System-wide code for ok.;0;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
0x0001;Failed;Unspecified system-wide code for failed.;1;HasReturnvaluesIF;fsfw/returnvalues/returnvalue.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NVMParameterBase.h
0x6300;NVMB_Busy;;0;NVM_PARAM_BASE;mission/system/objects/Stack5VHandler.h
0x58a0;SUSS_ErrorUnlockMutex;;160;SUS_HANDLER;mission/devices/SusHandler.h
0x58a1;SUSS_ErrorLockMutex;;161;SUS_HANDLER;mission/devices/SusHandler.h
0x66a0;SADPL_CommandNotSupported;;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a1;SADPL_DeploymentAlreadyExecuting;;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a2;SADPL_MainSwitchTimeoutFailure;;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a3;SADPL_SwitchingDeplSa1Failed;;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a4;SADPL_SwitchingDeplSa2Failed;;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x51a0;IMTQ_InvalidCommandCode;;160;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a1;IMTQ_ParameterMissing;;161;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a2;IMTQ_ParameterInvalid;;162;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a3;IMTQ_CcUnavailable;;163;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a4;IMTQ_InternalProcessingError;;164;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a5;IMTQ_RejectedWithoutReason;;165;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a6;IMTQ_CmdErrUnknown;;166;IMTQ_HANDLER;mission/devices/ImtqHandler.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/ImtqHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
0x5d00;GOMS_PacketTooLong;;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d01;GOMS_InvalidTableId;;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d02;GOMS_InvalidAddress;;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d03;GOMS_InvalidParamSize;;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d04;GOMS_InvalidPayloadSize;;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d05;GOMS_UnknownReplyId;;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x52b0;RWHA_SpiWriteFailure;;176;RW_HANDLER;mission/devices/RwHandler.h
0x52b1;RWHA_SpiReadFailure;Used by the spi send function to tell a failing read call;177;RW_HANDLER;mission/devices/RwHandler.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/RwHandler.h
@ -30,6 +20,21 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x52a2;RWHA_SetSpeedCommandInvalidLength;Received set speed command has invalid length. Should be 6.;162;RW_HANDLER;mission/devices/RwHandler.h
0x52a3;RWHA_ExecutionFailed;Command execution failed;163;RW_HANDLER;mission/devices/RwHandler.h
0x52a4;RWHA_CrcError;Reaction wheel reply has invalid crc;164;RW_HANDLER;mission/devices/RwHandler.h
0x4fa1;HEATER_CommandNotSupported;;161;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa2;HEATER_InitFailed;;162;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa3;HEATER_InvalidSwitchNr;;163;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa4;HEATER_MainSwitchSetTimeout;;164;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa5;HEATER_CommandAlreadyWaiting;;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x58a0;SUSS_ErrorUnlockMutex;;160;SUS_HANDLER;mission/devices/SusHandler.h
0x58a1;SUSS_ErrorLockMutex;;161;SUS_HANDLER;mission/devices/SusHandler.h
0x51a0;IMTQ_InvalidCommandCode;;160;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a1;IMTQ_ParameterMissing;;161;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a2;IMTQ_ParameterInvalid;;162;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a3;IMTQ_CcUnavailable;;163;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a4;IMTQ_InternalProcessingError;;164;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a5;IMTQ_RejectedWithoutReason;;165;IMTQ_HANDLER;mission/devices/ImtqHandler.h
0x51a6;IMTQ_CmdErrUnknown;;166;IMTQ_HANDLER;mission/devices/ImtqHandler.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/ImtqHandler.h
0x50a0;SYRLINKS_CrcFailure;;160;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a1;SYRLINKS_UartFraminOrParityErrorAck;;161;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a2;SYRLINKS_BadCharacterAck;;162;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
@ -39,123 +44,137 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x50a6;SYRLINKS_BadCrcAck;;166;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a7;SYRLINKS_ReplyWrongSize;;167;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x50a8;SYRLINKS_MissingStartFrameCharacter;;168;SYRLINKS_HANDLER;mission/devices/SyrlinksHandler.h
0x5d00;GOMS_PacketTooLong;;0;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d01;GOMS_InvalidTableId;;1;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d02;GOMS_InvalidAddress;;2;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d03;GOMS_InvalidParamSize;;3;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d04;GOMS_InvalidPayloadSize;;4;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x5d05;GOMS_UnknownReplyId;;5;GOM_SPACE_HANDLER;mission/devices/GomspaceDeviceHandler.h
0x4fa1;HEATER_CommandNotSupported;;161;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa2;HEATER_InitFailed;;162;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa3;HEATER_InvalidSwitchNr;;163;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa4;HEATER_MainSwitchSetTimeout;;164;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x4fa5;HEATER_CommandAlreadyWaiting;;165;HEATER_HANDLER;mission/devices/HeaterHandler.h
0x60a0;CCSDS_CommandNotImplemented;Received action message with unknown action id;160;CCSDS_HANDLER;mission/tmtc/CcsdsIpCoreHandler.h
0x6a01;ACSSAF_SafectrlMekfInputInvalid;;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x66a0;SADPL_CommandNotSupported;;160;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a1;SADPL_DeploymentAlreadyExecuting;;161;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a2;SADPL_MainSwitchTimeoutFailure;;162;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a3;SADPL_SwitchingDeplSa1Failed;;163;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x66a4;SADPL_SwitchingDeplSa2Failed;;164;SA_DEPL_HANDLER;mission/devices/SolarArrayDeploymentHandler.h
0x6600;SADPL_Busy;;0;SA_DEPL_HANDLER;mission/system/objects/Stack5VHandler.h
0x6b01;ACSPTG_PtgctrlMekfInputInvalid;;1;ACS_PTG;mission/controller/acs/control/PtgCtrl.h
0x6a01;ACSSAF_SafectrlMekfInputInvalid;;1;ACS_SAFE;mission/controller/acs/control/SafeCtrl.h
0x6c01;ACSDTB_DetumbleNoSensordata;;1;ACS_DETUMBLE;mission/controller/acs/control/Detumble.h
0x6901;ACSKAL_KalmanNoGyrMeas;;1;ACS_KALMAN;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6902;ACSKAL_KalmanNoModel;;2;ACS_KALMAN;mission/controller/acs/MultiplicativeKalmanFilter.h
0x6903;ACSKAL_KalmanInversionFailed;;3;ACS_KALMAN;mission/controller/acs/MultiplicativeKalmanFilter.h
0x4500;HSPI_OpeningFileFailed;;0;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
0x4501;HSPI_FullDuplexTransferFailed;;1;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
0x4502;HSPI_HalfDuplexTransferFailed;;2;HAL_SPI;fsfw/src/fsfw_hal/linux/spi/SpiComIF.h
0x4801;HGIO_UnknownGpioId;;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4802;HGIO_DriveGpioFailure;;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4803;HGIO_GpioTypeFailure;;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4804;HGIO_GpioInvalidInstance;;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4805;HGIO_GpioDuplicateDetected;;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4806;HGIO_GpioInitFailed;;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4807;HGIO_GpioGetValueFailed;;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4601;HURT_UartReadFailure;;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4602;HURT_UartReadSizeMissmatch;;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4603;HURT_UartRxBufferTooSmall;;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4406;UXOS_PcloseCallError;;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x2801;SM_DataTooLarge;;1;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2802;SM_DataStorageFull;;2;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2803;SM_IllegalStorageId;;3;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2804;SM_DataDoesNotExist;;4;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2805;SM_IllegalAddress;;5;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2806;SM_PoolTooLarge;;6;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x0601;PP_DoItMyself;;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0602;PP_PointsToVariable;;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0603;PP_PointsToMemory;;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0604;PP_ActivityCompleted;;4;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0605;PP_PointsToVectorUint8;;5;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0606;PP_PointsToVectorUint16;;6;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0607;PP_PointsToVectorUint32;;7;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0608;PP_PointsToVectorFloat;;8;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06a0;PP_DumpNotSupported;;160;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e0;PP_InvalidSize;;224;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e1;PP_InvalidAddress;;225;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e2;PP_InvalidContent;;226;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e3;PP_UnalignedAccess;;227;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e4;PP_WriteProtected;;228;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x13e0;MH_UnknownCmd;;224;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e1;MH_InvalidAddress;;225;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e2;MH_InvalidSize;;226;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e3;MH_StateMismatch;;227;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x38a1;SGP4_InvalidEccentricity;;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a2;SGP4_InvalidMeanMotion;;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a3;SGP4_InvalidPerturbationElements;;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a4;SGP4_InvalidSemiLatusRectum;;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a5;SGP4_InvalidEpochElements;;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a6;SGP4_SatelliteHasDecayed;;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b1;SGP4_TleTooOld;;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b2;SGP4_TleNotInitialized;;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x1801;FF_Full;;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1802;FF_Empty;;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1601;FMM_MapFull;;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x1602;FMM_KeyDoesNotExist;;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x3901;MUX_NotEnoughResources;;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3902;MUX_InsufficientMemory;;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3903;MUX_NoPrivilege;;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3904;MUX_WrongAttributeSetting;;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3905;MUX_MutexAlreadyLocked;;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3906;MUX_MutexNotFound;;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3907;MUX_MutexMaxLocks;;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3908;MUX_CurrThreadAlreadyOwnsMutex;;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3909;MUX_CurrThreadDoesNotOwnMutex;;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390a;MUX_MutexTimeout;;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390b;MUX_MutexInvalidId;;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390c;MUX_MutexDestroyedWhileWaiting;;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3a01;MQI_Empty;;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x0f01;CM_UnknownCommand;;1;COMMAND_MESSAGE;fsfw/src/fsfw/ipc/CommandMessageIF.h
0x63a0;NVMB_KeyNotExists;Specified key does not exist in json file;160;NVM_PARAM_BASE;mission/memory/NVMParameterBase.h
0x2c01;CCS_BcIsSetVrCommand;;1;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2c02;CCS_BcIsUnlockCommand;;2;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb0;CCS_BcIllegalCommand;;176;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb1;CCS_BoardReadingNotFinished;;177;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf0;CCS_NsPositiveW;;240;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf1;CCS_NsNegativeW;;241;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf2;CCS_NsLockout;;242;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf3;CCS_FarmInLockout;;243;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf4;CCS_FarmInWait;;244;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce0;CCS_WrongSymbol;;224;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce1;CCS_DoubleStart;;225;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce2;CCS_StartSymbolMissed;;226;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce3;CCS_EndWithoutStart;;227;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce4;CCS_TooLarge;;228;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce5;CCS_TooShort;;229;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce6;CCS_WrongTfVersion;;230;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce7;CCS_WrongSpacecraftId;;231;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce8;CCS_NoValidFrameType;;232;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce9;CCS_CrcFailed;;233;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cea;CCS_VcNotFound;;234;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ceb;CCS_ForwardingFailed;;235;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cec;CCS_ContentTooLarge;;236;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ced;CCS_ResidualData;;237;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cee;CCS_DataCorrupted;;238;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cef;CCS_IllegalSegmentationFlag;;239;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd0;CCS_IllegalFlagCombination;;208;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd1;CCS_ShorterThanHeader;;209;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd2;CCS_TooShortBlockedPacket;;210;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd3;CCS_TooShortMapExtraction;;211;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x3b00;SPH_ConnBroken;;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
0x2a01;IEC_NoConfigurationTable;;1;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a02;IEC_NoCpuTable;;2;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a03;IEC_InvalidWorkspaceAddress;;3;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a04;IEC_TooLittleWorkspace;;4;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a05;IEC_WorkspaceAllocation;;5;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a06;IEC_InterruptStackTooSmall;;6;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a07;IEC_ThreadExitted;;7;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a08;IEC_InconsistentMpInformation;;8;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a09;IEC_InvalidNode;;9;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0a;IEC_NoMpci;;10;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0b;IEC_BadPacket;;11;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0c;IEC_OutOfPackets;;12;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0d;IEC_OutOfGlobalObjects;;13;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0e;IEC_OutOfProxies;;14;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0f;IEC_InvalidGlobalId;;15;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a10;IEC_BadStackHook;;16;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a11;IEC_BadAttributes;;17;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a12;IEC_ImplementationKeyCreateInconsistency;;18;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a13;IEC_ImplementationBlockingOperationCancel;;19;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a14;IEC_MutexObtainFromBadState;;20;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a15;IEC_UnlimitedAndMaximumIs0;;21;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x0e01;HM_InvalidMode;;1;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0e02;HM_TransNotAllowed;;2;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0e03;HM_InTransition;;3;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0e04;HM_InvalidSubmode;;4;HAS_MODES_IF;fsfw/src/fsfw/modes/HasModesIF.h
0x0c02;MS_InvalidEntry;;2;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c03;MS_TooManyElements;;3;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c04;MS_CantStoreEmpty;;4;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0b01;SB_ChildNotFound;;1;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b02;SB_ChildInfoUpdated;;2;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b03;SB_ChildDoesntHaveModes;;3;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b04;SB_CouldNotInsertChild;;4;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b05;SB_TableContainsInvalidObjectId;;5;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0d01;SS_SequenceAlreadyExists;;1;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d02;SS_TableAlreadyExists;;2;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d03;SS_TableDoesNotExist;;3;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d04;SS_TableOrSequenceLengthInvalid;;4;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d05;SS_SequenceDoesNotExist;;5;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d06;SS_TableContainsInvalidObjectId;;6;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d07;SS_FallbackSequenceDoesNotExist;;7;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d08;SS_NoTargetTable;;8;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d09;SS_SequenceOrTableTooLong;;9;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0b;SS_IsFallbackSequence;;11;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0c;SS_AccessDenied;;12;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0e;SS_TableInUse;;14;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da1;SS_TargetTableNotReached;;161;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da2;SS_TableCheckFailed;;162;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x2501;EV_ListenerNotFound;;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
0x2e01;HPA_InvalidIdentifierId;;1;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e02;HPA_InvalidDomainId;;2;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e03;HPA_InvalidValue;;3;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e05;HPA_ReadOnly;;5;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2d01;PAW_UnknownDatatype;;1;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d02;PAW_DatatypeMissmatch;;2;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d03;PAW_Readonly;;3;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d04;PAW_TooBig;;4;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d05;PAW_SourceNotSet;;5;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d06;PAW_OutOfBounds;;6;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d07;PAW_NotSet;;7;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d08;PAW_ColumnOrRowsZero;;8;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x3201;CF_ObjectHasNoFunctions;;1;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3202;CF_AlreadyCommanding;;2;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3301;HF_IsBusy;;1;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3302;HF_InvalidParameters;;2;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3303;HF_ExecutionFinished;;3;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3304;HF_InvalidActionId;;4;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x0201;OM_InsertionFailed;;1;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0202;OM_NotFound;;2;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0203;OM_ChildInitFailed;;3;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0204;OM_InternalErrReporterUninit;;4;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x2600;FDI_YourFault;;0;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2601;FDI_MyFault;;1;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2602;FDI_ConfirmLater;;2;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2201;TMF_Busy;;1;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2202;TMF_LastPacketFound;;2;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2203;TMF_StopFetch;;3;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2204;TMF_Timeout;;4;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2205;TMF_TmChannelFull;;5;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2206;TMF_NotStored;;6;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2207;TMF_AllDeleted;;7;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2208;TMF_InvalidData;;8;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2209;TMF_NotReady;;9;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2101;TMB_Busy;;1;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2102;TMB_Full;;2;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2103;TMB_Empty;;3;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2104;TMB_NullRequested;;4;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2105;TMB_TooLarge;;5;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2106;TMB_NotReady;;6;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2107;TMB_DumpError;;7;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2108;TMB_CrcError;;8;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2109;TMB_Timeout;;9;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210a;TMB_IdlePacketFound;;10;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210b;TMB_TelecommandFound;;11;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210c;TMB_NoPusATm;;12;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210d;TMB_TooSmall;;13;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210e;TMB_BlockNotFound;;14;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210f;TMB_InvalidRequest;;15;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x1c01;TCD_PacketLost;;1;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c02;TCD_DestinationNotFound;;2;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c03;TCD_ServiceIdAlreadyExists;;3;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1b00;TCC_NoDestinationFound;;0;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b01;TCC_InvalidCcsdsVersion;;1;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b02;TCC_InvalidApid;;2;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b03;TCC_InvalidPacketType;;3;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b04;TCC_InvalidSecHeaderField;;4;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b05;TCC_IncorrectPrimaryHeader;;5;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b07;TCC_IncompletePacket;;7;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b08;TCC_InvalidPusVersion;;8;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b09;TCC_IncorrectChecksum;;9;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0a;TCC_IllegalPacketSubtype;;10;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0b;TCC_IncorrectSecondaryHeader;;11;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x04e1;RMP_CommandNoDescriptorsAvailable;;225;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x04e2;RMP_CommandBufferFull;;226;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x04e3;RMP_CommandChannelOutOfRange;;227;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
@ -196,9 +215,95 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x040a;RMP_ReplyCommandNotImplementedOrNotAuthorised;;10;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x040b;RMP_ReplyRmwDataLengthError;;11;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x040c;RMP_ReplyInvalidTargetLogicalAddress;;12;RMAP_CHANNEL;fsfw/src/fsfw/rmap/RMAP.h
0x1401;SE_BufferTooShort;;1;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1402;SE_StreamTooShort;;2;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1403;SE_TooManyElements;;3;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x2801;SM_DataTooLarge;;1;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2802;SM_DataStorageFull;;2;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2803;SM_IllegalStorageId;;3;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2804;SM_DataDoesNotExist;;4;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2805;SM_IllegalAddress;;5;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x2806;SM_PoolTooLarge;;6;STORAGE_MANAGER_IF;fsfw/src/fsfw/storagemanager/StorageManagerIF.h
0x38a1;SGP4_InvalidEccentricity;;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a2;SGP4_InvalidMeanMotion;;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a3;SGP4_InvalidPerturbationElements;;163;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a4;SGP4_InvalidSemiLatusRectum;;164;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a5;SGP4_InvalidEpochElements;;165;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38a6;SGP4_SatelliteHasDecayed;;166;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b1;SGP4_TleTooOld;;177;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x38b2;SGP4_TleNotInitialized;;178;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h
0x2401;MT_NoPacketFound;;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
0x2402;MT_PossiblePacketLoss;;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/DleParser.h
0x2403;MT_NoMatch;;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2404;MT_Full;;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2405;MT_NewNodeCreated;;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x3f01;DLEE_StreamTooShort;;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
0x3f02;DLEE_DecodingError;;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleEncoder.h
0x2f01;ASC_TooLongForTargetType;;1;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f02;ASC_InvalidCharacters;;2;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f03;ASC_BufferTooSmall;;3;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x0f01;CM_UnknownCommand;;1;COMMAND_MESSAGE;fsfw/src/fsfw/ipc/CommandMessageIF.h
0x3a01;MQI_Empty;;1;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a02;MQI_Full;No space left for more messages;2;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a03;MQI_NoReplyPartner;Returned if a reply method was called without partner;3;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a04;MQI_DestinationInvalid;Returned if the target destination is invalid.;4;MESSAGE_QUEUE_IF;fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3901;MUX_NotEnoughResources;;1;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3902;MUX_InsufficientMemory;;2;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3903;MUX_NoPrivilege;;3;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3904;MUX_WrongAttributeSetting;;4;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3905;MUX_MutexAlreadyLocked;;5;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3906;MUX_MutexNotFound;;6;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3907;MUX_MutexMaxLocks;;7;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3908;MUX_CurrThreadAlreadyOwnsMutex;;8;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3909;MUX_CurrThreadDoesNotOwnMutex;;9;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390a;MUX_MutexTimeout;;10;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390b;MUX_MutexInvalidId;;11;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x390c;MUX_MutexDestroyedWhileWaiting;;12;MUTEX_IF;fsfw/src/fsfw/ipc/MutexIF.h
0x3b01;SPH_SemaphoreTimeout;;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b02;SPH_SemaphoreNotOwned;;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b03;SPH_SemaphoreInvalid;;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x1e00;PUS_InvalidPusVersion;;0;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x1e01;PUS_InvalidCrc16;;1;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x3601;CFDP_InvalidTlvType;;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3602;CFDP_InvalidDirectiveField;;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3603;CFDP_InvalidPduDatafieldLen;;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3604;CFDP_InvalidAckDirectiveFields;;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3605;CFDP_MetadataCantParseOptions;;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3606;CFDP_NakCantParseOptions;;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3607;CFDP_FinishedCantParseFsResponses;;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3608;CFDP_FilestoreRequiresSecondFile;;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3609;CFDP_FilestoreResponseCantParseFsMessage;;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x360a;CFDP_InvalidPduFormat;;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x2901;TC_InvalidTargetState;;1;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f1;TC_AboveOperationalLimit;;241;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f2;TC_BelowOperationalLimit;;242;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x0c02;MS_InvalidEntry;;2;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c03;MS_TooManyElements;;3;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0c04;MS_CantStoreEmpty;;4;MODE_STORE_IF;fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
0x0d01;SS_SequenceAlreadyExists;;1;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d02;SS_TableAlreadyExists;;2;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d03;SS_TableDoesNotExist;;3;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d04;SS_TableOrSequenceLengthInvalid;;4;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d05;SS_SequenceDoesNotExist;;5;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d06;SS_TableContainsInvalidObjectId;;6;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d07;SS_FallbackSequenceDoesNotExist;;7;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d08;SS_NoTargetTable;;8;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d09;SS_SequenceOrTableTooLong;;9;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0b;SS_IsFallbackSequence;;11;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0c;SS_AccessDenied;;12;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0d0e;SS_TableInUse;;14;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da1;SS_TargetTableNotReached;;161;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0da2;SS_TableCheckFailed;;162;SUBSYSTEM;fsfw/src/fsfw/subsystem/Subsystem.h
0x0b01;SB_ChildNotFound;;1;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b02;SB_ChildInfoUpdated;;2;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b03;SB_ChildDoesntHaveModes;;3;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b04;SB_CouldNotInsertChild;;4;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x0b05;SB_TableContainsInvalidObjectId;;5;SUBSYSTEM_BASE;fsfw/src/fsfw/subsystem/SubsystemBase.h
0x3e00;HKM_QueueOrDestinationInvalid;;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e01;HKM_WrongHkPacketType;;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e02;HKM_ReportingStatusUnchanged;;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e03;HKM_PeriodicHelperInvalid;;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e04;HKM_PoolobjectNotFound;;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e05;HKM_DatasetNotFound;;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3c00;LPIF_PoolEntryNotFound;;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3c01;LPIF_PoolEntryTypeConflict;;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3da0;PVA_InvalidReadWriteMode;;160;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
0x3da1;PVA_InvalidPoolEntry;;161;POOL_VARIABLE_IF;fsfw/src/fsfw/datapool/PoolVariableIF.h
0x0801;DPS_InvalidParameterDefinition;;1;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
@ -207,20 +312,35 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x0804;DPS_DataSetUninitialised;;4;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
0x0805;DPS_DataSetFull;;5;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
0x0806;DPS_PoolVarNull;;6;DATA_SET_CLASS;fsfw/src/fsfw/datapool/DataSetIF.h
0x1c01;TCD_PacketLost;;1;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c02;TCD_DestinationNotFound;;2;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1c03;TCD_ServiceIdAlreadyExists;;3;PACKET_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
0x1b00;TCC_NoDestinationFound;;0;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b01;TCC_InvalidCcsdsVersion;;1;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b02;TCC_InvalidApid;;2;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b03;TCC_InvalidPacketType;;3;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b04;TCC_InvalidSecHeaderField;;4;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b05;TCC_IncorrectPrimaryHeader;;5;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b07;TCC_IncompletePacket;;7;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b08;TCC_InvalidPusVersion;;8;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b09;TCC_IncorrectChecksum;;9;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0a;TCC_IllegalPacketSubtype;;10;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1b0b;TCC_IncorrectSecondaryHeader;;11;TMTC_DISTRIBUTION;fsfw/src/fsfw/tcdistribution/definitions.h
0x1000;TIM_UnsupportedTimeFormat;;0;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1002;TIM_LengthMismatch;;2;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1003;TIM_InvalidTimeFormat;;3;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1004;TIM_InvalidDayOfYear;;4;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1005;TIM_TimeDoesNotFitFormat;;5;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x3701;TSI_BadTimestamp;;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
0x1d01;ATC_ActivityStarted;;1;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d02;ATC_InvalidSubservice;;2;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d03;ATC_IllegalApplicationData;;3;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d04;ATC_SendTmFailed;;4;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d05;ATC_Timeout;;5;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x4c00;SPPA_NoPacketFound;;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4c01;SPPA_SplitPacket;;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x2001;CSB_ExecutionComplete;;1;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2002;CSB_NoStepMessage;;2;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2003;CSB_ObjectBusy;;3;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2004;CSB_Busy;;4;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2005;CSB_InvalidTc;;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2006;CSB_InvalidObject;;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2007;CSB_InvalidReply;;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x1801;FF_Full;;1;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1802;FF_Empty;;2;FIFO_CLASS;fsfw/src/fsfw/container/FIFOBase.h
0x1601;FMM_MapFull;;1;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x1602;FMM_KeyDoesNotExist;;2;FIXED_MULTIMAP;fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x2501;EV_ListenerNotFound;;1;EVENT_MANAGER_IF;fsfw/src/fsfw/events/EventManagerIF.h
0x1701;HHI_ObjectNotHealthy;;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1702;HHI_InvalidHealthState;;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1703;HHI_IsExternallyControlled;;3;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x3001;POS_InPowerTransition;;1;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
0x3002;POS_SwitchStateMismatch;;2;POWER_SWITCHER;fsfw/src/fsfw/power/PowerSwitcher.h
0x0501;PS_SwitchOn;;1;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
@ -228,76 +348,23 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x0502;PS_SwitchTimeout;;2;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
0x0503;PS_FuseOn;;3;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
0x0504;PS_FuseOff;;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h
0x3b00;SPH_ConnBroken;;0;SEMAPHORE_IF;fsfw/src/fsfw/osal/common/TcpTmTcServer.h
0x2a01;IEC_NoConfigurationTable;;1;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a02;IEC_NoCpuTable;;2;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a03;IEC_InvalidWorkspaceAddress;;3;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a04;IEC_TooLittleWorkspace;;4;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a05;IEC_WorkspaceAllocation;;5;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a06;IEC_InterruptStackTooSmall;;6;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a07;IEC_ThreadExitted;;7;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a08;IEC_InconsistentMpInformation;;8;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a09;IEC_InvalidNode;;9;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0a;IEC_NoMpci;;10;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0b;IEC_BadPacket;;11;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0c;IEC_OutOfPackets;;12;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0d;IEC_OutOfGlobalObjects;;13;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0e;IEC_OutOfProxies;;14;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a0f;IEC_InvalidGlobalId;;15;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a10;IEC_BadStackHook;;16;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a11;IEC_BadAttributes;;17;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a12;IEC_ImplementationKeyCreateInconsistency;;18;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a13;IEC_ImplementationBlockingOperationCancel;;19;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a14;IEC_MutexObtainFromBadState;;20;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a15;IEC_UnlimitedAndMaximumIs0;;21;INTERNAL_ERROR_CODES;fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2600;FDI_YourFault;;0;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2601;FDI_MyFault;;1;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2602;FDI_ConfirmLater;;2;HANDLES_FAILURES_IF;fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x1e00;PUS_InvalidPusVersion;;0;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x1e01;PUS_InvalidCrc16;;1;PUS_IF;fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x0201;OM_InsertionFailed;;1;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0202;OM_NotFound;;2;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0203;OM_ChildInitFailed;;3;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0204;OM_InternalErrReporterUninit;;4;OBJECT_MANAGER_IF;fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x2201;TMF_Busy;;1;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2202;TMF_LastPacketFound;;2;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2203;TMF_StopFetch;;3;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2204;TMF_Timeout;;4;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2205;TMF_TmChannelFull;;5;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2206;TMF_NotStored;;6;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2207;TMF_AllDeleted;;7;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2208;TMF_InvalidData;;8;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2209;TMF_NotReady;;9;TM_STORE_FRONTEND_IF;fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2101;TMB_Busy;;1;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2102;TMB_Full;;2;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2103;TMB_Empty;;3;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2104;TMB_NullRequested;;4;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2105;TMB_TooLarge;;5;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2106;TMB_NotReady;;6;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2107;TMB_DumpError;;7;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2108;TMB_CrcError;;8;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2109;TMB_Timeout;;9;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210a;TMB_IdlePacketFound;;10;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210b;TMB_TelecommandFound;;11;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210c;TMB_NoPusATm;;12;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210d;TMB_TooSmall;;13;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210e;TMB_BlockNotFound;;14;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210f;TMB_InvalidRequest;;15;TM_STORE_BACKEND_IF;fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2d01;PAW_UnknownDatatype;;1;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d02;PAW_DatatypeMissmatch;;2;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d03;PAW_Readonly;;3;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d04;PAW_TooBig;;4;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d05;PAW_SourceNotSet;;5;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d06;PAW_OutOfBounds;;6;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d07;PAW_NotSet;;7;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d08;PAW_ColumnOrRowsZero;;8;PARAMETER_WRAPPER;fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2e01;HPA_InvalidIdentifierId;;1;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e02;HPA_InvalidDomainId;;2;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e03;HPA_InvalidValue;;3;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e05;HPA_ReadOnly;;5;HAS_PARAMETERS_IF;fsfw/src/fsfw/parameters/HasParametersIF.h
0x3b01;SPH_SemaphoreTimeout;;1;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b02;SPH_SemaphoreNotOwned;;2;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b03;SPH_SemaphoreInvalid;;3;SEMAPHORE_IF;fsfw/src/fsfw/tasks/SemaphoreIF.h
0x4300;FILS_GenericFileError;;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4301;FILS_GenericDirError;;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4302;FILS_FilesystemInactive;;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4303;FILS_GenericRenameError;;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4304;FILS_IsBusy;;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4305;FILS_InvalidParameters;;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430a;FILS_FileDoesNotExist;;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430b;FILS_FileAlreadyExists;;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c;FILS_NotAFile;;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d;FILS_FileLocked;;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e;FILS_PermissionDenied;;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315;FILS_DirectoryDoesNotExist;;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316;FILS_DirectoryAlreadyExists;;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317;FILS_NotADirectory;;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318;FILS_DirectoryNotEmpty;;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e;FILS_SequencePacketMissingWrite;;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f;FILS_SequencePacketMissingRead;;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x1a01;TRC_NotEnoughSensors;;1;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
0x1a02;TRC_LowestValueOol;;2;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
0x1a03;TRC_HighestValueOol;;3;TRIPLE_REDUNDACY_CHECK;fsfw/src/fsfw/monitoring/TriplexMonitor.h
@ -316,74 +383,36 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x31e2;LIM_WrongPid;;226;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
0x31e3;LIM_WrongLimitId;;227;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
0x31ee;LIM_MonitorNotFound;;238;LIMITS_IF;fsfw/src/fsfw/monitoring/MonitoringIF.h
0x3601;CFDP_InvalidTlvType;;1;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3602;CFDP_InvalidDirectiveField;;2;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3603;CFDP_InvalidPduDatafieldLen;;3;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3604;CFDP_InvalidAckDirectiveFields;;4;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3605;CFDP_MetadataCantParseOptions;;5;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3606;CFDP_NakCantParseOptions;;6;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3607;CFDP_FinishedCantParseFsResponses;;7;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3608;CFDP_FilestoreRequiresSecondFile;;8;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x3609;CFDP_FilestoreResponseCantParseFsMessage;;9;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x360a;CFDP_InvalidPduFormat;;10;CFDP;fsfw/src/fsfw/cfdp/definitions.h
0x4300;FILS_GenericFileError;;0;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4301;FILS_GenericDirError;;1;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4302;FILS_FilesystemInactive;;2;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4303;FILS_GenericRenameError;;3;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4304;FILS_IsBusy;;4;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4305;FILS_InvalidParameters;;5;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430a;FILS_FileDoesNotExist;;10;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430b;FILS_FileAlreadyExists;;11;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c;FILS_NotAFile;;12;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d;FILS_FileLocked;;13;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e;FILS_PermissionDenied;;14;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315;FILS_DirectoryDoesNotExist;;21;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316;FILS_DirectoryAlreadyExists;;22;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317;FILS_NotADirectory;;23;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318;FILS_DirectoryNotEmpty;;24;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e;FILS_SequencePacketMissingWrite;;30;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f;FILS_SequencePacketMissingRead;;31;FILE_SYSTEM;fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x2c01;CCS_BcIsSetVrCommand;;1;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2c02;CCS_BcIsUnlockCommand;;2;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb0;CCS_BcIllegalCommand;;176;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb1;CCS_BoardReadingNotFinished;;177;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf0;CCS_NsPositiveW;;240;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf1;CCS_NsNegativeW;;241;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf2;CCS_NsLockout;;242;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf3;CCS_FarmInLockout;;243;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf4;CCS_FarmInWait;;244;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce0;CCS_WrongSymbol;;224;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce1;CCS_DoubleStart;;225;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce2;CCS_StartSymbolMissed;;226;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce3;CCS_EndWithoutStart;;227;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce4;CCS_TooLarge;;228;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce5;CCS_TooShort;;229;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce6;CCS_WrongTfVersion;;230;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce7;CCS_WrongSpacecraftId;;231;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce8;CCS_NoValidFrameType;;232;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce9;CCS_CrcFailed;;233;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cea;CCS_VcNotFound;;234;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ceb;CCS_ForwardingFailed;;235;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cec;CCS_ContentTooLarge;;236;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ced;CCS_ResidualData;;237;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cee;CCS_DataCorrupted;;238;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cef;CCS_IllegalSegmentationFlag;;239;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd0;CCS_IllegalFlagCombination;;208;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd1;CCS_ShorterThanHeader;;209;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd2;CCS_TooShortBlockedPacket;;210;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd3;CCS_TooShortMapExtraction;;211;CCSDS_HANDLER_IF;fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x4201;PUS11_InvalidTypeTimeWindow;;1;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4202;PUS11_InvalidTimeWindow;;2;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4203;PUS11_TimeshiftingNotPossible;;3;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4204;PUS11_InvalidRelativeTime;;4;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4205;PUS11_ContainedTcTooSmall;;5;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x4206;PUS11_ContainedTcCrcMissmatch;;6;PUS_SERVICE_11;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
0x3401;DC_NoReplyReceived;;1;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3402;DC_ProtocolError;;2;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3403;DC_Nullpointer;;3;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3404;DC_InvalidCookieType;;4;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3405;DC_NotActive;;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3406;DC_TooMuchData;;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x0601;PP_DoItMyself;;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0602;PP_PointsToVariable;;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0603;PP_PointsToMemory;;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0604;PP_ActivityCompleted;;4;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0605;PP_PointsToVectorUint8;;5;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0606;PP_PointsToVectorUint16;;6;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0607;PP_PointsToVectorUint32;;7;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x0608;PP_PointsToVectorFloat;;8;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06a0;PP_DumpNotSupported;;160;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e0;PP_InvalidSize;;224;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e1;PP_InvalidAddress;;225;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e2;PP_InvalidContent;;226;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e3;PP_UnalignedAccess;;227;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x06e4;PP_WriteProtected;;228;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h
0x13e0;MH_UnknownCmd;;224;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e1;MH_InvalidAddress;;225;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e2;MH_InvalidSize;;226;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x13e3;MH_StateMismatch;;227;MEMORY_HELPER;fsfw/src/fsfw/memory/MemoryHelper.h
0x1201;AB_NeedSecondStep;;1;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1202;AB_NeedToReconfigure;;2;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1203;AB_ModeFallback;;3;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1204;AB_ChildNotCommandable;;4;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1205;AB_NeedToChangeHealth;;5;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x12a1;AB_NotEnoughChildrenInCorrectState;;161;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x03a0;DHB_InvalidChannel;;160;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03b0;DHB_AperiodicReply;;176;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03b1;DHB_IgnoreReplyData;;177;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
@ -393,12 +422,12 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x03d0;DHB_NoSwitch;;208;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03e0;DHB_ChildTimeout;;224;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x03e1;DHB_SwitchFailed;;225;DEVICE_HANDLER_BASE;fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
0x1201;AB_NeedSecondStep;;1;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1202;AB_NeedToReconfigure;;2;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1203;AB_ModeFallback;;3;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1204;AB_ChildNotCommandable;;4;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x1205;AB_NeedToChangeHealth;;5;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x12a1;AB_NotEnoughChildrenInCorrectState;;161;ASSEMBLY_BASE;fsfw/src/fsfw/devicehandlers/AssemblyBase.h
0x3401;DC_NoReplyReceived;;1;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3402;DC_ProtocolError;;2;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3403;DC_Nullpointer;;3;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3404;DC_InvalidCookieType;;4;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3405;DC_NotActive;;5;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x3406;DC_TooMuchData;;6;DEVICE_COMMUNICATION_IF;fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
0x27a0;DHI_NoCommandData;;160;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27a1;DHI_CommandNotSupported;;161;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27a2;DHI_CommandAlreadySent;;162;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
@ -420,58 +449,28 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x27c3;DHI_DeviceReplyInvalid;;195;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27d0;DHI_InvalidCommandParameter;;208;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x27d1;DHI_InvalidNumberOrLengthOfParameters;;209;DEVICE_HANDLER_IF;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
0x2401;MT_TooDetailedRequest;;1;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2402;MT_TooGeneralRequest;;2;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2403;MT_NoMatch;;3;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2404;MT_Full;;4;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x2405;MT_NewNodeCreated;;5;MATCH_TREE_CLASS;fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
0x3f01;DLEE_NoPacketFound;;1;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x3f02;DLEE_PossiblePacketLoss;;2;DLE_ENCODER;fsfw/src/fsfw/globalfunctions/DleParser.h
0x2f01;ASC_TooLongForTargetType;;1;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f02;ASC_InvalidCharacters;;2;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x2f03;ASC_BufferTooSmall;;3;ASCII_CONVERTER;fsfw/src/fsfw/globalfunctions/AsciiConverter.h
0x1701;HHI_ObjectNotHealthy;;1;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1702;HHI_InvalidHealthState;;2;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x1703;HHI_IsExternallyControlled;;3;HAS_HEALTH_IF;fsfw/src/fsfw/health/HasHealthIF.h
0x3201;CF_ObjectHasNoFunctions;;1;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3202;CF_AlreadyCommanding;;2;COMMANDS_ACTIONS_IF;fsfw/src/fsfw/action/CommandsActionsIF.h
0x3301;HF_IsBusy;;1;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3302;HF_InvalidParameters;;2;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3303;HF_ExecutionFinished;;3;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x3304;HF_InvalidActionId;;4;HAS_ACTIONS_IF;fsfw/src/fsfw/action/HasActionsIF.h
0x1000;TIM_UnsupportedTimeFormat;;0;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1001;TIM_NotEnoughInformationForTargetFormat;;1;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1002;TIM_LengthMismatch;;2;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1003;TIM_InvalidTimeFormat;;3;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1004;TIM_InvalidDayOfYear;;4;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1005;TIM_TimeDoesNotFitFormat;;5;CCSDS_TIME_HELPER_CLASS;fsfw/src/fsfw/timemanager/CCSDSTime.h
0x3701;TSI_BadTimestamp;;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h
0x3c00;LPIF_PoolEntryNotFound;;0;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3c01;LPIF_PoolEntryTypeConflict;;1;LOCAL_POOL_OWNER_IF;fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3e00;HKM_QueueOrDestinationInvalid;;0;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e01;HKM_WrongHkPacketType;;1;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e02;HKM_ReportingStatusUnchanged;;2;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e03;HKM_PeriodicHelperInvalid;;3;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e04;HKM_PoolobjectNotFound;;4;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e05;HKM_DatasetNotFound;;5;HOUSEKEEPING_MANAGER;fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x2901;TC_InvalidTargetState;;1;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f1;TC_AboveOperationalLimit;;241;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f2;TC_BelowOperationalLimit;;242;THERMAL_COMPONENT_IF;fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x2001;CSB_ExecutionComplete;;1;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2002;CSB_NoStepMessage;;2;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2003;CSB_ObjectBusy;;3;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2004;CSB_Busy;;4;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2005;CSB_InvalidTc;;5;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2006;CSB_InvalidObject;;6;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2007;CSB_InvalidReply;;7;COMMAND_SERVICE_BASE;fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x4c00;SPPA_NoPacketFound;;0;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4c01;SPPA_SplitPacket;;1;SPACE_PACKET_PARSER;fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x1d01;ATC_ActivityStarted;;1;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d02;ATC_InvalidSubservice;;2;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d03;ATC_IllegalApplicationData;;3;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d04;ATC_SendTmFailed;;4;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d05;ATC_Timeout;;5;ACCEPTS_TELECOMMANDS_IF;fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x7000;SCBU_KeyNotFound;;0;SCRATCH_BUFFER;bsp_q7s/memory/scratchApi.h
0x1401;SE_BufferTooShort;;1;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1402;SE_StreamTooShort;;2;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x1403;SE_TooManyElements;;3;SERIALIZE_IF;fsfw/src/fsfw/serialize/SerializeIF.h
0x4500;HSPI_HalTimeoutRetval;;0;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
0x4501;HSPI_HalBusyRetval;;1;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
0x4502;HSPI_HalErrorRetval;;2;HAL_SPI;fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
0x4601;HURT_UartReadFailure;;1;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4602;HURT_UartReadSizeMissmatch;;2;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4603;HURT_UartRxBufferTooSmall;;3;HAL_UART;fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
0x4801;HGIO_UnknownGpioId;;1;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4802;HGIO_DriveGpioFailure;;2;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4803;HGIO_GpioTypeFailure;;3;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4804;HGIO_GpioInvalidInstance;;4;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4805;HGIO_GpioDuplicateDetected;;5;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4806;HGIO_GpioInitFailed;;6;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4807;HGIO_GpioGetValueFailed;;7;HAL_GPIO;fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
0x4400;UXOS_ExecutionFinished;Execution of the current command has finished;0;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4401;UXOS_CommandPending;Command is pending. This will also be returned if the user tries to load another command but a command is still pending;1;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4402;UXOS_BytesRead;Some bytes have been read from the executing process;2;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4403;UXOS_CommandError;Command execution failed;3;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4404;UXOS_NoCommandLoadedOrPending;;4;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x4406;UXOS_PcloseCallError;;6;LINUX_OSAL;fsfw/src/fsfw_hal/linux/CommandExecutor.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
0x6f00;SDMA_OpOngoing;;0;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
@ -484,9 +483,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x6f0d;SDMA_UnmountError;;13;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6f0e;SDMA_SystemCallError;;14;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x6f0f;SDMA_PopenCallError;;15;SD_CARD_MANAGER;bsp_q7s/fs/SdCardManager.h
0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/devices/ploc/PlocMPSoCHelper.h
0x5ea0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;160;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
0x5ea1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
0x7000;SCBU_KeyNotFound;;0;SCRATCH_BUFFER;bsp_q7s/memory/scratchApi.h
0x57a0;PLSPVhLP_FileClosedAccidentally;File accidentally close;160;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
0x57a1;PLSPVhLP_ProcessTerminated;Process has been terminated by command;161;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
0x57a2;PLSPVhLP_PathNotExists;Received command with invalid pathname;162;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
@ -497,16 +494,46 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x5703;PLSPVhLP_PossiblePacketLossConsecutiveStart;;3;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
0x5704;PLSPVhLP_PossiblePacketLossConsecutiveEnd;;4;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
0x5705;PLSPVhLP_HdlcError;;5;PLOC_SUPV_HELPER;linux/devices/ploc/PlocSupvUartMan.h
0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x65a0;PLMPHLP_FileClosedAccidentally;File accidentally close;160;PLOC_MPSOC_HELPER;linux/devices/ploc/PlocMPSoCHelper.h
0x5ea0;PLMEMDUMP_MramAddressTooHigh;The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000.;160;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
0x5ea1;PLMEMDUMP_MramInvalidAddressCombination;The specified end address is lower than the start address;161;PLOC_MEMORY_DUMPER;linux/devices/ploc/PlocMemoryDumper.h
0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b7;STRH_StartrackerRunningFirmware;Star tracker is in firmware mode but must be in bootloader mode to execute this command;183;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b8;STRH_StartrackerRunningBootloader;Star tracker is in bootloader mode but must be in firmware mode to execute this command;184;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x5ca0;STRHLP_SdNotMounted;SD card specified in path string not mounted;160;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca1;STRHLP_FileNotExists;Specified file does not exist on filesystem;161;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca2;STRHLP_PathNotExists;Specified path does not exist;162;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca3;STRHLP_FileCreationFailed;Failed to create download image or read flash file;163;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca4;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;164;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca5;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;165;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca6;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;166;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca7;STRHLP_StatusError;Status field in reply signals error;167;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca8;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);168;STR_HELPER;linux/devices/startracker/StrHelper.h
0x68a0;SPVRTVIF_CrcFailure;Space Packet received from PLOC supervisor has invalid CRC;160;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
0x68a1;SPVRTVIF_InvalidServiceId;;161;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
0x68a2;SPVRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC supervisor;162;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
@ -531,46 +558,20 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x68b5;SPVRTVIF_SupvHelperExecuting;Supervisor helper task ist currently executing a command (wait until helper tas has finished or interrupt by sending the terminate command);181;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
0x68c0;SPVRTVIF_BufTooSmall;;192;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
0x68c1;SPVRTVIF_NoReplyTimeout;;193;SUPV_RETURN_VALUES_IF;linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
0x67a0;MPSOCRTVIF_CrcFailure;Space Packet received from PLOC has invalid CRC;160;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a1;MPSOCRTVIF_ReceivedAckFailure;Received ACK failure reply from PLOC;161;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a2;MPSOCRTVIF_ReceivedExeFailure;Received execution failure reply from PLOC;162;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a3;MPSOCRTVIF_InvalidApid;Received space packet with invalid APID from PLOC;163;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a4;MPSOCRTVIF_InvalidLength;Received command with invalid length;164;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a5;MPSOCRTVIF_FilenameTooLong;Filename of file in OBC filesystem is too long;165;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a6;MPSOCRTVIF_MpsocHelperExecuting;MPSoC helper is currently executing a command;166;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a7;MPSOCRTVIF_MpsocFilenameTooLong;Filename of MPSoC file is to long (max. 256 bytes);167;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a8;MPSOCRTVIF_InvalidParameter;Command has invalid parameter;168;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x67a9;MPSOCRTVIF_NameTooLong;Received command has file string with invalid length;169;MPSOC_RETURN_VALUES_IF;linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
0x54e0;DWLPWRON_InvalidMode;Received command has invalid JESD mode (valid modes are 0 - 5);224;DWLPWRON_CMD;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
0x54e1;DWLPWRON_InvalidLaneRate;Received command has invalid lane rate (valid lane rate are 0 - 9);225;DWLPWRON_CMD;linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
0x6201;JSONBASE_JsonFileNotExists;Specified json file does not exist;1;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
0x6202;JSONBASE_SetNotExists;Requested set does not exist in json file;2;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
0x6203;JSONBASE_ParamNotExists;Requested parameter does not exist in json file;3;ARCSEC_JSON_BASE;linux/devices/startracker/ArcsecJsonParamBase.h
0x53a0;STRH_TemperatureReqFailed;Status in temperature reply signals error;160;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a1;STRH_PingFailed;Ping command failed;161;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a2;STRH_VersionReqFailed;Status in version reply signals error;162;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x5ca0;STRHLP_SdNotMounted;SD card specified in path string not mounted;160;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca1;STRHLP_FileNotExists;Specified file does not exist on filesystem;161;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca2;STRHLP_PathNotExists;Specified path does not exist;162;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca3;STRHLP_FileCreationFailed;Failed to create download image or read flash file;163;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca4;STRHLP_RegionMismatch;Region in flash write/read reply does not match expected region;164;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca5;STRHLP_AddressMismatch;Address in flash write/read reply does not match expected address;165;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca6;STRHLP_LengthMismatch;Length in flash write/read reply does not match expected length;166;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca7;STRHLP_StatusError;Status field in reply signals error;167;STR_HELPER;linux/devices/startracker/StrHelper.h
0x5ca8;STRHLP_InvalidTypeId;Reply has invalid type ID (should be of action reply type);168;STR_HELPER;linux/devices/startracker/StrHelper.h
0x53a3;STRH_InterfaceReqFailed;Status in interface reply signals error;163;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a4;STRH_PowerReqFailed;Status in power reply signals error;164;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a5;STRH_SetParamFailed;Status of reply to parameter set command signals error;165;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a6;STRH_ActionFailed;Status of reply to action command signals error;166;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a7;STRH_FilePathTooLong;Received invalid path string. Exceeds allowed length;167;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a8;STRH_FilenameTooLong;Name of file received with command is too long;168;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53a9;STRH_InvalidProgram;Received version reply with invalid program ID;169;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53aa;STRH_ReplyError;Status field reply signals error;170;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ab;STRH_CommandTooShort;Received command which is too short (some data is missing for proper execution);171;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ac;STRH_InvalidLength;Received command with invalid length (too few or too many parameters);172;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ad;STRH_RegionMismatch;Region mismatch between send and received data;173;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53ae;STRH_AddressMismatch;Address mismatch between send and received data;174;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53af;STRH_LengthMismatch;Length field mismatch between send and received data;175;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b0;STRH_FileNotExists;Specified file does not exist;176;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b1;STRH_InvalidType;Download blob pixel command has invalid type field;177;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b2;STRH_InvalidId;Received FPGA action command with invalid ID;178;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b3;STRH_ReplyTooShort;Received reply is too short;179;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b4;STRH_CrcFailure;Received reply with invalid CRC;180;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b5;STRH_StrHelperExecuting;Star tracker handler currently executing a command and using the communication interface;181;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b6;STRH_StartrackerAlreadyBooted;Star tracker is already in firmware mode;182;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b7;STRH_StartrackerRunningFirmware;Star tracker is in firmware mode but must be in bootloader mode to execute this command;183;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x53b8;STRH_StartrackerRunningBootloader;Star tracker is in bootloader mode but must be in firmware mode to execute this command;184;STR_HANDLER;linux/devices/startracker/StarTrackerHandler.h
0x5302;STRH_InvalidCrc;;2;STR_HANDLER;linux/devices/ScexHelper.h
0x5402;DWLPWRON_InvalidCrc;;2;DWLPWRON_CMD;linux/devices/ScexHelper.h
0x59a0;IPCI_PapbBusy;;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h
0x5aa0;PTME_UnknownVcId;;160;PTME;linux/ipcore/Ptme.h
0x5fa0;PDEC_AbandonedCltu;;160;PDEC_HANDLER;linux/ipcore/PdecHandler.h
0x5fa1;PDEC_FrameDirty;;161;PDEC_HANDLER;linux/ipcore/PdecHandler.h
@ -591,4 +592,3 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path
0x61a1;RS_BadBitRate;Bad bitrate has been commanded (e.g. 0);161;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x61a2;RS_ClkInversionFailed;Failed to invert clock and thus change the time the data is updated with respect to the tx clock;162;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x61a3;RS_TxManipulatorConfigFailed;Failed to change configuration bit of tx clock manipulator;163;RATE_SETTER;linux/ipcore/PtmeConfig.h
0x59a0;IPCI_PapbBusy;;160;CCSDS_IP_CORE_BRIDGE;linux/ipcore/PapbVcInterface.h

1 Full ID (hex) Name Description Unique ID Subsytem Name File Path
2 0x0000 OK System-wide code for ok. 0 HasReturnvaluesIF fsfw/returnvalues/returnvalue.h
3 0x0001 Failed Unspecified system-wide code for failed. 1 HasReturnvaluesIF fsfw/returnvalues/returnvalue.h
4 0x63a0 0x60a0 NVMB_KeyNotExists CCSDS_CommandNotImplemented Specified key does not exist in json file Received action message with unknown action id 160 NVM_PARAM_BASE CCSDS_HANDLER mission/memory/NVMParameterBase.h mission/tmtc/CcsdsIpCoreHandler.h
5 0x6300 0x5d00 NVMB_Busy GOMS_PacketTooLong 0 NVM_PARAM_BASE GOM_SPACE_HANDLER mission/system/objects/Stack5VHandler.h mission/devices/GomspaceDeviceHandler.h
6 0x58a0 0x5d01 SUSS_ErrorUnlockMutex GOMS_InvalidTableId 160 1 SUS_HANDLER GOM_SPACE_HANDLER mission/devices/SusHandler.h mission/devices/GomspaceDeviceHandler.h
7 0x58a1 0x5d02 SUSS_ErrorLockMutex GOMS_InvalidAddress 161 2 SUS_HANDLER GOM_SPACE_HANDLER mission/devices/SusHandler.h mission/devices/GomspaceDeviceHandler.h
8 0x66a0 0x5d03 SADPL_CommandNotSupported GOMS_InvalidParamSize 160 3 SA_DEPL_HANDLER GOM_SPACE_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/devices/GomspaceDeviceHandler.h
9 0x66a1 0x5d04 SADPL_DeploymentAlreadyExecuting GOMS_InvalidPayloadSize 161 4 SA_DEPL_HANDLER GOM_SPACE_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/devices/GomspaceDeviceHandler.h
10 0x66a2 0x5d05 SADPL_MainSwitchTimeoutFailure GOMS_UnknownReplyId 162 5 SA_DEPL_HANDLER GOM_SPACE_HANDLER mission/devices/SolarArrayDeploymentHandler.h mission/devices/GomspaceDeviceHandler.h
0x66a3 SADPL_SwitchingDeplSa1Failed 163 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h
0x66a4 SADPL_SwitchingDeplSa2Failed 164 SA_DEPL_HANDLER mission/devices/SolarArrayDeploymentHandler.h
0x51a0 IMTQ_InvalidCommandCode 160 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a1 IMTQ_ParameterMissing 161 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a2 IMTQ_ParameterInvalid 162 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a3 IMTQ_CcUnavailable 163 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a4 IMTQ_InternalProcessingError 164 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a5 IMTQ_RejectedWithoutReason 165 IMTQ_HANDLER mission/devices/ImtqHandler.h
0x51a6 IMTQ_CmdErrUnknown 166 IMTQ_HANDLER mission/devices/ImtqHandler.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/ImtqHandler.h
11 0x52b0 RWHA_SpiWriteFailure 176 RW_HANDLER mission/devices/RwHandler.h
12 0x52b1 RWHA_SpiReadFailure Used by the spi send function to tell a failing read call 177 RW_HANDLER mission/devices/RwHandler.h
13 0x52b2 RWHA_MissingStartSign Can be used by the HDLC decoding mechanism to inform about a missing start sign 0x7E 178 RW_HANDLER mission/devices/RwHandler.h
20 0x52a2 RWHA_SetSpeedCommandInvalidLength Received set speed command has invalid length. Should be 6. 162 RW_HANDLER mission/devices/RwHandler.h
21 0x52a3 RWHA_ExecutionFailed Command execution failed 163 RW_HANDLER mission/devices/RwHandler.h
22 0x52a4 RWHA_CrcError Reaction wheel reply has invalid crc 164 RW_HANDLER mission/devices/RwHandler.h
23 0x4fa1 HEATER_CommandNotSupported 161 HEATER_HANDLER mission/devices/HeaterHandler.h
24 0x4fa2 HEATER_InitFailed 162 HEATER_HANDLER mission/devices/HeaterHandler.h
25 0x4fa3 HEATER_InvalidSwitchNr 163 HEATER_HANDLER mission/devices/HeaterHandler.h
26 0x4fa4 HEATER_MainSwitchSetTimeout 164 HEATER_HANDLER mission/devices/HeaterHandler.h
27 0x4fa5 HEATER_CommandAlreadyWaiting 165 HEATER_HANDLER mission/devices/HeaterHandler.h
28 0x58a0 SUSS_ErrorUnlockMutex 160 SUS_HANDLER mission/devices/SusHandler.h
29 0x58a1 SUSS_ErrorLockMutex 161 SUS_HANDLER mission/devices/SusHandler.h
30 0x51a0 IMTQ_InvalidCommandCode 160 IMTQ_HANDLER mission/devices/ImtqHandler.h
31 0x51a1 IMTQ_ParameterMissing 161 IMTQ_HANDLER mission/devices/ImtqHandler.h
32 0x51a2 IMTQ_ParameterInvalid 162 IMTQ_HANDLER mission/devices/ImtqHandler.h
33 0x51a3 IMTQ_CcUnavailable 163 IMTQ_HANDLER mission/devices/ImtqHandler.h
34 0x51a4 IMTQ_InternalProcessingError 164 IMTQ_HANDLER mission/devices/ImtqHandler.h
35 0x51a5 IMTQ_RejectedWithoutReason 165 IMTQ_HANDLER mission/devices/ImtqHandler.h
36 0x51a6 IMTQ_CmdErrUnknown 166 IMTQ_HANDLER mission/devices/ImtqHandler.h
37 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/ImtqHandler.h
38 0x50a0 SYRLINKS_CrcFailure 160 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
39 0x50a1 SYRLINKS_UartFraminOrParityErrorAck 161 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
40 0x50a2 SYRLINKS_BadCharacterAck 162 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
44 0x50a6 SYRLINKS_BadCrcAck 166 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
45 0x50a7 SYRLINKS_ReplyWrongSize 167 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
46 0x50a8 SYRLINKS_MissingStartFrameCharacter 168 SYRLINKS_HANDLER mission/devices/SyrlinksHandler.h
47 0x5d00 0x66a0 GOMS_PacketTooLong SADPL_CommandNotSupported 0 160 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
48 0x5d01 0x66a1 GOMS_InvalidTableId SADPL_DeploymentAlreadyExecuting 1 161 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
49 0x5d02 0x66a2 GOMS_InvalidAddress SADPL_MainSwitchTimeoutFailure 2 162 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
50 0x5d03 0x66a3 GOMS_InvalidParamSize SADPL_SwitchingDeplSa1Failed 3 163 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
51 0x5d04 0x66a4 GOMS_InvalidPayloadSize SADPL_SwitchingDeplSa2Failed 4 164 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/devices/SolarArrayDeploymentHandler.h
52 0x5d05 0x6600 GOMS_UnknownReplyId SADPL_Busy 5 0 GOM_SPACE_HANDLER SA_DEPL_HANDLER mission/devices/GomspaceDeviceHandler.h mission/system/objects/Stack5VHandler.h
0x4fa1 HEATER_CommandNotSupported 161 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa2 HEATER_InitFailed 162 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa3 HEATER_InvalidSwitchNr 163 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa4 HEATER_MainSwitchSetTimeout 164 HEATER_HANDLER mission/devices/HeaterHandler.h
0x4fa5 HEATER_CommandAlreadyWaiting 165 HEATER_HANDLER mission/devices/HeaterHandler.h
0x60a0 CCSDS_CommandNotImplemented Received action message with unknown action id 160 CCSDS_HANDLER mission/tmtc/CcsdsIpCoreHandler.h
0x6a01 ACSSAF_SafectrlMekfInputInvalid 1 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
53 0x6b01 ACSPTG_PtgctrlMekfInputInvalid 1 ACS_PTG mission/controller/acs/control/PtgCtrl.h
54 0x6a01 ACSSAF_SafectrlMekfInputInvalid 1 ACS_SAFE mission/controller/acs/control/SafeCtrl.h
55 0x6c01 ACSDTB_DetumbleNoSensordata 1 ACS_DETUMBLE mission/controller/acs/control/Detumble.h
56 0x6901 ACSKAL_KalmanNoGyrMeas 1 ACS_KALMAN mission/controller/acs/MultiplicativeKalmanFilter.h
57 0x6902 ACSKAL_KalmanNoModel 2 ACS_KALMAN mission/controller/acs/MultiplicativeKalmanFilter.h
58 0x6903 ACSKAL_KalmanInversionFailed 3 ACS_KALMAN mission/controller/acs/MultiplicativeKalmanFilter.h
59 0x4500 0x63a0 HSPI_OpeningFileFailed NVMB_KeyNotExists Specified key does not exist in json file 0 160 HAL_SPI NVM_PARAM_BASE fsfw/src/fsfw_hal/linux/spi/SpiComIF.h mission/memory/NVMParameterBase.h
60 0x4501 0x2c01 HSPI_FullDuplexTransferFailed CCS_BcIsSetVrCommand 1 HAL_SPI CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/spi/SpiComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
61 0x4502 0x2c02 HSPI_HalfDuplexTransferFailed CCS_BcIsUnlockCommand 2 HAL_SPI CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/spi/SpiComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
62 0x4801 0x2cb0 HGIO_UnknownGpioId CCS_BcIllegalCommand 1 176 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
63 0x4802 0x2cb1 HGIO_DriveGpioFailure CCS_BoardReadingNotFinished 2 177 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
64 0x4803 0x2cf0 HGIO_GpioTypeFailure CCS_NsPositiveW 3 240 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
65 0x4804 0x2cf1 HGIO_GpioInvalidInstance CCS_NsNegativeW 4 241 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
66 0x4805 0x2cf2 HGIO_GpioDuplicateDetected CCS_NsLockout 5 242 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
67 0x4806 0x2cf3 HGIO_GpioInitFailed CCS_FarmInLockout 6 243 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
68 0x4807 0x2cf4 HGIO_GpioGetValueFailed CCS_FarmInWait 7 244 HAL_GPIO CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
69 0x4601 0x2ce0 HURT_UartReadFailure CCS_WrongSymbol 1 224 HAL_UART CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
70 0x4602 0x2ce1 HURT_UartReadSizeMissmatch CCS_DoubleStart 2 225 HAL_UART CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
71 0x4603 0x2ce2 HURT_UartRxBufferTooSmall CCS_StartSymbolMissed 3 226 HAL_UART CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/serial/SerialComIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
72 0x4400 0x2ce3 UXOS_ExecutionFinished CCS_EndWithoutStart Execution of the current command has finished 0 227 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
73 0x4401 0x2ce4 UXOS_CommandPending CCS_TooLarge Command is pending. This will also be returned if the user tries to load another command but a command is still pending 1 228 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
74 0x4402 0x2ce5 UXOS_BytesRead CCS_TooShort Some bytes have been read from the executing process 2 229 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
75 0x4403 0x2ce6 UXOS_CommandError CCS_WrongTfVersion Command execution failed 3 230 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
76 0x4404 0x2ce7 UXOS_NoCommandLoadedOrPending CCS_WrongSpacecraftId 4 231 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
77 0x4406 0x2ce8 UXOS_PcloseCallError CCS_NoValidFrameType 6 232 LINUX_OSAL CCSDS_HANDLER_IF fsfw/src/fsfw_hal/linux/CommandExecutor.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
78 0x2801 0x2ce9 SM_DataTooLarge CCS_CrcFailed 1 233 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
79 0x2802 0x2cea SM_DataStorageFull CCS_VcNotFound 2 234 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
80 0x2803 0x2ceb SM_IllegalStorageId CCS_ForwardingFailed 3 235 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
81 0x2804 0x2cec SM_DataDoesNotExist CCS_ContentTooLarge 4 236 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
82 0x2805 0x2ced SM_IllegalAddress CCS_ResidualData 5 237 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
83 0x2806 0x2cee SM_PoolTooLarge CCS_DataCorrupted 6 238 STORAGE_MANAGER_IF CCSDS_HANDLER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
84 0x0601 0x2cef PP_DoItMyself CCS_IllegalSegmentationFlag 1 239 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
85 0x0602 0x2cd0 PP_PointsToVariable CCS_IllegalFlagCombination 2 208 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
86 0x0603 0x2cd1 PP_PointsToMemory CCS_ShorterThanHeader 3 209 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
87 0x0604 0x2cd2 PP_ActivityCompleted CCS_TooShortBlockedPacket 4 210 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
88 0x0605 0x2cd3 PP_PointsToVectorUint8 CCS_TooShortMapExtraction 5 211 HAS_MEMORY_IF CCSDS_HANDLER_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
89 0x0606 0x3b00 PP_PointsToVectorUint16 SPH_ConnBroken 6 0 HAS_MEMORY_IF SEMAPHORE_IF fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/common/TcpTmTcServer.h
90 0x0607 0x2a01 PP_PointsToVectorUint32 IEC_NoConfigurationTable 7 1 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
91 0x0608 0x2a02 PP_PointsToVectorFloat IEC_NoCpuTable 8 2 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
92 0x06a0 0x2a03 PP_DumpNotSupported IEC_InvalidWorkspaceAddress 160 3 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
93 0x06e0 0x2a04 PP_InvalidSize IEC_TooLittleWorkspace 224 4 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
94 0x06e1 0x2a05 PP_InvalidAddress IEC_WorkspaceAllocation 225 5 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
95 0x06e2 0x2a06 PP_InvalidContent IEC_InterruptStackTooSmall 226 6 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
96 0x06e3 0x2a07 PP_UnalignedAccess IEC_ThreadExitted 227 7 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
97 0x06e4 0x2a08 PP_WriteProtected IEC_InconsistentMpInformation 228 8 HAS_MEMORY_IF INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/HasMemoryIF.h fsfw/src/fsfw/osal/InternalErrorCodes.h
98 0x13e0 0x2a09 MH_UnknownCmd IEC_InvalidNode 224 9 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
99 0x13e1 0x2a0a MH_InvalidAddress IEC_NoMpci 225 10 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
100 0x13e2 0x2a0b MH_InvalidSize IEC_BadPacket 226 11 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
101 0x13e3 0x2a0c MH_StateMismatch IEC_OutOfPackets 227 12 MEMORY_HELPER INTERNAL_ERROR_CODES fsfw/src/fsfw/memory/MemoryHelper.h fsfw/src/fsfw/osal/InternalErrorCodes.h
102 0x38a1 0x2a0d SGP4_InvalidEccentricity IEC_OutOfGlobalObjects 161 13 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
103 0x38a2 0x2a0e SGP4_InvalidMeanMotion IEC_OutOfProxies 162 14 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
104 0x38a3 0x2a0f SGP4_InvalidPerturbationElements IEC_InvalidGlobalId 163 15 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
105 0x38a4 0x2a10 SGP4_InvalidSemiLatusRectum IEC_BadStackHook 164 16 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
106 0x38a5 0x2a11 SGP4_InvalidEpochElements IEC_BadAttributes 165 17 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
107 0x38a6 0x2a12 SGP4_SatelliteHasDecayed IEC_ImplementationKeyCreateInconsistency 166 18 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
108 0x38b1 0x2a13 SGP4_TleTooOld IEC_ImplementationBlockingOperationCancel 177 19 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
109 0x38b2 0x2a14 SGP4_TleNotInitialized IEC_MutexObtainFromBadState 178 20 SGP4PROPAGATOR_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/coordinates/Sgp4Propagator.h fsfw/src/fsfw/osal/InternalErrorCodes.h
110 0x1801 0x2a15 FF_Full IEC_UnlimitedAndMaximumIs0 1 21 FIFO_CLASS INTERNAL_ERROR_CODES fsfw/src/fsfw/container/FIFOBase.h fsfw/src/fsfw/osal/InternalErrorCodes.h
0x1802 FF_Empty 2 FIFO_CLASS fsfw/src/fsfw/container/FIFOBase.h
0x1601 FMM_MapFull 1 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x1602 FMM_KeyDoesNotExist 2 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
0x3901 MUX_NotEnoughResources 1 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3902 MUX_InsufficientMemory 2 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3903 MUX_NoPrivilege 3 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3904 MUX_WrongAttributeSetting 4 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3905 MUX_MutexAlreadyLocked 5 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3906 MUX_MutexNotFound 6 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3907 MUX_MutexMaxLocks 7 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3908 MUX_CurrThreadAlreadyOwnsMutex 8 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3909 MUX_CurrThreadDoesNotOwnMutex 9 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x390a MUX_MutexTimeout 10 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x390b MUX_MutexInvalidId 11 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x390c MUX_MutexDestroyedWhileWaiting 12 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
0x3a01 MQI_Empty 1 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a02 MQI_Full No space left for more messages 2 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a03 MQI_NoReplyPartner Returned if a reply method was called without partner 3 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x3a04 MQI_DestinationInvalid Returned if the target destination is invalid. 4 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
0x0f01 CM_UnknownCommand 1 COMMAND_MESSAGE fsfw/src/fsfw/ipc/CommandMessageIF.h
111 0x0e01 HM_InvalidMode 1 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
112 0x0e02 HM_TransNotAllowed 2 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
113 0x0e03 HM_InTransition 3 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
114 0x0e04 HM_InvalidSubmode 4 HAS_MODES_IF fsfw/src/fsfw/modes/HasModesIF.h
115 0x0c02 0x2e01 MS_InvalidEntry HPA_InvalidIdentifierId 2 1 MODE_STORE_IF HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h fsfw/src/fsfw/parameters/HasParametersIF.h
116 0x0c03 0x2e02 MS_TooManyElements HPA_InvalidDomainId 3 2 MODE_STORE_IF HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h fsfw/src/fsfw/parameters/HasParametersIF.h
117 0x0c04 0x2e03 MS_CantStoreEmpty HPA_InvalidValue 4 3 MODE_STORE_IF HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h fsfw/src/fsfw/parameters/HasParametersIF.h
118 0x0b01 0x2e05 SB_ChildNotFound HPA_ReadOnly 1 5 SUBSYSTEM_BASE HAS_PARAMETERS_IF fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/HasParametersIF.h
119 0x0b02 0x2d01 SB_ChildInfoUpdated PAW_UnknownDatatype 2 1 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
120 0x0b03 0x2d02 SB_ChildDoesntHaveModes PAW_DatatypeMissmatch 3 2 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
121 0x0b04 0x2d03 SB_CouldNotInsertChild PAW_Readonly 4 3 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
122 0x0b05 0x2d04 SB_TableContainsInvalidObjectId PAW_TooBig 5 4 SUBSYSTEM_BASE PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/SubsystemBase.h fsfw/src/fsfw/parameters/ParameterWrapper.h
123 0x0d01 0x2d05 SS_SequenceAlreadyExists PAW_SourceNotSet 1 5 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
124 0x0d02 0x2d06 SS_TableAlreadyExists PAW_OutOfBounds 2 6 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
125 0x0d03 0x2d07 SS_TableDoesNotExist PAW_NotSet 3 7 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
126 0x0d04 0x2d08 SS_TableOrSequenceLengthInvalid PAW_ColumnOrRowsZero 4 8 SUBSYSTEM PARAMETER_WRAPPER fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/parameters/ParameterWrapper.h
127 0x0d05 0x3201 SS_SequenceDoesNotExist CF_ObjectHasNoFunctions 5 1 SUBSYSTEM COMMANDS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/CommandsActionsIF.h
128 0x0d06 0x3202 SS_TableContainsInvalidObjectId CF_AlreadyCommanding 6 2 SUBSYSTEM COMMANDS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/CommandsActionsIF.h
129 0x0d07 0x3301 SS_FallbackSequenceDoesNotExist HF_IsBusy 7 1 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
130 0x0d08 0x3302 SS_NoTargetTable HF_InvalidParameters 8 2 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
131 0x0d09 0x3303 SS_SequenceOrTableTooLong HF_ExecutionFinished 9 3 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
132 0x0d0b 0x3304 SS_IsFallbackSequence HF_InvalidActionId 11 4 SUBSYSTEM HAS_ACTIONS_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/action/HasActionsIF.h
133 0x0d0c 0x0201 SS_AccessDenied OM_InsertionFailed 12 1 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
134 0x0d0e 0x0202 SS_TableInUse OM_NotFound 14 2 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
135 0x0da1 0x0203 SS_TargetTableNotReached OM_ChildInitFailed 161 3 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
136 0x0da2 0x0204 SS_TableCheckFailed OM_InternalErrReporterUninit 162 4 SUBSYSTEM OBJECT_MANAGER_IF fsfw/src/fsfw/subsystem/Subsystem.h fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
137 0x2501 0x2600 EV_ListenerNotFound FDI_YourFault 1 0 EVENT_MANAGER_IF HANDLES_FAILURES_IF fsfw/src/fsfw/events/EventManagerIF.h fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
138 0x2601 FDI_MyFault 1 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
139 0x2602 FDI_ConfirmLater 2 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
140 0x2201 TMF_Busy 1 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
141 0x2202 TMF_LastPacketFound 2 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
142 0x2203 TMF_StopFetch 3 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
143 0x2204 TMF_Timeout 4 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
144 0x2205 TMF_TmChannelFull 5 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
145 0x2206 TMF_NotStored 6 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
146 0x2207 TMF_AllDeleted 7 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
147 0x2208 TMF_InvalidData 8 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
148 0x2209 TMF_NotReady 9 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
149 0x2101 TMB_Busy 1 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
150 0x2102 TMB_Full 2 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
151 0x2103 TMB_Empty 3 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
152 0x2104 TMB_NullRequested 4 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
153 0x2105 TMB_TooLarge 5 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
154 0x2106 TMB_NotReady 6 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
155 0x2107 TMB_DumpError 7 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
156 0x2108 TMB_CrcError 8 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
157 0x2109 TMB_Timeout 9 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
158 0x210a TMB_IdlePacketFound 10 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
159 0x210b TMB_TelecommandFound 11 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
160 0x210c TMB_NoPusATm 12 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
161 0x210d TMB_TooSmall 13 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
162 0x210e TMB_BlockNotFound 14 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
163 0x210f TMB_InvalidRequest 15 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
164 0x1c01 TCD_PacketLost 1 PACKET_DISTRIBUTION fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
165 0x1c02 TCD_DestinationNotFound 2 PACKET_DISTRIBUTION fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
166 0x1c03 TCD_ServiceIdAlreadyExists 3 PACKET_DISTRIBUTION fsfw/src/fsfw/tcdistribution/TcDistributorBase.h
167 0x1b00 TCC_NoDestinationFound 0 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
168 0x1b01 TCC_InvalidCcsdsVersion 1 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
169 0x1b02 TCC_InvalidApid 2 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
170 0x1b03 TCC_InvalidPacketType 3 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
171 0x1b04 TCC_InvalidSecHeaderField 4 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
172 0x1b05 TCC_IncorrectPrimaryHeader 5 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
173 0x1b07 TCC_IncompletePacket 7 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
174 0x1b08 TCC_InvalidPusVersion 8 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
175 0x1b09 TCC_IncorrectChecksum 9 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
176 0x1b0a TCC_IllegalPacketSubtype 10 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
177 0x1b0b TCC_IncorrectSecondaryHeader 11 TMTC_DISTRIBUTION fsfw/src/fsfw/tcdistribution/definitions.h
178 0x04e1 RMP_CommandNoDescriptorsAvailable 225 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
179 0x04e2 RMP_CommandBufferFull 226 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
180 0x04e3 RMP_CommandChannelOutOfRange 227 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
215 0x040a RMP_ReplyCommandNotImplementedOrNotAuthorised 10 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
216 0x040b RMP_ReplyRmwDataLengthError 11 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
217 0x040c RMP_ReplyInvalidTargetLogicalAddress 12 RMAP_CHANNEL fsfw/src/fsfw/rmap/RMAP.h
218 0x1401 0x2801 SE_BufferTooShort SM_DataTooLarge 1 SERIALIZE_IF STORAGE_MANAGER_IF fsfw/src/fsfw/serialize/SerializeIF.h fsfw/src/fsfw/storagemanager/StorageManagerIF.h
219 0x1402 0x2802 SE_StreamTooShort SM_DataStorageFull 2 SERIALIZE_IF STORAGE_MANAGER_IF fsfw/src/fsfw/serialize/SerializeIF.h fsfw/src/fsfw/storagemanager/StorageManagerIF.h
220 0x1403 0x2803 SE_TooManyElements SM_IllegalStorageId 3 SERIALIZE_IF STORAGE_MANAGER_IF fsfw/src/fsfw/serialize/SerializeIF.h fsfw/src/fsfw/storagemanager/StorageManagerIF.h
221 0x2804 SM_DataDoesNotExist 4 STORAGE_MANAGER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h
222 0x2805 SM_IllegalAddress 5 STORAGE_MANAGER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h
223 0x2806 SM_PoolTooLarge 6 STORAGE_MANAGER_IF fsfw/src/fsfw/storagemanager/StorageManagerIF.h
224 0x38a1 SGP4_InvalidEccentricity 161 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
225 0x38a2 SGP4_InvalidMeanMotion 162 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
226 0x38a3 SGP4_InvalidPerturbationElements 163 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
227 0x38a4 SGP4_InvalidSemiLatusRectum 164 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
228 0x38a5 SGP4_InvalidEpochElements 165 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
229 0x38a6 SGP4_SatelliteHasDecayed 166 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
230 0x38b1 SGP4_TleTooOld 177 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
231 0x38b2 SGP4_TleNotInitialized 178 SGP4PROPAGATOR_CLASS fsfw/src/fsfw/coordinates/Sgp4Propagator.h
232 0x2401 MT_NoPacketFound 1 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/DleParser.h
233 0x2402 MT_PossiblePacketLoss 2 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/DleParser.h
234 0x2403 MT_NoMatch 3 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
235 0x2404 MT_Full 4 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
236 0x2405 MT_NewNodeCreated 5 MATCH_TREE_CLASS fsfw/src/fsfw/globalfunctions/matching/MatchTree.h
237 0x3f01 DLEE_StreamTooShort 1 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleEncoder.h
238 0x3f02 DLEE_DecodingError 2 DLE_ENCODER fsfw/src/fsfw/globalfunctions/DleEncoder.h
239 0x2f01 ASC_TooLongForTargetType 1 ASCII_CONVERTER fsfw/src/fsfw/globalfunctions/AsciiConverter.h
240 0x2f02 ASC_InvalidCharacters 2 ASCII_CONVERTER fsfw/src/fsfw/globalfunctions/AsciiConverter.h
241 0x2f03 ASC_BufferTooSmall 3 ASCII_CONVERTER fsfw/src/fsfw/globalfunctions/AsciiConverter.h
242 0x0f01 CM_UnknownCommand 1 COMMAND_MESSAGE fsfw/src/fsfw/ipc/CommandMessageIF.h
243 0x3a01 MQI_Empty 1 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
244 0x3a02 MQI_Full No space left for more messages 2 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
245 0x3a03 MQI_NoReplyPartner Returned if a reply method was called without partner 3 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
246 0x3a04 MQI_DestinationInvalid Returned if the target destination is invalid. 4 MESSAGE_QUEUE_IF fsfw/src/fsfw/ipc/MessageQueueIF.h
247 0x3901 MUX_NotEnoughResources 1 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
248 0x3902 MUX_InsufficientMemory 2 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
249 0x3903 MUX_NoPrivilege 3 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
250 0x3904 MUX_WrongAttributeSetting 4 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
251 0x3905 MUX_MutexAlreadyLocked 5 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
252 0x3906 MUX_MutexNotFound 6 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
253 0x3907 MUX_MutexMaxLocks 7 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
254 0x3908 MUX_CurrThreadAlreadyOwnsMutex 8 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
255 0x3909 MUX_CurrThreadDoesNotOwnMutex 9 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
256 0x390a MUX_MutexTimeout 10 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
257 0x390b MUX_MutexInvalidId 11 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
258 0x390c MUX_MutexDestroyedWhileWaiting 12 MUTEX_IF fsfw/src/fsfw/ipc/MutexIF.h
259 0x3b01 SPH_SemaphoreTimeout 1 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
260 0x3b02 SPH_SemaphoreNotOwned 2 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
261 0x3b03 SPH_SemaphoreInvalid 3 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
262 0x1e00 PUS_InvalidPusVersion 0 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
263 0x1e01 PUS_InvalidCrc16 1 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
264 0x3601 CFDP_InvalidTlvType 1 CFDP fsfw/src/fsfw/cfdp/definitions.h
265 0x3602 CFDP_InvalidDirectiveField 2 CFDP fsfw/src/fsfw/cfdp/definitions.h
266 0x3603 CFDP_InvalidPduDatafieldLen 3 CFDP fsfw/src/fsfw/cfdp/definitions.h
267 0x3604 CFDP_InvalidAckDirectiveFields 4 CFDP fsfw/src/fsfw/cfdp/definitions.h
268 0x3605 CFDP_MetadataCantParseOptions 5 CFDP fsfw/src/fsfw/cfdp/definitions.h
269 0x3606 CFDP_NakCantParseOptions 6 CFDP fsfw/src/fsfw/cfdp/definitions.h
270 0x3607 CFDP_FinishedCantParseFsResponses 7 CFDP fsfw/src/fsfw/cfdp/definitions.h
271 0x3608 CFDP_FilestoreRequiresSecondFile 8 CFDP fsfw/src/fsfw/cfdp/definitions.h
272 0x3609 CFDP_FilestoreResponseCantParseFsMessage 9 CFDP fsfw/src/fsfw/cfdp/definitions.h
273 0x360a CFDP_InvalidPduFormat 10 CFDP fsfw/src/fsfw/cfdp/definitions.h
274 0x2901 TC_InvalidTargetState 1 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
275 0x29f1 TC_AboveOperationalLimit 241 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
276 0x29f2 TC_BelowOperationalLimit 242 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
277 0x0c02 MS_InvalidEntry 2 MODE_STORE_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
278 0x0c03 MS_TooManyElements 3 MODE_STORE_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
279 0x0c04 MS_CantStoreEmpty 4 MODE_STORE_IF fsfw/src/fsfw/subsystem/modes/ModeStoreIF.h
280 0x0d01 SS_SequenceAlreadyExists 1 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
281 0x0d02 SS_TableAlreadyExists 2 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
282 0x0d03 SS_TableDoesNotExist 3 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
283 0x0d04 SS_TableOrSequenceLengthInvalid 4 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
284 0x0d05 SS_SequenceDoesNotExist 5 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
285 0x0d06 SS_TableContainsInvalidObjectId 6 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
286 0x0d07 SS_FallbackSequenceDoesNotExist 7 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
287 0x0d08 SS_NoTargetTable 8 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
288 0x0d09 SS_SequenceOrTableTooLong 9 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
289 0x0d0b SS_IsFallbackSequence 11 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
290 0x0d0c SS_AccessDenied 12 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
291 0x0d0e SS_TableInUse 14 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
292 0x0da1 SS_TargetTableNotReached 161 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
293 0x0da2 SS_TableCheckFailed 162 SUBSYSTEM fsfw/src/fsfw/subsystem/Subsystem.h
294 0x0b01 SB_ChildNotFound 1 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
295 0x0b02 SB_ChildInfoUpdated 2 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
296 0x0b03 SB_ChildDoesntHaveModes 3 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
297 0x0b04 SB_CouldNotInsertChild 4 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
298 0x0b05 SB_TableContainsInvalidObjectId 5 SUBSYSTEM_BASE fsfw/src/fsfw/subsystem/SubsystemBase.h
299 0x3e00 HKM_QueueOrDestinationInvalid 0 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
300 0x3e01 HKM_WrongHkPacketType 1 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
301 0x3e02 HKM_ReportingStatusUnchanged 2 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
302 0x3e03 HKM_PeriodicHelperInvalid 3 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
303 0x3e04 HKM_PoolobjectNotFound 4 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
304 0x3e05 HKM_DatasetNotFound 5 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
305 0x3c00 LPIF_PoolEntryNotFound 0 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
306 0x3c01 LPIF_PoolEntryTypeConflict 1 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
307 0x3da0 PVA_InvalidReadWriteMode 160 POOL_VARIABLE_IF fsfw/src/fsfw/datapool/PoolVariableIF.h
308 0x3da1 PVA_InvalidPoolEntry 161 POOL_VARIABLE_IF fsfw/src/fsfw/datapool/PoolVariableIF.h
309 0x0801 DPS_InvalidParameterDefinition 1 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
312 0x0804 DPS_DataSetUninitialised 4 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
313 0x0805 DPS_DataSetFull 5 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
314 0x0806 DPS_PoolVarNull 6 DATA_SET_CLASS fsfw/src/fsfw/datapool/DataSetIF.h
315 0x1c01 0x1000 TCD_PacketLost TIM_UnsupportedTimeFormat 1 0 PACKET_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/TcDistributorBase.h fsfw/src/fsfw/timemanager/CCSDSTime.h
316 0x1c02 0x1001 TCD_DestinationNotFound TIM_NotEnoughInformationForTargetFormat 2 1 PACKET_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/TcDistributorBase.h fsfw/src/fsfw/timemanager/CCSDSTime.h
317 0x1c03 0x1002 TCD_ServiceIdAlreadyExists TIM_LengthMismatch 3 2 PACKET_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/TcDistributorBase.h fsfw/src/fsfw/timemanager/CCSDSTime.h
318 0x1b00 0x1003 TCC_NoDestinationFound TIM_InvalidTimeFormat 0 3 TMTC_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/CCSDSTime.h
319 0x1b01 0x1004 TCC_InvalidCcsdsVersion TIM_InvalidDayOfYear 1 4 TMTC_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/CCSDSTime.h
320 0x1b02 0x1005 TCC_InvalidApid TIM_TimeDoesNotFitFormat 2 5 TMTC_DISTRIBUTION CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/CCSDSTime.h
321 0x1b03 0x3701 TCC_InvalidPacketType TSI_BadTimestamp 3 1 TMTC_DISTRIBUTION TIME_STAMPER_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/timemanager/TimeStampIF.h
322 0x1b04 0x1d01 TCC_InvalidSecHeaderField ATC_ActivityStarted 4 1 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
323 0x1b05 0x1d02 TCC_IncorrectPrimaryHeader ATC_InvalidSubservice 5 2 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
324 0x1b07 0x1d03 TCC_IncompletePacket ATC_IllegalApplicationData 7 3 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
325 0x1b08 0x1d04 TCC_InvalidPusVersion ATC_SendTmFailed 8 4 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
326 0x1b09 0x1d05 TCC_IncorrectChecksum ATC_Timeout 9 5 TMTC_DISTRIBUTION ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
327 0x1b0a 0x4c00 TCC_IllegalPacketSubtype SPPA_NoPacketFound 10 0 TMTC_DISTRIBUTION SPACE_PACKET_PARSER fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
328 0x1b0b 0x4c01 TCC_IncorrectSecondaryHeader SPPA_SplitPacket 11 1 TMTC_DISTRIBUTION SPACE_PACKET_PARSER fsfw/src/fsfw/tcdistribution/definitions.h fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
329 0x2001 CSB_ExecutionComplete 1 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
330 0x2002 CSB_NoStepMessage 2 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
331 0x2003 CSB_ObjectBusy 3 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
332 0x2004 CSB_Busy 4 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
333 0x2005 CSB_InvalidTc 5 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
334 0x2006 CSB_InvalidObject 6 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
335 0x2007 CSB_InvalidReply 7 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
336 0x1801 FF_Full 1 FIFO_CLASS fsfw/src/fsfw/container/FIFOBase.h
337 0x1802 FF_Empty 2 FIFO_CLASS fsfw/src/fsfw/container/FIFOBase.h
338 0x1601 FMM_MapFull 1 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
339 0x1602 FMM_KeyDoesNotExist 2 FIXED_MULTIMAP fsfw/src/fsfw/container/FixedOrderedMultimap.h
340 0x2501 EV_ListenerNotFound 1 EVENT_MANAGER_IF fsfw/src/fsfw/events/EventManagerIF.h
341 0x1701 HHI_ObjectNotHealthy 1 HAS_HEALTH_IF fsfw/src/fsfw/health/HasHealthIF.h
342 0x1702 HHI_InvalidHealthState 2 HAS_HEALTH_IF fsfw/src/fsfw/health/HasHealthIF.h
343 0x1703 HHI_IsExternallyControlled 3 HAS_HEALTH_IF fsfw/src/fsfw/health/HasHealthIF.h
344 0x3001 POS_InPowerTransition 1 POWER_SWITCHER fsfw/src/fsfw/power/PowerSwitcher.h
345 0x3002 POS_SwitchStateMismatch 2 POWER_SWITCHER fsfw/src/fsfw/power/PowerSwitcher.h
346 0x0501 PS_SwitchOn 1 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
348 0x0502 PS_SwitchTimeout 2 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
349 0x0503 PS_FuseOn 3 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
350 0x0504 PS_FuseOff 4 POWER_SWITCH_IF fsfw/src/fsfw/power/PowerSwitchIF.h
351 0x3b00 0x4300 SPH_ConnBroken FILS_GenericFileError 0 SEMAPHORE_IF FILE_SYSTEM fsfw/src/fsfw/osal/common/TcpTmTcServer.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
352 0x2a01 0x4301 IEC_NoConfigurationTable FILS_GenericDirError 1 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
353 0x2a02 0x4302 IEC_NoCpuTable FILS_FilesystemInactive 2 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
354 0x2a03 0x4303 IEC_InvalidWorkspaceAddress FILS_GenericRenameError 3 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
355 0x2a04 0x4304 IEC_TooLittleWorkspace FILS_IsBusy 4 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
356 0x2a05 0x4305 IEC_WorkspaceAllocation FILS_InvalidParameters 5 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
357 0x2a06 0x430a IEC_InterruptStackTooSmall FILS_FileDoesNotExist 6 10 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
358 0x2a07 0x430b IEC_ThreadExitted FILS_FileAlreadyExists 7 11 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
359 0x2a08 0x430c IEC_InconsistentMpInformation FILS_NotAFile 8 12 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
360 0x2a09 0x430d IEC_InvalidNode FILS_FileLocked 9 13 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
361 0x2a0a 0x430e IEC_NoMpci FILS_PermissionDenied 10 14 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
362 0x2a0b 0x4315 IEC_BadPacket FILS_DirectoryDoesNotExist 11 21 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
363 0x2a0c 0x4316 IEC_OutOfPackets FILS_DirectoryAlreadyExists 12 22 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
364 0x2a0d 0x4317 IEC_OutOfGlobalObjects FILS_NotADirectory 13 23 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
365 0x2a0e 0x4318 IEC_OutOfProxies FILS_DirectoryNotEmpty 14 24 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
366 0x2a0f 0x431e IEC_InvalidGlobalId FILS_SequencePacketMissingWrite 15 30 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
367 0x2a10 0x431f IEC_BadStackHook FILS_SequencePacketMissingRead 16 31 INTERNAL_ERROR_CODES FILE_SYSTEM fsfw/src/fsfw/osal/InternalErrorCodes.h fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x2a11 IEC_BadAttributes 17 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a12 IEC_ImplementationKeyCreateInconsistency 18 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a13 IEC_ImplementationBlockingOperationCancel 19 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a14 IEC_MutexObtainFromBadState 20 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2a15 IEC_UnlimitedAndMaximumIs0 21 INTERNAL_ERROR_CODES fsfw/src/fsfw/osal/InternalErrorCodes.h
0x2600 FDI_YourFault 0 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2601 FDI_MyFault 1 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x2602 FDI_ConfirmLater 2 HANDLES_FAILURES_IF fsfw/src/fsfw/fdir/ConfirmsFailuresIF.h
0x1e00 PUS_InvalidPusVersion 0 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x1e01 PUS_InvalidCrc16 1 PUS_IF fsfw/src/fsfw/tmtcpacket/pus/PusIF.h
0x0201 OM_InsertionFailed 1 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0202 OM_NotFound 2 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0203 OM_ChildInitFailed 3 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x0204 OM_InternalErrReporterUninit 4 OBJECT_MANAGER_IF fsfw/src/fsfw/objectmanager/ObjectManagerIF.h
0x2201 TMF_Busy 1 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2202 TMF_LastPacketFound 2 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2203 TMF_StopFetch 3 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2204 TMF_Timeout 4 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2205 TMF_TmChannelFull 5 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2206 TMF_NotStored 6 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2207 TMF_AllDeleted 7 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2208 TMF_InvalidData 8 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2209 TMF_NotReady 9 TM_STORE_FRONTEND_IF fsfw/src/fsfw/tmstorage/TmStoreFrontendIF.h
0x2101 TMB_Busy 1 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2102 TMB_Full 2 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2103 TMB_Empty 3 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2104 TMB_NullRequested 4 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2105 TMB_TooLarge 5 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2106 TMB_NotReady 6 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2107 TMB_DumpError 7 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2108 TMB_CrcError 8 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2109 TMB_Timeout 9 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210a TMB_IdlePacketFound 10 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210b TMB_TelecommandFound 11 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210c TMB_NoPusATm 12 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210d TMB_TooSmall 13 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210e TMB_BlockNotFound 14 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x210f TMB_InvalidRequest 15 TM_STORE_BACKEND_IF fsfw/src/fsfw/tmstorage/TmStoreBackendIF.h
0x2d01 PAW_UnknownDatatype 1 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d02 PAW_DatatypeMissmatch 2 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d03 PAW_Readonly 3 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d04 PAW_TooBig 4 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d05 PAW_SourceNotSet 5 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d06 PAW_OutOfBounds 6 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d07 PAW_NotSet 7 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2d08 PAW_ColumnOrRowsZero 8 PARAMETER_WRAPPER fsfw/src/fsfw/parameters/ParameterWrapper.h
0x2e01 HPA_InvalidIdentifierId 1 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e02 HPA_InvalidDomainId 2 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e03 HPA_InvalidValue 3 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x2e05 HPA_ReadOnly 5 HAS_PARAMETERS_IF fsfw/src/fsfw/parameters/HasParametersIF.h
0x3b01 SPH_SemaphoreTimeout 1 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b02 SPH_SemaphoreNotOwned 2 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
0x3b03 SPH_SemaphoreInvalid 3 SEMAPHORE_IF fsfw/src/fsfw/tasks/SemaphoreIF.h
368 0x1a01 TRC_NotEnoughSensors 1 TRIPLE_REDUNDACY_CHECK fsfw/src/fsfw/monitoring/TriplexMonitor.h
369 0x1a02 TRC_LowestValueOol 2 TRIPLE_REDUNDACY_CHECK fsfw/src/fsfw/monitoring/TriplexMonitor.h
370 0x1a03 TRC_HighestValueOol 3 TRIPLE_REDUNDACY_CHECK fsfw/src/fsfw/monitoring/TriplexMonitor.h
383 0x31e2 LIM_WrongPid 226 LIMITS_IF fsfw/src/fsfw/monitoring/MonitoringIF.h
384 0x31e3 LIM_WrongLimitId 227 LIMITS_IF fsfw/src/fsfw/monitoring/MonitoringIF.h
385 0x31ee LIM_MonitorNotFound 238 LIMITS_IF fsfw/src/fsfw/monitoring/MonitoringIF.h
0x3601 CFDP_InvalidTlvType 1 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3602 CFDP_InvalidDirectiveField 2 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3603 CFDP_InvalidPduDatafieldLen 3 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3604 CFDP_InvalidAckDirectiveFields 4 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3605 CFDP_MetadataCantParseOptions 5 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3606 CFDP_NakCantParseOptions 6 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3607 CFDP_FinishedCantParseFsResponses 7 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3608 CFDP_FilestoreRequiresSecondFile 8 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x3609 CFDP_FilestoreResponseCantParseFsMessage 9 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x360a CFDP_InvalidPduFormat 10 CFDP fsfw/src/fsfw/cfdp/definitions.h
0x4300 FILS_GenericFileError 0 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4301 FILS_GenericDirError 1 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4302 FILS_FilesystemInactive 2 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4303 FILS_GenericRenameError 3 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4304 FILS_IsBusy 4 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4305 FILS_InvalidParameters 5 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430a FILS_FileDoesNotExist 10 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430b FILS_FileAlreadyExists 11 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430c FILS_NotAFile 12 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430d FILS_FileLocked 13 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x430e FILS_PermissionDenied 14 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4315 FILS_DirectoryDoesNotExist 21 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4316 FILS_DirectoryAlreadyExists 22 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4317 FILS_NotADirectory 23 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x4318 FILS_DirectoryNotEmpty 24 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431e FILS_SequencePacketMissingWrite 30 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x431f FILS_SequencePacketMissingRead 31 FILE_SYSTEM fsfw/src/fsfw/filesystem/HasFileSystemIF.h
0x2c01 CCS_BcIsSetVrCommand 1 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2c02 CCS_BcIsUnlockCommand 2 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb0 CCS_BcIllegalCommand 176 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cb1 CCS_BoardReadingNotFinished 177 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf0 CCS_NsPositiveW 240 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf1 CCS_NsNegativeW 241 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf2 CCS_NsLockout 242 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf3 CCS_FarmInLockout 243 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cf4 CCS_FarmInWait 244 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce0 CCS_WrongSymbol 224 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce1 CCS_DoubleStart 225 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce2 CCS_StartSymbolMissed 226 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce3 CCS_EndWithoutStart 227 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce4 CCS_TooLarge 228 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce5 CCS_TooShort 229 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce6 CCS_WrongTfVersion 230 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce7 CCS_WrongSpacecraftId 231 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce8 CCS_NoValidFrameType 232 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ce9 CCS_CrcFailed 233 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cea CCS_VcNotFound 234 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ceb CCS_ForwardingFailed 235 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cec CCS_ContentTooLarge 236 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2ced CCS_ResidualData 237 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cee CCS_DataCorrupted 238 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cef CCS_IllegalSegmentationFlag 239 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd0 CCS_IllegalFlagCombination 208 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd1 CCS_ShorterThanHeader 209 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd2 CCS_TooShortBlockedPacket 210 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
0x2cd3 CCS_TooShortMapExtraction 211 CCSDS_HANDLER_IF fsfw/src/fsfw/datalinklayer/CCSDSReturnValuesIF.h
386 0x4201 PUS11_InvalidTypeTimeWindow 1 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
387 0x4202 PUS11_InvalidTimeWindow 2 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
388 0x4203 PUS11_TimeshiftingNotPossible 3 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
389 0x4204 PUS11_InvalidRelativeTime 4 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
390 0x4205 PUS11_ContainedTcTooSmall 5 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
391 0x4206 PUS11_ContainedTcCrcMissmatch 6 PUS_SERVICE_11 fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
392 0x3401 0x0601 DC_NoReplyReceived PP_DoItMyself 1 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
393 0x3402 0x0602 DC_ProtocolError PP_PointsToVariable 2 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
394 0x3403 0x0603 DC_Nullpointer PP_PointsToMemory 3 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
395 0x3404 0x0604 DC_InvalidCookieType PP_ActivityCompleted 4 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
396 0x3405 0x0605 DC_NotActive PP_PointsToVectorUint8 5 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
397 0x3406 0x0606 DC_TooMuchData PP_PointsToVectorUint16 6 DEVICE_COMMUNICATION_IF HAS_MEMORY_IF fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h fsfw/src/fsfw/memory/HasMemoryIF.h
398 0x0607 PP_PointsToVectorUint32 7 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
399 0x0608 PP_PointsToVectorFloat 8 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
400 0x06a0 PP_DumpNotSupported 160 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
401 0x06e0 PP_InvalidSize 224 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
402 0x06e1 PP_InvalidAddress 225 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
403 0x06e2 PP_InvalidContent 226 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
404 0x06e3 PP_UnalignedAccess 227 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
405 0x06e4 PP_WriteProtected 228 HAS_MEMORY_IF fsfw/src/fsfw/memory/HasMemoryIF.h
406 0x13e0 MH_UnknownCmd 224 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
407 0x13e1 MH_InvalidAddress 225 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
408 0x13e2 MH_InvalidSize 226 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
409 0x13e3 MH_StateMismatch 227 MEMORY_HELPER fsfw/src/fsfw/memory/MemoryHelper.h
410 0x1201 AB_NeedSecondStep 1 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
411 0x1202 AB_NeedToReconfigure 2 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
412 0x1203 AB_ModeFallback 3 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
413 0x1204 AB_ChildNotCommandable 4 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
414 0x1205 AB_NeedToChangeHealth 5 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
415 0x12a1 AB_NotEnoughChildrenInCorrectState 161 ASSEMBLY_BASE fsfw/src/fsfw/devicehandlers/AssemblyBase.h
416 0x03a0 DHB_InvalidChannel 160 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
417 0x03b0 DHB_AperiodicReply 176 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
418 0x03b1 DHB_IgnoreReplyData 177 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
422 0x03d0 DHB_NoSwitch 208 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
423 0x03e0 DHB_ChildTimeout 224 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
424 0x03e1 DHB_SwitchFailed 225 DEVICE_HANDLER_BASE fsfw/src/fsfw/devicehandlers/DeviceHandlerBase.h
425 0x1201 0x3401 AB_NeedSecondStep DC_NoReplyReceived 1 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
426 0x1202 0x3402 AB_NeedToReconfigure DC_ProtocolError 2 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
427 0x1203 0x3403 AB_ModeFallback DC_Nullpointer 3 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
428 0x1204 0x3404 AB_ChildNotCommandable DC_InvalidCookieType 4 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
429 0x1205 0x3405 AB_NeedToChangeHealth DC_NotActive 5 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
430 0x12a1 0x3406 AB_NotEnoughChildrenInCorrectState DC_TooMuchData 161 6 ASSEMBLY_BASE DEVICE_COMMUNICATION_IF fsfw/src/fsfw/devicehandlers/AssemblyBase.h fsfw/src/fsfw/devicehandlers/DeviceCommunicationIF.h
431 0x27a0 DHI_NoCommandData 160 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
432 0x27a1 DHI_CommandNotSupported 161 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
433 0x27a2 DHI_CommandAlreadySent 162 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
449 0x27c3 DHI_DeviceReplyInvalid 195 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
450 0x27d0 DHI_InvalidCommandParameter 208 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
451 0x27d1 DHI_InvalidNumberOrLengthOfParameters 209 DEVICE_HANDLER_IF fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h
452 0x2401 0x1401 MT_TooDetailedRequest SE_BufferTooShort 1 MATCH_TREE_CLASS SERIALIZE_IF fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/serialize/SerializeIF.h
453 0x2402 0x1402 MT_TooGeneralRequest SE_StreamTooShort 2 MATCH_TREE_CLASS SERIALIZE_IF fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/serialize/SerializeIF.h
454 0x2403 0x1403 MT_NoMatch SE_TooManyElements 3 MATCH_TREE_CLASS SERIALIZE_IF fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw/serialize/SerializeIF.h
455 0x2404 0x4500 MT_Full HSPI_HalTimeoutRetval 4 0 MATCH_TREE_CLASS HAL_SPI fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
456 0x2405 0x4501 MT_NewNodeCreated HSPI_HalBusyRetval 5 1 MATCH_TREE_CLASS HAL_SPI fsfw/src/fsfw/globalfunctions/matching/MatchTree.h fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
457 0x3f01 0x4502 DLEE_NoPacketFound HSPI_HalErrorRetval 1 2 DLE_ENCODER HAL_SPI fsfw/src/fsfw/globalfunctions/DleParser.h fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h
458 0x3f02 0x4601 DLEE_PossiblePacketLoss HURT_UartReadFailure 2 1 DLE_ENCODER HAL_UART fsfw/src/fsfw/globalfunctions/DleParser.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
459 0x2f01 0x4602 ASC_TooLongForTargetType HURT_UartReadSizeMissmatch 1 2 ASCII_CONVERTER HAL_UART fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
460 0x2f02 0x4603 ASC_InvalidCharacters HURT_UartRxBufferTooSmall 2 3 ASCII_CONVERTER HAL_UART fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw_hal/linux/serial/SerialComIF.h
461 0x2f03 0x4801 ASC_BufferTooSmall HGIO_UnknownGpioId 3 1 ASCII_CONVERTER HAL_GPIO fsfw/src/fsfw/globalfunctions/AsciiConverter.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
462 0x1701 0x4802 HHI_ObjectNotHealthy HGIO_DriveGpioFailure 1 2 HAS_HEALTH_IF HAL_GPIO fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
463 0x1702 0x4803 HHI_InvalidHealthState HGIO_GpioTypeFailure 2 3 HAS_HEALTH_IF HAL_GPIO fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
464 0x1703 0x4804 HHI_IsExternallyControlled HGIO_GpioInvalidInstance 3 4 HAS_HEALTH_IF HAL_GPIO fsfw/src/fsfw/health/HasHealthIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
465 0x3201 0x4805 CF_ObjectHasNoFunctions HGIO_GpioDuplicateDetected 1 5 COMMANDS_ACTIONS_IF HAL_GPIO fsfw/src/fsfw/action/CommandsActionsIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
466 0x3202 0x4806 CF_AlreadyCommanding HGIO_GpioInitFailed 2 6 COMMANDS_ACTIONS_IF HAL_GPIO fsfw/src/fsfw/action/CommandsActionsIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
467 0x3301 0x4807 HF_IsBusy HGIO_GpioGetValueFailed 1 7 HAS_ACTIONS_IF HAL_GPIO fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/gpio/LinuxLibgpioIF.h
468 0x3302 0x4400 HF_InvalidParameters UXOS_ExecutionFinished Execution of the current command has finished 2 0 HAS_ACTIONS_IF LINUX_OSAL fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
469 0x3303 0x4401 HF_ExecutionFinished UXOS_CommandPending Command is pending. This will also be returned if the user tries to load another command but a command is still pending 3 1 HAS_ACTIONS_IF LINUX_OSAL fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
470 0x3304 0x4402 HF_InvalidActionId UXOS_BytesRead Some bytes have been read from the executing process 4 2 HAS_ACTIONS_IF LINUX_OSAL fsfw/src/fsfw/action/HasActionsIF.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
471 0x1000 0x4403 TIM_UnsupportedTimeFormat UXOS_CommandError Command execution failed 0 3 CCSDS_TIME_HELPER_CLASS LINUX_OSAL fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
472 0x1001 0x4404 TIM_NotEnoughInformationForTargetFormat UXOS_NoCommandLoadedOrPending 1 4 CCSDS_TIME_HELPER_CLASS LINUX_OSAL fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
473 0x1002 0x4406 TIM_LengthMismatch UXOS_PcloseCallError 2 6 CCSDS_TIME_HELPER_CLASS LINUX_OSAL fsfw/src/fsfw/timemanager/CCSDSTime.h fsfw/src/fsfw_hal/linux/CommandExecutor.h
0x1003 TIM_InvalidTimeFormat 3 CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1004 TIM_InvalidDayOfYear 4 CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/timemanager/CCSDSTime.h
0x1005 TIM_TimeDoesNotFitFormat 5 CCSDS_TIME_HELPER_CLASS fsfw/src/fsfw/timemanager/CCSDSTime.h
0x3701 TSI_BadTimestamp 1 TIME_STAMPER_IF fsfw/src/fsfw/timemanager/TimeStampIF.h
0x3c00 LPIF_PoolEntryNotFound 0 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3c01 LPIF_PoolEntryTypeConflict 1 LOCAL_POOL_OWNER_IF fsfw/src/fsfw/datapoollocal/localPoolDefinitions.h
0x3e00 HKM_QueueOrDestinationInvalid 0 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e01 HKM_WrongHkPacketType 1 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e02 HKM_ReportingStatusUnchanged 2 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e03 HKM_PeriodicHelperInvalid 3 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e04 HKM_PoolobjectNotFound 4 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x3e05 HKM_DatasetNotFound 5 HOUSEKEEPING_MANAGER fsfw/src/fsfw/datapoollocal/LocalDataPoolManager.h
0x2901 TC_InvalidTargetState 1 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f1 TC_AboveOperationalLimit 241 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x29f2 TC_BelowOperationalLimit 242 THERMAL_COMPONENT_IF fsfw/src/fsfw/thermal/ThermalComponentIF.h
0x2001 CSB_ExecutionComplete 1 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2002 CSB_NoStepMessage 2 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2003 CSB_ObjectBusy 3 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2004 CSB_Busy 4 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2005 CSB_InvalidTc 5 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2006 CSB_InvalidObject 6 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x2007 CSB_InvalidReply 7 COMMAND_SERVICE_BASE fsfw/src/fsfw/tmtcservices/CommandingServiceBase.h
0x4c00 SPPA_NoPacketFound 0 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x4c01 SPPA_SplitPacket 1 SPACE_PACKET_PARSER fsfw/src/fsfw/tmtcservices/SpacePacketParser.h
0x1d01 ATC_ActivityStarted 1 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d02 ATC_InvalidSubservice 2 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d03 ATC_IllegalApplicationData 3 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d04 ATC_SendTmFailed 4 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x1d05 ATC_Timeout 5 ACCEPTS_TELECOMMANDS_IF fsfw/src/fsfw/tmtcservices/AcceptsTelecommandsIF.h
0x7000 SCBU_KeyNotFound 0 SCRATCH_BUFFER bsp_q7s/memory/scratchApi.h
474 0x64a0 FSHLP_SdNotMounted SD card specified with path string not mounted 160 FILE_SYSTEM_HELPER bsp_q7s/fs/FilesystemHelper.h
475 0x64a1 FSHLP_FileNotExists Specified file does not exist on filesystem 161 FILE_SYSTEM_HELPER bsp_q7s/fs/FilesystemHelper.h
476 0x6f00 SDMA_OpOngoing 0 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
483 0x6f0d SDMA_UnmountError 13 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
484 0x6f0e SDMA_SystemCallError 14 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
485 0x6f0f SDMA_PopenCallError 15 SD_CARD_MANAGER bsp_q7s/fs/SdCardManager.h
486 0x65a0 0x7000 PLMPHLP_FileClosedAccidentally SCBU_KeyNotFound File accidentally close 160 0 PLOC_MPSOC_HELPER SCRATCH_BUFFER linux/devices/ploc/PlocMPSoCHelper.h bsp_q7s/memory/scratchApi.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
487 0x57a0 PLSPVhLP_FileClosedAccidentally File accidentally close 160 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h
488 0x57a1 PLSPVhLP_ProcessTerminated Process has been terminated by command 161 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h
489 0x57a2 PLSPVhLP_PathNotExists Received command with invalid pathname 162 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h
494 0x5703 PLSPVhLP_PossiblePacketLossConsecutiveStart 3 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h
495 0x5704 PLSPVhLP_PossiblePacketLossConsecutiveEnd 4 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h
496 0x5705 PLSPVhLP_HdlcError 5 PLOC_SUPV_HELPER linux/devices/ploc/PlocSupvUartMan.h
497 0x67a0 0x65a0 MPSOCRTVIF_CrcFailure PLMPHLP_FileClosedAccidentally Space Packet received from PLOC has invalid CRC File accidentally close 160 MPSOC_RETURN_VALUES_IF PLOC_MPSOC_HELPER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/ploc/PlocMPSoCHelper.h
498 0x67a1 0x5ea0 MPSOCRTVIF_ReceivedAckFailure PLMEMDUMP_MramAddressTooHigh Received ACK failure reply from PLOC The capacity of the MRAM amounts to 512 kB. Thus the maximum address must not be higher than 0x7d000. 161 160 MPSOC_RETURN_VALUES_IF PLOC_MEMORY_DUMPER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/ploc/PlocMemoryDumper.h
499 0x67a2 0x5ea1 MPSOCRTVIF_ReceivedExeFailure PLMEMDUMP_MramInvalidAddressCombination Received execution failure reply from PLOC The specified end address is lower than the start address 162 161 MPSOC_RETURN_VALUES_IF PLOC_MEMORY_DUMPER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/ploc/PlocMemoryDumper.h
500 0x67a3 0x53a0 MPSOCRTVIF_InvalidApid STRH_TemperatureReqFailed Received space packet with invalid APID from PLOC Status in temperature reply signals error 163 160 MPSOC_RETURN_VALUES_IF STR_HANDLER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/StarTrackerHandler.h
501 0x67a4 0x53a1 MPSOCRTVIF_InvalidLength STRH_PingFailed Received command with invalid length Ping command failed 164 161 MPSOC_RETURN_VALUES_IF STR_HANDLER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/StarTrackerHandler.h
502 0x67a5 0x53a2 MPSOCRTVIF_FilenameTooLong STRH_VersionReqFailed Filename of file in OBC filesystem is too long Status in version reply signals error 165 162 MPSOC_RETURN_VALUES_IF STR_HANDLER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/StarTrackerHandler.h
503 0x67a6 0x6201 MPSOCRTVIF_MpsocHelperExecuting JSONBASE_JsonFileNotExists MPSoC helper is currently executing a command Specified json file does not exist 166 1 MPSOC_RETURN_VALUES_IF ARCSEC_JSON_BASE linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/ArcsecJsonParamBase.h
504 0x67a7 0x6202 MPSOCRTVIF_MpsocFilenameTooLong JSONBASE_SetNotExists Filename of MPSoC file is to long (max. 256 bytes) Requested set does not exist in json file 167 2 MPSOC_RETURN_VALUES_IF ARCSEC_JSON_BASE linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/ArcsecJsonParamBase.h
505 0x67a8 0x6203 MPSOCRTVIF_InvalidParameter JSONBASE_ParamNotExists Command has invalid parameter Requested parameter does not exist in json file 168 3 MPSOC_RETURN_VALUES_IF ARCSEC_JSON_BASE linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/ArcsecJsonParamBase.h
506 0x67a9 0x53a3 MPSOCRTVIF_NameTooLong STRH_InterfaceReqFailed Received command has file string with invalid length Status in interface reply signals error 169 163 MPSOC_RETURN_VALUES_IF STR_HANDLER linux/devices/devicedefinitions/MPSoCReturnValuesIF.h linux/devices/startracker/StarTrackerHandler.h
507 0x53a4 STRH_PowerReqFailed Status in power reply signals error 164 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
508 0x53a5 STRH_SetParamFailed Status of reply to parameter set command signals error 165 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
509 0x53a6 STRH_ActionFailed Status of reply to action command signals error 166 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
510 0x53a7 STRH_FilePathTooLong Received invalid path string. Exceeds allowed length 167 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
511 0x53a8 STRH_FilenameTooLong Name of file received with command is too long 168 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
512 0x53a9 STRH_InvalidProgram Received version reply with invalid program ID 169 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
513 0x53aa STRH_ReplyError Status field reply signals error 170 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
514 0x53ab STRH_CommandTooShort Received command which is too short (some data is missing for proper execution) 171 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
515 0x53ac STRH_InvalidLength Received command with invalid length (too few or too many parameters) 172 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
516 0x53ad STRH_RegionMismatch Region mismatch between send and received data 173 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
517 0x53ae STRH_AddressMismatch Address mismatch between send and received data 174 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
518 0x53af STRH_LengthMismatch Length field mismatch between send and received data 175 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
519 0x53b0 STRH_FileNotExists Specified file does not exist 176 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
520 0x53b1 STRH_InvalidType Download blob pixel command has invalid type field 177 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
521 0x53b2 STRH_InvalidId Received FPGA action command with invalid ID 178 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
522 0x53b3 STRH_ReplyTooShort Received reply is too short 179 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
523 0x53b4 STRH_CrcFailure Received reply with invalid CRC 180 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
524 0x53b5 STRH_StrHelperExecuting Star tracker handler currently executing a command and using the communication interface 181 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
525 0x53b6 STRH_StartrackerAlreadyBooted Star tracker is already in firmware mode 182 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
526 0x53b7 STRH_StartrackerRunningFirmware Star tracker is in firmware mode but must be in bootloader mode to execute this command 183 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
527 0x53b8 STRH_StartrackerRunningBootloader Star tracker is in bootloader mode but must be in firmware mode to execute this command 184 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
528 0x5ca0 STRHLP_SdNotMounted SD card specified in path string not mounted 160 STR_HELPER linux/devices/startracker/StrHelper.h
529 0x5ca1 STRHLP_FileNotExists Specified file does not exist on filesystem 161 STR_HELPER linux/devices/startracker/StrHelper.h
530 0x5ca2 STRHLP_PathNotExists Specified path does not exist 162 STR_HELPER linux/devices/startracker/StrHelper.h
531 0x5ca3 STRHLP_FileCreationFailed Failed to create download image or read flash file 163 STR_HELPER linux/devices/startracker/StrHelper.h
532 0x5ca4 STRHLP_RegionMismatch Region in flash write/read reply does not match expected region 164 STR_HELPER linux/devices/startracker/StrHelper.h
533 0x5ca5 STRHLP_AddressMismatch Address in flash write/read reply does not match expected address 165 STR_HELPER linux/devices/startracker/StrHelper.h
534 0x5ca6 STRHLP_LengthMismatch Length in flash write/read reply does not match expected length 166 STR_HELPER linux/devices/startracker/StrHelper.h
535 0x5ca7 STRHLP_StatusError Status field in reply signals error 167 STR_HELPER linux/devices/startracker/StrHelper.h
536 0x5ca8 STRHLP_InvalidTypeId Reply has invalid type ID (should be of action reply type) 168 STR_HELPER linux/devices/startracker/StrHelper.h
537 0x68a0 SPVRTVIF_CrcFailure Space Packet received from PLOC supervisor has invalid CRC 160 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
538 0x68a1 SPVRTVIF_InvalidServiceId 161 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
539 0x68a2 SPVRTVIF_ReceivedAckFailure Received ACK failure reply from PLOC supervisor 162 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
558 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
559 0x68c0 SPVRTVIF_BufTooSmall 192 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
560 0x68c1 SPVRTVIF_NoReplyTimeout 193 SUPV_RETURN_VALUES_IF linux/devices/devicedefinitions/PlocSupervisorDefinitions.h
561 0x67a0 MPSOCRTVIF_CrcFailure Space Packet received from PLOC has invalid CRC 160 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
562 0x67a1 MPSOCRTVIF_ReceivedAckFailure Received ACK failure reply from PLOC 161 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
563 0x67a2 MPSOCRTVIF_ReceivedExeFailure Received execution failure reply from PLOC 162 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
564 0x67a3 MPSOCRTVIF_InvalidApid Received space packet with invalid APID from PLOC 163 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
565 0x67a4 MPSOCRTVIF_InvalidLength Received command with invalid length 164 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
566 0x67a5 MPSOCRTVIF_FilenameTooLong Filename of file in OBC filesystem is too long 165 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
567 0x67a6 MPSOCRTVIF_MpsocHelperExecuting MPSoC helper is currently executing a command 166 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
568 0x67a7 MPSOCRTVIF_MpsocFilenameTooLong Filename of MPSoC file is to long (max. 256 bytes) 167 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
569 0x67a8 MPSOCRTVIF_InvalidParameter Command has invalid parameter 168 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
570 0x67a9 MPSOCRTVIF_NameTooLong Received command has file string with invalid length 169 MPSOC_RETURN_VALUES_IF linux/devices/devicedefinitions/MPSoCReturnValuesIF.h
571 0x54e0 DWLPWRON_InvalidMode Received command has invalid JESD mode (valid modes are 0 - 5) 224 DWLPWRON_CMD linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
572 0x54e1 DWLPWRON_InvalidLaneRate Received command has invalid lane rate (valid lane rate are 0 - 9) 225 DWLPWRON_CMD linux/devices/devicedefinitions/PlocMPSoCDefinitions.h
573 0x6201 0x5402 JSONBASE_JsonFileNotExists DWLPWRON_InvalidCrc Specified json file does not exist 1 2 ARCSEC_JSON_BASE DWLPWRON_CMD linux/devices/startracker/ArcsecJsonParamBase.h linux/devices/ScexHelper.h
574 0x6202 0x59a0 JSONBASE_SetNotExists IPCI_PapbBusy Requested set does not exist in json file 2 160 ARCSEC_JSON_BASE CCSDS_IP_CORE_BRIDGE linux/devices/startracker/ArcsecJsonParamBase.h linux/ipcore/PapbVcInterface.h
0x6203 JSONBASE_ParamNotExists Requested parameter does not exist in json file 3 ARCSEC_JSON_BASE linux/devices/startracker/ArcsecJsonParamBase.h
0x53a0 STRH_TemperatureReqFailed Status in temperature reply signals error 160 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a1 STRH_PingFailed Ping command failed 161 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a2 STRH_VersionReqFailed Status in version reply signals error 162 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x5ca0 STRHLP_SdNotMounted SD card specified in path string not mounted 160 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca1 STRHLP_FileNotExists Specified file does not exist on filesystem 161 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca2 STRHLP_PathNotExists Specified path does not exist 162 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca3 STRHLP_FileCreationFailed Failed to create download image or read flash file 163 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca4 STRHLP_RegionMismatch Region in flash write/read reply does not match expected region 164 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca5 STRHLP_AddressMismatch Address in flash write/read reply does not match expected address 165 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca6 STRHLP_LengthMismatch Length in flash write/read reply does not match expected length 166 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca7 STRHLP_StatusError Status field in reply signals error 167 STR_HELPER linux/devices/startracker/StrHelper.h
0x5ca8 STRHLP_InvalidTypeId Reply has invalid type ID (should be of action reply type) 168 STR_HELPER linux/devices/startracker/StrHelper.h
0x53a3 STRH_InterfaceReqFailed Status in interface reply signals error 163 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a4 STRH_PowerReqFailed Status in power reply signals error 164 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a5 STRH_SetParamFailed Status of reply to parameter set command signals error 165 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a6 STRH_ActionFailed Status of reply to action command signals error 166 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a7 STRH_FilePathTooLong Received invalid path string. Exceeds allowed length 167 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a8 STRH_FilenameTooLong Name of file received with command is too long 168 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53a9 STRH_InvalidProgram Received version reply with invalid program ID 169 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53aa STRH_ReplyError Status field reply signals error 170 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53ab STRH_CommandTooShort Received command which is too short (some data is missing for proper execution) 171 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53ac STRH_InvalidLength Received command with invalid length (too few or too many parameters) 172 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53ad STRH_RegionMismatch Region mismatch between send and received data 173 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53ae STRH_AddressMismatch Address mismatch between send and received data 174 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53af STRH_LengthMismatch Length field mismatch between send and received data 175 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b0 STRH_FileNotExists Specified file does not exist 176 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b1 STRH_InvalidType Download blob pixel command has invalid type field 177 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b2 STRH_InvalidId Received FPGA action command with invalid ID 178 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b3 STRH_ReplyTooShort Received reply is too short 179 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b4 STRH_CrcFailure Received reply with invalid CRC 180 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b5 STRH_StrHelperExecuting Star tracker handler currently executing a command and using the communication interface 181 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b6 STRH_StartrackerAlreadyBooted Star tracker is already in firmware mode 182 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b7 STRH_StartrackerRunningFirmware Star tracker is in firmware mode but must be in bootloader mode to execute this command 183 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x53b8 STRH_StartrackerRunningBootloader Star tracker is in bootloader mode but must be in firmware mode to execute this command 184 STR_HANDLER linux/devices/startracker/StarTrackerHandler.h
0x5302 STRH_InvalidCrc 2 STR_HANDLER linux/devices/ScexHelper.h
575 0x5aa0 PTME_UnknownVcId 160 PTME linux/ipcore/Ptme.h
576 0x5fa0 PDEC_AbandonedCltu 160 PDEC_HANDLER linux/ipcore/PdecHandler.h
577 0x5fa1 PDEC_FrameDirty 161 PDEC_HANDLER linux/ipcore/PdecHandler.h
592 0x61a1 RS_BadBitRate Bad bitrate has been commanded (e.g. 0) 161 RATE_SETTER linux/ipcore/PtmeConfig.h
593 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
594 0x61a3 RS_TxManipulatorConfigFailed Failed to change configuration bit of tx clock manipulator 163 RATE_SETTER linux/ipcore/PtmeConfig.h
0x59a0 IPCI_PapbBusy 160 CCSDS_IP_CORE_BRIDGE linux/ipcore/PapbVcInterface.h

View File

@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 256 translations.
* @details
* Generated on: 2023-02-09 15:57:01
* Generated on: 2023-02-13 10:07:30
*/
#include "translateEvents.h"

View File

@ -2,7 +2,7 @@
* @brief Auto-generated object translation file.
* @details
* Contains 152 translations.
* Generated on: 2023-02-09 15:57:01
* Generated on: 2023-02-13 10:07:30
*/
#include "translateObjects.h"

View File

@ -11,6 +11,7 @@
#include <linux/callbacks/gpioCallbacks.h>
#include <linux/devices/Max31865RtdLowlevelHandler.h>
#include <mission/controller/AcsController.h>
#include <mission/core/GenericFactory.h>
#include <mission/devices/Max31865EiveHandler.h>
#include <mission/devices/ScexDeviceHandler.h>
#include <mission/devices/SusHandler.h>
@ -29,7 +30,7 @@
#include "mission/system/tree/tcsModeTree.h"
void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF,
PowerSwitchIF* pwrSwitcher, std::string spiDev,
PowerSwitchIF& pwrSwitcher, std::string spiDev,
bool swap0And6) {
using namespace gpio;
GpioCookie* gpioCookieSus = new GpioCookie();
@ -79,6 +80,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
std::array<SusHandler*, 12> susHandlers = {};
SpiCookie* spiCookie = new SpiCookie(addresses::SUS_0, gpioIds::CS_SUS_0, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[0] =
new SusHandler(objects::SUS_0_N_LOC_XFYFZM_PT_XF, 0, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_0_N_LOC_XFYFZM_PT_XF);
@ -86,6 +88,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_1, gpioIds::CS_SUS_1, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[1] =
new SusHandler(objects::SUS_1_N_LOC_XBYFZM_PT_XB, 1, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_1_N_LOC_XBYFZM_PT_XB);
@ -93,6 +96,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_2, gpioIds::CS_SUS_2, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[2] =
new SusHandler(objects::SUS_2_N_LOC_XFYBZB_PT_YB, 2, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_2_N_LOC_XFYBZB_PT_YB);
@ -100,6 +104,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_3, gpioIds::CS_SUS_3, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[3] =
new SusHandler(objects::SUS_3_N_LOC_XFYBZF_PT_YF, 3, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_3_N_LOC_XFYBZF_PT_YF);
@ -107,6 +112,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_4, gpioIds::CS_SUS_4, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[4] =
new SusHandler(objects::SUS_4_N_LOC_XMYFZF_PT_ZF, 4, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_4_N_LOC_XMYFZF_PT_ZF);
@ -114,6 +120,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_5, gpioIds::CS_SUS_5, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[5] =
new SusHandler(objects::SUS_5_N_LOC_XFYMZB_PT_ZB, 5, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_5_N_LOC_XFYMZB_PT_ZB);
@ -121,6 +128,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_6, gpioIds::CS_SUS_6, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[6] =
new SusHandler(objects::SUS_6_R_LOC_XFYBZM_PT_XF, 6, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_6_R_LOC_XFYBZM_PT_XF);
@ -128,6 +136,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_7, gpioIds::CS_SUS_7, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[7] =
new SusHandler(objects::SUS_7_R_LOC_XBYBZM_PT_XB, 7, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_7_R_LOC_XBYBZM_PT_XB);
@ -135,6 +144,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_8, gpioIds::CS_SUS_8, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[8] =
new SusHandler(objects::SUS_8_R_LOC_XBYBZB_PT_YB, 8, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_8_R_LOC_XBYBZB_PT_YB);
@ -142,6 +152,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_9, gpioIds::CS_SUS_9, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[9] =
new SusHandler(objects::SUS_9_R_LOC_XBYBZB_PT_YF, 9, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_9_R_LOC_XBYBZB_PT_YF);
@ -149,6 +160,7 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_10, gpioIds::CS_SUS_10, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[10] =
new SusHandler(objects::SUS_10_N_LOC_XMYBZF_PT_ZF, 10, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_10_N_LOC_XMYBZF_PT_ZF);
@ -156,27 +168,14 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
spiCookie = new SpiCookie(addresses::SUS_11, gpioIds::CS_SUS_11, SUS::MAX_CMD_SIZE,
spi::SUS_MAX_1227_MODE, spi::SUS_MAX1227_SPI_FREQ);
spiCookie->setMutexParams(MutexIF::TimeoutType::WAITING, spi::SUS_CS_TIMEOUT);
susHandlers[11] =
new SusHandler(objects::SUS_11_R_LOC_XBYMZB_PT_ZB, 11, objects::SPI_MAIN_COM_IF, spiCookie);
fdir = new SusFdir(objects::SUS_11_R_LOC_XBYMZB_PT_ZB);
susHandlers[11]->setCustomFdir(fdir);
std::array<object_id_t, 12> susIds = {
objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::SUS_1_N_LOC_XBYFZM_PT_XB,
objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::SUS_3_N_LOC_XFYBZF_PT_YF,
objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::SUS_5_N_LOC_XFYMZB_PT_ZB,
objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::SUS_7_R_LOC_XBYBZM_PT_XB,
objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::SUS_9_R_LOC_XBYBZB_PT_YF,
objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::SUS_11_R_LOC_XBYMZB_PT_ZB};
SusAssHelper susAssHelper = SusAssHelper(susIds);
auto susAss = new SusAssembly(objects::SUS_BOARD_ASS, pwrSwitcher, susAssHelper);
for (auto& sus : susHandlers) {
if (sus != nullptr) {
ReturnValue_t result = sus->connectModeTreeParent(*susAss);
if (result != returnvalue::OK) {
sif::error << "Connecting SUS " << sus->getObjectId() << " to SUS assembly failed"
<< std::endl;
}
#if OBSW_TEST_SUS == 1
sus->setStartUpImmediately();
sus->setToGoToNormalMode(true);
@ -186,7 +185,11 @@ void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiCo
#endif
}
}
susAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
std::array<DeviceHandlerBase*, 12> susDhbs;
for (unsigned i = 0; i < susDhbs.size(); i++) {
susDhbs[i] = susHandlers[i];
}
createSusAssy(pwrSwitcher, susDhbs);
#endif /* OBSW_ADD_SUN_SENSORS == 1 */
}
@ -267,32 +270,13 @@ void ObjectFactory::createRtdComponents(std::string spiDev, GpioIF* gpioComIF,
{addresses::RTD_IC_18, gpioIds::RTD_IC_18},
}};
// HSPD: Heatspreader
std::array<std::pair<object_id_t, std::string>, NUM_RTDS> rtdInfos = {{
{objects::RTD_0_IC3_PLOC_HEATSPREADER, "RTD_0_PLOC_HSPD"},
{objects::RTD_1_IC4_PLOC_MISSIONBOARD, "RTD_1_PLOC_MISSIONBRD"},
{objects::RTD_2_IC5_4K_CAMERA, "RTD_2_4K_CAMERA"},
{objects::RTD_3_IC6_DAC_HEATSPREADER, "RTD_3_DAC_HSPD"},
{objects::RTD_4_IC7_STARTRACKER, "RTD_4_STARTRACKER"},
{objects::RTD_5_IC8_RW1_MX_MY, "RTD_5_RW1_MX_MY"},
{objects::RTD_6_IC9_DRO, "RTD_6_DRO"},
{objects::RTD_7_IC10_SCEX, "RTD_7_SCEX"},
{objects::RTD_8_IC11_X8, "RTD_8_X8"},
{objects::RTD_9_IC12_HPA, "RTD_9_HPA"},
{objects::RTD_10_IC13_PL_TX, "RTD_10_PL_TX,"},
{objects::RTD_11_IC14_MPA, "RTD_11_MPA"},
{objects::RTD_12_IC15_ACU, "RTD_12_ACU"},
{objects::RTD_13_IC16_PLPCDU_HEATSPREADER, "RTD_13_PLPCDU_HSPD"},
{objects::RTD_14_IC17_TCS_BOARD, "RTD_14_TCS_BOARD"},
{objects::RTD_15_IC18_IMTQ, "RTD_15_IMTQ"},
}};
std::array<SpiCookie*, NUM_RTDS> rtdCookies = {};
std::array<Max31865EiveHandler*, NUM_RTDS> rtds = {};
RtdFdir* rtdFdir = nullptr;
TcsBoardHelper helper(rtdInfos);
TcsBoardAssembly* tcsBoardAss = new TcsBoardAssembly(
objects::TCS_BOARD_ASS, pwrSwitcher, pcdu::Switches::PDU1_CH0_TCS_BOARD_3V3, helper);
tcsBoardAss->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
TcsBoardAssembly* tcsBoardAss = ObjectFactory::createTcsBoardAssy(*pwrSwitcher);
// Create special low level reader communication interface
new Max31865RtdReader(objects::SPI_RTD_COM_IF, comIF, gpioComIF);
for (uint8_t idx = 0; idx < NUM_RTDS; idx++) {
@ -300,16 +284,16 @@ void ObjectFactory::createRtdComponents(std::string spiDev, GpioIF* gpioComIF,
MAX31865::MAX_REPLY_SIZE, spi::RTD_MODE, spi::RTD_SPEED);
rtdCookies[idx]->setMutexParams(MutexIF::TimeoutType::WAITING, spi::RTD_CS_TIMEOUT);
Max31865ReaderCookie* rtdLowLevelCookie =
new Max31865ReaderCookie(rtdInfos[idx].first, idx, rtdInfos[idx].second, rtdCookies[idx]);
new Max31865ReaderCookie(RTD_INFOS[idx].first, idx, RTD_INFOS[idx].second, rtdCookies[idx]);
rtds[idx] =
new Max31865EiveHandler(rtdInfos[idx].first, objects::SPI_RTD_COM_IF, rtdLowLevelCookie);
rtds[idx]->setDeviceInfo(idx, rtdInfos[idx].second);
new Max31865EiveHandler(RTD_INFOS[idx].first, objects::SPI_RTD_COM_IF, rtdLowLevelCookie);
rtds[idx]->setDeviceInfo(idx, RTD_INFOS[idx].second);
ReturnValue_t result = rtds[idx]->connectModeTreeParent(*tcsBoardAss);
if (result != returnvalue::OK) {
sif::error << "Connecting RTD " << static_cast<int>(idx) << " to RTD Assembly failed"
<< std::endl;
}
rtdFdir = new RtdFdir(rtdInfos[idx].first);
rtdFdir = new RtdFdir(RTD_INFOS[idx].first);
rtds[idx]->setCustomFdir(rtdFdir);
#if OBSW_DEBUG_RTD == 1
rtds[idx]->setDebugMode(true, 5);

View File

@ -20,7 +20,7 @@ class AcsController;
namespace ObjectFactory {
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF* pwrSwitcher,
void createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF, PowerSwitchIF& pwrSwitcher,
std::string spiDev, bool swap0And6);
void createRtdComponents(std::string spiDev, GpioIF* gpioComIF, PowerSwitchIF* pwrSwitcher,
SpiComIF* comIF);

View File

@ -10,7 +10,7 @@
#include <array>
#include "lwgps/lwgps.h"
//#include "lwgps/lwgps.h"
#include "mission/devices/devicedefinitions/ScexDefinitions.h"
#include "test/TestTask.h"
@ -59,7 +59,7 @@ class UartTestClass : public TestTask {
DleEncoder dleEncoder = DleEncoder();
SerialCookie* uartCookie = nullptr;
size_t encodedLen = 0;
lwgps_t gpsData = {};
// lwgps_t gpsData = {};
struct termios tty = {};
int serialPort = 0;
bool startFound = false;

View File

@ -102,6 +102,9 @@ ReturnValue_t GpsHyperionLinuxController::performOperation(uint8_t opCode) {
handleQueue();
poolManager.performHkOperation();
while (true) {
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "GPS CTRL");
#endif
bool callAgainImmediately = readGpsDataFromGpsd();
if (not callAgainImmediately) {
handleQueue();

View File

@ -6,6 +6,7 @@
#include "fsfw/controller/ExtendedControllerBase.h"
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "mission/devices/devicedefinitions/GPSDefinitions.h"
#include "mission/trace.h"
#ifdef FSFW_OSAL_LINUX
#include <gps.h>
@ -60,6 +61,9 @@ class GpsHyperionLinuxController : public ExtendedControllerBase {
Countdown maxTimeToReachFix = Countdown(MAX_SECONDS_TO_REACH_FIX * 1000);
bool modeCommanded = false;
bool timeInit = false;
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
struct OneShotSwitches {
void reset() {

View File

@ -58,26 +58,27 @@ bool Max31865RtdReader::rtdIsActive(uint8_t idx) {
bool Max31865RtdReader::periodicInitHandling() {
using namespace MAX31865;
MutexGuard mg(readerMutex);
ReturnValue_t result = returnvalue::OK;
if (mg.getLockResult() != returnvalue::OK) {
sif::warning << "Max31865RtdReader::periodicInitHandling: Mutex lock failed" << std::endl;
return false;
}
for (auto& rtd : rtds) {
if (rtd == nullptr) {
continue;
}
MutexGuard mg(readerMutex);
if (mg.getLockResult() != returnvalue::OK) {
sif::warning << "Max31865RtdReader::periodicInitHandling: Mutex lock failed" << std::endl;
return false;
}
if ((rtd->on or rtd->db.active) and not rtd->db.configured and rtd->cd.hasTimedOut()) {
ManualCsLockWrapper mg(csLock, gpioIF, rtd->spiCookie, csTimeoutType, csTimeoutMs);
if (mg.lockResult != returnvalue::OK or mg.gpioResult != returnvalue::OK) {
ManualCsLockWrapper mg1(csLock, gpioIF, rtd->spiCookie, csTimeoutType, csTimeoutMs);
if (mg1.lockResult != returnvalue::OK or mg1.gpioResult != returnvalue::OK) {
sif::error << "Max31865RtdReader::periodicInitHandling: Manual CS lock failed" << std::endl;
break;
continue;
}
result = writeCfgReg(rtd->spiCookie, BASE_CFG);
if (result != returnvalue::OK) {
handleSpiError(rtd, result, "writeCfgReg");
continue;
}
if (rtd->writeLowThreshold) {
result = writeLowThreshold(rtd->spiCookie, rtd->lowThreshold);
@ -116,16 +117,16 @@ bool Max31865RtdReader::periodicInitHandling() {
ReturnValue_t Max31865RtdReader::periodicReadReqHandling() {
using namespace MAX31865;
MutexGuard mg(readerMutex);
if (mg.getLockResult() != returnvalue::OK) {
sif::warning << "Max31865RtdReader::periodicReadReqHandling: Mutex lock failed" << std::endl;
return returnvalue::FAILED;
}
// Now request one shot config for all active RTDs
for (auto& rtd : rtds) {
if (rtd == nullptr) {
continue;
}
MutexGuard mg(readerMutex);
if (mg.getLockResult() != returnvalue::OK) {
sif::warning << "Max31865RtdReader::periodicReadReqHandling: Mutex lock failed" << std::endl;
return returnvalue::FAILED;
}
if (rtdIsActive(rtd->idx)) {
ReturnValue_t result = writeCfgReg(rtd->spiCookie, BASE_CFG | (1 << CfgBitPos::ONE_SHOT));
if (result != returnvalue::OK) {
@ -141,27 +142,33 @@ ReturnValue_t Max31865RtdReader::periodicReadReqHandling() {
ReturnValue_t Max31865RtdReader::periodicReadHandling() {
using namespace MAX31865;
auto result = returnvalue::OK;
MutexGuard mg(readerMutex);
if (mg.getLockResult() != returnvalue::OK) {
sif::warning << "Max31865RtdReader::periodicReadHandling: Mutex lock failed" << std::endl;
return returnvalue::FAILED;
}
// Now read the RTD values
for (auto& rtd : rtds) {
if (rtd == nullptr) {
continue;
}
MutexGuard mg(readerMutex);
if (mg.getLockResult() != returnvalue::OK) {
sif::warning << "Max31865RtdReader::periodicReadHandling: Mutex lock failed" << std::endl;
return returnvalue::FAILED;
}
if (rtdIsActive(rtd->idx)) {
ManualCsLockWrapper mg1(csLock, gpioIF, rtd->spiCookie, csTimeoutType, csTimeoutMs);
if (mg1.lockResult != returnvalue::OK or mg1.gpioResult != returnvalue::OK) {
sif::error << "Max31865RtdReader::periodicInitHandling: Manual CS lock failed" << std::endl;
continue;
}
uint16_t rtdVal = 0;
bool faultBitSet = false;
result = writeCfgReg(rtd->spiCookie, BASE_CFG);
if (result != returnvalue::OK) {
handleSpiError(rtd, result, "writeCfgReg");
continue;
}
result = readRtdVal(rtd->spiCookie, rtdVal, faultBitSet);
if (result != returnvalue::OK) {
handleSpiError(rtd, result, "readRtdVal");
return returnvalue::FAILED;
continue;
}
if (faultBitSet) {
rtd->db.faultBitSet = faultBitSet;

View File

@ -3,9 +3,11 @@
#include <fsfw/ipc/MutexIF.h>
#include <fsfw/tasks/ExecutableObjectIF.h>
#include <fsfw/timemanager/clockDefinitions.h>
#include <fsfw_hal/linux/spi/SpiComIF.h>
#include <fsfw_hal/linux/spi/SpiCookie.h>
#include "devConf.h"
#include "fsfw/devicehandlers/DeviceCommunicationIF.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
@ -50,8 +52,8 @@ class Max31865RtdReader : public SystemObject,
SpiComIF* comIF;
GpioIF* gpioIF;
MutexIF::TimeoutType csTimeoutType = MutexIF::TimeoutType::BLOCKING;
uint32_t csTimeoutMs = 0;
MutexIF::TimeoutType csTimeoutType = MutexIF::TimeoutType::WAITING;
uint32_t csTimeoutMs = spi::RTD_CS_TIMEOUT;
MutexIF* csLock = nullptr;
bool periodicInitHandling();

View File

@ -3,7 +3,6 @@
#include <filesystem>
#include <fstream>
#include "OBSWConfig.h"
#ifdef XIPHOS_Q7S
#include "bsp_q7s/fs/FilesystemHelper.h"
#endif
@ -34,6 +33,9 @@ ReturnValue_t PlocMPSoCHelper::performOperation(uint8_t operationCode) {
ReturnValue_t result = returnvalue::OK;
semaphore.acquire();
while (true) {
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "PLOC MPSOC Helper");
#endif
switch (internalState) {
case InternalState::IDLE: {
semaphore.acquire();

View File

@ -11,6 +11,7 @@
#include "fsfw/tmtcservices/SourceSequenceCounter.h"
#include "fsfw_hal/linux/serial/SerialComIF.h"
#include "linux/devices/devicedefinitions/PlocMPSoCDefinitions.h"
#include "mission/trace.h"
#ifdef XIPHOS_Q7S
#include "bsp_q7s/fs/SdCardManager.h"
#endif
@ -116,6 +117,10 @@ class PlocMPSoCHelper : public SystemObject, public ExecutableObjectIF {
struct FlashWrite flashWrite;
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
enum class InternalState { IDLE, FLASH_WRITE, FLASH_READ };
InternalState internalState = InternalState::IDLE;

View File

@ -704,8 +704,9 @@ ReturnValue_t PlocSupervisorHandler::initializeLocalDataPool(localpool::DataPool
localDataPoolMap.emplace(supv::NVM0_1_STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::NVM3_STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::MISSION_IO_STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::FMC_STATE, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(supv::FMC_STATE, &fmcStateEntry);
localDataPoolMap.emplace(supv::NUM_TCS, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(supv::TEMP_SUP, &tempSupEntry);
localDataPoolMap.emplace(supv::UPTIME, new PoolEntry<uint64_t>({0}));
localDataPoolMap.emplace(supv::CPULOAD, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(supv::AVAILABLEHEAP, new PoolEntry<uint32_t>({0}));
@ -718,6 +719,8 @@ ReturnValue_t PlocSupervisorHandler::initializeLocalDataPool(localpool::DataPool
localDataPoolMap.emplace(supv::BP0_STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::BP1_STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::BP2_STATE, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::BOOT_STATE, &bootStateEntry);
localDataPoolMap.emplace(supv::BOOT_CYCLES, &bootCyclesEntry);
localDataPoolMap.emplace(supv::LATCHUP_ID, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(supv::CNT0, new PoolEntry<uint16_t>({0}));

View File

@ -156,6 +156,11 @@ class PlocSupervisorHandler : public DeviceHandlerBase {
Countdown bootTimeout = Countdown(BOOT_TIMEOUT);
Countdown mramDumpTimeout = Countdown(MRAM_DUMP_TIMEOUT);
PoolEntry<uint8_t> fmcStateEntry = PoolEntry<uint8_t>(1);
PoolEntry<uint8_t> bootStateEntry = PoolEntry<uint8_t>(1);
PoolEntry<uint8_t> bootCyclesEntry = PoolEntry<uint8_t>(1);
PoolEntry<uint32_t> tempSupEntry = PoolEntry<uint32_t>(1);
/**
* @brief Adjusts the timeout of the execution report dependent on command
*/

View File

@ -101,6 +101,9 @@ ReturnValue_t PlocSupvUartManager::performOperation(uint8_t operationCode) {
lock->unlockMutex();
semaphore->acquire();
putTaskToSleep = false;
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "PLOC SUPV Helper PST");
#endif
while (true) {
if (putTaskToSleep) {
performUartShutdown();

View File

@ -15,6 +15,7 @@
#include "fsfw/tasks/ExecutableObjectIF.h"
#include "fsfw_hal/linux/serial/SerialComIF.h"
#include "linux/devices/devicedefinitions/PlocSupervisorDefinitions.h"
#include "mission/trace.h"
#include "tas/crc.h"
#ifdef XIPHOS_Q7S
@ -211,6 +212,9 @@ class PlocSupvUartManager : public DeviceCommunicationIF,
supv::TmBase tmReader;
int serialPort = 0;
struct termios tty = {};
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
struct EventBufferRequest {
std::string path = "";

View File

@ -34,7 +34,7 @@
#if FSFW_OBJ_EVENT_TRANSLATION == 1
//! Specify whether info events are printed too.
#define FSFW_DEBUG_INFO 1
#define FSFW_DEBUG_INFO @FSFW_DEBUG_INFO@
#include "objects/translateObjects.h"
#include "events/translateEvents.h"
#else

View File

@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 256 translations.
* @details
* Generated on: 2023-02-09 15:57:01
* Generated on: 2023-02-13 10:07:30
*/
#include "translateEvents.h"

View File

@ -2,7 +2,7 @@
* @brief Auto-generated object translation file.
* @details
* Contains 152 translations.
* Generated on: 2023-02-09 15:57:01
* Generated on: 2023-02-13 10:07:30
*/
#include "translateObjects.h"

View File

@ -5,6 +5,7 @@
#include <fsfw/serviceinterface/ServiceInterfaceStream.h>
#include <fsfw/tasks/FixedTimeslotTaskIF.h>
#include "OBSWConfig.h"
#include "eive/definitions.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
@ -184,7 +185,7 @@ ReturnValue_t pst::pstTest(FixedTimeslotTaskIF *thisSequence) {
return returnvalue::OK;
}
ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
ReturnValue_t pst::pstTcsAndAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
/* Length of a communication cycle */
uint32_t length = thisSequence->getPeriodMs();
bool enableAside = true;
@ -240,7 +241,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::GYRO_1_L3G_HANDLER, length * config::acs::SCHED_BLOCK_1_PERIOD,
DeviceHandlerIF::GET_READ);
}
if (enableBside) {
// B side
thisSequence->addSlot(objects::MGM_2_LIS3_HANDLER, length * config::acs::SCHED_BLOCK_1_PERIOD,
@ -293,7 +293,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
}
}
// SUS: 16 ms
bool addSus0 = true;
bool addSus1 = true;
bool addSus2 = true;
@ -441,7 +440,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::SUS_5_N_LOC_XFYMZB_PT_ZB,
length * config::acs::SCHED_BLOCK_1_PERIOD, DeviceHandlerIF::GET_READ);
}
if (addSus6) {
thisSequence->addSlot(objects::SUS_6_R_LOC_XFYBZM_PT_XF, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
@ -464,7 +462,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::SUS_6_R_LOC_XFYBZM_PT_XF,
length * config::acs::SCHED_BLOCK_1_PERIOD, DeviceHandlerIF::GET_READ);
}
if (addSus7) {
thisSequence->addSlot(objects::SUS_7_R_LOC_XBYBZM_PT_XB, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
@ -487,7 +484,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::SUS_7_R_LOC_XBYBZM_PT_XB,
length * config::acs::SCHED_BLOCK_1_PERIOD, DeviceHandlerIF::GET_READ);
}
if (addSus8) {
thisSequence->addSlot(objects::SUS_8_R_LOC_XBYBZB_PT_YB, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
@ -510,7 +506,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::SUS_8_R_LOC_XBYBZB_PT_YB,
length * config::acs::SCHED_BLOCK_1_PERIOD, DeviceHandlerIF::GET_READ);
}
if (addSus9) {
thisSequence->addSlot(objects::SUS_9_R_LOC_XBYBZB_PT_YF, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
@ -522,6 +517,7 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::SUS_9_R_LOC_XBYBZB_PT_YF, length * 0,
DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::SUS_9_R_LOC_XBYBZB_PT_YF,
length * config::acs::SCHED_BLOCK_1_PERIOD,
DeviceHandlerIF::SEND_WRITE);
@ -532,7 +528,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::SUS_9_R_LOC_XBYBZB_PT_YF,
length * config::acs::SCHED_BLOCK_1_PERIOD, DeviceHandlerIF::GET_READ);
}
if (addSus10) {
thisSequence->addSlot(objects::SUS_10_N_LOC_XMYBZF_PT_ZF, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
@ -555,7 +550,6 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::SUS_10_N_LOC_XMYBZF_PT_ZF,
length * config::acs::SCHED_BLOCK_1_PERIOD, DeviceHandlerIF::GET_READ);
}
if (addSus11) {
thisSequence->addSlot(objects::SUS_11_R_LOC_XBYMZB_PT_ZB, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
@ -639,6 +633,129 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
}
if (cfg.scheduleRws) {
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::SEND_WRITE);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::GET_WRITE);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::SEND_READ);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::GET_READ);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::SEND_WRITE);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::GET_WRITE);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::SEND_READ);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::GET_READ);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::SEND_WRITE);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::SEND_WRITE);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::GET_WRITE);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::GET_WRITE);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::SEND_READ);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::SEND_READ);
//
// thisSequence->addSlot(objects::RW1, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW2, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW3, length * 0, DeviceHandlerIF::GET_READ);
// thisSequence->addSlot(objects::RW4, length * 0, DeviceHandlerIF::GET_READ);
}
if (cfg.scheduleRws) {
// this is the torquing cycle
thisSequence->addSlot(objects::RW1, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::RW2, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::RW3, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::RW4, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::RW1, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::RW2, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::RW3, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::RW4, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::RW1, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::RW2, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::RW3, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::RW4, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::RW1, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::RW2, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::RW3, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::RW4, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::RW1, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::RW2, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::RW3, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::RW4, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::RW1, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::RW2, length * config::acs::SCHED_BLOCK_2_PERIOD,
@ -684,5 +801,8 @@ ReturnValue_t pst::pstAcs(FixedTimeslotTaskIF *thisSequence, AcsPstCfg cfg) {
thisSequence->addSlot(objects::RW4, length * config::acs::SCHED_BLOCK_2_PERIOD,
DeviceHandlerIF::GET_READ);
}
thisSequence->addSlot(objects::SPI_RTD_COM_IF, length * 0.5, 0);
return returnvalue::OK;
}

View File

@ -49,7 +49,7 @@ ReturnValue_t pstGompaceCan(FixedTimeslotTaskIF* thisSequence);
ReturnValue_t pstSpiAndSyrlinks(FixedTimeslotTaskIF* thisSequence);
ReturnValue_t pstAcs(FixedTimeslotTaskIF* thisSequence, AcsPstCfg cfg);
ReturnValue_t pstTcsAndAcs(FixedTimeslotTaskIF* thisSequence, AcsPstCfg cfg);
ReturnValue_t pstI2c(FixedTimeslotTaskIF* thisSequence);

View File

@ -22,7 +22,7 @@ void PdecConfig::initialize() {
word |= POSITIVE_WINDOW;
configWords[0] = word;
word = 0;
word |= (NEGATIVE_WINDOW << 24);
word |= (static_cast<uint32_t>(NEGATIVE_WINDOW) << 24);
word |= (HIGH_AU_MAP_ID << 16);
word |= (ENABLE_DERANDOMIZER << 8);
configWords[1] = word;

View File

@ -99,6 +99,7 @@ ReturnValue_t PdecHandler::performOperation(uint8_t operationCode) {
} else if (OP_MODE == Modes::IRQ) {
return irqOperation();
}
return returnvalue::FAILED;
}
ReturnValue_t PdecHandler::polledOperation() {

View File

@ -15,7 +15,7 @@ static constexpr uint32_t NEW_FAR_MASK = 1 << 2;
static constexpr uint32_t TC_ABORT_MASK = 1 << 1;
static constexpr uint32_t TC_NEW_MASK = 1 << 0;
static constexpr uint32_t FAR_STAT_MASK = 1 << 31;
static constexpr uint32_t FAR_STAT_MASK = 1UL << 31;
static const uint32_t FRAME_ANA_MASK = 0x70000000;
static const uint32_t IREASON_MASK = 0x0E000000;

View File

@ -8,8 +8,7 @@
#include "ObjectFactory.h"
#include "eive/objects.h"
void scheduling::schedulingScex(TaskFactory& factory, PeriodicTaskIF*& scexDevHandler,
PeriodicTaskIF*& scexReaderTask) {
void scheduling::scheduleScexReader(TaskFactory& factory, PeriodicTaskIF*& scexReaderTask) {
using namespace scheduling;
ReturnValue_t result = returnvalue::OK;
#if OBSW_PRINT_MISSED_DEADLINES == 1
@ -17,37 +16,6 @@ void scheduling::schedulingScex(TaskFactory& factory, PeriodicTaskIF*& scexDevHa
#else
void (*missedDeadlineFunc)(void) = nullptr;
#endif
scexDevHandler = factory.createPeriodicTask(
"SCEX_DEV", 35, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 0.5, missedDeadlineFunc);
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::PERFORM_OPERATION);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_WRITE);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_WRITE);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = returnvalue::OK;
scexReaderTask = factory.createPeriodicTask(
@ -79,3 +47,35 @@ void scheduling::addMpsocSupvHandlers(PeriodicTaskIF* plTask) {
plTask->addComponent(objects::PLOC_MPSOC_HANDLER, DeviceHandlerIF::GET_READ);
#endif
}
void scheduling::scheduleScexDev(PeriodicTaskIF*& scexDevHandler) {
ReturnValue_t result =
scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::PERFORM_OPERATION);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_WRITE);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_WRITE);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::SEND_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
result = scexDevHandler->addComponent(objects::SCEX, DeviceHandlerIF::GET_READ);
if (result != returnvalue::OK) {
printAddObjectError("SCEX_DEV", objects::SCEX);
}
}

View File

@ -3,7 +3,7 @@
#include <fsfw/tasks/TaskFactory.h>
namespace scheduling {
void schedulingScex(TaskFactory& factory, PeriodicTaskIF*& scexDevHandler,
PeriodicTaskIF*& scexReaderTask);
void scheduleScexDev(PeriodicTaskIF*& scexDevHandler);
void scheduleScexReader(TaskFactory& factory, PeriodicTaskIF*& scexReaderTask);
void addMpsocSupvHandlers(PeriodicTaskIF* task);
} // namespace scheduling

View File

@ -57,7 +57,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s-em|cmake-build-debug-q7s|bsp_q7s|cmake-build-debug/_deps|cmake-build-release-q7s-em|build-Debug-RPi|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|fsfwconfig" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s-em|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|fsfwconfig|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_q7s|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug/_deps|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -119,7 +119,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s-em|cmake-build-debug-q7s|bsp_q7s|cmake-build-debug/_deps|cmake-build-release-q7s-em|build-Debug-RPi|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|fsfwconfig" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s-em|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|fsfwconfig|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_q7s|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug/_deps|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -187,7 +187,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s-em|cmake-build-debug-q7s|bsp_q7s|cmake-build-debug/_deps|cmake-build-release-q7s-em|build-Debug-RPi|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|fsfwconfig" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s-em|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|fsfwconfig|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_q7s|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug/_deps|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -255,7 +255,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s-em|cmake-build-debug-q7s|bsp_q7s|cmake-build-debug/_deps|cmake-build-release-q7s-em|build-Debug-RPi|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|fsfwconfig" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s-em|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|fsfwconfig|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_q7s|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug/_deps|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -418,7 +418,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="build-Debug-RPi/_deps/etl-src/uml|build-Debug-RPi/_deps/etl-src/test|build-Debug-RPi/_deps/etl-src/temp|build-Debug-RPi/_deps/etl-src/support|build-Debug-RPi/_deps/etl-src/subprojects|build-Debug-RPi/_deps/etl-src/scripts|build-Debug-RPi/_deps/etl-src/images|build-Debug-RPi/_deps/etl-src/examples|build-Debug-RPi/_deps/etl-src/cmake|build-Debug-RPi/_deps/etl-src/arduino|cmake-build-debug-q7s|cmake-build-debug|cmake-build-debug-q7s-em|cmake-build-release-q7s-em|bsp_hosted|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|build-Debug-RPi/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|build-Debug-RPi/_deps/etl-src/temp|thirdparty/json/single_include|cmake-build-debug-q7s-em|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|build-Debug-RPi/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/images|build-Debug-RPi/_deps/etl-src/subprojects|cmake-build-debug|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_hosted|thirdparty/json/test|bsp_te0720_1cfa|scripts|build-Debug-RPi/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|thirdparty/rapidcsv/doc|build-Debug-RPi/_deps/etl-src/examples|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|build-Debug-RPi/_deps/etl-src/test|build-Debug-RPi/_deps/etl-src/scripts|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|build-Debug-RPi/_deps/etl-src/arduino|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|build-Debug-RPi/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -580,7 +580,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="build-Debug-RPi/_deps/etl-src/uml|build-Debug-RPi/_deps/etl-src/test|build-Debug-RPi/_deps/etl-src/temp|build-Debug-RPi/_deps/etl-src/support|build-Debug-RPi/_deps/etl-src/subprojects|build-Debug-RPi/_deps/etl-src/scripts|build-Debug-RPi/_deps/etl-src/images|build-Debug-RPi/_deps/etl-src/examples|build-Debug-RPi/_deps/etl-src/cmake|build-Debug-RPi/_deps/etl-src/arduino|cmake-build-debug-q7s|cmake-build-debug|cmake-build-debug-q7s-em|cmake-build-release-q7s-em|bsp_hosted|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|build-Debug-RPi/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|build-Debug-RPi/_deps/etl-src/temp|thirdparty/json/single_include|cmake-build-debug-q7s-em|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|build-Debug-RPi/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/images|build-Debug-RPi/_deps/etl-src/subprojects|cmake-build-debug|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_hosted|thirdparty/json/test|bsp_te0720_1cfa|scripts|build-Debug-RPi/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|thirdparty/rapidcsv/doc|build-Debug-RPi/_deps/etl-src/examples|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|build-Debug-RPi/_deps/etl-src/test|build-Debug-RPi/_deps/etl-src/scripts|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|build-Debug-RPi/_deps/etl-src/arduino|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|build-Debug-RPi/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -750,7 +750,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s|cmake-build-release-q7s-em|build-Debug-RPi|bsp_hosted|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug|cmake-build-debug-q7s-em|build-Debug-Host|build-Watchdog-Debug" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s-em|thirdparty/rapidcsv/examples|build-Debug-Host|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_hosted|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|build-Watchdog-Debug|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -917,7 +917,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s|cmake-build-release-q7s-em|cmake-build-release-q7s/_deps/etl-src/uml|cmake-build-release-q7s/_deps/etl-src/test|cmake-build-release-q7s/_deps/etl-src/temp|cmake-build-release-q7s/_deps/etl-src/support|cmake-build-release-q7s/_deps/etl-src/subprojects|cmake-build-release-q7s/_deps/etl-src/scripts|cmake-build-release-q7s/_deps/etl-src/images|cmake-build-release-q7s/_deps/etl-src/examples|cmake-build-release-q7s/_deps/etl-src/cmake|cmake-build-release-q7s/_deps/etl-src/arduino|build-Debug-RPi|bsp_hosted|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug|cmake-build-debug-q7s-em|build-Debug-Host|build-Watchdog-Debug" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s/_deps/etl-src/support|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s-em|thirdparty/rapidcsv/examples|build-Debug-Host|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_hosted|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-release-q7s/_deps/etl-src/test|cmake-build-release-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|cmake-build-release-q7s/_deps/etl-src/arduino|build-Debug-RPi|cmake-build-release-q7s/_deps/etl-src/cmake|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-release-q7s/_deps/etl-src/uml|cmake-build-release-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/arduino|cmake-build-release-q7s/_deps/etl-src/temp|tmtc|cmake-build-release-q7s/_deps/etl-src/images|cmake-build-release-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|build-Watchdog-Debug|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -1084,7 +1084,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-release-q7s-em|build-Debug-RPi|bsp_hosted|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s-em/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_hosted|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -1149,7 +1149,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-release-q7s-em|build-Debug-RPi|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|fsfwconfig" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s-em/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|fsfwconfig|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -1317,7 +1317,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-debug-q7s|cmake-build-release-q7s-em|build-Debug-RPi|bsp_hosted|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug|build-Debug-Host|build-Watchdog-Debug" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s-em/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|build-Debug-Host|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|bsp_hosted|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|build-Watchdog-Debug|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -1386,7 +1386,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cmake-build-release-q7s-em|build-Debug-RPi|bsp_linux_board|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-debug-q7s/_deps/etl-src/temp|cmake-build-debug-q7s/_deps/etl-src/support|cmake-build-debug-q7s/_deps/etl-src/subprojects|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/images|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-debug-q7s/_deps/etl-src/cmake|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|scripts|bsp_te0720_1cfa|thirdparty/rapidcsv/tests|thirdparty/rapidcsv/examples|thirdparty/rapidcsv/doc|thirdparty/json/third_party|thirdparty/json/test|thirdparty/json/single_include|thirdparty/json/doc|thirdparty/json/cmake|thirdparty/json/benchmarks|archive|cmake-build-release-q7s|bsp_egse|cmake-build-debug-q7s/_deps/etl-src/test|fsfwconfig" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="thirdparty/json/tests|thirdparty/json/docs|cmake-build-debug-q7s-em/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/uml|cmake-build-release-q7s|bsp_linux_board|thirdparty/json/single_include|cmake-build-debug-q7s/_deps/etl-src/temp|thirdparty/rapidcsv/examples|cmake-build-debug-q7s/_deps/etl-src/images|fsfwconfig|cmake-build-debug-q7s/_deps/etl-src/subprojects|thirdparty/json/third_party|thirdparty/json/test|bsp_te0720_1cfa|scripts|cmake-build-debug-q7s/_deps/etl-src/cmake|bsp_egse|build-Debug-RPi|thirdparty/rapidcsv/doc|thirdparty/json/doc|cmake-build-debug-q7s/_deps/etl-src/examples|cmake-build-release-q7s-em|cmake-build-debug-q7s/_deps/etl-src/scripts|cmake-build-debug-q7s/_deps/etl-src/test|cmake-build-debug-q7s/_deps/etl-src/arduino|tmtc|cmake-build-debug-q7s/_deps/etl-src/support|thirdparty/rapidcsv/tests|archive|thirdparty/json/cmake|thirdparty/json/benchmarks" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -1451,18 +1451,9 @@
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.447898075;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.447898075.;cdt.managedbuild.tool.gnu.cpp.compiler.base.1522927967;cdt.managedbuild.tool.gnu.cpp.compiler.input.305765911">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.628631287;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.216437361">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.;cdt.managedbuild.tool.gnu.cpp.compiler.base.1405808772;cdt.managedbuild.tool.gnu.cpp.compiler.input.1960112549">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.;cdt.managedbuild.tool.gnu.c.compiler.base.1946711528;cdt.managedbuild.tool.gnu.c.compiler.input.584209663">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.2044466190;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1551006500">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.2065184927;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.920837857">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
@ -1478,6 +1469,48 @@
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1775596945;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1775596945.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1154394228;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1228307894">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.1043649249;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.1043649249.;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.539225324;cdt.managedbuild.tool.gnu.cpp.compiler.input.1848997248">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.193772074;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.2081570054">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.397223006;cdt.managedbuild.tool.gnu.c.compiler.input.1482659499">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1171630561;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1171630561.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.308264050;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.259982159">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1031020513;cdt.managedbuild.toolchain.gnu.mingw.base.1031020513.519944638;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.438317679;cdt.managedbuild.tool.gnu.c.compiler.input.336445831">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1939781894;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1939781894.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.2002501811;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1316209993">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1898420988;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.2134154524">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.646655988;cdt.managedbuild.tool.gnu.cpp.compiler.input.1437856797">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1631077874;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1631077874.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1992099127;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.234631061">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.628631287;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.216437361">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.758550634;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.758550634.;cdt.managedbuild.tool.gnu.cpp.compiler.base.1957014384;cdt.managedbuild.tool.gnu.cpp.compiler.input.957560385">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1631077874;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1631077874.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.715561087;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1004720080">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.;cdt.managedbuild.tool.gnu.c.compiler.base.1946711528;cdt.managedbuild.tool.gnu.c.compiler.input.584209663">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.2044466190;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1551006500">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1535302916;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.96000231">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
@ -1490,25 +1523,16 @@
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.364559455;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.364559455.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1970346305;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.2096585345">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.1043649249;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.1043649249.;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.539225324;cdt.managedbuild.tool.gnu.cpp.compiler.input.1848997248">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.447898075;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.447898075.;cdt.managedbuild.tool.gnu.c.compiler.base.623389075;cdt.managedbuild.tool.gnu.c.compiler.input.1382191457">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.190921171.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.193772074;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.2081570054">
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.758550634;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.758550634.;cdt.managedbuild.tool.gnu.c.compiler.base.1695077973;cdt.managedbuild.tool.gnu.c.compiler.input.509259725">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.397223006;cdt.managedbuild.tool.gnu.c.compiler.input.1482659499">
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1171630561;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1171630561.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1477130926;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.779990384">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1031020513;cdt.managedbuild.toolchain.gnu.mingw.base.1031020513.519944638;cdt.managedbuild.tool.gnu.c.compiler.mingw.base.438317679;cdt.managedbuild.tool.gnu.c.compiler.input.336445831">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1939781894;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.1939781894.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.2002501811;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1316209993">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.;cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.646655988;cdt.managedbuild.tool.gnu.cpp.compiler.input.1437856797">
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.1707795689.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.978379831;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.780507143">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851;cdt.managedbuild.toolchain.gnu.mingw.base.1455833186.1840876443.2117915473.688890851.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1595165802;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1925043110">

View File

@ -8,3 +8,5 @@ add_subdirectory(system)
add_subdirectory(csp)
add_subdirectory(cfdp)
add_subdirectory(config)
target_sources(${LIB_EIVE_MISSION} PRIVATE acsDefs.cpp trace.cpp)

40
mission/acsDefs.cpp Normal file
View File

@ -0,0 +1,40 @@
#include "acsDefs.h"
const char* acs::getModeStr(AcsMode mode) {
static const char* modeStr = "UNKNOWN";
switch (mode) {
case (acs::AcsMode::OFF): {
modeStr = "OFF";
break;
}
case (acs::AcsMode::SAFE): {
modeStr = "SAFE";
break;
}
case (acs::AcsMode::DETUMBLE): {
modeStr = "DETUBMLE";
break;
}
case (acs::AcsMode::PTG_NADIR): {
modeStr = "POITNING NADIR";
break;
}
case (acs::AcsMode::PTG_IDLE): {
modeStr = "POINTING IDLE";
break;
}
case (acs::AcsMode::PTG_INERTIAL): {
modeStr = "POINTING INERTIAL";
break;
}
case (acs::AcsMode::PTG_TARGET): {
modeStr = "POINTING TARGET";
break;
}
case (acs::AcsMode::PTG_TARGET_GS): {
modeStr = "POINTING TARGET GS";
break;
}
}
return modeStr;
}

View File

@ -7,7 +7,7 @@
namespace acs {
// These modes are the submodes of the ACS controller and the modes of the ACS subsystem.
enum AcsMode {
enum AcsMode : Mode_t {
OFF = HasModesIF::MODE_OFF,
SAFE = 10,
DETUMBLE = 11,
@ -24,6 +24,8 @@ static const Event SAFE_RATE_VIOLATION = MAKE_EVENT(0, severity::MEDIUM);
//!< The system has recovered from a safe rate rotation violation.
static constexpr Event SAFE_RATE_RECOVERY = MAKE_EVENT(1, severity::MEDIUM);
extern const char* getModeStr(AcsMode mode);
} // namespace acs
#endif /* MISSION_ACSDEFS_H_ */

View File

@ -50,6 +50,9 @@ ReturnValue_t AcsController::getParameter(uint8_t domainId, uint8_t parameterId,
}
void AcsController::performControlOperation() {
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "ACS & TCS PST");
#endif
switch (internalState) {
case InternalState::STARTUP: {
initialCountdown.resetTimer();
@ -116,10 +119,10 @@ void AcsController::performSafe() {
navigation.useMekf(&sensorValues, &gyrDataProcessed, &mgmDataProcessed, &susDataProcessed,
&mekfData, &validMekf);
// Give desired satellite rate and sun direction to align
// give desired satellite rate and sun direction to align
double satRateSafe[3] = {0, 0, 0}, sunTargetDir[3] = {0, 0, 0};
guidance.getTargetParamsSafe(sunTargetDir, satRateSafe);
// IF MEKF is working
// if MEKF is working
double magMomMtq[3] = {0, 0, 0}, errAng = 0.0;
bool magMomMtqValid = false;
if (validMekf == returnvalue::OK) {
@ -137,8 +140,8 @@ void AcsController::performSafe() {
sunTargetDir, satRateSafe, &errAng, magMomMtq, &magMomMtqValid);
}
double dipolCmdUnits[3] = {0, 0, 0};
actuatorCmd.cmdDipolMtq(magMomMtq, dipolCmdUnits);
int16_t cmdDipolMtqs[3] = {0, 0, 0};
actuatorCmd.cmdDipolMtq(magMomMtq, cmdDipolMtqs);
{
PoolReadGuard pg(&ctrlValData);
@ -180,18 +183,15 @@ void AcsController::performSafe() {
actuatorCmdData.rwTargetTorque.setValid(false);
std::memcpy(actuatorCmdData.rwTargetSpeed.value, zeroVec, 4 * sizeof(int32_t));
actuatorCmdData.rwTargetSpeed.setValid(false);
std::memcpy(actuatorCmdData.mtqTargetDipole.value, dipolCmdUnits, 3 * sizeof(int16_t));
std::memcpy(actuatorCmdData.mtqTargetDipole.value, cmdDipolMtqs, 3 * sizeof(int16_t));
actuatorCmdData.mtqTargetDipole.setValid(true);
actuatorCmdData.setValidity(true, false);
}
}
// {
// PoolReadGuard pg(&dipoleSet);
// MutexGuard mg(torquer::lazyLock());
// torquer::NEW_ACTUATION_FLAG = true;
// dipoleSet.setDipoles(cmdDipolUnits[0], cmdDipolUnits[1], cmdDipolUnits[2],
// torqueDuration);
// }
// commandActuators(cmdDipolMtqs[0], cmdDipolMtqs[1], cmdDipolMtqs[2],
// acsParameters.magnetorquesParameter.torqueDuration, 0, 0, 0, 0,
// acsParameters.rwHandlingParameters.rampTime);
}
void AcsController::performDetumble() {
@ -208,8 +208,8 @@ void AcsController::performDetumble() {
detumble.bDotLaw(mgmDataProcessed.mgmVecTotDerivative.value,
mgmDataProcessed.mgmVecTotDerivative.isValid(), mgmDataProcessed.mgmVecTot.value,
mgmDataProcessed.mgmVecTot.isValid(), magMomMtq);
double dipolCmdUnits[3] = {0, 0, 0};
actuatorCmd.cmdDipolMtq(magMomMtq, dipolCmdUnits);
int16_t cmdDipolMtqs[3] = {0, 0, 0};
actuatorCmd.cmdDipolMtq(magMomMtq, cmdDipolMtqs);
if (mekfData.satRotRateMekf.isValid() &&
VectorOperations<double>::norm(mekfData.satRotRateMekf.value, 3) <
@ -228,10 +228,6 @@ void AcsController::performDetumble() {
triggerEvent(acs::SAFE_RATE_RECOVERY);
}
int16_t cmdDipolUnitsInt[3] = {0, 0, 0};
for (int i = 0; i < 3; ++i) {
cmdDipolUnitsInt[i] = std::round(dipolCmdUnits[i]);
}
{
PoolReadGuard pg(&actuatorCmdData);
if (pg.getReadResult() == returnvalue::OK) {
@ -239,18 +235,15 @@ void AcsController::performDetumble() {
actuatorCmdData.rwTargetTorque.setValid(false);
std::memset(actuatorCmdData.rwTargetSpeed.value, 0, 4 * sizeof(int32_t));
actuatorCmdData.rwTargetSpeed.setValid(false);
std::memcpy(actuatorCmdData.mtqTargetDipole.value, cmdDipolUnitsInt, 3 * sizeof(int16_t));
std::memcpy(actuatorCmdData.mtqTargetDipole.value, cmdDipolMtqs, 3 * sizeof(int16_t));
actuatorCmdData.mtqTargetDipole.setValid(true);
actuatorCmdData.setValidity(true, false);
}
}
// {
// PoolReadGuard pg(&dipoleSet);
// MutexGuard mg(torquer::lazyLock());
// torquer::NEW_ACTUATION_FLAG = true;
// dipoleSet.setDipoles(cmdDipolUnitsInt[0], cmdDipolUnitsInt[1], cmdDipolUnitsInt[2],
// torqueDuration);
// }
// commandActuators(cmdDipolMtqs[0], cmdDipolMtqs[1], cmdDipolMtqs[2],
// acsParameters.magnetorquesParameter.torqueDuration, 0, 0, 0, 0,
// acsParameters.rwHandlingParameters.rampTime);
}
void AcsController::performPointingCtrl() {
@ -273,7 +266,7 @@ void AcsController::performPointingCtrl() {
guidance.getDistributionMatrixRw(&sensorValues, *rwPseudoInv);
double torquePtgRws[4] = {0, 0, 0, 0}, rwTrqNs[4] = {0, 0, 0, 0};
double torqueRws[4] = {0, 0, 0, 0}, torqueRwsScaled[4] = {0, 0, 0, 0};
double mgtDpDes[3] = {0, 0, 0}, dipolUnits[3] = {0, 0, 0}; // Desaturation Dipol
double mgtDpDes[3] = {0, 0, 0};
switch (submode) {
case acs::PTG_IDLE:
@ -393,44 +386,62 @@ void AcsController::performPointingCtrl() {
if (enableAntiStiction) {
bool rwAvailable[4] = {true, true, true, true}; // WHICH INPUT SENSOR SET?
int32_t rwSpeed[4] = {
(sensorValues.rw1Set.currSpeed.value), (sensorValues.rw2Set.currSpeed.value),
(sensorValues.rw3Set.currSpeed.value), (sensorValues.rw4Set.currSpeed.value)};
int32_t rwSpeed[4] = {sensorValues.rw1Set.currSpeed.value, sensorValues.rw2Set.currSpeed.value,
sensorValues.rw3Set.currSpeed.value, sensorValues.rw4Set.currSpeed.value};
ptgCtrl.rwAntistiction(rwAvailable, rwSpeed, torqueRwsScaled);
}
double cmdSpeedRws[4] = {0, 0, 0, 0}; // Should be given to the actuator reaction wheel as input
actuatorCmd.cmdSpeedToRws(&(sensorValues.rw1Set.currSpeed.value),
&(sensorValues.rw2Set.currSpeed.value),
&(sensorValues.rw3Set.currSpeed.value),
&(sensorValues.rw4Set.currSpeed.value), torqueRwsScaled, cmdSpeedRws);
actuatorCmd.cmdDipolMtq(mgtDpDes, dipolUnits);
int16_t cmdDipolUnitsInt[3] = {0, 0, 0};
for (int i = 0; i < 3; ++i) {
cmdDipolUnitsInt[i] = std::round(dipolUnits[i]);
}
int32_t cmdRwSpeedInt[4] = {0, 0, 0, 0};
for (int i = 0; i < 4; ++i) {
cmdRwSpeedInt[i] = std::round(cmdSpeedRws[i]);
}
int32_t cmdSpeedRws[4] = {0, 0, 0, 0};
actuatorCmd.cmdSpeedToRws(sensorValues.rw1Set.currSpeed.value,
sensorValues.rw2Set.currSpeed.value,
sensorValues.rw3Set.currSpeed.value,
sensorValues.rw4Set.currSpeed.value, torqueRwsScaled, cmdSpeedRws);
int16_t cmdDipolMtqs[3] = {0, 0, 0};
actuatorCmd.cmdDipolMtq(mgtDpDes, cmdDipolMtqs);
{
PoolReadGuard pg(&actuatorCmdData);
if (pg.getReadResult() == returnvalue::OK) {
std::memcpy(actuatorCmdData.rwTargetTorque.value, rwTrqNs, 4 * sizeof(double));
std::memcpy(actuatorCmdData.rwTargetSpeed.value, cmdRwSpeedInt, 4 * sizeof(int32_t));
std::memcpy(actuatorCmdData.mtqTargetDipole.value, cmdDipolUnitsInt, 3 * sizeof(int16_t));
std::memcpy(actuatorCmdData.rwTargetSpeed.value, cmdSpeedRws, 4 * sizeof(int32_t));
std::memcpy(actuatorCmdData.mtqTargetDipole.value, cmdDipolMtqs, 3 * sizeof(int16_t));
actuatorCmdData.setValidity(true, true);
}
}
// {
// PoolReadGuard pg(&dipoleSet);
// MutexGuard mg(torquer::lazyLock());
// torquer::NEW_ACTUATION_FLAG = true;
// dipoleSet.setDipoles(cmdDipolUnitsInt[0], cmdDipolUnitsInt[1], cmdDipolUnitsInt[2],
// torqueDuration);
// }
// commandActuators(cmdDipolMtqs[0], cmdDipolMtqs[1], cmdDipolMtqs[2],
// acsParameters.magnetorquesParameter.torqueDuration, cmdSpeedRws[0],
// cmdSpeedRws[1], cmdSpeedRws[2], cmdSpeedRws[3],
// acsParameters.rwHandlingParameters.rampTime);
}
ReturnValue_t AcsController::commandActuators(int16_t xDipole, int16_t yDipole, int16_t zDipole,
uint16_t dipoleTorqueDuration, int32_t rw1Speed,
int32_t rw2Speed, int32_t rw3Speed, int32_t rw4Speed,
uint16_t rampTime) {
{
PoolReadGuard pg(&dipoleSet);
MutexGuard mg(torquer::lazyLock());
torquer::NEW_ACTUATION_FLAG = true;
dipoleSet.setDipoles(xDipole, yDipole, zDipole, dipoleTorqueDuration);
}
{
PoolReadGuard pg(&rw1SpeedSet);
rw1SpeedSet.setRwSpeed(rw1Speed, rampTime);
}
{
PoolReadGuard pg(&rw2SpeedSet);
rw2SpeedSet.setRwSpeed(rw2Speed, rampTime);
}
{
PoolReadGuard pg(&rw3SpeedSet);
rw3SpeedSet.setRwSpeed(rw3Speed, rampTime);
}
{
PoolReadGuard pg(&rw4SpeedSet);
rw4SpeedSet.setRwSpeed(rw4Speed, rampTime);
}
return returnvalue::OK;
}
ReturnValue_t AcsController::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
@ -566,9 +577,24 @@ ReturnValue_t AcsController::checkModeCommand(Mode_t mode, Submode_t submode,
return INVALID_MODE;
}
void AcsController::modeChanged(Mode_t mode, Submode_t submode) {}
void AcsController::modeChanged(Mode_t mode, Submode_t submode) {
return ExtendedControllerBase::modeChanged(mode, submode);
}
void AcsController::announceMode(bool recursive) {}
void AcsController::announceMode(bool recursive) {
const char *modeStr = "UNKNOWN";
if (mode == HasModesIF::MODE_OFF) {
modeStr = "OFF";
} else if (mode == HasModesIF::MODE_ON) {
modeStr = "ON";
} else if (mode == DeviceHandlerIF::MODE_NORMAL) {
modeStr = "NORMAL";
}
const char *submodeStr = acs::getModeStr(static_cast<acs::AcsMode>(submode));
sif::info << "ACS controller is now in " << modeStr << " mode with " << submodeStr << " submode"
<< std::endl;
return ExtendedControllerBase::announceMode(recursive);
}
void AcsController::copyMgmData() {
ACS::SensorValues sensorValues;

View File

@ -17,8 +17,10 @@
#include "eive/objects.h"
#include "fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h"
#include "fsfw_hal/devicehandlers/MgmRM3100Handler.h"
#include "mission/devices/devicedefinitions/RwDefinitions.h"
#include "mission/devices/devicedefinitions/SusDefinitions.h"
#include "mission/devices/devicedefinitions/imtqHandlerDefinitions.h"
#include "mission/trace.h"
class AcsController : public ExtendedControllerBase, public ReceivesParameterMessagesIF {
public:
@ -51,6 +53,10 @@ class AcsController : public ExtendedControllerBase, public ReceivesParameterMes
ParameterHelper parameterHelper;
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
enum class InternalState { STARTUP, INITIAL_DELAY, READY };
InternalState internalState = InternalState::STARTUP;
@ -69,11 +75,20 @@ class AcsController : public ExtendedControllerBase, public ReceivesParameterMes
void modeChanged(Mode_t mode, Submode_t submode);
void announceMode(bool recursive);
ReturnValue_t commandActuators(int16_t xDipole, int16_t yDipole, int16_t zDipole,
uint16_t dipoleTorqueDuration, int32_t rw1Speed, int32_t rw2Speed,
int32_t rw3Speed, int32_t rw4Speed, uint16_t rampTime);
/* ACS Sensor Values */
ACS::SensorValues sensorValues;
/* ACS Datasets */
/* ACS Actuation Datasets */
IMTQ::DipoleActuationSet dipoleSet = IMTQ::DipoleActuationSet(objects::IMTQ_HANDLER);
RwDefinitions::RwSpeedActuationSet rw1SpeedSet = RwDefinitions::RwSpeedActuationSet(objects::RW1);
RwDefinitions::RwSpeedActuationSet rw2SpeedSet = RwDefinitions::RwSpeedActuationSet(objects::RW2);
RwDefinitions::RwSpeedActuationSet rw3SpeedSet = RwDefinitions::RwSpeedActuationSet(objects::RW3);
RwDefinitions::RwSpeedActuationSet rw4SpeedSet = RwDefinitions::RwSpeedActuationSet(objects::RW4);
/* ACS Datasets */
// MGMs
acsctrl::MgmDataRaw mgmDataRaw;
PoolEntry<float> mgm0VecRaw = PoolEntry<float>(3);

View File

@ -72,6 +72,9 @@ ReturnValue_t ThermalController::handleCommandMessage(CommandMessage* message) {
}
void ThermalController::performControlOperation() {
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "TCS Task");
#endif
switch (internalState) {
case InternalState::STARTUP: {
initialCountdown.resetTimer();

View File

@ -11,7 +11,8 @@
#include <list>
#include "../devices/HeaterHandler.h"
#include "mission/devices/HeaterHandler.h"
#include "mission/trace.h"
/**
* NOP Limit: Hard limit for device, usually from datasheet. Device damage is possible lif NOP limit
@ -152,6 +153,10 @@ class ThermalController : public ExtendedControllerBase {
// Initial delay to make sure all pool variables have been initialized their owners
Countdown initialCountdown = Countdown(DELAY);
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
std::array<std::pair<bool, double>, 5> sensors;
uint8_t numSensors = 0;

View File

@ -278,6 +278,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
case 0x4:
parameterWrapper->set(rwHandlingParameters.stictionTorque);
break;
case 0x5:
parameterWrapper->set(rwHandlingParameters.rampTime);
break;
default:
return INVALID_IDENTIFIER_ID;
}
@ -584,6 +587,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
case 0x5:
parameterWrapper->set(magnetorquesParameter.DipolMax);
break;
case 0x6:
parameterWrapper->set(magnetorquesParameter.torqueDuration);
break;
default:
return INVALID_IDENTIFIER_ID;
}

View File

@ -792,6 +792,8 @@ class AcsParameters : public HasParametersIF {
double stictionSpeed = 100; // 80; // RPM
double stictionReleaseSpeed = 120; // RPM
double stictionTorque = 0.0006;
uint16_t rampTime = 10;
} rwHandlingParameters;
struct RwMatrices {
@ -910,6 +912,7 @@ class AcsParameters : public HasParametersIF {
double inverseAlignment[3][3] = {{0, -1, 0}, {0, 0, 1}, {-1, 0, 0}};
double DipolMax = 0.2; // [Am^2]
uint16_t torqueDuration = 300; // [ms]
} magnetorquesParameter;
struct DetumbleParameter {

View File

@ -38,27 +38,33 @@ void ActuatorCmd::scalingTorqueRws(const double *rwTrq, double *rwTrqScaled) {
}
}
void ActuatorCmd::cmdSpeedToRws(const int32_t *speedRw0, const int32_t *speedRw1,
const int32_t *speedRw2, const int32_t *speedRw3,
const double *rwTorque, double *rwCmdSpeed) {
void ActuatorCmd::cmdSpeedToRws(const int32_t speedRw0, const int32_t speedRw1,
const int32_t speedRw2, const int32_t speedRw3,
const double *rwTorque, int32_t *rwCmdSpeed) {
using namespace Math;
// Calculating the commanded speed in RPM for every reaction wheel
double speedRws[4] = {(double)*speedRw0, (double)*speedRw1, (double)*speedRw2, (double)*speedRw3};
int32_t speedRws[4] = {speedRw0, speedRw1, speedRw2, speedRw3};
double deltaSpeed[4] = {0, 0, 0, 0};
double commandTime = acsParameters.onBoardParams.sampleTime,
inertiaWheel = acsParameters.rwHandlingParameters.inertiaWheel;
double radToRpm = 60 / (2 * PI); // factor for conversion to RPM
// W_RW = Torque_RW / I_RW * delta t [rad/s]
double factor = commandTime / inertiaWheel * radToRpm;
int32_t deltaSpeedInt[4] = {0, 0, 0, 0};
VectorOperations<double>::mulScalar(rwTorque, factor, deltaSpeed, 4);
VectorOperations<double>::add(speedRws, deltaSpeed, rwCmdSpeed, 4);
for (int i = 0; i < 4; i++) {
deltaSpeedInt[i] = std::round(deltaSpeed[i]);
}
VectorOperations<int32_t>::add(speedRws, deltaSpeedInt, rwCmdSpeed, 4);
VectorOperations<int32_t>::mulScalar(rwCmdSpeed, 10, rwCmdSpeed, 4);
}
void ActuatorCmd::cmdDipolMtq(const double *dipolMoment, double *dipolMomentActuator) {
void ActuatorCmd::cmdDipolMtq(const double *dipolMoment, int16_t *dipolMomentActuator) {
// Convert to actuator frame
double dipolMomentActuatorDouble[3] = {0, 0, 0};
MatrixOperations<double>::multiply(*acsParameters.magnetorquesParameter.inverseAlignment,
dipolMoment, dipolMomentActuator, 3, 3, 1);
dipolMoment, dipolMomentActuatorDouble, 3, 3, 1);
// Scaling along largest element if dipol exceeds maximum
double maxDipol = acsParameters.magnetorquesParameter.DipolMax;
double maxValue = 0;
@ -69,8 +75,12 @@ void ActuatorCmd::cmdDipolMtq(const double *dipolMoment, double *dipolMomentActu
}
if (maxValue > maxDipol) {
double scalingFactor = maxDipol / maxValue;
VectorOperations<double>::mulScalar(dipolMomentActuator, scalingFactor, dipolMomentActuator, 3);
VectorOperations<double>::mulScalar(dipolMomentActuatorDouble, scalingFactor,
dipolMomentActuatorDouble, 3);
}
// scale dipole from 1 Am^2 to 1e^-4 Am^2
VectorOperations<double>::mulScalar(dipolMomentActuator, 1e4, dipolMomentActuator, 3);
VectorOperations<double>::mulScalar(dipolMomentActuatorDouble, 1e4, dipolMomentActuatorDouble, 3);
for (int i = 0; i < 3; i++) {
dipolMomentActuator[i] = std::round(dipolMomentActuatorDouble[i]);
}
}

View File

@ -28,8 +28,8 @@ class ActuatorCmd {
* rwCmdSpeed output revolutions per minute for every
* reaction wheel
*/
void cmdSpeedToRws(const int32_t *speedRw0, const int32_t *speedRw1, const int32_t *speedRw2,
const int32_t *speedRw3, const double *rwTorque, double *rwCmdSpeed);
void cmdSpeedToRws(const int32_t speedRw0, const int32_t speedRw1, const int32_t speedRw2,
const int32_t speedRw3, const double *rwTorque, int32_t *rwCmdSpeed);
/*
* @brief: cmdDipolMtq() gives the commanded dipol moment for the magnetorques
@ -37,7 +37,7 @@ class ActuatorCmd {
* @param: dipolMoment given dipol moment in spacecraft frame
* dipolMomentActuator resulting dipol moment in actuator reference frame
*/
void cmdDipolMtq(const double *dipolMoment, double *dipolMomentActuator);
void cmdDipolMtq(const double *dipolMoment, int16_t *dipolMomentActuator);
protected:
private:

View File

@ -4,6 +4,7 @@
#include <fsfw/cfdp/handler/CfdpHandler.h>
#include <fsfw/cfdp/handler/RemoteConfigTableIF.h>
#include <fsfw/controller/ControllerBase.h>
#include <fsfw/controller/ExtendedControllerBase.h>
#include <fsfw/events/EventManager.h>
#include <fsfw/health/HealthTable.h>
#include <fsfw/internalerror/InternalErrorReporter.h>
@ -26,6 +27,10 @@
#include <mission/controller/ThermalController.h>
#include <mission/devices/HeaterHandler.h>
#include <mission/devices/devicedefinitions/GomspaceDefinitions.h>
#include <mission/system/objects/AcsBoardAssembly.h>
#include <mission/system/objects/RwAssembly.h>
#include <mission/system/objects/SusAssembly.h>
#include <mission/system/objects/TcsBoardAssembly.h>
#include <mission/tmtc/CfdpTmFunnel.h>
#include <mission/tmtc/PusTmFunnel.h>
#include <mission/tmtc/TmFunnelHandler.h>
@ -35,6 +40,8 @@
#include "eive/definitions.h"
#include "fsfw/pus/Service11TelecommandScheduling.h"
#include "mission/cfdp/Config.h"
#include "mission/system/objects/RwAssembly.h"
#include "mission/system/tree/acsModeTree.h"
#include "mission/system/tree/tcsModeTree.h"
#include "objects/systemObjectList.h"
#include "tmtc/pusIds.h"
@ -94,7 +101,7 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun
}
{
PoolManager::LocalPoolConfig poolCfg = {{400, 32}, {350, 64}, {200, 128},
PoolManager::LocalPoolConfig poolCfg = {{400, 32}, {400, 64}, {250, 128},
{150, 512}, {150, 1024}, {150, 2048}};
tmStore = new PoolManager(objects::TM_STORE, poolCfg);
}
@ -218,3 +225,68 @@ void ObjectFactory::createThermalController(HeaterHandler& heaterHandler) {
auto* tcsCtrl = new ThermalController(objects::THERMAL_CONTROLLER, heaterHandler);
tcsCtrl->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
}
void ObjectFactory::createRwAssy(PowerSwitchIF& pwrSwitcher, power::Switch_t theSwitch,
std::array<DeviceHandlerBase*, 4> rws,
std::array<object_id_t, 4> rwIds) {
RwHelper rwHelper(rwIds);
auto* rwAss = new RwAssembly(objects::RW_ASS, &pwrSwitcher, theSwitch, rwHelper);
for (uint8_t idx = 0; idx < rwIds.size(); idx++) {
ReturnValue_t result = rws[idx]->connectModeTreeParent(*rwAss);
if (result != returnvalue::OK) {
sif::error << "Connecting RW " << static_cast<int>(idx) << " to RW assembly failed"
<< std::endl;
}
}
rwAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
}
void ObjectFactory::createSusAssy(PowerSwitchIF& pwrSwitcher,
std::array<DeviceHandlerBase*, 12> suses) {
std::array<object_id_t, 12> susIds = {
objects::SUS_0_N_LOC_XFYFZM_PT_XF, objects::SUS_1_N_LOC_XBYFZM_PT_XB,
objects::SUS_2_N_LOC_XFYBZB_PT_YB, objects::SUS_3_N_LOC_XFYBZF_PT_YF,
objects::SUS_4_N_LOC_XMYFZF_PT_ZF, objects::SUS_5_N_LOC_XFYMZB_PT_ZB,
objects::SUS_6_R_LOC_XFYBZM_PT_XF, objects::SUS_7_R_LOC_XBYBZM_PT_XB,
objects::SUS_8_R_LOC_XBYBZB_PT_YB, objects::SUS_9_R_LOC_XBYBZB_PT_YF,
objects::SUS_10_N_LOC_XMYBZF_PT_ZF, objects::SUS_11_R_LOC_XBYMZB_PT_ZB};
SusAssHelper susAssHelper = SusAssHelper(susIds);
auto susAss = new SusAssembly(objects::SUS_BOARD_ASS, &pwrSwitcher, susAssHelper);
for (auto& sus : suses) {
if (sus != nullptr) {
ReturnValue_t result = sus->connectModeTreeParent(*susAss);
if (result != returnvalue::OK) {
sif::error << "Connecting SUS " << sus->getObjectId() << " to SUS assembly failed"
<< std::endl;
}
}
}
susAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
}
void ObjectFactory::createAcsBoardAssy(PowerSwitchIF& pwrSwitcher,
std::array<DeviceHandlerBase*, 8> assemblyDhbs,
ExtendedControllerBase* gpsCtrl, GpioIF* gpioComIF) {
AcsBoardHelper acsBoardHelper = AcsBoardHelper(
objects::MGM_0_LIS3_HANDLER, objects::MGM_1_RM3100_HANDLER, objects::MGM_2_LIS3_HANDLER,
objects::MGM_3_RM3100_HANDLER, objects::GYRO_0_ADIS_HANDLER, objects::GYRO_1_L3G_HANDLER,
objects::GYRO_2_ADIS_HANDLER, objects::GYRO_3_L3G_HANDLER, objects::GPS_CONTROLLER);
auto acsAss =
new AcsBoardAssembly(objects::ACS_BOARD_ASS, &pwrSwitcher, acsBoardHelper, gpioComIF);
for (auto& assChild : assemblyDhbs) {
ReturnValue_t result = assChild->connectModeTreeParent(*acsAss);
if (result != returnvalue::OK) {
sif::error << "Connecting assembly for ACS board component " << assChild->getObjectId()
<< " failed" << std::endl;
}
}
gpsCtrl->connectModeTreeParent(*acsAss);
acsAss->connectModeTreeParent(satsystem::acs::ACS_SUBSYSTEM);
}
TcsBoardAssembly* ObjectFactory::createTcsBoardAssy(PowerSwitchIF& pwrSwitcher) {
TcsBoardHelper helper(RTD_INFOS);
TcsBoardAssembly* tcsBoardAss = new TcsBoardAssembly(
objects::TCS_BOARD_ASS, &pwrSwitcher, pcdu::Switches::PDU1_CH0_TCS_BOARD_3V3, helper);
tcsBoardAss->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
return tcsBoardAss;
}

View File

@ -1,13 +1,38 @@
#ifndef MISSION_CORE_GENERICFACTORY_H_
#define MISSION_CORE_GENERICFACTORY_H_
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "fsfw/objectmanager/SystemObjectIF.h"
#include "fsfw/power/PowerSwitchIF.h"
#include "fsfw_hal/common/gpio/GpioIF.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
class HeaterHandler;
class HealthTableIF;
class PusTmFunnel;
class CfdpTmFunnel;
class ExtendedControllerBase;
class TcsBoardAssembly;
const std::array<std::pair<object_id_t, std::string>, EiveMax31855::NUM_RTDS> RTD_INFOS = {{
{objects::RTD_0_IC3_PLOC_HEATSPREADER, "RTD_0_PLOC_HSPD"},
{objects::RTD_1_IC4_PLOC_MISSIONBOARD, "RTD_1_PLOC_MISSIONBRD"},
{objects::RTD_2_IC5_4K_CAMERA, "RTD_2_4K_CAMERA"},
{objects::RTD_3_IC6_DAC_HEATSPREADER, "RTD_3_DAC_HSPD"},
{objects::RTD_4_IC7_STARTRACKER, "RTD_4_STARTRACKER"},
{objects::RTD_5_IC8_RW1_MX_MY, "RTD_5_RW1_MX_MY"},
{objects::RTD_6_IC9_DRO, "RTD_6_DRO"},
{objects::RTD_7_IC10_SCEX, "RTD_7_SCEX"},
{objects::RTD_8_IC11_X8, "RTD_8_X8"},
{objects::RTD_9_IC12_HPA, "RTD_9_HPA"},
{objects::RTD_10_IC13_PL_TX, "RTD_10_PL_TX,"},
{objects::RTD_11_IC14_MPA, "RTD_11_MPA"},
{objects::RTD_12_IC15_ACU, "RTD_12_ACU"},
{objects::RTD_13_IC16_PLPCDU_HEATSPREADER, "RTD_13_PLPCDU_HSPD"},
{objects::RTD_14_IC17_TCS_BOARD, "RTD_14_TCS_BOARD"},
{objects::RTD_15_IC18_IMTQ, "RTD_15_IMTQ"},
}};
namespace ObjectFactory {
@ -17,6 +42,13 @@ void createGenericHeaterComponents(GpioIF& gpioIF, PowerSwitchIF& pwrSwitcher,
HeaterHandler*& heaterHandler);
void createThermalController(HeaterHandler& heaterHandler);
void createRwAssy(PowerSwitchIF& pwrSwitcher, power::Switch_t theSwitch,
std::array<DeviceHandlerBase*, 4> rws, std::array<object_id_t, 4> rwIds);
void createSusAssy(PowerSwitchIF& pwrSwitcher, std::array<DeviceHandlerBase*, 12> suses);
void createAcsBoardAssy(PowerSwitchIF& pwrSwitcher, std::array<DeviceHandlerBase*, 8> assemblyDhbs,
ExtendedControllerBase* gpsCtrl, GpioIF* gpioComIF);
TcsBoardAssembly* createTcsBoardAssy(PowerSwitchIF& pwrSwitcher);
} // namespace ObjectFactory
#endif /* MISSION_CORE_GENERICFACTORY_H_ */

View File

@ -2,8 +2,6 @@
#include <fsfw/datapool/PoolReadGuard.h>
#include "OBSWConfig.h"
BpxBatteryHandler::BpxBatteryHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie)
: DeviceHandlerBase(objectId, comIF, comCookie), hkSet(this), cfgSet(this) {}
@ -280,3 +278,9 @@ void BpxBatteryHandler::setToGoToNormalMode(bool enable) {
}
void BpxBatteryHandler::setDebugMode(bool enable) { this->debugMode = enable; }
void BpxBatteryHandler::performOperationHook() {
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "BPX BATT");
#endif
}

View File

@ -4,6 +4,7 @@
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
#include "devicedefinitions/BpxBatteryDefinitions.h"
#include "mission/trace.h"
class BpxBatteryHandler : public DeviceHandlerBase {
public:
@ -24,6 +25,10 @@ class BpxBatteryHandler : public DeviceHandlerBase {
bool debugMode = false;
bool goToNormalModeImmediately = false;
uint8_t sentPingByte = BpxBattery::DEFAULT_PING_SENT_BYTE;
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
BpxBatteryHk hkSet;
DeviceCommandId_t lastCmd = DeviceHandlerIF::NO_COMMAND_ID;
BpxBatteryCfg cfgSet;
@ -47,6 +52,7 @@ class BpxBatteryHandler : public DeviceHandlerBase {
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t* id) override;
ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t* id) override;
void fillCommandAndReplyMap() override;
void performOperationHook() override;
ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, const uint8_t* commandData,
size_t commandDataLen) override;
ReturnValue_t scanForReply(const uint8_t* start, size_t remainingSize, DeviceCommandId_t* foundId,

View File

@ -183,18 +183,20 @@ ReturnValue_t ImtqHandler::buildCommandFromCommand(DeviceCommandId_t deviceComma
return DeviceHandlerIF::INVALID_COMMAND_PARAMETER;
}
ReturnValue_t result;
// Commands override anything which was set in the software
if (commandData != nullptr) {
dipoleSet.setValidityBufferGeneration(false);
result =
dipoleSet.deSerialize(&commandData, &commandDataLen, SerializeIF::Endianness::NETWORK);
dipoleSet.setValidityBufferGeneration(true);
if (result != returnvalue::OK) {
return result;
}
} else {
{
// Read set dipole values from local pool
PoolReadGuard pg(&dipoleSet);
// Commands override anything which was set in the software
if (commandData != nullptr) {
dipoleSet.setValidityBufferGeneration(false);
result = dipoleSet.deSerialize(&commandData, &commandDataLen,
SerializeIF::Endianness::NETWORK);
dipoleSet.setValidityBufferGeneration(true);
if (result != returnvalue::OK) {
return result;
}
}
}
if (ACTUATION_WIRETAPPING) {
sif::debug << "Actuating IMTQ with parameters x = " << dipoleSet.xDipole.value
@ -707,7 +709,7 @@ ReturnValue_t ImtqHandler::initializeLocalDataPool(localpool::DataPool& localDat
subdp::DiagnosticsHkPeriodicParams(calMtmMeasurementSet.getSid(), false, 10.0));
poolManager.subscribeForDiagPeriodicPacket(
subdp::DiagnosticsHkPeriodicParams(rawMtmMeasurementSet.getSid(), false, 10.0));
return returnvalue::OK;
return DeviceHandlerBase::initializeLocalDataPool(localDataPoolMap, poolManager);
}
ReturnValue_t ImtqHandler::getSelfTestCommandId(DeviceCommandId_t* id) {

View File

@ -457,22 +457,7 @@ void PCDUHandler::checkAndUpdatePduSwitch(GOMSPACE::Pdu pdu, pcdu::Switches swit
uint8_t setValue) {
using namespace pcdu;
if (switchStates[switchIdx] != setValue) {
#if OBSW_INITIALIZE_SWITCHES == 1
// This code initializes the switches to the default init switch states on every reboot.
// This is not done by the PCDU unless it is power-cycled.
if (((pdu == GOMSPACE::Pdu::PDU1) and firstSwitchInfoPdu1) or
((pdu == GOMSPACE::Pdu::PDU2) and firstSwitchInfoPdu2)) {
ReturnValue_t state = PowerSwitchIF::SWITCH_OFF;
if (INIT_SWITCH_STATES[switchIdx] == ON) {
state = PowerSwitchIF::SWITCH_ON;
}
sendSwitchCommand(switchIdx, state);
} else {
triggerEvent(power::SWITCH_HAS_CHANGED, setValue, switchIdx);
}
#else
triggerEvent(power::SWITCH_HAS_CHANGED, setValue, switchIdx);
#endif
}
switchStates[switchIdx] = setValue;
}

View File

@ -7,13 +7,15 @@
#include "OBSWConfig.h"
RwHandler::RwHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie,
GpioIF* gpioComIF, gpioId_t enableGpio)
GpioIF* gpioComIF, gpioId_t enableGpio, uint8_t rwIdx)
: DeviceHandlerBase(objectId, comIF, comCookie),
gpioComIF(gpioComIF),
enableGpio(enableGpio),
statusSet(this),
lastResetStatusSet(this),
tmDataset(this) {
tmDataset(this),
rwSpeedActuationSet(*this),
rwIdx(rwIdx) {
if (comCookie == nullptr) {
sif::error << "RwHandler: Invalid com cookie" << std::endl;
}
@ -42,6 +44,10 @@ void RwHandler::doShutDown() {
ReturnValue_t RwHandler::buildNormalDeviceCommand(DeviceCommandId_t* id) {
switch (internalState) {
case InternalState::SET_SPEED:
*id = RwDefinitions::SET_SPEED;
internalState = InternalState::GET_RESET_STATUS;
break;
case InternalState::GET_RESET_STATUS:
*id = RwDefinitions::GET_LAST_RESET_STATUS;
internalState = InternalState::READ_TEMPERATURE;
@ -52,7 +58,7 @@ ReturnValue_t RwHandler::buildNormalDeviceCommand(DeviceCommandId_t* id) {
break;
case InternalState::GET_RW_SATUS:
*id = RwDefinitions::GET_RW_STATUS;
internalState = InternalState::GET_RESET_STATUS;
internalState = InternalState::CLEAR_RESET_STATUS;
break;
case InternalState::CLEAR_RESET_STATUS:
*id = RwDefinitions::CLEAR_LAST_RESET_STATUS;
@ -97,16 +103,37 @@ ReturnValue_t RwHandler::buildCommandFromCommand(DeviceCommandId_t deviceCommand
return returnvalue::OK;
}
case (RwDefinitions::SET_SPEED): {
if (commandDataLen != 6) {
if (commandData != nullptr && commandDataLen != 6) {
sif::error << "RwHandler::buildCommandFromCommand: Received set speed command with"
<< " invalid length" << std::endl;
return SET_SPEED_COMMAND_INVALID_LENGTH;
}
result = checkSpeedAndRampTime(commandData, commandDataLen);
{
PoolReadGuard pg(&rwSpeedActuationSet);
// Commands override anything which was set in the software
if (commandData != nullptr) {
rwSpeedActuationSet.setValidityBufferGeneration(false);
result = rwSpeedActuationSet.deSerialize(&commandData, &commandDataLen,
SerializeIF::Endianness::NETWORK);
rwSpeedActuationSet.setValidityBufferGeneration(true);
if (result != returnvalue::OK) {
return result;
}
}
}
if (ACTUATION_WIRETAPPING) {
int32_t speed = 0;
uint16_t rampTime = 0;
rwSpeedActuationSet.getRwSpeed(speed, rampTime);
sif::debug << "Actuating RW " << static_cast<int>(rwIdx) << " with speed = " << speed
<< " and rampTime = " << rampTime << std::endl;
}
result = checkSpeedAndRampTime();
if (result != returnvalue::OK) {
return result;
}
prepareSetSpeedCmd(commandData, commandDataLen);
result = prepareSetSpeedCmd();
return result;
}
case (RwDefinitions::GET_TEMPERATURE): {
@ -243,6 +270,9 @@ uint32_t RwHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { retur
ReturnValue_t RwHandler::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
localDataPoolMap.emplace(RwDefinitions::RW_SPEED, &rwSpeed);
localDataPoolMap.emplace(RwDefinitions::RAMP_TIME, &rampTime);
localDataPoolMap.emplace(RwDefinitions::TEMPERATURE_C, new PoolEntry<int32_t>({0}));
localDataPoolMap.emplace(RwDefinitions::CURR_SPEED, new PoolEntry<int32_t>({0}));
@ -295,17 +325,15 @@ void RwHandler::prepareSimpleCommand(DeviceCommandId_t id) {
rawPacketLen = 3;
}
ReturnValue_t RwHandler::checkSpeedAndRampTime(const uint8_t* commandData, size_t commandDataLen) {
int32_t speed =
*commandData << 24 | *(commandData + 1) << 16 | *(commandData + 2) << 8 | *(commandData + 3);
ReturnValue_t RwHandler::checkSpeedAndRampTime() {
int32_t speed = 0;
uint16_t rampTime = 0;
rwSpeedActuationSet.getRwSpeed(speed, rampTime);
if ((speed < -65000 || speed > 65000 || (speed > -1000 && speed < 1000)) && (speed != 0)) {
sif::error << "RwHandler::checkSpeedAndRampTime: Command has invalid speed" << std::endl;
return INVALID_SPEED;
}
uint16_t rampTime = (*(commandData + 4) << 8) | *(commandData + 5);
if (rampTime < 10 || rampTime > 20000) {
sif::error << "RwHandler::checkSpeedAndRampTime: Command has invalid ramp time" << std::endl;
return INVALID_RAMP_TIME;
@ -314,23 +342,24 @@ ReturnValue_t RwHandler::checkSpeedAndRampTime(const uint8_t* commandData, size_
return returnvalue::OK;
}
void RwHandler::prepareSetSpeedCmd(const uint8_t* commandData, size_t commandDataLen) {
ReturnValue_t RwHandler::prepareSetSpeedCmd() {
commandBuffer[0] = static_cast<uint8_t>(RwDefinitions::SET_SPEED);
/** Speed (0.1 RPM) */
commandBuffer[1] = *(commandData + 3);
commandBuffer[2] = *(commandData + 2);
commandBuffer[3] = *(commandData + 1);
commandBuffer[4] = *commandData;
/** Ramp time (ms) */
commandBuffer[5] = *(commandData + 5);
commandBuffer[6] = *(commandData + 4);
uint8_t* serPtr = commandBuffer + 1;
size_t serSize = 1;
rwSpeedActuationSet.setValidityBufferGeneration(false);
ReturnValue_t result = rwSpeedActuationSet.serialize(&serPtr, &serSize, sizeof(commandBuffer),
SerializeIF::Endianness::LITTLE);
rwSpeedActuationSet.setValidityBufferGeneration(true);
if (result != returnvalue::OK) {
return result;
}
uint16_t crc = CRC::crc16ccitt(commandBuffer, 7, 0xFFFF);
commandBuffer[7] = static_cast<uint8_t>(crc & 0xFF);
commandBuffer[8] = static_cast<uint8_t>(crc >> 8 & 0xFF);
commandBuffer[8] = static_cast<uint8_t>((crc >> 8) & 0xFF);
rawPacket = commandBuffer;
rawPacketLen = 9;
return result;
}
void RwHandler::handleResetStatusReply(const uint8_t* packet) {

View File

@ -9,6 +9,8 @@
#include "events/subsystemIdRanges.h"
#include "returnvalues/classIds.h"
static constexpr bool ACTUATION_WIRETAPPING = false;
class GpioIF;
/**
@ -34,7 +36,7 @@ class RwHandler : public DeviceHandlerBase {
* to high to enable the device.
*/
RwHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie, GpioIF* gpioComIF,
gpioId_t enableGpio);
gpioId_t enableGpio, uint8_t rwIdx);
void setDebugMode(bool enable);
@ -93,10 +95,21 @@ class RwHandler : public DeviceHandlerBase {
RwDefinitions::StatusSet statusSet;
RwDefinitions::LastResetSatus lastResetStatusSet;
RwDefinitions::TmDataset tmDataset;
RwDefinitions::RwSpeedActuationSet rwSpeedActuationSet;
uint8_t commandBuffer[RwDefinitions::MAX_CMD_SIZE];
uint8_t rwIdx;
enum class InternalState { GET_RESET_STATUS, CLEAR_RESET_STATUS, READ_TEMPERATURE, GET_RW_SATUS };
PoolEntry<int32_t> rwSpeed = PoolEntry<int32_t>({0});
PoolEntry<uint16_t> rampTime = PoolEntry<uint16_t>({10});
enum class InternalState {
GET_RESET_STATUS,
CLEAR_RESET_STATUS,
READ_TEMPERATURE,
SET_SPEED,
GET_RW_SATUS
};
InternalState internalState = InternalState::GET_RESET_STATUS;
@ -114,13 +127,14 @@ class RwHandler : public DeviceHandlerBase {
* range.
* @return returnvalue::OK if successful, otherwise error code.
*/
ReturnValue_t checkSpeedAndRampTime(const uint8_t* commandData, size_t commandDataLen);
ReturnValue_t checkSpeedAndRampTime();
/**
* @brief This function prepares the set speed command from the commandData received with
* an action message.
* @brief This function prepares the set speed command from the dataSet received with
* an action message or set in the software.
* @return returnvalue::OK if successful, otherwise error code.
*/
void prepareSetSpeedCmd(const uint8_t* commandData, size_t commandDataLen);
ReturnValue_t prepareSetSpeedCmd();
/**
* @brief This function writes the last reset status retrieved with the get last reset status

View File

@ -11,6 +11,7 @@
#include "fsfw/ipc/QueueFactory.h"
#include "fsfw/objectmanager/ObjectManager.h"
#include "fsfw_hal/common/gpio/GpioCookie.h"
#include "mission/trace.h"
static constexpr bool DEBUG_MODE = true;
@ -37,6 +38,9 @@ SolarArrayDeploymentHandler::~SolarArrayDeploymentHandler() = default;
ReturnValue_t SolarArrayDeploymentHandler::performOperation(uint8_t operationCode) {
using namespace std::filesystem;
#if OBSW_THREAD_TRACING == 1
trace::threadTrace(opCounter, "SA DEPL");
#endif
if (opDivider.checkAndIncrement()) {
auto activeSdc = sdcMan.getActiveSdCard();
if (activeSdc and activeSdc.value() == sd::SdCard::SLOT_0 and

View File

@ -19,6 +19,7 @@
#include "fsfw/timemanager/Countdown.h"
#include "fsfw_hal/common/gpio/GpioIF.h"
#include "mission/memory/SdCardMountedIF.h"
#include "mission/trace.h"
#include "returnvalues/classIds.h"
enum DeploymentChannels : uint8_t { SA_1 = 1, SA_2 = 2 };
@ -172,6 +173,9 @@ class SolarArrayDeploymentHandler : public ExecutableObjectIF,
bool firstAutonomousCycle = true;
ActionId_t activeCmd = HasActionsIF::INVALID_ACTION_ID;
std::optional<uint64_t> initUptime;
#if OBSW_THREAD_TRACING == 1
uint32_t opCounter = 0;
#endif
PeriodicOperationDivider opDivider = PeriodicOperationDivider(5);
uint8_t retryCounter = 3;

View File

@ -51,7 +51,10 @@ enum PoolIds : lp_id_t {
SPI_BYTES_WRITTEN,
SPI_BYTES_READ,
SPI_REG_OVERRUN_ERRORS,
SPI_TOTAL_ERRORS
SPI_TOTAL_ERRORS,
RW_SPEED,
RAMP_TIME,
};
enum States : uint8_t { STATE_ERROR, IDLE, COASTING, RUNNING_SPEED_STABLE, RUNNING_SPEED_CHANGING };
@ -75,10 +78,13 @@ static const DeviceCommandId_t SET_SPEED = 6;
static const DeviceCommandId_t GET_TEMPERATURE = 8;
static const DeviceCommandId_t GET_TM = 9;
static const uint32_t TEMPERATURE_SET_ID = GET_TEMPERATURE;
static const uint32_t STATUS_SET_ID = GET_RW_STATUS;
static const uint32_t LAST_RESET_ID = GET_LAST_RESET_STATUS;
static const uint32_t TM_SET_ID = GET_TM;
enum SetIds : uint32_t {
TEMPERATURE_SET_ID = GET_TEMPERATURE,
STATUS_SET_ID = GET_RW_STATUS,
LAST_RESET_ID = GET_LAST_RESET_STATUS,
TM_SET_ID = GET_TM,
SPEED_CMD_SET = 10,
};
static const size_t SIZE_GET_RESET_STATUS = 5;
static const size_t SIZE_CLEAR_RESET_STATUS = 4;
@ -106,9 +112,11 @@ static const uint8_t TM_SET_ENTRIES = 24;
*/
class StatusSet : public StaticLocalDataSet<STATUS_SET_ENTRIES> {
public:
StatusSet(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, STATUS_SET_ID) {}
StatusSet(HasLocalDataPoolIF* owner)
: StaticLocalDataSet(owner, RwDefinitions::SetIds::STATUS_SET_ID) {}
StatusSet(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, STATUS_SET_ID)) {}
StatusSet(object_id_t objectId)
: StaticLocalDataSet(sid_t(objectId, RwDefinitions::SetIds::STATUS_SET_ID)) {}
lp_var_t<int32_t> temperatureCelcius =
lp_var_t<int32_t>(sid.objectId, PoolIds::TEMPERATURE_C, this);
@ -124,9 +132,11 @@ class StatusSet : public StaticLocalDataSet<STATUS_SET_ENTRIES> {
*/
class LastResetSatus : public StaticLocalDataSet<LAST_RESET_ENTRIES> {
public:
LastResetSatus(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, LAST_RESET_ID) {}
LastResetSatus(HasLocalDataPoolIF* owner)
: StaticLocalDataSet(owner, RwDefinitions::SetIds::LAST_RESET_ID) {}
LastResetSatus(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, LAST_RESET_ID)) {}
LastResetSatus(object_id_t objectId)
: StaticLocalDataSet(sid_t(objectId, RwDefinitions::SetIds::LAST_RESET_ID)) {}
// If a reset occurs, the status code will be cached into this variable
lp_var_t<uint8_t> lastNonClearedResetStatus =
@ -143,9 +153,11 @@ class LastResetSatus : public StaticLocalDataSet<LAST_RESET_ENTRIES> {
*/
class TmDataset : public StaticLocalDataSet<TM_SET_ENTRIES> {
public:
TmDataset(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, TM_SET_ID) {}
TmDataset(HasLocalDataPoolIF* owner)
: StaticLocalDataSet(owner, RwDefinitions::SetIds::TM_SET_ID) {}
TmDataset(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, TM_SET_ID)) {}
TmDataset(object_id_t objectId)
: StaticLocalDataSet(sid_t(objectId, RwDefinitions::SetIds::TM_SET_ID)) {}
lp_var_t<uint8_t> lastResetStatus =
lp_var_t<uint8_t>(sid.objectId, PoolIds::TM_LAST_RESET_STATUS, this);
@ -192,6 +204,36 @@ class TmDataset : public StaticLocalDataSet<TM_SET_ENTRIES> {
lp_var_t<uint32_t>(sid.objectId, PoolIds::SPI_TOTAL_ERRORS, this);
};
class RwSpeedActuationSet : public StaticLocalDataSet<2> {
friend class RwHandler;
public:
RwSpeedActuationSet(HasLocalDataPoolIF& owner)
: StaticLocalDataSet(&owner, RwDefinitions::SetIds::SPEED_CMD_SET) {}
RwSpeedActuationSet(object_id_t objectId)
: StaticLocalDataSet(sid_t(objectId, RwDefinitions::SetIds::SPEED_CMD_SET)) {}
void setRwSpeed(int32_t rwSpeed_, uint16_t rampTime_) {
if (rwSpeed.value != rwSpeed_) {
rwSpeed = rwSpeed_;
}
if (rampTime.value != rampTime_) {
rampTime = rampTime_;
}
}
void getRwSpeed(int32_t& rwSpeed_, uint16_t& rampTime_) {
rwSpeed_ = rwSpeed.value;
rampTime_ = rampTime.value;
}
private:
lp_var_t<int32_t> rwSpeed =
lp_var_t<int32_t>(sid.objectId, RwDefinitions::PoolIds::RW_SPEED, this);
lp_var_t<uint16_t> rampTime =
lp_var_t<uint16_t>(sid.objectId, RwDefinitions::PoolIds::RAMP_TIME, this);
};
} // namespace RwDefinitions
#endif /* MISSION_DEVICES_DEVICEDEFINITIONS_RWDEFINITIONS_H_ */

View File

@ -492,14 +492,14 @@ class DipoleActuationSet : public StaticLocalDataSet<4> {
void setDipoles(int16_t xDipole_, int16_t yDipole_, int16_t zDipole_,
uint16_t currentTorqueDurationMs_) {
if (xDipole.value != xDipole_) {
xDipole = xDipole_;
}
xDipole = xDipole_;
if (yDipole.value != yDipole_) {
yDipole = yDipole_;
}
yDipole = yDipole_;
if (zDipole.value != zDipole_) {
zDipole = zDipole_;
}
zDipole = zDipole_;
currentTorqueDurationMs = currentTorqueDurationMs_;
}

View File

@ -81,3 +81,9 @@ void AcsSubsystem::handleEventMessages() {
}
}
}
void AcsSubsystem::announceMode(bool recursive) {
const char* modeStr = acs::getModeStr(static_cast<acs::AcsMode>(mode));
sif::info << "ACS subsystem is now in " << modeStr << " mode" << std::endl;
return Subsystem::announceMode(recursive);
}

View File

@ -10,6 +10,7 @@ class AcsSubsystem : public Subsystem {
private:
ReturnValue_t initialize() override;
void performChildOperation() override;
void announceMode(bool recursive) override;
void handleEventMessages();

View File

@ -4,6 +4,7 @@ target_sources(
CamSwitcher.cpp
AcsSubsystem.cpp
ComSubsystem.cpp
TcsSubsystem.cpp
PayloadSubsystem.cpp
AcsBoardAssembly.cpp
Stack5VHandler.cpp

View File

@ -1,5 +1,43 @@
#include "EiveSystem.h"
#include <mission/acsDefs.h>
EiveSystem::EiveSystem(object_id_t setObjectId, uint32_t maxNumberOfSequences,
uint32_t maxNumberOfTables)
: Subsystem(setObjectId, maxNumberOfSequences, maxNumberOfTables) {}
void EiveSystem::announceMode(bool recursive) {
const char* modeStr = "UNKNOWN";
switch (mode) {
case (acs::AcsMode::OFF): {
modeStr = "OFF";
break;
}
case (acs::AcsMode::SAFE): {
modeStr = "SAFE";
break;
}
case (acs::AcsMode::DETUMBLE): {
modeStr = "DETUBMLE";
break;
}
case (acs::AcsMode::PTG_IDLE): {
modeStr = "POINTING IDLE";
break;
}
case (acs::AcsMode::PTG_INERTIAL): {
modeStr = "POINTING INERTIAL";
break;
}
case (acs::AcsMode::PTG_TARGET): {
modeStr = "POINTING TARGET";
break;
}
case (acs::AcsMode::PTG_TARGET_GS): {
modeStr = "POINTING TARGET GS";
break;
}
}
sif::info << "EIVE system is now in " << modeStr << " mode" << std::endl;
return Subsystem::announceMode(recursive);
}

View File

@ -8,6 +8,7 @@ class EiveSystem : public Subsystem {
EiveSystem(object_id_t setObjectId, uint32_t maxNumberOfSequences, uint32_t maxNumberOfTables);
private:
void announceMode(bool recursive) override;
};
#endif /* MISSION_SYSTEM_EIVESYSTEM_H_ */

View File

@ -0,0 +1,27 @@
#include "TcsSubsystem.h"
#include "fsfw/devicehandlers/DeviceHandlerIF.h"
TcsSubsystem::TcsSubsystem(object_id_t objectId, uint32_t maxNumberOfSequences,
uint32_t maxNumberOfTables)
: Subsystem(objectId, maxNumberOfSequences, maxNumberOfTables) {}
void TcsSubsystem::announceMode(bool recursive) {
const char* modeStr = "UNKNOWN";
switch (mode) {
case (HasModesIF::MODE_OFF): {
modeStr = "OFF";
break;
}
case (HasModesIF::MODE_ON): {
modeStr = "ON";
break;
}
case (DeviceHandlerIF::MODE_NORMAL): {
modeStr = "NORMAL";
break;
}
}
sif::info << "TCS subsystem is now in " << modeStr << " mode" << std::endl;
return Subsystem::announceMode(recursive);
}

View File

@ -0,0 +1,13 @@
#ifndef MISSION_SYSTEM_OBJECTS_TCSSUBSYSTEM_H_
#define MISSION_SYSTEM_OBJECTS_TCSSUBSYSTEM_H_
#include <fsfw/subsystem/Subsystem.h>
class TcsSubsystem : public Subsystem {
public:
TcsSubsystem(object_id_t objectId, uint32_t maxNumberOfSequences, uint32_t maxNumberOfTables);
private:
void announceMode(bool recursive) override;
};
#endif /* MISSION_SYSTEM_OBJECTS_TCSSUBSYSTEM_H_ */

View File

@ -30,6 +30,8 @@ void buildTargetPtInertialSequence(Subsystem& ss, ModeListEntry& entryHelper);
static const auto OFF = HasModesIF::MODE_OFF;
static const auto NML = DeviceHandlerIF::MODE_NORMAL;
auto SUS_BOARD_NML_TRANS = std::make_pair(0x20, FixedArrayList<ModeListEntry, 1>());
auto ACS_SEQUENCE_OFF = std::make_pair(acs::AcsMode::OFF, FixedArrayList<ModeListEntry, 3>());
auto ACS_TABLE_OFF_TGT =
std::make_pair((acs::AcsMode::OFF << 24) | 1, FixedArrayList<ModeListEntry, 1>());
@ -39,62 +41,62 @@ auto ACS_TABLE_OFF_TRANS_1 =
std::make_pair((acs::AcsMode::OFF << 24) | 3, FixedArrayList<ModeListEntry, 6>());
auto ACS_SEQUENCE_DETUMBLE =
std::make_pair(acs::AcsMode::DETUMBLE, FixedArrayList<ModeListEntry, 3>());
std::make_pair(acs::AcsMode::DETUMBLE, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_DETUMBLE_TGT =
std::make_pair((acs::AcsMode::DETUMBLE << 24) | 1, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_DETUMBLE_TRANS_0 =
std::make_pair((acs::AcsMode::DETUMBLE << 24) | 2, FixedArrayList<ModeListEntry, 5>());
auto ACS_TABLE_DETUMBLE_TRANS_1 =
std::make_pair((acs::AcsMode::DETUMBLE << 24) | 3, FixedArrayList<ModeListEntry, 1>());
std::make_pair((acs::AcsMode::DETUMBLE << 24) | 3, FixedArrayList<ModeListEntry, 5>());
auto ACS_SEQUENCE_SAFE = std::make_pair(acs::AcsMode::SAFE, FixedArrayList<ModeListEntry, 3>());
auto ACS_SEQUENCE_SAFE = std::make_pair(acs::AcsMode::SAFE, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_SAFE_TGT =
std::make_pair((acs::AcsMode::SAFE << 24) | 1, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_SAFE_TRANS_0 =
std::make_pair((acs::AcsMode::SAFE << 24) | 2, FixedArrayList<ModeListEntry, 5>());
auto ACS_TABLE_SAFE_TRANS_1 =
std::make_pair((acs::AcsMode::SAFE << 24) | 3, FixedArrayList<ModeListEntry, 1>());
std::make_pair((acs::AcsMode::SAFE << 24) | 3, FixedArrayList<ModeListEntry, 5>());
auto ACS_SEQUENCE_IDLE = std::make_pair(acs::AcsMode::PTG_IDLE, FixedArrayList<ModeListEntry, 3>());
auto ACS_SEQUENCE_IDLE = std::make_pair(acs::AcsMode::PTG_IDLE, FixedArrayList<ModeListEntry, 5>());
auto ACS_TABLE_IDLE_TGT =
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 1, FixedArrayList<ModeListEntry, 6>());
auto ACS_TABLE_IDLE_TRANS_0 =
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 2, FixedArrayList<ModeListEntry, 6>());
auto ACS_TABLE_IDLE_TRANS_1 =
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 3, FixedArrayList<ModeListEntry, 2>());
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 3, FixedArrayList<ModeListEntry, 3>());
auto ACS_TABLE_PTG_TRANS_0 =
std::make_pair((acs::AcsMode::PTG_TARGET << 24) | 2, FixedArrayList<ModeListEntry, 5>());
auto ACS_SEQUENCE_PTG_TARGET =
std::make_pair(acs::AcsMode::PTG_TARGET, FixedArrayList<ModeListEntry, 3>());
std::make_pair(acs::AcsMode::PTG_TARGET, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_PTG_TARGET_TGT =
std::make_pair((acs::AcsMode::PTG_TARGET << 24) | 1, FixedArrayList<ModeListEntry, 6>());
auto ACS_TABLE_PTG_TARGET_TRANS_1 =
std::make_pair((acs::AcsMode::PTG_TARGET << 24) | 3, FixedArrayList<ModeListEntry, 1>());
auto ACS_SEQUENCE_PTG_TARGET_GS =
std::make_pair(acs::AcsMode::PTG_TARGET_GS, FixedArrayList<ModeListEntry, 3>());
std::make_pair(acs::AcsMode::PTG_TARGET_GS, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_PTG_TARGET_GS_TGT =
std::make_pair((acs::AcsMode::PTG_TARGET_GS << 24) | 1, FixedArrayList<ModeListEntry, 6>());
auto ACS_TABLE_PTG_TARGET_GS_TRANS_1 =
std::make_pair((acs::AcsMode::PTG_TARGET_GS << 24) | 3, FixedArrayList<ModeListEntry, 1>());
auto ACS_SEQUENCE_PTG_TARGET_NADIR =
std::make_pair(acs::AcsMode::PTG_NADIR, FixedArrayList<ModeListEntry, 3>());
std::make_pair(acs::AcsMode::PTG_NADIR, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_PTG_TARGET_NADIR_TGT =
std::make_pair((acs::AcsMode::PTG_NADIR << 24) | 1, FixedArrayList<ModeListEntry, 6>());
auto ACS_TABLE_PTG_TARGET_NADIR_TRANS_1 =
std::make_pair((acs::AcsMode::PTG_NADIR << 24) | 3, FixedArrayList<ModeListEntry, 1>());
auto ACS_SEQUENCE_PTG_TARGET_INERTIAL =
std::make_pair(acs::AcsMode::PTG_INERTIAL, FixedArrayList<ModeListEntry, 3>());
std::make_pair(acs::AcsMode::PTG_INERTIAL, FixedArrayList<ModeListEntry, 4>());
auto ACS_TABLE_PTG_TARGET_INERTIAL_TGT =
std::make_pair((acs::AcsMode::PTG_INERTIAL << 24) | 1, FixedArrayList<ModeListEntry, 6>());
auto ACS_TABLE_PTG_TARGET_INERTIAL_TRANS_1 =
std::make_pair((acs::AcsMode::PTG_INERTIAL << 24) | 3, FixedArrayList<ModeListEntry, 1>());
void satsystem::acs::init() {
Subsystem& satsystem::acs::init() {
ModeListEntry entry;
const char* ctxc = "satsystem::acs::init: generic target";
// Insert Helper Table
@ -114,6 +116,11 @@ void satsystem::acs::init() {
TableEntry(ACS_TABLE_PTG_TRANS_0.first, &ACS_TABLE_PTG_TRANS_0.second)),
ctxc);
// Build SUS board transition
iht(objects::SUS_BOARD_ASS, NML, 0, SUS_BOARD_NML_TRANS.second);
check(ACS_SUBSYSTEM.addTable(TableEntry(SUS_BOARD_NML_TRANS.first, &SUS_BOARD_NML_TRANS.second)),
ctxc);
buildOffSequence(ACS_SUBSYSTEM, entry);
buildSafeSequence(ACS_SUBSYSTEM, entry);
buildDetumbleSequence(ACS_SUBSYSTEM, entry);
@ -123,6 +130,7 @@ void satsystem::acs::init() {
buildTargetPtNadirSequence(ACS_SUBSYSTEM, entry);
buildTargetPtInertialSequence(ACS_SUBSYSTEM, entry);
ACS_SUBSYSTEM.setInitialMode(::acs::AcsMode::SAFE);
return ACS_SUBSYSTEM;
}
namespace {
@ -157,7 +165,6 @@ void buildOffSequence(Subsystem& ss, ModeListEntry& eh) {
iht(objects::IMTQ_HANDLER, OFF, 0, ACS_TABLE_OFF_TRANS_1.second);
iht(objects::STAR_TRACKER, OFF, 0, ACS_TABLE_OFF_TRANS_1.second);
iht(objects::ACS_BOARD_ASS, OFF, 0, ACS_TABLE_OFF_TRANS_1.second);
iht(objects::SUS_BOARD_ASS, OFF, 0, ACS_TABLE_OFF_TRANS_1.second);
iht(objects::RW_ASS, OFF, 0, ACS_TABLE_OFF_TRANS_1.second);
check(ss.addTable(TableEntry(ACS_TABLE_OFF_TRANS_1.first, &ACS_TABLE_OFF_TRANS_1.second)), ctxc);
@ -198,13 +205,14 @@ void buildSafeSequence(Subsystem& ss, ModeListEntry& eh) {
// Build SAFE transition 0
iht(objects::IMTQ_HANDLER, NML, 0, ACS_TABLE_SAFE_TRANS_0.second);
iht(objects::SUS_BOARD_ASS, NML, 0, ACS_TABLE_SAFE_TRANS_0.second);
iht(objects::ACS_BOARD_ASS, NML, 0, ACS_TABLE_SAFE_TRANS_0.second);
iht(objects::STAR_TRACKER, OFF, 0, ACS_TABLE_SAFE_TRANS_0.second);
iht(objects::RW_ASS, OFF, 0, ACS_TABLE_SAFE_TRANS_0.second);
check(ss.addTable(&ACS_TABLE_SAFE_TRANS_0.second, ACS_TABLE_SAFE_TRANS_0.first, false, true),
ctxc);
// SUS board transition table is defined above
// Build SAFE transition 1
iht(objects::ACS_CONTROLLER, NML, acs::AcsMode::SAFE, ACS_TABLE_SAFE_TRANS_1.second);
check(ss.addTable(&ACS_TABLE_SAFE_TRANS_1.second, ACS_TABLE_SAFE_TRANS_1.first, false, true),
@ -212,6 +220,7 @@ void buildSafeSequence(Subsystem& ss, ModeListEntry& eh) {
// Build SAFE sequence
ihs(ACS_SEQUENCE_SAFE.second, ACS_TABLE_SAFE_TGT.first, 0, true);
ihs(ACS_SEQUENCE_SAFE.second, SUS_BOARD_NML_TRANS.first, 0, false);
ihs(ACS_SEQUENCE_SAFE.second, ACS_TABLE_SAFE_TRANS_0.first, 0, false);
ihs(ACS_SEQUENCE_SAFE.second, ACS_TABLE_SAFE_TRANS_1.first, 0, false);
check(ss.addSequence(&ACS_SEQUENCE_SAFE.second, ACS_SEQUENCE_SAFE.first, ACS_SEQUENCE_SAFE.first,
@ -246,6 +255,8 @@ void buildDetumbleSequence(Subsystem& ss, ModeListEntry& eh) {
check(ss.addTable(&ACS_TABLE_DETUMBLE_TGT.second, ACS_TABLE_DETUMBLE_TGT.first, false, true),
ctxc);
// SUS board transition table is defined above
// Build DETUMBLE transition 0
iht(objects::IMTQ_HANDLER, NML, 0, ACS_TABLE_DETUMBLE_TRANS_0.second);
iht(objects::ACS_BOARD_ASS, NML, 0, ACS_TABLE_DETUMBLE_TRANS_0.second);
@ -264,6 +275,7 @@ void buildDetumbleSequence(Subsystem& ss, ModeListEntry& eh) {
// Build DETUMBLE sequence
ihs(ACS_SEQUENCE_DETUMBLE.second, ACS_TABLE_DETUMBLE_TGT.first, 0, true);
ihs(ACS_SEQUENCE_DETUMBLE.second, SUS_BOARD_NML_TRANS.first, 0, false);
ihs(ACS_SEQUENCE_DETUMBLE.second, ACS_TABLE_DETUMBLE_TRANS_0.first, 0, false);
ihs(ACS_SEQUENCE_DETUMBLE.second, ACS_TABLE_DETUMBLE_TRANS_1.first, 0, false);
check(ss.addSequence(&ACS_SEQUENCE_DETUMBLE.second, ACS_SEQUENCE_DETUMBLE.first,
@ -298,6 +310,8 @@ void buildIdleSequence(Subsystem& ss, ModeListEntry& eh) {
iht(objects::ACS_BOARD_ASS, NML, 0, ACS_TABLE_IDLE_TGT.second);
ss.addTable(&ACS_TABLE_IDLE_TGT.second, ACS_TABLE_IDLE_TGT.first, false, true);
// SUS board transition table is built above
// Build IDLE transition 0
iht(objects::IMTQ_HANDLER, NML, 0, ACS_TABLE_IDLE_TRANS_0.second);
iht(objects::ACS_BOARD_ASS, NML, 0, ACS_TABLE_IDLE_TRANS_0.second);
@ -312,6 +326,7 @@ void buildIdleSequence(Subsystem& ss, ModeListEntry& eh) {
// Build IDLE sequence
ihs(ACS_SEQUENCE_IDLE.second, ACS_TABLE_IDLE_TGT.first, 0, true);
ihs(ACS_SEQUENCE_IDLE.second, SUS_BOARD_NML_TRANS.first, 0, true);
ihs(ACS_SEQUENCE_IDLE.second, ACS_TABLE_IDLE_TRANS_0.first, 0, true);
ihs(ACS_SEQUENCE_IDLE.second, ACS_TABLE_IDLE_TRANS_1.first, 0, true);
ss.addSequence(&ACS_SEQUENCE_IDLE.second, ACS_SEQUENCE_IDLE.first, ACS_SEQUENCE_SAFE.first, false,
@ -348,6 +363,7 @@ void buildTargetPtSequence(Subsystem& ss, ModeListEntry& eh) {
check(ss.addTable(&ACS_TABLE_PTG_TARGET_TGT.second, ACS_TABLE_PTG_TARGET_TGT.first, false, true),
ctxc);
// SUS board transition table is built above
// Transition 0 already built
// Build TARGET PT transition 1
iht(objects::ACS_CONTROLLER, NML, acs::AcsMode::PTG_TARGET, ACS_TABLE_PTG_TARGET_TRANS_1.second);
@ -357,6 +373,7 @@ void buildTargetPtSequence(Subsystem& ss, ModeListEntry& eh) {
// Build IDLE sequence
ihs(ACS_SEQUENCE_PTG_TARGET.second, ACS_TABLE_PTG_TARGET_TGT.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET.second, SUS_BOARD_NML_TRANS.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET.second, ACS_TABLE_PTG_TRANS_0.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET.second, ACS_TABLE_PTG_TARGET_TRANS_1.first, 0, true);
check(ss.addSequence(&ACS_SEQUENCE_PTG_TARGET.second, ACS_SEQUENCE_PTG_TARGET.first,
@ -406,6 +423,7 @@ void buildTargetPtNadirSequence(Subsystem& ss, ModeListEntry& eh) {
// Build IDLE sequence
ihs(ACS_SEQUENCE_PTG_TARGET_NADIR.second, ACS_TABLE_PTG_TARGET_NADIR_TGT.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_NADIR.second, SUS_BOARD_NML_TRANS.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_NADIR.second, ACS_TABLE_PTG_TRANS_0.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_NADIR.second, ACS_TABLE_PTG_TARGET_NADIR_TRANS_1.first, 0, true);
check(
@ -456,6 +474,7 @@ void buildTargetPtGsSequence(Subsystem& ss, ModeListEntry& eh) {
// Build IDLE sequence
ihs(ACS_SEQUENCE_PTG_TARGET_GS.second, ACS_TABLE_PTG_TARGET_GS_TGT.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_GS.second, SUS_BOARD_NML_TRANS.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_GS.second, ACS_TABLE_PTG_TRANS_0.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_GS.second, ACS_TABLE_PTG_TARGET_GS_TRANS_1.first, 0, true);
check(ss.addSequence(SequenceEntry(ACS_SEQUENCE_PTG_TARGET_GS.first,
@ -505,6 +524,7 @@ void buildTargetPtInertialSequence(Subsystem& ss, ModeListEntry& eh) {
// Build IDLE sequence
ihs(ACS_SEQUENCE_PTG_TARGET_INERTIAL.second, ACS_TABLE_PTG_TARGET_INERTIAL_TGT.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_INERTIAL.second, SUS_BOARD_NML_TRANS.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_INERTIAL.second, ACS_TABLE_PTG_TRANS_0.first, 0, true);
ihs(ACS_SEQUENCE_PTG_TARGET_INERTIAL.second, ACS_TABLE_PTG_TARGET_INERTIAL_TRANS_1.first, 0,
true);

View File

@ -4,7 +4,7 @@ namespace satsystem {
namespace acs {
extern AcsSubsystem ACS_SUBSYSTEM;
void init();
Subsystem& init();
} // namespace acs
} // namespace satsystem

View File

@ -62,13 +62,14 @@ void buildTxAndRxDefaultRateSequence(Subsystem& ss, ModeListEntry& eh);
} // namespace
void satsystem::com::init() {
Subsystem& satsystem::com::init() {
ModeListEntry entry;
buildRxOnlySequence(SUBSYSTEM, entry);
buildTxAndRxLowRateSequence(SUBSYSTEM, entry);
buildTxAndRxHighRateSequence(SUBSYSTEM, entry);
buildTxAndRxDefaultRateSequence(SUBSYSTEM, entry);
SUBSYSTEM.setInitialMode(NML, ::com::Submode::RX_ONLY);
return SUBSYSTEM;
}
namespace {

View File

@ -8,7 +8,7 @@ namespace satsystem {
namespace com {
extern ComSubsystem SUBSYSTEM;
void init();
Subsystem& init();
} // namespace com
} // namespace satsystem

View File

@ -20,7 +20,7 @@ void initEarthObsvSequence(Subsystem& ss, ModeListEntry& eh);
void initScexSequence(Subsystem& ss, ModeListEntry& eh);
} // namespace
Subsystem satsystem::pl::SUBSYSTEM = Subsystem(objects::PL_SUBSYSTEM, 12, 24);
PayloadSubsystem satsystem::pl::SUBSYSTEM = PayloadSubsystem(objects::PL_SUBSYSTEM, 12, 24);
const auto check = subsystem::checkInsert;
static const auto OFF = HasModesIF::MODE_OFF;
@ -77,7 +77,7 @@ auto PL_TABLE_SCEX_TGT =
auto PL_TABLE_SCEX_TRANS_0 =
std::make_pair((payload::Mode::SCEX << 24) | 2, FixedArrayList<ModeListEntry, 1>());
void satsystem::pl::init() {
Subsystem& satsystem::pl::init() {
ModeListEntry entry;
initOffSequence(SUBSYSTEM, entry);
initPlMpsocStreamSequence(SUBSYSTEM, entry);
@ -86,6 +86,7 @@ void satsystem::pl::init() {
initEarthObsvSequence(SUBSYSTEM, entry);
initScexSequence(SUBSYSTEM, entry);
SUBSYSTEM.setInitialMode(OFF);
return SUBSYSTEM;
}
namespace {

View File

@ -1,15 +1,15 @@
#ifndef MISSION_SYSTEM_TREE_PAYLOADMODETREE_H_
#define MISSION_SYSTEM_TREE_PAYLOADMODETREE_H_
#include <fsfw/subsystem/Subsystem.h>
#include <mission/system/objects/PayloadSubsystem.h>
namespace satsystem {
namespace pl {
extern Subsystem SUBSYSTEM;
extern PayloadSubsystem SUBSYSTEM;
void init();
Subsystem& init();
} // namespace pl
} // namespace satsystem

View File

@ -1,13 +1,148 @@
#include "system.h"
#include <fsfw/devicehandlers/DeviceHandlerIF.h>
#include <fsfw/subsystem/Subsystem.h>
#include <mission/acsDefs.h>
#include "acsModeTree.h"
#include "comModeTree.h"
#include "eive/objects.h"
#include "payloadModeTree.h"
#include "tcsModeTree.h"
#include "util.h"
namespace {
// Alias for checker function
const auto check = subsystem::checkInsert;
void buildSafeSequence(Subsystem& ss, ModeListEntry& eh);
void buildIdleSequence(Subsystem& ss, ModeListEntry& eh);
} // namespace
static const auto OFF = HasModesIF::MODE_OFF;
static const auto NML = DeviceHandlerIF::MODE_NORMAL;
void satsystem::init() {
acs::init();
pl::init();
tcs::init();
com::init();
auto& acsSubsystem = acs::init();
acsSubsystem.connectModeTreeParent(EIVE_SYSTEM);
auto& payloadSubsystem = pl::init();
payloadSubsystem.connectModeTreeParent(EIVE_SYSTEM);
auto& tcsSubsystem = tcs::init();
tcsSubsystem.connectModeTreeParent(EIVE_SYSTEM);
auto& comSubsystem = com::init();
comSubsystem.connectModeTreeParent(EIVE_SYSTEM);
ModeListEntry entry;
buildSafeSequence(EIVE_SYSTEM, entry);
buildIdleSequence(EIVE_SYSTEM, entry);
}
EiveSystem satsystem::EIVE_SYSTEM = EiveSystem(objects::EIVE_SYSTEM, 12, 24);
auto EIVE_SEQUENCE_SAFE = std::make_pair(acs::AcsMode::SAFE, FixedArrayList<ModeListEntry, 5>());
auto EIVE_TABLE_SAFE_TGT =
std::make_pair((acs::AcsMode::SAFE << 24) | 1, FixedArrayList<ModeListEntry, 5>());
auto EIVE_TABLE_SAFE_TRANS_0 =
std::make_pair((acs::AcsMode::SAFE << 24) | 2, FixedArrayList<ModeListEntry, 5>());
auto EIVE_TABLE_SAFE_TRANS_1 =
std::make_pair((acs::AcsMode::SAFE << 24) | 3, FixedArrayList<ModeListEntry, 5>());
auto EIVE_SEQUENCE_IDLE =
std::make_pair(acs::AcsMode::PTG_IDLE, FixedArrayList<ModeListEntry, 5>());
auto EIVE_TABLE_IDLE_TGT =
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 1, FixedArrayList<ModeListEntry, 5>());
auto EIVE_TABLE_IDLE_TRANS_0 =
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 2, FixedArrayList<ModeListEntry, 5>());
auto EIVE_TABLE_IDLE_TRANS_1 =
std::make_pair((acs::AcsMode::PTG_IDLE << 24) | 3, FixedArrayList<ModeListEntry, 5>());
namespace {
void buildSafeSequence(Subsystem& ss, ModeListEntry& eh) {
std::string context = "satsystem::buildSafeSequence";
auto ctxc = context.c_str();
// Insert Helper Table
auto iht = [&](object_id_t obj, Mode_t mode, Submode_t submode, ArrayList<ModeListEntry>& table) {
eh.setObject(obj);
eh.setMode(mode);
eh.setSubmode(submode);
check(table.insert(eh), ctxc);
};
// Insert Helper Sequence
auto ihs = [&](ArrayList<ModeListEntry>& sequence, Mode_t tableId, uint32_t waitSeconds,
bool checkSuccess) {
eh.setTableId(tableId);
eh.setWaitSeconds(waitSeconds);
eh.setCheckSuccess(checkSuccess);
check(sequence.insert(eh), ctxc);
};
// Do no track ACS for now because it might jump to detumble mode and back to safe as part of
// normal operations.
// iht(objects::ACS_SUBSYSTEM, acs::AcsMode::SAFE, 0, EIVE_TABLE_SAFE_TGT.second);
iht(objects::PL_SUBSYSTEM, OFF, 0, EIVE_TABLE_SAFE_TGT.second);
check(ss.addTable(TableEntry(EIVE_TABLE_SAFE_TGT.first, &EIVE_TABLE_SAFE_TGT.second)), ctxc);
// Build SAFE transition 0. Two transitions to reduce number of consecutive events and because
// consecutive commanding of TCS and ACS can lead to SPI issues.
iht(objects::TCS_SUBSYSTEM, NML, 0, EIVE_TABLE_SAFE_TRANS_0.second);
check(ss.addTable(TableEntry(EIVE_TABLE_SAFE_TRANS_0.first, &EIVE_TABLE_SAFE_TRANS_0.second)),
ctxc);
// Build SAFE transition 1
iht(objects::PL_SUBSYSTEM, OFF, 0, EIVE_TABLE_SAFE_TRANS_1.second);
iht(objects::ACS_SUBSYSTEM, acs::AcsMode::SAFE, 0, EIVE_TABLE_SAFE_TRANS_1.second);
check(ss.addTable(TableEntry(EIVE_TABLE_SAFE_TRANS_1.first, &EIVE_TABLE_SAFE_TRANS_1.second)),
ctxc);
// Build Safe sequence
ihs(EIVE_SEQUENCE_SAFE.second, EIVE_TABLE_SAFE_TGT.first, 0, false);
ihs(EIVE_SEQUENCE_SAFE.second, EIVE_TABLE_SAFE_TRANS_0.first, 0, false);
ihs(EIVE_SEQUENCE_SAFE.second, EIVE_TABLE_SAFE_TRANS_1.first, 0, false);
check(ss.addSequence(SequenceEntry(EIVE_SEQUENCE_SAFE.first, &EIVE_SEQUENCE_SAFE.second,
EIVE_SEQUENCE_SAFE.first)),
ctxc);
}
void buildIdleSequence(Subsystem& ss, ModeListEntry& eh) {
std::string context = "satsystem::buildIdleSequence";
auto ctxc = context.c_str();
// Insert Helper Table
auto iht = [&](object_id_t obj, Mode_t mode, Submode_t submode, ArrayList<ModeListEntry>& table) {
eh.setObject(obj);
eh.setMode(mode);
eh.setSubmode(submode);
check(table.insert(eh), ctxc);
};
// Insert Helper Sequence
auto ihs = [&](ArrayList<ModeListEntry>& sequence, Mode_t tableId, uint32_t waitSeconds,
bool checkSuccess) {
eh.setTableId(tableId);
eh.setWaitSeconds(waitSeconds);
eh.setCheckSuccess(checkSuccess);
check(sequence.insert(eh), ctxc);
};
iht(objects::ACS_SUBSYSTEM, acs::AcsMode::PTG_IDLE, 0, EIVE_TABLE_IDLE_TGT.second);
check(ss.addTable(TableEntry(EIVE_TABLE_IDLE_TGT.first, &EIVE_TABLE_IDLE_TGT.second)), ctxc);
// Build SAFE transition 0
iht(objects::TCS_SUBSYSTEM, NML, 0, EIVE_TABLE_IDLE_TRANS_0.second);
check(ss.addTable(TableEntry(EIVE_TABLE_IDLE_TRANS_0.first, &EIVE_TABLE_IDLE_TRANS_0.second)),
ctxc);
// Build SAFE transition 1
iht(objects::PL_SUBSYSTEM, OFF, 0, EIVE_TABLE_IDLE_TRANS_1.second);
iht(objects::ACS_SUBSYSTEM, acs::AcsMode::PTG_IDLE, 0, EIVE_TABLE_IDLE_TRANS_1.second);
check(ss.addTable(TableEntry(EIVE_TABLE_IDLE_TRANS_1.first, &EIVE_TABLE_IDLE_TRANS_1.second)),
ctxc);
// Build Safe sequence
ihs(EIVE_SEQUENCE_IDLE.second, EIVE_TABLE_IDLE_TGT.first, 0, false);
ihs(EIVE_SEQUENCE_IDLE.second, EIVE_TABLE_IDLE_TRANS_0.first, 0, false);
ihs(EIVE_SEQUENCE_IDLE.second, EIVE_TABLE_IDLE_TRANS_1.first, 0, false);
check(ss.addSequence(SequenceEntry(EIVE_SEQUENCE_IDLE.first, &EIVE_SEQUENCE_IDLE.second,
EIVE_SEQUENCE_SAFE.first)),
ctxc);
}
} // namespace

View File

@ -1,10 +1,14 @@
#ifndef MISSION_SYSTEM_TREE_SYSTEM_H_
#define MISSION_SYSTEM_TREE_SYSTEM_H_
#include <mission/system/objects/EiveSystem.h>
namespace satsystem {
void init();
}
extern EiveSystem EIVE_SYSTEM;
} // namespace satsystem
#endif /* MISSION_SYSTEM_TREE_SYSTEM_H_ */

View File

@ -5,7 +5,7 @@
#include "fsfw/subsystem/Subsystem.h"
#include "mission/system/tree/util.h"
Subsystem satsystem::tcs::SUBSYSTEM(objects::TCS_SUBSYSTEM, 12, 24);
TcsSubsystem satsystem::tcs::SUBSYSTEM(objects::TCS_SUBSYSTEM, 12, 24);
namespace {
// Alias for checker function
@ -27,11 +27,12 @@ auto TCS_TABLE_NORMAL_TGT = std::make_pair((NML << 24) | 1, FixedArrayList<ModeL
auto TCS_TABLE_NORMAL_TRANS_0 = std::make_pair((NML << 24) | 2, FixedArrayList<ModeListEntry, 7>());
auto TCS_TABLE_NORMAL_TRANS_1 = std::make_pair((NML << 24) | 3, FixedArrayList<ModeListEntry, 2>());
void satsystem::tcs::init() {
Subsystem& satsystem::tcs::init() {
ModeListEntry entry;
buildOffSequence(SUBSYSTEM, entry);
buildNormalSequence(SUBSYSTEM, entry);
SUBSYSTEM.setInitialMode(OFF);
return SUBSYSTEM;
}
namespace {

View File

@ -1,12 +1,13 @@
#ifndef MISSION_SYSTEM_TREE_TCSMODETREE_H_
#define MISSION_SYSTEM_TREE_TCSMODETREE_H_
#include <fsfw/subsystem/Subsystem.h>
#include <mission/system/objects/TcsSubsystem.h>
namespace satsystem {
namespace tcs {
extern Subsystem SUBSYSTEM;
void init();
extern TcsSubsystem SUBSYSTEM;
Subsystem& init();
} // namespace tcs
} // namespace satsystem

10
mission/trace.cpp Normal file
View File

@ -0,0 +1,10 @@
#include "trace.h"
#include "fsfw/serviceinterface.h"
void trace::threadTrace(uint32_t& counter, const char* name, unsigned div) {
counter++;
if (counter % div == 0) {
sif::debug << name << " running" << std::endl;
}
}

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