Heater Handling #325

Merged
muellerr merged 78 commits from heater_handling into develop 2023-02-08 21:35:05 +01:00
51 changed files with 1415 additions and 534 deletions
Showing only changes of commit e46b4c51d5 - Show all commits

View File

@ -8,16 +8,101 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/).
The [milestone](https://egit.irs.uni-stuttgart.de/eive/eive-obsw/milestones)
list yields a list of all related PRs for each release.
Starting at v2.0.0, the following changes will consitute of a breaking
change warranting a new major release:
- The TMTC interface changes in any shape of form.
- The behavour of the OBSW changes in a major shape or form relevant
for operations
# [unreleased]
## Added
# [v1.23.1] 2023-02-02
- Startracker temperature set and PCDU switcher set are diagnostic now
TMTC rev: 15adb9bf2ec68304a4f87b8dd418c1a8353283a3
## Fixed
- Bugfix in FSFW where the sequence flags of the PUS packets were set to continuation segment (0b00)
instead of unsegmented (0b11).
- Bugfix in FSFW where the MGM RM3100 value Z axis data was parse incorrectly.
PR: https://egit.irs.uni-stuttgart.de/eive/fsfw/pulls/123
# [v1.23.0] 2023-02-01
TMTC version: v2.9.0
## Changed
- Bumped FSFW to include improvements and bugfix for Health Service. The health service now
supports the announce all health info command.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/725
## Fixed
- Bumped FSFW to include fixes in the time service.
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/726
- The CCSDS handler starts the transmitter timer each time it is commanded to MODE_ON and times
out the timer when the handler is commanded to MODE_OFF
- If the timer is timed out the CCSDS handler will disable the TX clock which will cause the
syrlinks to got to standby mode
- PDEC handler now parses the FAR register also in interrupt mode
# [v1.22.1] 2023-01-30
## Changed
- Updated FSFW to include addition where the `SO_REUSEADDR` option is set
on the TCP server, which should improve its ergonomics.
# [v1.22.0] 2023-01-28
TMTC version: v2.6.1
## Added
- First COM subsystem implementation. It mirrors the Syrlinks mode/submodes but also takes
care of commanding the CCSDS handler. It expects the Syrlinks submodes as mode commands.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/358
- The CCSDS handler has has a new submode (3) to configure the default datarate.
- Default datarate parameter commanding moved to COM subsystem.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/358
# [v1.21.0] 2023-01-26
TMTC version: v2.5.0
Syrlinks PR: PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/353
## Fixed
- The `OBSW_SYRLINKS_SIMULATED` flag is set to 0 for for both EM and FM.
- MGM4 handling in ACS sensor processing: Bugfix in `mulScalar` operation
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/354
- Subsystem ID clash: CORE subsystem ID was the same as Syrlinks subsystem ID.
## Changed
- Startracker temperature set and PCDU switcher set are diagnostic now
- `SyrlinksHkHandler` renamed to `SyrlinksHandler` to better reflect that it does more than
just HK and is also responsible for setting the TX mode of the device.
- `SyrlinksHandler`: Go to startup immediately because the Syrlinks device should always be on
by default.
- `SyrlinksHandler`: Go to normal mode at startup.
## Added
- The Syrlinks handler has submodes for the TX mode now: RX Only (0), RX and TX default
datarate (1), RX and TX Low Rate (2), RX and TX High Rate (3) and TX Carrier Wave (4).
The submodes apply for both ON and NORMAL mode. The default datarate can be updated using
a parameter command (domain ID 0 and unique ID 0) with value 0 for low rate and 1 for high rate.
- The Syrlinks handler always sets TX to standby when switching off
- The Syrlinks handler triggers a new TX_ON event when the transmitter was switched on successfully
and a TX_OFF event when it was switched off successfully.
- Startracker temperature set and PCDU switcher set are diagnostic now
- The CCSDS handler can accept mode commands now. It accepts ON and OFF commands. Furthermore
it has a submode for low datarate (1) and high datarate (2) for the ON command.
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/352
# [v1.20.0] 2023-01-24

View File

@ -10,8 +10,8 @@
cmake_minimum_required(VERSION 3.13)
set(OBSW_VERSION_MAJOR_IF_GIT_FAILS 1)
set(OBSW_VERSION_MINOR_IF_GIT_FAILS 20)
set(OBSW_VERSION_REVISION_IF_GIT_FAILS 0)
set(OBSW_VERSION_MINOR_IF_GIT_FAILS 23)
set(OBSW_VERSION_REVISION_IF_GIT_FAILS 1)
# set(CMAKE_VERBOSE TRUE)
@ -150,7 +150,7 @@ set(OBSW_ADD_SCEX_DEVICE
${INIT_VAL}
CACHE STRING "Add Solar Cell Experiment module")
set(OBSW_SYRLINKS_SIMULATED
${OBSW_Q7S_EM}
0
CACHE STRING "Syrlinks is simulated")
# ##############################################################################

View File

@ -44,12 +44,11 @@ ReturnValue_t dummy_pst::pst(FixedTimeslotTaskIF *thisSequence) {
thisSequence->addSlot(objects::STAR_TRACKER, length * 0, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::STAR_TRACKER, length * 0, DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0, DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0, DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0, DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0, DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0, DeviceHandlerIF::SEND_WRITE);

View File

@ -48,6 +48,7 @@
#include "mission/system/objects/RwAssembly.h"
#include "mission/system/objects/TcsBoardAssembly.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"
#include "tmtc/pusIds.h"
@ -56,6 +57,7 @@
#endif
#include <mission/devices/ImtqHandler.h>
#include <mission/devices/PcduHandler.h>
#include <mission/devices/SyrlinksHandler.h>
#include <sstream>
@ -88,7 +90,6 @@
#include "mission/devices/RadiationSensorHandler.h"
#include "mission/devices/RwHandler.h"
#include "mission/devices/SolarArrayDeploymentHandler.h"
#include "mission/devices/SyrlinksHkHandler.h"
#include "mission/devices/Tmp1075Handler.h"
#include "mission/devices/devicedefinitions/GomspaceDefinitions.h"
#include "mission/devices/devicedefinitions/Max31865Definitions.h"
@ -569,15 +570,17 @@ void ObjectFactory::createSolarArrayDeploymentComponents(PowerSwitchIF& pwrSwitc
void ObjectFactory::createSyrlinksComponents(PowerSwitchIF* pwrSwitcher) {
auto* syrlinksUartCookie =
new SerialCookie(objects::SYRLINKS_HK_HANDLER, q7s::UART_SYRLINKS_DEV, uart::SYRLINKS_BAUD,
new SerialCookie(objects::SYRLINKS_HANDLER, q7s::UART_SYRLINKS_DEV, uart::SYRLINKS_BAUD,
syrlinks::MAX_REPLY_SIZE, UartModes::NON_CANONICAL);
syrlinksUartCookie->setParityEven();
auto syrlinksFdir = new SyrlinksFdir(objects::SYRLINKS_HK_HANDLER);
auto syrlinksFdir = new SyrlinksFdir(objects::SYRLINKS_HANDLER);
auto syrlinksHandler =
new SyrlinksHkHandler(objects::SYRLINKS_HK_HANDLER, objects::UART_COM_IF, syrlinksUartCookie,
pcdu::PDU1_CH1_SYRLINKS_12V, syrlinksFdir);
new SyrlinksHandler(objects::SYRLINKS_HANDLER, objects::UART_COM_IF, syrlinksUartCookie,
pcdu::PDU1_CH1_SYRLINKS_12V, syrlinksFdir);
syrlinksHandler->setPowerSwitcher(pwrSwitcher);
syrlinksHandler->setStartUpImmediately();
syrlinksHandler->connectModeTreeParent(satsystem::com::SUBSYSTEM);
#if OBSW_DEBUG_SYRLINKS == 1
syrlinksHandler->setDebugMode(true);
#endif
@ -788,6 +791,13 @@ ReturnValue_t ObjectFactory::createCcsdsComponents(LinuxLibgpioIF* gpioComIF,
vc = new VirtualChannel(ccsds::VC3, config::VC3_QUEUE_SIZE, objects::CCSDS_HANDLER);
(*ipCoreHandler)->addVirtualChannel(ccsds::VC3, vc);
ReturnValue_t result = (*ipCoreHandler)->connectModeTreeParent(satsystem::com::SUBSYSTEM);
if (result != returnvalue::OK) {
sif::error
<< "ObjectFactory::createCcsdsComponents: Connecting COM subsystem to CCSDS handler failed"
<< std::endl;
}
GpioCookie* gpioCookiePdec = new GpioCookie;
consumer.str("");
consumer << "0x" << std::hex << objects::PDEC_HANDLER;

View File

@ -1,6 +1,7 @@
#include "scheduling.h"
#include <fsfw/devicehandlers/DeviceCommunicationIF.h>
#include <fsfw/subsystem/Subsystem.h>
#include <linux/scheduling.h>
#include <iostream>
@ -143,10 +144,14 @@ void scheduling::initTasks() {
#endif
#endif
#if OBSW_ADD_CCSDS_IP_CORES == 1
PeriodicTaskIF* ccsdsHandlerTask = factory->createPeriodicTask(
PeriodicTaskIF* comTask = factory->createPeriodicTask(
"CCSDS_HANDLER", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
result = ccsdsHandlerTask->addComponent(objects::CCSDS_HANDLER);
result = comTask->addComponent(objects::COM_SUBSYSTEM);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("COM subsystem", objects::COM_SUBSYSTEM);
}
#if OBSW_ADD_CCSDS_IP_CORES == 1
result = comTask->addComponent(objects::CCSDS_HANDLER);
if (result != returnvalue::OK) {
scheduling::printAddObjectError("CCSDS Handler", objects::CCSDS_HANDLER);
}
@ -356,8 +361,8 @@ void scheduling::initTasks() {
#endif
#endif
comTask->startTask();
#if OBSW_ADD_CCSDS_IP_CORES == 1
ccsdsHandlerTask->startTask();
pdecHandlerTask->startTask();
#endif /* OBSW_ADD_CCSDS_IP_CORES == 1 */

View File

@ -14,6 +14,7 @@
#include "linux/ObjectFactory.h"
#include "linux/callbacks/gpioCallbacks.h"
#include "mission/core/GenericFactory.h"
#include "mission/system/tree/comModeTree.h"
void ObjectFactory::produce(void* args) {
ObjectFactory::setStatics();
@ -108,4 +109,5 @@ void ObjectFactory::produce(void* args) {
pcdu::Switches::PDU1_CH5_SOLAR_CELL_EXP_5V);
#endif
createAcsController(true);
satsystem::com::init();
}

View File

@ -50,6 +50,11 @@ static constexpr uint8_t VC1_QUEUE_SIZE = 80;
static constexpr uint8_t VC2_QUEUE_SIZE = 50;
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;
} // namespace config
#endif /* COMMON_CONFIG_DEFINITIONS_H_ */

View File

@ -35,7 +35,8 @@ enum : uint8_t {
SYRLINKS = 137,
SCEX_HANDLER = 138,
CONFIGHANDLER = 139,
TCS_CONTROLLER = 140,
CORE = 140,
TCS_CONTROLLER = 141,
COMMON_SUBSYSTEM_ID_END
};

View File

@ -116,7 +116,9 @@ enum commonObjects : uint32_t {
SUS_5_N_LOC_XFYMZB_PT_ZB = 0x44120037,
SUS_11_R_LOC_XBYMZB_PT_ZB = 0x44120043,
SYRLINKS_HK_HANDLER = 0x445300A3,
SYRLINKS_HANDLER = 0x445300A3,
// might be obsolete, was not used in Q7S FM SW
// CCSDS_IP_CORE_BRIDGE = 0x73500000,
/* 0x49 ('I') for Communication Interfaces */
SPI_RTD_COM_IF = 0x49020006,
@ -141,6 +143,8 @@ enum commonObjects : uint32_t {
ACS_SUBSYSTEM = 0x73010001,
PL_SUBSYSTEM = 0x73010002,
TCS_SUBSYSTEM = 0x73010003,
COM_SUBSYSTEM = 0x73010004,
TM_FUNNEL = 0x73000100,
PUS_TM_FUNNEL = 0x73000101,
CFDP_TM_FUNNEL = 0x73000102,

View File

@ -44,7 +44,7 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitch) {
new SaDeplDummy(objects::SOLAR_ARRAY_DEPL_HANDLER);
new StarTrackerDummy(objects::STAR_TRACKER, objects::DUMMY_COM_IF, comCookieDummy);
if (cfg.addSyrlinksDummies) {
new SyrlinksDummy(objects::SYRLINKS_HK_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
new SyrlinksDummy(objects::SYRLINKS_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
}
new ImtqDummy(objects::IMTQ_HANDLER, objects::DUMMY_COM_IF, comCookieDummy);
if (cfg.addPowerDummies) {

2
fsfw

@ -1 +1 @@
Subproject commit 049e3b431da51ac2069c2d48c5715bb12f3234bc
Subproject commit 3250bbf269b3326683222bb87ce7faecae63ad97

View File

@ -76,7 +76,8 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
7903;0x1edf;BIT_LOCK_LOST;INFO;A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
7905;0x1ee1;FRAME_PROCESSING_FAILED;LOW;The CCSDS Board could not interpret a TC;fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
8900;0x22c4;CLOCK_SET;INFO;;fsfw/src/fsfw/pus/Service9TimeManagement.h
8901;0x22c5;CLOCK_SET_FAILURE;LOW;;fsfw/src/fsfw/pus/Service9TimeManagement.h
8901;0x22c5;CLOCK_DUMP;INFO;;fsfw/src/fsfw/pus/Service9TimeManagement.h
8902;0x22c6;CLOCK_SET_FAILURE;LOW;;fsfw/src/fsfw/pus/Service9TimeManagement.h
9100;0x238c;TC_DELETION_FAILED;MEDIUM;Deletion of a TC from the map failed. P1: First 32 bit of request ID, P2. Last 32 bit of Request ID;fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
9700;0x25e4;TEST;INFO;;fsfw/src/fsfw/pus/Service17Test.h
10600;0x2968;CHANGE_OF_SETUP_PARAMETER;LOW;;fsfw/src/fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h
@ -226,11 +227,9 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
13630;0x353e;SUPV_UPDATE_PROGRESS;INFO;Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written;linux/devices/ploc/PlocSupvUartMan.h
13631;0x353f;HDLC_FRAME_REMOVAL_ERROR;INFO;;linux/devices/ploc/PlocSupvUartMan.h
13632;0x3540;HDLC_CRC_ERROR;INFO;;linux/devices/ploc/PlocSupvUartMan.h
13700;0x3584;ALLOC_FAILURE;MEDIUM;;bsp_q7s/core/CoreController.h
13701;0x3585;REBOOT_SW;MEDIUM; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
13702;0x3586;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
13703;0x3587;REBOOT_HW;MEDIUM;;bsp_q7s/core/CoreController.h
13704;0x3588;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;bsp_q7s/core/CoreController.h
13700;0x3584;FDIR_REACTION_IGNORED;MEDIUM;;mission/devices/devicedefinitions/SyrlinksDefinitions.h
13701;0x3585;TX_ON;INFO;Transmitter is on now. P1: Submode, P2: Current default datarate.;mission/devices/devicedefinitions/SyrlinksDefinitions.h
13702;0x3586;TX_OFF;INFO;Transmitter is off now.;mission/devices/devicedefinitions/SyrlinksDefinitions.h
13800;0x35e8;MISSING_PACKET;LOW;;mission/devices/devicedefinitions/ScexDefinitions.h
13801;0x35e9;EXPERIMENT_TIMEDOUT;LOW;;mission/devices/devicedefinitions/ScexDefinitions.h
13802;0x35ea;MULTI_PACKET_COMMAND_DONE;INFO;;mission/devices/devicedefinitions/ScexDefinitions.h
@ -239,3 +238,8 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path
13903;0x364f;INSERT_CONFIGFILEVALUE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
13904;0x3650;WRITE_CONFIGFILE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
13905;0x3651;READ_CONFIGFILE_FAILED;MEDIUM;;mission/utility/GlobalConfigHandler.h
14000;0x36b0;ALLOC_FAILURE;MEDIUM;;bsp_q7s/core/CoreController.h
14001;0x36b1;REBOOT_SW;MEDIUM; Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy;bsp_q7s/core/CoreController.h
14002;0x36b2;REBOOT_MECHANISM_TRIGGERED;MEDIUM;The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots;bsp_q7s/core/CoreController.h
14003;0x36b3;REBOOT_HW;MEDIUM;;bsp_q7s/core/CoreController.h
14004;0x36b4;NO_SD_CARD_ACTIVE;HIGH;No SD card was active. Core controller will attempt to re-initialize a SD card.;bsp_q7s/core/CoreController.h

1 Event ID (dec) Event ID (hex) Name Severity Description File Path
76 7903 0x1edf BIT_LOCK_LOST INFO A previously found Bit Lock signal was lost. P1: raw BLO state, P2: 0 fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
77 7905 0x1ee1 FRAME_PROCESSING_FAILED LOW The CCSDS Board could not interpret a TC fsfw/src/fsfw/datalinklayer/DataLinkLayer.h
78 8900 0x22c4 CLOCK_SET INFO fsfw/src/fsfw/pus/Service9TimeManagement.h
79 8901 0x22c5 CLOCK_DUMP INFO fsfw/src/fsfw/pus/Service9TimeManagement.h
80 8902 0x22c6 CLOCK_SET_FAILURE LOW fsfw/src/fsfw/pus/Service9TimeManagement.h
81 8902 9100 0x22c6 0x238c CLOCK_SET_FAILURE TC_DELETION_FAILED LOW MEDIUM Deletion of a TC from the map failed. P1: First 32 bit of request ID, P2. Last 32 bit of Request ID fsfw/src/fsfw/pus/Service9TimeManagement.h fsfw/src/fsfw/pus/Service11TelecommandScheduling.h
82 9100 9700 0x238c 0x25e4 TC_DELETION_FAILED TEST MEDIUM INFO Deletion of a TC from the map failed. P1: First 32 bit of request ID, P2. Last 32 bit of Request ID fsfw/src/fsfw/pus/Service11TelecommandScheduling.h fsfw/src/fsfw/pus/Service17Test.h
83 9700 10600 0x25e4 0x2968 TEST CHANGE_OF_SETUP_PARAMETER INFO LOW fsfw/src/fsfw/pus/Service17Test.h fsfw/src/fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h
227 13627 13630 0x353b 0x353e WRITE_MEMORY_FAILED SUPV_UPDATE_PROGRESS LOW INFO Update procedure failed when sending packet. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written linux/devices/ploc/PlocSupvUartMan.h
228 13628 13631 0x353c 0x353f SUPV_REPLY_SIZE_MISSMATCH HDLC_FRAME_REMOVAL_ERROR LOW INFO linux/devices/ploc/PlocSupvUartMan.h
229 13629 13632 0x353d 0x3540 SUPV_REPLY_CRC_MISSMATCH HDLC_CRC_ERROR LOW INFO linux/devices/ploc/PlocSupvUartMan.h
230 13630 13700 0x353e 0x3584 SUPV_UPDATE_PROGRESS FDIR_REACTION_IGNORED INFO MEDIUM Will be triggered every 5 percent of the update progress. P1: First byte percent, third and fourth byte Sequence Count, P2: Bytes written linux/devices/ploc/PlocSupvUartMan.h mission/devices/devicedefinitions/SyrlinksDefinitions.h
231 13631 13701 0x353f 0x3585 HDLC_FRAME_REMOVAL_ERROR TX_ON INFO Transmitter is on now. P1: Submode, P2: Current default datarate. linux/devices/ploc/PlocSupvUartMan.h mission/devices/devicedefinitions/SyrlinksDefinitions.h
232 13632 13702 0x3540 0x3586 HDLC_CRC_ERROR TX_OFF INFO Transmitter is off now. linux/devices/ploc/PlocSupvUartMan.h mission/devices/devicedefinitions/SyrlinksDefinitions.h
13700 0x3584 FDIR_REACTION_IGNORED MEDIUM mission/devices/devicedefinitions/SyrlinksDefinitions.h
13701 0x3585 TX_ON INFO Transmitter is on now. P1: Submode, P2: Current default datarate. mission/devices/devicedefinitions/SyrlinksDefinitions.h
233 13702 13800 0x3586 0x35e8 TX_OFF MISSING_PACKET INFO LOW Transmitter is off now. mission/devices/devicedefinitions/SyrlinksDefinitions.h mission/devices/devicedefinitions/ScexDefinitions.h
234 13800 13801 0x35e8 0x35e9 MISSING_PACKET EXPERIMENT_TIMEDOUT LOW mission/devices/devicedefinitions/ScexDefinitions.h
235 13801 13802 0x35e9 0x35ea EXPERIMENT_TIMEDOUT MULTI_PACKET_COMMAND_DONE LOW INFO mission/devices/devicedefinitions/ScexDefinitions.h
238 13902 13903 0x364e 0x364f GET_CONFIGFILEVALUE_FAILED INSERT_CONFIGFILEVALUE_FAILED MEDIUM mission/utility/GlobalConfigHandler.h
239 13903 13904 0x364f 0x3650 INSERT_CONFIGFILEVALUE_FAILED WRITE_CONFIGFILE_FAILED MEDIUM mission/utility/GlobalConfigHandler.h
240 13904 13905 0x3650 0x3651 WRITE_CONFIGFILE_FAILED READ_CONFIGFILE_FAILED MEDIUM mission/utility/GlobalConfigHandler.h
241 14000 0x36b0 ALLOC_FAILURE MEDIUM bsp_q7s/core/CoreController.h
242 14001 0x36b1 REBOOT_SW MEDIUM Software reboot occurred. Can also be a systemd reboot. P1: Current Chip, P2: Current Copy bsp_q7s/core/CoreController.h
243 14002 0x36b2 REBOOT_MECHANISM_TRIGGERED MEDIUM The reboot mechanism was triggered. P1: First 16 bits: Last Chip, Last 16 bits: Last Copy, P2: Each byte is the respective reboot count for the slots bsp_q7s/core/CoreController.h
244 14003 0x36b3 REBOOT_HW MEDIUM bsp_q7s/core/CoreController.h
245 14004 0x36b4 NO_SD_CARD_ACTIVE HIGH No SD card was active. Core controller will attempt to re-initialize a SD card. bsp_q7s/core/CoreController.h

View File

@ -72,7 +72,7 @@
0x44420029;RTD_13_IC16_PLPCDU_HEATSPREADER
0x44420030;RTD_14_IC17_TCS_BOARD
0x44420031;RTD_15_IC18_IMTQ
0x445300A3;SYRLINKS_HK_HANDLER
0x445300A3;SYRLINKS_HANDLER
0x49000000;ARDUINO_COM_IF
0x49010005;GPIO_IF
0x49010006;SCEX_UART_READER
@ -147,5 +147,6 @@
0x73010001;ACS_SUBSYSTEM
0x73010002;PL_SUBSYSTEM
0x73010003;TCS_SUBSYSTEM
0x73010004;COM_SUBSYSTEM
0x73500000;CCSDS_IP_CORE_BRIDGE
0xFFFFFFFF;NO_OBJECT

1 0x00005060 P60DOCK_TEST_TASK
72 0x44420029 RTD_13_IC16_PLPCDU_HEATSPREADER
73 0x44420030 RTD_14_IC17_TCS_BOARD
74 0x44420031 RTD_15_IC18_IMTQ
75 0x445300A3 SYRLINKS_HANDLER
76 0x49000000 ARDUINO_COM_IF
77 0x49010005 GPIO_IF
78 0x49010006 SCEX_UART_READER
147 0x73010001 ACS_SUBSYSTEM
148 0x73010002 PL_SUBSYSTEM
149 0x73010003 TCS_SUBSYSTEM
150 0x73010004 COM_SUBSYSTEM
151 0x73010004 0x73500000 COM_SUBSYSTEM CCSDS_IP_CORE_BRIDGE
152 0x73500000 0xFFFFFFFF CCSDS_IP_CORE_BRIDGE NO_OBJECT

View File

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

View File

@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 240 translations.
* @brief Auto-generated event translation file. Contains 244 translations.
* @details
* Generated on: 2023-01-23 11:30:32
* Generated on: 2023-02-01 19:42:11
*/
#include "translateEvents.h"
@ -82,6 +82,7 @@ const char *BIT_LOCK_STRING = "BIT_LOCK";
const char *BIT_LOCK_LOST_STRING = "BIT_LOCK_LOST";
const char *FRAME_PROCESSING_FAILED_STRING = "FRAME_PROCESSING_FAILED";
const char *CLOCK_SET_STRING = "CLOCK_SET";
const char *CLOCK_DUMP_STRING = "CLOCK_DUMP";
const char *CLOCK_SET_FAILURE_STRING = "CLOCK_SET_FAILURE";
const char *TC_DELETION_FAILED_STRING = "TC_DELETION_FAILED";
const char *TEST_STRING = "TEST";
@ -228,11 +229,8 @@ const char *SUPV_REPLY_CRC_MISSMATCH_STRING = "SUPV_REPLY_CRC_MISSMATCH";
const char *SUPV_UPDATE_PROGRESS_STRING = "SUPV_UPDATE_PROGRESS";
const char *HDLC_FRAME_REMOVAL_ERROR_STRING = "HDLC_FRAME_REMOVAL_ERROR";
const char *HDLC_CRC_ERROR_STRING = "HDLC_CRC_ERROR";
const char *ALLOC_FAILURE_STRING = "ALLOC_FAILURE";
const char *REBOOT_SW_STRING = "REBOOT_SW";
const char *REBOOT_MECHANISM_TRIGGERED_STRING = "REBOOT_MECHANISM_TRIGGERED";
const char *REBOOT_HW_STRING = "REBOOT_HW";
const char *NO_SD_CARD_ACTIVE_STRING = "NO_SD_CARD_ACTIVE";
const char *TX_ON_STRING = "TX_ON";
const char *TX_OFF_STRING = "TX_OFF";
const char *MISSING_PACKET_STRING = "MISSING_PACKET";
const char *EXPERIMENT_TIMEDOUT_STRING = "EXPERIMENT_TIMEDOUT";
const char *MULTI_PACKET_COMMAND_DONE_STRING = "MULTI_PACKET_COMMAND_DONE";
@ -241,6 +239,11 @@ const char *GET_CONFIGFILEVALUE_FAILED_STRING = "GET_CONFIGFILEVALUE_FAILED";
const char *INSERT_CONFIGFILEVALUE_FAILED_STRING = "INSERT_CONFIGFILEVALUE_FAILED";
const char *WRITE_CONFIGFILE_FAILED_STRING = "WRITE_CONFIGFILE_FAILED";
const char *READ_CONFIGFILE_FAILED_STRING = "READ_CONFIGFILE_FAILED";
const char *ALLOC_FAILURE_STRING = "ALLOC_FAILURE";
const char *REBOOT_SW_STRING = "REBOOT_SW";
const char *REBOOT_MECHANISM_TRIGGERED_STRING = "REBOOT_MECHANISM_TRIGGERED";
const char *REBOOT_HW_STRING = "REBOOT_HW";
const char *NO_SD_CARD_ACTIVE_STRING = "NO_SD_CARD_ACTIVE";
const char *translateEvents(Event event) {
switch ((event & 0xFFFF)) {
@ -399,6 +402,8 @@ const char *translateEvents(Event event) {
case (8900):
return CLOCK_SET_STRING;
case (8901):
return CLOCK_DUMP_STRING;
case (8902):
return CLOCK_SET_FAILURE_STRING;
case (9100):
return TC_DELETION_FAILED_STRING;
@ -690,16 +695,10 @@ const char *translateEvents(Event event) {
return HDLC_FRAME_REMOVAL_ERROR_STRING;
case (13632):
return HDLC_CRC_ERROR_STRING;
case (13700):
return ALLOC_FAILURE_STRING;
case (13701):
return REBOOT_SW_STRING;
return TX_ON_STRING;
case (13702):
return REBOOT_MECHANISM_TRIGGERED_STRING;
case (13703):
return REBOOT_HW_STRING;
case (13704):
return NO_SD_CARD_ACTIVE_STRING;
return TX_OFF_STRING;
case (13800):
return MISSING_PACKET_STRING;
case (13801):
@ -716,6 +715,16 @@ const char *translateEvents(Event event) {
return WRITE_CONFIGFILE_FAILED_STRING;
case (13905):
return READ_CONFIGFILE_FAILED_STRING;
case (14000):
return ALLOC_FAILURE_STRING;
case (14001):
return REBOOT_SW_STRING;
case (14002):
return REBOOT_MECHANISM_TRIGGERED_STRING;
case (14003):
return REBOOT_HW_STRING;
case (14004):
return NO_SD_CARD_ACTIVE_STRING;
default:
return "UNKNOWN_EVENT";
}

View File

@ -1,8 +1,8 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 151 translations.
* Generated on: 2023-01-23 11:30:32
* Contains 152 translations.
* Generated on: 2023-02-01 19:42:11
*/
#include "translateObjects.h"
@ -80,7 +80,7 @@ const char *RTD_12_IC15_ACU_STRING = "RTD_12_IC15_ACU";
const char *RTD_13_IC16_PLPCDU_HEATSPREADER_STRING = "RTD_13_IC16_PLPCDU_HEATSPREADER";
const char *RTD_14_IC17_TCS_BOARD_STRING = "RTD_14_IC17_TCS_BOARD";
const char *RTD_15_IC18_IMTQ_STRING = "RTD_15_IC18_IMTQ";
const char *SYRLINKS_HK_HANDLER_STRING = "SYRLINKS_HK_HANDLER";
const char *SYRLINKS_HANDLER_STRING = "SYRLINKS_HANDLER";
const char *ARDUINO_COM_IF_STRING = "ARDUINO_COM_IF";
const char *GPIO_IF_STRING = "GPIO_IF";
const char *SCEX_UART_READER_STRING = "SCEX_UART_READER";
@ -155,6 +155,7 @@ const char *EIVE_SYSTEM_STRING = "EIVE_SYSTEM";
const char *ACS_SUBSYSTEM_STRING = "ACS_SUBSYSTEM";
const char *PL_SUBSYSTEM_STRING = "PL_SUBSYSTEM";
const char *TCS_SUBSYSTEM_STRING = "TCS_SUBSYSTEM";
const char *COM_SUBSYSTEM_STRING = "COM_SUBSYSTEM";
const char *CCSDS_IP_CORE_BRIDGE_STRING = "CCSDS_IP_CORE_BRIDGE";
const char *NO_OBJECT_STRING = "NO_OBJECT";
@ -309,7 +310,7 @@ const char *translateObject(object_id_t object) {
case 0x44420031:
return RTD_15_IC18_IMTQ_STRING;
case 0x445300A3:
return SYRLINKS_HK_HANDLER_STRING;
return SYRLINKS_HANDLER_STRING;
case 0x49000000:
return ARDUINO_COM_IF_STRING;
case 0x49010005:
@ -458,6 +459,8 @@ const char *translateObject(object_id_t object) {
return PL_SUBSYSTEM_STRING;
case 0x73010003:
return TCS_SUBSYSTEM_STRING;
case 0x73010004:
return COM_SUBSYSTEM_STRING;
case 0x73500000:
return CCSDS_IP_CORE_BRIDGE_STRING;
case 0xFFFFFFFF:

View File

@ -349,11 +349,6 @@ void ObjectFactory::createScexComponents(std::string uartDev, PowerSwitchIF* pwr
scexHandler->connectModeTreeParent(satsystem::pl::SUBSYSTEM);
}
void ObjectFactory::createThermalController(HeaterHandler& heaterHandler) {
auto* tcsCtrl = new ThermalController(objects::THERMAL_CONTROLLER, heaterHandler);
tcsCtrl->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
}
AcsController* ObjectFactory::createAcsController(bool connectSubsystem) {
auto acsCtrl = new AcsController(objects::ACS_CONTROLLER);
if (connectSubsystem) {

View File

@ -35,6 +35,4 @@ AcsController* createAcsController(bool connectSubsystem);
void addTmtcIpCoresToFunnels(CcsdsIpCoreHandler& ipCoreHandler, PusTmFunnel& pusFunnel,
CfdpTmFunnel& cfdpFunnel);
void createThermalController(HeaterHandler& heaterHandler);
} // namespace ObjectFactory

View File

@ -13,7 +13,6 @@
namespace SUBSYSTEM_ID {
enum : uint8_t {
SUBSYSTEM_ID_START = COMMON_SUBSYSTEM_ID_END,
CORE = 137,
};
}

View File

@ -1,7 +1,7 @@
/**
* @brief Auto-generated event translation file. Contains 240 translations.
* @brief Auto-generated event translation file. Contains 244 translations.
* @details
* Generated on: 2023-01-23 11:30:32
* Generated on: 2023-02-01 19:42:11
*/
#include "translateEvents.h"
@ -82,6 +82,7 @@ const char *BIT_LOCK_STRING = "BIT_LOCK";
const char *BIT_LOCK_LOST_STRING = "BIT_LOCK_LOST";
const char *FRAME_PROCESSING_FAILED_STRING = "FRAME_PROCESSING_FAILED";
const char *CLOCK_SET_STRING = "CLOCK_SET";
const char *CLOCK_DUMP_STRING = "CLOCK_DUMP";
const char *CLOCK_SET_FAILURE_STRING = "CLOCK_SET_FAILURE";
const char *TC_DELETION_FAILED_STRING = "TC_DELETION_FAILED";
const char *TEST_STRING = "TEST";
@ -228,11 +229,8 @@ const char *SUPV_REPLY_CRC_MISSMATCH_STRING = "SUPV_REPLY_CRC_MISSMATCH";
const char *SUPV_UPDATE_PROGRESS_STRING = "SUPV_UPDATE_PROGRESS";
const char *HDLC_FRAME_REMOVAL_ERROR_STRING = "HDLC_FRAME_REMOVAL_ERROR";
const char *HDLC_CRC_ERROR_STRING = "HDLC_CRC_ERROR";
const char *ALLOC_FAILURE_STRING = "ALLOC_FAILURE";
const char *REBOOT_SW_STRING = "REBOOT_SW";
const char *REBOOT_MECHANISM_TRIGGERED_STRING = "REBOOT_MECHANISM_TRIGGERED";
const char *REBOOT_HW_STRING = "REBOOT_HW";
const char *NO_SD_CARD_ACTIVE_STRING = "NO_SD_CARD_ACTIVE";
const char *TX_ON_STRING = "TX_ON";
const char *TX_OFF_STRING = "TX_OFF";
const char *MISSING_PACKET_STRING = "MISSING_PACKET";
const char *EXPERIMENT_TIMEDOUT_STRING = "EXPERIMENT_TIMEDOUT";
const char *MULTI_PACKET_COMMAND_DONE_STRING = "MULTI_PACKET_COMMAND_DONE";
@ -241,6 +239,11 @@ const char *GET_CONFIGFILEVALUE_FAILED_STRING = "GET_CONFIGFILEVALUE_FAILED";
const char *INSERT_CONFIGFILEVALUE_FAILED_STRING = "INSERT_CONFIGFILEVALUE_FAILED";
const char *WRITE_CONFIGFILE_FAILED_STRING = "WRITE_CONFIGFILE_FAILED";
const char *READ_CONFIGFILE_FAILED_STRING = "READ_CONFIGFILE_FAILED";
const char *ALLOC_FAILURE_STRING = "ALLOC_FAILURE";
const char *REBOOT_SW_STRING = "REBOOT_SW";
const char *REBOOT_MECHANISM_TRIGGERED_STRING = "REBOOT_MECHANISM_TRIGGERED";
const char *REBOOT_HW_STRING = "REBOOT_HW";
const char *NO_SD_CARD_ACTIVE_STRING = "NO_SD_CARD_ACTIVE";
const char *translateEvents(Event event) {
switch ((event & 0xFFFF)) {
@ -399,6 +402,8 @@ const char *translateEvents(Event event) {
case (8900):
return CLOCK_SET_STRING;
case (8901):
return CLOCK_DUMP_STRING;
case (8902):
return CLOCK_SET_FAILURE_STRING;
case (9100):
return TC_DELETION_FAILED_STRING;
@ -690,16 +695,10 @@ const char *translateEvents(Event event) {
return HDLC_FRAME_REMOVAL_ERROR_STRING;
case (13632):
return HDLC_CRC_ERROR_STRING;
case (13700):
return ALLOC_FAILURE_STRING;
case (13701):
return REBOOT_SW_STRING;
return TX_ON_STRING;
case (13702):
return REBOOT_MECHANISM_TRIGGERED_STRING;
case (13703):
return REBOOT_HW_STRING;
case (13704):
return NO_SD_CARD_ACTIVE_STRING;
return TX_OFF_STRING;
case (13800):
return MISSING_PACKET_STRING;
case (13801):
@ -716,6 +715,16 @@ const char *translateEvents(Event event) {
return WRITE_CONFIGFILE_FAILED_STRING;
case (13905):
return READ_CONFIGFILE_FAILED_STRING;
case (14000):
return ALLOC_FAILURE_STRING;
case (14001):
return REBOOT_SW_STRING;
case (14002):
return REBOOT_MECHANISM_TRIGGERED_STRING;
case (14003):
return REBOOT_HW_STRING;
case (14004):
return NO_SD_CARD_ACTIVE_STRING;
default:
return "UNKNOWN_EVENT";
}

View File

@ -39,8 +39,6 @@ enum sourceObjects : uint32_t {
FW_ADDRESS_END = TIME_STAMPER,
PUS_SERVICE_6 = 0x51000500,
CCSDS_IP_CORE_BRIDGE = 0x73500000,
/* 0x49 ('I') for Communication Interfaces **/
ARDUINO_COM_IF = 0x49000000,
CSP_COM_IF = 0x49050001,

View File

@ -1,8 +1,8 @@
/**
* @brief Auto-generated object translation file.
* @details
* Contains 151 translations.
* Generated on: 2023-01-23 11:30:32
* Contains 152 translations.
* Generated on: 2023-02-01 19:42:11
*/
#include "translateObjects.h"
@ -80,7 +80,7 @@ const char *RTD_12_IC15_ACU_STRING = "RTD_12_IC15_ACU";
const char *RTD_13_IC16_PLPCDU_HEATSPREADER_STRING = "RTD_13_IC16_PLPCDU_HEATSPREADER";
const char *RTD_14_IC17_TCS_BOARD_STRING = "RTD_14_IC17_TCS_BOARD";
const char *RTD_15_IC18_IMTQ_STRING = "RTD_15_IC18_IMTQ";
const char *SYRLINKS_HK_HANDLER_STRING = "SYRLINKS_HK_HANDLER";
const char *SYRLINKS_HANDLER_STRING = "SYRLINKS_HANDLER";
const char *ARDUINO_COM_IF_STRING = "ARDUINO_COM_IF";
const char *GPIO_IF_STRING = "GPIO_IF";
const char *SCEX_UART_READER_STRING = "SCEX_UART_READER";
@ -155,6 +155,7 @@ const char *EIVE_SYSTEM_STRING = "EIVE_SYSTEM";
const char *ACS_SUBSYSTEM_STRING = "ACS_SUBSYSTEM";
const char *PL_SUBSYSTEM_STRING = "PL_SUBSYSTEM";
const char *TCS_SUBSYSTEM_STRING = "TCS_SUBSYSTEM";
const char *COM_SUBSYSTEM_STRING = "COM_SUBSYSTEM";
const char *CCSDS_IP_CORE_BRIDGE_STRING = "CCSDS_IP_CORE_BRIDGE";
const char *NO_OBJECT_STRING = "NO_OBJECT";
@ -309,7 +310,7 @@ const char *translateObject(object_id_t object) {
case 0x44420031:
return RTD_15_IC18_IMTQ_STRING;
case 0x445300A3:
return SYRLINKS_HK_HANDLER_STRING;
return SYRLINKS_HANDLER_STRING;
case 0x49000000:
return ARDUINO_COM_IF_STRING;
case 0x49010005:
@ -458,6 +459,8 @@ const char *translateObject(object_id_t object) {
return PL_SUBSYSTEM_STRING;
case 0x73010003:
return TCS_SUBSYSTEM_STRING;
case 0x73010004:
return COM_SUBSYSTEM_STRING;
case 0x73500000:
return CCSDS_IP_CORE_BRIDGE_STRING;
case 0xFFFFFFFF:

View File

@ -487,12 +487,11 @@ ReturnValue_t pst::pstUart(FixedTimeslotTaskIF *thisSequence) {
static_cast<void>(length);
#if OBSW_ADD_SYRLINKS == 1
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0,
DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.2, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.4, DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.6, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.8, DeviceHandlerIF::GET_READ);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0.2, DeviceHandlerIF::SEND_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0.4, DeviceHandlerIF::GET_WRITE);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0.6, DeviceHandlerIF::SEND_READ);
thisSequence->addSlot(objects::SYRLINKS_HANDLER, length * 0.8, DeviceHandlerIF::GET_READ);
#endif
#if OBSW_ADD_STAR_TRACKER == 1

View File

@ -34,7 +34,7 @@ class PdecConfig {
static const uint8_t VIRTUAL_CHANNEL = 0;
static const uint8_t RESERVED_FIELD_A = 0;
static const uint16_t SPACECRAFT_ID = 0x274;
static const uint16_t SPACECRAFT_ID = 0x3DC;
static const uint16_t DUMMY_BITS = 0;
// Parameters to control the FARM for AD frames
// Set here for future use

View File

@ -188,6 +188,7 @@ ReturnValue_t PdecHandler::irqOperation() {
if ((pisr & NEW_FAR_MASK) == NEW_FAR_MASK) {
// Read FAR here
CURRENT_FAR = readFar();
checkFrameAna(CURRENT_FAR);
}
if (lockCheckCd.hasTimedOut()) {
checkLocks();

View File

@ -7,3 +7,4 @@ add_subdirectory(tmtc)
add_subdirectory(system)
add_subdirectory(csp)
add_subdirectory(cfdp)
add_subdirectory(config)

31
mission/comDefs.h Normal file
View File

@ -0,0 +1,31 @@
#ifndef MISSION_COMDEFS_H_
#define MISSION_COMDEFS_H_
namespace com {
enum class Datarate : uint8_t {
LOW_RATE_MODULATION_BPSK,
HIGH_RATE_MODULATION_0QPSK,
NUM_DATARATES
};
enum Submode : uint8_t {
RX_ONLY,
RX_AND_TX_DEFAULT_DATARATE,
RX_AND_TX_LOW_DATARATE,
RX_AND_TX_HIGH_DATARATE,
RX_AND_TX_CW,
NUM_SUBMODES
};
enum class CcsdsSubmode : uint8_t {
UNSET = 0,
DATARATE_LOW = 1,
DATARATE_HIGH = 2,
DATARATE_DEFAULT = 3
};
enum class ParameterId : uint8_t { DATARATE = 0 };
} // namespace com
#endif /* MISSION_COMDEFS_H_ */

View File

@ -0,0 +1 @@
target_sources(${LIB_EIVE_MISSION} PRIVATE comCfg.cpp torquer.cpp)

26
mission/config/comCfg.cpp Normal file
View File

@ -0,0 +1,26 @@
#include "comCfg.h"
#include <fsfw/ipc/MutexFactory.h>
#include <fsfw/ipc/MutexGuard.h>
com::Datarate DATARATE_CFG_RAW = com::Datarate::LOW_RATE_MODULATION_BPSK;
MutexIF* DATARATE_LOCK = nullptr;
MutexIF* lazyLock();
com::Datarate com::getCurrentDatarate() {
MutexGuard mg(lazyLock());
return DATARATE_CFG_RAW;
}
void com::setCurrentDatarate(com::Datarate newRate) {
MutexGuard mg(lazyLock());
DATARATE_CFG_RAW = newRate;
}
MutexIF* lazyLock() {
if (DATARATE_LOCK == nullptr) {
return MutexFactory::instance()->createMutex();
}
return DATARATE_LOCK;
}

15
mission/config/comCfg.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef MISSION_COMCFG_H_
#define MISSION_COMCFG_H_
#include <fsfw/ipc/MutexIF.h>
#include "mission/comDefs.h"
namespace com {
com::Datarate getCurrentDatarate();
void setCurrentDatarate(com::Datarate newRate);
} // namespace com
#endif /* MISSION_COMCFG_H_ */

View File

@ -2,7 +2,7 @@
#include <fsfw/datapool/PoolReadGuard.h>
#include "mission/devices/torquer.h"
#include "mission/config/torquer.h"
AcsController::AcsController(object_id_t objectId)
: ExtendedControllerBase(objectId),

View File

@ -775,7 +775,7 @@ void ThermalController::copyDevices() {
{
lp_var_t<float> tempSyrlinksPowerAmplifier =
lp_var_t<float>(objects::SYRLINKS_HK_HANDLER, syrlinks::TEMP_POWER_AMPLIFIER);
lp_var_t<float>(objects::SYRLINKS_HANDLER, syrlinks::TEMP_POWER_AMPLIFIER);
PoolReadGuard pg(&tempSyrlinksPowerAmplifier, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
if (pg.getReadResult() != returnvalue::OK) {
sif::warning << "ThermalController: Failed to read syrlinks power amplifier temperature"
@ -790,7 +790,7 @@ void ThermalController::copyDevices() {
{
lp_var_t<float> tempSyrlinksBasebandBoard =
lp_var_t<float>(objects::SYRLINKS_HK_HANDLER, syrlinks::TEMP_BASEBAND_BOARD);
lp_var_t<float>(objects::SYRLINKS_HANDLER, syrlinks::TEMP_BASEBAND_BOARD);
PoolReadGuard pg(&tempSyrlinksBasebandBoard, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
if (pg.getReadResult() != returnvalue::OK) {
sif::warning << "ThermalController: Failed to read syrlinks baseband board temperature"

View File

@ -37,21 +37,24 @@ class AcsParameters /*: public HasParametersIF*/ {
float mgm3orientationMatrix[3][3] = {{0, 0, 1}, {0, -1, 0}, {1, 0, 0}};
float mgm4orientationMatrix[3][3] = {{0, 0, -1}, {-1, 0, 0}, {0, 1, 0}};
float mgm0hardIronOffset[3] = {19.89364, -29.94111, -31.07508};
float mgm1hardIronOffset[3] = {10.95500, -8.053403, -33.36383};
float mgm2hardIronOffset[3] = {15.72181, -26.87090, -62.19010};
float mgm0hardIronOffset[3] = {0.0, 0.0, 0.0}; //{19.89364, -29.94111, -31.07508};
float mgm1hardIronOffset[3] = {0.0, 0.0, 0.0}; //{10.95500, -8.053403, -33.36383};
float mgm2hardIronOffset[3] = {0.0, 0.0, 0.0}; //{15.72181, -26.87090, -62.19010};
float mgm3hardIronOffset[3] = {0.0, 0.0, 0.0};
float mgm4hardIronOffset[3] = {0.0, 0.0, 0.0};
float mgm0softIronInverse[3][3] = {{1420.727e-3, 9.352825e-3, -127.1979e-3},
{9.352825e-3, 1031.965e-3, -80.02734e-3},
{-127.1979e-3, -80.02734e-3, 934.8899e-3}};
float mgm1softIronInverse[3][3] = {{126.7325e-2, -4.146410e-2, -18.37963e-2},
{-4.146410e-2, 109.3310e-2, -5.246314e-2},
{-18.37963e-2, -5.246314e-2, 105.7300e-2}};
float mgm2softIronInverse[3][3] = {{143.0438e-2, 7.095763e-2, 15.67482e-2},
{7.095763e-2, 99.65167e-2, -6.958760e-2},
{15.67482e-2, -6.958760e-2, 94.50124e-2}};
float mgm0softIronInverse[3][3] = {
{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; /*{{1420.727e-3, 9.352825e-3,
-127.1979e-3}, {9.352825e-3, 1031.965e-3, -80.02734e-3},
{-127.1979e-3, -80.02734e-3, 934.8899e-3}};*/
float mgm1softIronInverse[3][3] = {
{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; /*{{126.7325e-2, -4.146410e-2, -18.37963e-2},
{-4.146410e-2, 109.3310e-2, -5.246314e-2},
{-18.37963e-2, -5.246314e-2, 105.7300e-2}};*/
float mgm2softIronInverse[3][3] = {
{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; /*{{143.0438e-2, 7.095763e-2,
15.67482e-2}, {7.095763e-2, 99.65167e-2, -6.958760e-2},
{15.67482e-2, -6.958760e-2, 94.50124e-2}};*/
float mgm3softIronInverse[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
float mgm4softIronInverse[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
float mgm02variance[3] = {1, 1, 1};

View File

@ -3,12 +3,13 @@
#include <fsfw/cfdp/CfdpDistributor.h>
#include <fsfw/cfdp/handler/CfdpHandler.h>
#include <fsfw/cfdp/handler/RemoteConfigTableIF.h>
#include <fsfw/controller/ControllerBase.h>
#include <fsfw/events/EventManager.h>
#include <fsfw/health/HealthTable.h>
#include <fsfw/internalerror/InternalErrorReporter.h>
#include <fsfw/ipc/QueueFactory.h>
#include <fsfw/pus/CService200ModeCommanding.h>
#include <fsfw/pus/CService201HealthCommanding.h>
#include <fsfw/pus/CServiceHealthCommanding.h>
#include <fsfw/pus/Service17Test.h>
#include <fsfw/pus/Service1TelecommandVerification.h>
#include <fsfw/pus/Service20ParameterManagement.h>
@ -34,6 +35,7 @@
#include "eive/definitions.h"
#include "fsfw/pus/Service11TelecommandScheduling.h"
#include "mission/cfdp/Config.h"
#include "mission/system/tree/tcsModeTree.h"
#include "objects/systemObjectList.h"
#include "tmtc/pusIds.h"
@ -109,16 +111,17 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun
new UdpTcPollingTask(objects::UDP_TMTC_POLLING_TASK, objects::UDP_TMTC_SERVER);
sif::info << "Created UDP server for TMTC commanding with listener port "
<< udpBridge->getUdpPort() << std::endl;
udpBridge->setMaxNumberOfPacketsStored(150);
udpBridge->setMaxNumberOfPacketsStored(config::MAX_STORED_CMDS_UDP);
#endif
#if OBSW_ADD_TMTC_TCP_SERVER == 1
auto tcpBridge = new TcpTmTcBridge(objects::TCP_TMTC_SERVER, objects::CCSDS_PACKET_DISTRIBUTOR);
auto tcpServer = new TcpTmTcServer(objects::TCP_TMTC_POLLING_TASK, objects::TCP_TMTC_SERVER);
TcpTmTcServer::TcpConfig cfg(true, true);
auto tcpServer = new TcpTmTcServer(objects::TCP_TMTC_POLLING_TASK, objects::TCP_TMTC_SERVER, cfg);
// TCP is stream based. Use packet ID as start marker when parsing for space packets
tcpServer->setSpacePacketParsingOptions({common::PUS_PACKET_ID, common::CFDP_PACKET_ID});
sif::info << "Created TCP server for TMTC commanding with listener port "
<< tcpServer->getTcpPort() << std::endl;
tcpBridge->setMaxNumberOfPacketsStored(150);
tcpBridge->setMaxNumberOfPacketsStored(config::MAX_STORED_CMDS_TCP);
#endif /* OBSW_USE_TMTC_TCP_BRIDGE == 0 */
#endif /* OBSW_ADD_TCPIP_BRIDGE == 1 */
@ -127,7 +130,8 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun
new PusDistributor(config::EIVE_PUS_APID, objects::PUS_PACKET_DISTRIBUTOR, ccsdsDistrib);
*cfdpFunnel = new CfdpTmFunnel(objects::CFDP_TM_FUNNEL, config::EIVE_CFDP_APID, *tmStore, 50);
*pusFunnel = new PusTmFunnel(objects::PUS_TM_FUNNEL, *timeStamper, *tmStore, 100);
*pusFunnel = new PusTmFunnel(objects::PUS_TM_FUNNEL, *timeStamper, *tmStore,
config::MAX_PUS_FUNNEL_QUEUE_DEPTH);
#if OBSW_ADD_TCPIP_SERVERS == 1
#if OBSW_ADD_TMTC_UDP_SERVER == 1
(*cfdpFunnel)->addDestination(*udpBridge, 0);
@ -165,8 +169,9 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun
pus::PUS_SERVICE_20);
new CService200ModeCommanding(objects::PUS_SERVICE_200_MODE_MGMT, config::EIVE_PUS_APID,
pus::PUS_SERVICE_200, 8);
new CService201HealthCommanding(objects::PUS_SERVICE_201_HEALTH, config::EIVE_PUS_APID,
pus::PUS_SERVICE_201);
HealthServiceCfg healthCfg(objects::PUS_SERVICE_201_HEALTH, config::EIVE_PUS_APID, *healthTable,
20);
new CServiceHealthCommanding(healthCfg);
#if OBSW_ADD_CFDP_COMPONENTS == 1
using namespace cfdp;
@ -209,5 +214,6 @@ void ObjectFactory::createGenericHeaterComponents(GpioIF& gpioIF, PowerSwitchIF&
}
void ObjectFactory::createThermalController(HeaterHandler& heaterHandler) {
new ThermalController(objects::THERMAL_CONTROLLER, heaterHandler);
auto* tcsCtrl = new ThermalController(objects::THERMAL_CONTROLLER, heaterHandler);
tcsCtrl->connectModeTreeParent(satsystem::tcs::SUBSYSTEM);
}

View File

@ -8,7 +8,7 @@ target_sources(
PDU1Handler.cpp
PDU2Handler.cpp
ACUHandler.cpp
SyrlinksHkHandler.cpp
SyrlinksHandler.cpp
Max31865PT1000Handler.cpp
Max31865EiveHandler.cpp
ImtqHandler.cpp
@ -20,7 +20,6 @@ target_sources(
SusHandler.cpp
PayloadPcduHandler.cpp
SolarArrayDeploymentHandler.cpp
ScexDeviceHandler.cpp
torquer.cpp)
ScexDeviceHandler.cpp)
add_subdirectory(devicedefinitions)

View File

@ -25,7 +25,7 @@
#include <cmath>
#include <fsfw/datapoollocal/LocalPoolVariable.tpp>
#include "mission/devices/torquer.h"
#include "mission/config/torquer.h"
static constexpr bool ACTUATION_WIRETAPPING = false;

View File

@ -1,11 +1,12 @@
#include <fsfw/datapool/PoolReadGuard.h>
#include <fsfw/globalfunctions/CRC.h>
#include <mission/devices/SyrlinksHkHandler.h>
#include <mission/devices/SyrlinksHandler.h>
#include "OBSWConfig.h"
#include "mission/config/comCfg.h"
SyrlinksHkHandler::SyrlinksHkHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie,
power::Switch_t powerSwitch, FailureIsolationBase* customFdir)
SyrlinksHandler::SyrlinksHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie,
power::Switch_t powerSwitch, FailureIsolationBase* customFdir)
: DeviceHandlerBase(objectId, comIF, comCookie, customFdir),
rxDataset(this),
txDataset(this),
@ -16,29 +17,40 @@ SyrlinksHkHandler::SyrlinksHkHandler(object_id_t objectId, object_id_t comIF, Co
}
}
SyrlinksHkHandler::~SyrlinksHkHandler() {}
SyrlinksHandler::~SyrlinksHandler() = default;
void SyrlinksHkHandler::doStartUp() {
switch (startupState) {
case StartupState::OFF: {
startupState = StartupState::ENABLE_TEMPERATURE_PROTECTION;
break;
void SyrlinksHandler::doStartUp() {
if (internalState == InternalState::OFF) {
internalState = InternalState::ENABLE_TEMPERATURE_PROTECTION;
commandExecuted = false;
}
if (internalState == InternalState::ENABLE_TEMPERATURE_PROTECTION) {
if (commandExecuted) {
// Go to normal mode immediately and disable transmitter on startup.
setMode(_MODE_TO_NORMAL);
internalState = InternalState::IDLE;
commandExecuted = false;
}
case StartupState::DONE: {
setMode(_MODE_TO_ON);
break;
}
default:
break;
}
}
void SyrlinksHkHandler::doShutDown() {
setMode(_MODE_POWER_DOWN);
temperatureSet.setValidity(false, true);
void SyrlinksHandler::doShutDown() {
// In any case, always disable TX first.
if (internalState != InternalState::SET_TX_STANDBY) {
internalState = InternalState::SET_TX_STANDBY;
commandExecuted = false;
}
if (internalState == InternalState::SET_TX_STANDBY) {
if (commandExecuted) {
temperatureSet.setValidity(false, true);
internalState = InternalState::OFF;
commandExecuted = false;
setMode(_MODE_POWER_DOWN);
}
}
}
ReturnValue_t SyrlinksHkHandler::buildNormalDeviceCommand(DeviceCommandId_t* id) {
ReturnValue_t SyrlinksHandler::buildNormalDeviceCommand(DeviceCommandId_t* id) {
switch (nextCommand) {
case (syrlinks::READ_RX_STATUS_REGISTERS):
*id = syrlinks::READ_RX_STATUS_REGISTERS;
@ -84,21 +96,41 @@ ReturnValue_t SyrlinksHkHandler::buildNormalDeviceCommand(DeviceCommandId_t* id)
return buildCommandFromCommand(*id, nullptr, 0);
}
ReturnValue_t SyrlinksHkHandler::buildTransitionDeviceCommand(DeviceCommandId_t* id) {
switch (startupState) {
case StartupState::ENABLE_TEMPERATURE_PROTECTION: {
ReturnValue_t SyrlinksHandler::buildTransitionDeviceCommand(DeviceCommandId_t* id) {
switch (internalState) {
case InternalState::ENABLE_TEMPERATURE_PROTECTION: {
*id = syrlinks::WRITE_LCL_CONFIG;
return buildCommandFromCommand(*id, nullptr, 0);
}
case InternalState::SET_TX_MODULATION: {
*id = syrlinks::SET_TX_MODE_MODULATION;
return buildCommandFromCommand(*id, nullptr, 0);
}
case InternalState::SELECT_MODULATION_BPSK: {
*id = syrlinks::SET_WAVEFORM_BPSK;
return buildCommandFromCommand(*id, nullptr, 0);
}
case InternalState::SELECT_MODULATION_0QPSK: {
*id = syrlinks::SET_WAVEFORM_0QPSK;
return buildCommandFromCommand(*id, nullptr, 0);
}
case InternalState::SET_TX_CW: {
*id = syrlinks::SET_TX_MODE_CW;
return buildCommandFromCommand(*id, nullptr, 0);
}
case InternalState::SET_TX_STANDBY: {
*id = syrlinks::SET_TX_MODE_STANDBY;
return buildCommandFromCommand(*id, nullptr, 0);
}
default:
break;
}
return NOTHING_TO_SEND;
}
ReturnValue_t SyrlinksHkHandler::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t* commandData,
size_t commandDataLen) {
ReturnValue_t SyrlinksHandler::buildCommandFromCommand(DeviceCommandId_t deviceCommand,
const uint8_t* commandData,
size_t commandDataLen) {
switch (deviceCommand) {
case (syrlinks::RESET_UNIT): {
prepareCommand(resetCommand, deviceCommand);
@ -160,11 +192,11 @@ ReturnValue_t SyrlinksHkHandler::buildCommandFromCommand(DeviceCommandId_t devic
prepareCommand(tempBasebandBoardLowByte, deviceCommand);
return returnvalue::OK;
}
case (syrlinks::CONFIG_BPSK): {
case (syrlinks::SET_WAVEFORM_BPSK): {
prepareCommand(configBPSK, deviceCommand);
return returnvalue::OK;
}
case (syrlinks::CONFIG_OQPSK): {
case (syrlinks::SET_WAVEFORM_0QPSK): {
prepareCommand(configOQPSK, deviceCommand);
return returnvalue::OK;
}
@ -184,7 +216,7 @@ ReturnValue_t SyrlinksHkHandler::buildCommandFromCommand(DeviceCommandId_t devic
return returnvalue::FAILED;
}
void SyrlinksHkHandler::fillCommandAndReplyMap() {
void SyrlinksHandler::fillCommandAndReplyMap() {
this->insertInCommandAndReplyMap(syrlinks::RESET_UNIT, 1, nullptr, syrlinks::ACK_SIZE, false,
true, syrlinks::ACK_REPLY);
this->insertInCommandAndReplyMap(syrlinks::SET_TX_MODE_STANDBY, 1, nullptr, syrlinks::ACK_SIZE,
@ -195,10 +227,10 @@ void SyrlinksHkHandler::fillCommandAndReplyMap() {
true, syrlinks::ACK_REPLY);
this->insertInCommandAndReplyMap(syrlinks::WRITE_LCL_CONFIG, 1, nullptr, syrlinks::ACK_SIZE,
false, true, syrlinks::ACK_REPLY);
this->insertInCommandAndReplyMap(syrlinks::CONFIG_BPSK, 1, nullptr, syrlinks::ACK_SIZE, false,
true, syrlinks::ACK_REPLY);
this->insertInCommandAndReplyMap(syrlinks::CONFIG_OQPSK, 1, nullptr, syrlinks::ACK_SIZE, false,
true, syrlinks::ACK_REPLY);
this->insertInCommandAndReplyMap(syrlinks::SET_WAVEFORM_BPSK, 1, nullptr, syrlinks::ACK_SIZE,
false, true, syrlinks::ACK_REPLY);
this->insertInCommandAndReplyMap(syrlinks::SET_WAVEFORM_0QPSK, 1, nullptr, syrlinks::ACK_SIZE,
false, true, syrlinks::ACK_REPLY);
this->insertInCommandMap(syrlinks::ENABLE_DEBUG);
this->insertInCommandMap(syrlinks::DISABLE_DEBUG);
this->insertInCommandAndReplyMap(syrlinks::READ_LCL_CONFIG, 1, nullptr,
@ -223,8 +255,8 @@ void SyrlinksHkHandler::fillCommandAndReplyMap() {
syrlinks::RX_STATUS_REGISTERS_REPLY_SIZE);
}
ReturnValue_t SyrlinksHkHandler::scanForReply(const uint8_t* start, size_t remainingSize,
DeviceCommandId_t* foundId, size_t* foundLen) {
ReturnValue_t SyrlinksHandler::scanForReply(const uint8_t* start, size_t remainingSize,
DeviceCommandId_t* foundId, size_t* foundLen) {
ReturnValue_t result = returnvalue::OK;
if (*start != '<') {
@ -254,7 +286,7 @@ ReturnValue_t SyrlinksHkHandler::scanForReply(const uint8_t* start, size_t remai
return result;
}
ReturnValue_t SyrlinksHkHandler::getSwitches(const uint8_t** switches, uint8_t* numberOfSwitches) {
ReturnValue_t SyrlinksHandler::getSwitches(const uint8_t** switches, uint8_t* numberOfSwitches) {
if (powerSwitch == power::NO_SWITCH) {
return DeviceHandlerBase::NO_SWITCH;
}
@ -263,7 +295,7 @@ ReturnValue_t SyrlinksHkHandler::getSwitches(const uint8_t** switches, uint8_t*
return returnvalue::OK;
}
ReturnValue_t SyrlinksHkHandler::interpretDeviceReply(DeviceCommandId_t id, const uint8_t* packet) {
ReturnValue_t SyrlinksHandler::interpretDeviceReply(DeviceCommandId_t id, const uint8_t* packet) {
ReturnValue_t result;
switch (id) {
@ -414,7 +446,7 @@ ReturnValue_t SyrlinksHkHandler::interpretDeviceReply(DeviceCommandId_t id, cons
return returnvalue::OK;
}
LocalPoolDataSetBase* SyrlinksHkHandler::getDataSetHandle(sid_t sid) {
LocalPoolDataSetBase* SyrlinksHandler::getDataSetHandle(sid_t sid) {
if (sid == rxDataset.getSid()) {
return &rxDataset;
} else if (sid == txDataset.getSid()) {
@ -427,13 +459,13 @@ LocalPoolDataSetBase* SyrlinksHkHandler::getDataSetHandle(sid_t sid) {
}
}
std::string SyrlinksHkHandler::convertUint16ToHexString(uint16_t intValue) {
std::string SyrlinksHandler::convertUint16ToHexString(uint16_t intValue) {
std::stringstream stream;
stream << std::setfill('0') << std::setw(4) << std::hex << std::uppercase << intValue;
return stream.str();
}
uint8_t SyrlinksHkHandler::convertHexStringToUint8(const char* twoChars) {
uint8_t SyrlinksHandler::convertHexStringToUint8(const char* twoChars) {
uint32_t value;
std::string hexString(twoChars, 2);
std::stringstream stream;
@ -442,13 +474,13 @@ uint8_t SyrlinksHkHandler::convertHexStringToUint8(const char* twoChars) {
return static_cast<uint8_t>(value);
}
uint16_t SyrlinksHkHandler::convertHexStringToUint16(const char* fourChars) {
uint16_t SyrlinksHandler::convertHexStringToUint16(const char* fourChars) {
uint16_t value = 0;
value = convertHexStringToUint8(fourChars) << 8 | convertHexStringToUint8(fourChars + 2);
return value;
}
ReturnValue_t SyrlinksHkHandler::parseReplyStatus(const char* status) {
ReturnValue_t SyrlinksHandler::parseReplyStatus(const char* status) {
switch (*status) {
case '0':
return returnvalue::OK;
@ -480,7 +512,7 @@ ReturnValue_t SyrlinksHkHandler::parseReplyStatus(const char* status) {
}
}
ReturnValue_t SyrlinksHkHandler::verifyReply(const uint8_t* packet, uint8_t size) {
ReturnValue_t SyrlinksHandler::verifyReply(const uint8_t* packet, uint8_t size) {
int result = 0;
/* Calculate crc from received packet */
uint16_t crc =
@ -500,7 +532,7 @@ ReturnValue_t SyrlinksHkHandler::verifyReply(const uint8_t* packet, uint8_t size
return returnvalue::OK;
}
void SyrlinksHkHandler::parseRxStatusRegistersReply(const uint8_t* packet) {
void SyrlinksHandler::parseRxStatusRegistersReply(const uint8_t* packet) {
PoolReadGuard readHelper(&rxDataset);
uint16_t offset = syrlinks::MESSAGE_HEADER_SIZE;
rxDataset.rxStatus = convertHexStringToUint8(reinterpret_cast<const char*>(packet + offset));
@ -540,7 +572,7 @@ void SyrlinksHkHandler::parseRxStatusRegistersReply(const uint8_t* packet) {
}
}
void SyrlinksHkHandler::parseLclConfigReply(const uint8_t* packet) {
void SyrlinksHandler::parseLclConfigReply(const uint8_t* packet) {
uint16_t offset = syrlinks::MESSAGE_HEADER_SIZE;
uint8_t lclConfig = convertHexStringToUint8(reinterpret_cast<const char*>(packet + offset));
if (debugMode) {
@ -549,7 +581,7 @@ void SyrlinksHkHandler::parseLclConfigReply(const uint8_t* packet) {
}
}
void SyrlinksHkHandler::parseTxStatusReply(const uint8_t* packet) {
void SyrlinksHandler::parseTxStatusReply(const uint8_t* packet) {
PoolReadGuard readHelper(&txDataset);
uint16_t offset = syrlinks::MESSAGE_HEADER_SIZE;
txDataset.txStatus = convertHexStringToUint8(reinterpret_cast<const char*>(packet + offset));
@ -560,7 +592,7 @@ void SyrlinksHkHandler::parseTxStatusReply(const uint8_t* packet) {
}
}
void SyrlinksHkHandler::parseTxWaveformReply(const uint8_t* packet) {
void SyrlinksHandler::parseTxWaveformReply(const uint8_t* packet) {
PoolReadGuard readHelper(&txDataset);
uint16_t offset = syrlinks::MESSAGE_HEADER_SIZE;
txDataset.txWaveform = convertHexStringToUint8(reinterpret_cast<const char*>(packet + offset));
@ -571,7 +603,7 @@ void SyrlinksHkHandler::parseTxWaveformReply(const uint8_t* packet) {
}
}
void SyrlinksHkHandler::parseAgcLowByte(const uint8_t* packet) {
void SyrlinksHandler::parseAgcLowByte(const uint8_t* packet) {
PoolReadGuard readHelper(&txDataset);
uint16_t offset = syrlinks::MESSAGE_HEADER_SIZE;
txDataset.txAgcValue = agcValueHighByte << 8 |
@ -582,18 +614,18 @@ void SyrlinksHkHandler::parseAgcLowByte(const uint8_t* packet) {
}
}
void SyrlinksHkHandler::parseAgcHighByte(const uint8_t* packet) {
void SyrlinksHandler::parseAgcHighByte(const uint8_t* packet) {
PoolReadGuard readHelper(&txDataset);
uint16_t offset = syrlinks::MESSAGE_HEADER_SIZE;
agcValueHighByte = convertHexStringToUint8(reinterpret_cast<const char*>(packet + offset));
}
void SyrlinksHkHandler::setNormalDatapoolEntriesInvalid() {}
void SyrlinksHandler::setNormalDatapoolEntriesInvalid() {}
uint32_t SyrlinksHkHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
uint32_t SyrlinksHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 2500; }
ReturnValue_t SyrlinksHkHandler::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
ReturnValue_t SyrlinksHandler::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) {
localDataPoolMap.emplace(syrlinks::RX_STATUS, new PoolEntry<uint8_t>({0}));
localDataPoolMap.emplace(syrlinks::RX_SENSITIVITY, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(syrlinks::RX_FREQUENCY_SHIFT, new PoolEntry<int32_t>({0}));
@ -618,26 +650,162 @@ ReturnValue_t SyrlinksHkHandler::initializeLocalDataPool(localpool::DataPool& lo
return returnvalue::OK;
}
void SyrlinksHkHandler::setModeNormal() { setMode(MODE_NORMAL); }
void SyrlinksHandler::setModeNormal() { setMode(MODE_NORMAL); }
float SyrlinksHkHandler::calcTempVal(uint16_t raw) { return 0.126984 * raw - 67.87; }
float SyrlinksHandler::calcTempVal(uint16_t raw) { return 0.126984 * raw - 67.87; }
ReturnValue_t SyrlinksHkHandler::handleAckReply(const uint8_t* packet) {
ReturnValue_t SyrlinksHandler::handleAckReply(const uint8_t* packet) {
ReturnValue_t result =
parseReplyStatus(reinterpret_cast<const char*>(packet + syrlinks::MESSAGE_HEADER_SIZE));
if (rememberCommandId == syrlinks::WRITE_LCL_CONFIG and result != returnvalue::OK) {
startupState = StartupState::OFF;
} else if (rememberCommandId == syrlinks::WRITE_LCL_CONFIG and result == returnvalue::OK) {
startupState = StartupState::DONE;
switch (rememberCommandId) {
case (syrlinks::WRITE_LCL_CONFIG): {
if (isTransitionalMode()) {
if (result != returnvalue::OK) {
internalState = InternalState::OFF;
} else if (result == returnvalue::OK) {
commandExecuted = true;
}
}
break;
}
case (syrlinks::SET_WAVEFORM_BPSK):
case (syrlinks::SET_WAVEFORM_0QPSK):
case (syrlinks::SET_TX_MODE_STANDBY):
case (syrlinks::SET_TX_MODE_MODULATION):
case (syrlinks::SET_TX_MODE_CW): {
if (result == returnvalue::OK and isTransitionalMode()) {
commandExecuted = true;
}
break;
}
}
switch (rememberCommandId) {
case (syrlinks::SET_TX_MODE_STANDBY): {
triggerEvent(syrlinks::TX_OFF, 0, 0);
break;
}
case (syrlinks::SET_TX_MODE_MODULATION):
case (syrlinks::SET_TX_MODE_CW): {
triggerEvent(syrlinks::TX_ON, getSubmode(), static_cast<uint8_t>(com::getCurrentDatarate()));
break;
}
}
return result;
}
void SyrlinksHkHandler::prepareCommand(std::string command, DeviceCommandId_t commandId) {
ReturnValue_t SyrlinksHandler::isModeCombinationValid(Mode_t mode, Submode_t submode) {
if (mode == HasModesIF::MODE_ON or mode == DeviceHandlerIF::MODE_NORMAL) {
if (submode >= com::Submode::NUM_SUBMODES) {
return HasModesIF::INVALID_SUBMODE;
}
return returnvalue::OK;
}
return DeviceHandlerBase::isModeCombinationValid(mode, submode);
}
ReturnValue_t SyrlinksHandler::getParameter(uint8_t domainId, uint8_t uniqueId,
ParameterWrapper* parameterWrapper,
const ParameterWrapper* newValues,
uint16_t startAtIndex) {
return DeviceHandlerBase::getParameter(domainId, uniqueId, parameterWrapper, newValues,
startAtIndex);
}
void SyrlinksHandler::prepareCommand(std::string command, DeviceCommandId_t commandId) {
command.copy(reinterpret_cast<char*>(commandBuffer), command.size(), 0);
rawPacketLen = command.size();
rememberCommandId = commandId;
rawPacket = commandBuffer;
}
void SyrlinksHkHandler::setDebugMode(bool enable) { this->debugMode = enable; }
void SyrlinksHandler::setDebugMode(bool enable) { this->debugMode = enable; }
void SyrlinksHandler::doTransition(Mode_t modeFrom, Submode_t subModeFrom) {
Mode_t tgtMode = getBaseMode(getMode());
auto commandDone = [&]() {
setMode(tgtMode);
internalState = InternalState::IDLE;
};
auto txOnHandler = [&](InternalState selMod) {
if (internalState == InternalState::IDLE) {
commandExecuted = false;
internalState = selMod;
}
// Select modulation first (BPSK or 0QPSK).
if (internalState == selMod) {
if (commandExecuted) {
internalState = InternalState::SET_TX_MODULATION;
commandExecuted = false;
}
}
// Now go into modulation mode.
if (internalState == InternalState::SET_TX_MODULATION) {
if (commandExecuted) {
commandDone();
return true;
}
}
return false;
};
auto txStandbyHandler = [&]() {
if (internalState == InternalState::IDLE) {
internalState = InternalState::SET_TX_STANDBY;
commandExecuted = false;
}
if (internalState == InternalState::SET_TX_STANDBY) {
if (commandExecuted) {
commandDone();
return;
}
}
};
if (tgtMode == HasModesIF::MODE_ON or tgtMode == DeviceHandlerIF::MODE_NORMAL) {
switch (getSubmode()) {
case (com::Submode::RX_AND_TX_DEFAULT_DATARATE): {
auto currentDatarate = com::getCurrentDatarate();
if (currentDatarate == com::Datarate::LOW_RATE_MODULATION_BPSK) {
if (txOnHandler(InternalState::SELECT_MODULATION_BPSK)) {
return;
}
} else if (currentDatarate == com::Datarate::HIGH_RATE_MODULATION_0QPSK) {
if (txOnHandler(InternalState::SELECT_MODULATION_0QPSK)) {
return;
}
}
break;
}
case (com::Submode::RX_AND_TX_LOW_DATARATE): {
if (txOnHandler(InternalState::SELECT_MODULATION_BPSK)) {
return;
}
break;
}
case (com::Submode::RX_AND_TX_HIGH_DATARATE): {
if (txOnHandler(InternalState::SELECT_MODULATION_0QPSK)) {
return;
}
break;
}
case (com::Submode::RX_ONLY): {
txStandbyHandler();
return;
}
case (com::Submode::RX_AND_TX_CW): {
if (internalState == InternalState::IDLE) {
internalState = InternalState::SET_TX_STANDBY;
commandExecuted = false;
}
if (commandExecuted) {
commandDone();
return;
}
break;
}
default: {
commandDone();
}
}
} else if (tgtMode == HasModesIF::MODE_OFF) {
txStandbyHandler();
}
}

View File

@ -1,5 +1,5 @@
#ifndef MISSION_DEVICES_SYRLINKSHKHANDLER_H_
#define MISSION_DEVICES_SYRLINKSHKHANDLER_H_
#ifndef MISSION_DEVICES_SYRLINKSHANDLER_H_
#define MISSION_DEVICES_SYRLINKSHANDLER_H_
#include <string.h>
@ -7,6 +7,7 @@
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include "fsfw/timemanager/Countdown.h"
#include "fsfw_hal/linux/gpio/Gpio.h"
#include "mission/comDefs.h"
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
#include "returnvalues/classIds.h"
@ -18,11 +19,11 @@
*
* @author J. Meier
*/
class SyrlinksHkHandler : public DeviceHandlerBase {
class SyrlinksHandler : public DeviceHandlerBase {
public:
SyrlinksHkHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie,
power::Switch_t powerSwitch, FailureIsolationBase* customFdir);
virtual ~SyrlinksHkHandler();
SyrlinksHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie,
power::Switch_t powerSwitch, FailureIsolationBase* customFdir);
virtual ~SyrlinksHandler();
/**
* @brief Sets mode to MODE_NORMAL. Can be used for debugging.
@ -34,6 +35,8 @@ class SyrlinksHkHandler : public DeviceHandlerBase {
protected:
void doStartUp() override;
void doShutDown() override;
void doTransition(Mode_t modeFrom, Submode_t subModeFrom) override;
ReturnValue_t isModeCombinationValid(Mode_t mode, Submode_t submode) 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,
@ -49,6 +52,10 @@ class SyrlinksHkHandler : public DeviceHandlerBase {
LocalDataPoolManager& poolManager) override;
LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;
// Parameter IF
ReturnValue_t getParameter(uint8_t domainId, uint8_t uniqueId, ParameterWrapper* parameterWrapper,
const ParameterWrapper* newValues, uint16_t startAtIndex) override;
private:
static const uint8_t INTERFACE_ID = CLASS_ID::SYRLINKS_HANDLER;
@ -104,12 +111,22 @@ class SyrlinksHkHandler : public DeviceHandlerBase {
uint16_t rawTempBasebandBoard = 0;
float tempPowerAmplifier = 0;
float tempBasebandBoard = 0;
bool commandExecuted = false;
uint8_t commandBuffer[syrlinks::MAX_COMMAND_SIZE];
enum class StartupState { OFF, ENABLE_TEMPERATURE_PROTECTION, DONE };
enum class InternalState {
OFF,
ENABLE_TEMPERATURE_PROTECTION,
SELECT_MODULATION_BPSK,
SELECT_MODULATION_0QPSK,
SET_TX_MODULATION,
SET_TX_CW,
SET_TX_STANDBY,
IDLE
};
StartupState startupState = StartupState::OFF;
InternalState internalState = InternalState::OFF;
/**
* This object is used to store the id of the next command to execute. This controls the
@ -216,7 +233,7 @@ class SyrlinksHkHandler : public DeviceHandlerBase {
};
template <typename T>
T SyrlinksHkHandler::convertHexStringTo32bit(const char* characters, uint8_t numberOfChars) {
T SyrlinksHandler::convertHexStringTo32bit(const char* characters, uint8_t numberOfChars) {
if (sizeof(T) < 4) {
sif::error << "SyrlinksHkHandler::convertHexStringToRaw: Only works for 32-bit conversion"
<< std::endl;
@ -244,4 +261,4 @@ T SyrlinksHkHandler::convertHexStringTo32bit(const char* characters, uint8_t num
return 0;
}
}
#endif /* MISSION_DEVICES_SYRLINKSHKHANDLER_H_ */
#endif /* MISSION_DEVICES_SYRLINKSHANDLER_H_ */

View File

@ -6,9 +6,15 @@
namespace syrlinks {
enum class ParameterId : uint8_t { DATARATE = 0 };
static constexpr uint8_t SUBSYSTEM_ID = SUBSYSTEM_ID::SYRLINKS;
static constexpr Event FDIR_REACTION_IGNORED = event::makeEvent(SUBSYSTEM_ID, 0, severity::MEDIUM);
//! [EXPORT] : [COMMENT] Transmitter is on now. P1: Submode, P2: Current default datarate.
static constexpr Event TX_ON = event::makeEvent(SUBSYSTEM_ID, 1, severity::INFO);
//! [EXPORT] : [COMMENT] Transmitter is off now.
static constexpr Event TX_OFF = event::makeEvent(SUBSYSTEM_ID, 2, severity::INFO);
static const DeviceCommandId_t NONE = 0;
static const DeviceCommandId_t RESET_UNIT = 1;
@ -31,9 +37,9 @@ static const DeviceCommandId_t TEMP_POWER_AMPLIFIER_HIGH_BYTE = 13;
static const DeviceCommandId_t TEMP_POWER_AMPLIFIER_LOW_BYTE = 14;
static const DeviceCommandId_t TEMP_BASEBAND_BOARD_HIGH_BYTE = 15;
static const DeviceCommandId_t TEMP_BASEBAND_BOARD_LOW_BYTE = 16;
static const DeviceCommandId_t CONFIG_OQPSK = 17;
static const DeviceCommandId_t SET_WAVEFORM_0QPSK = 17;
// After startup syrlinks always in BSPK configuration
static const DeviceCommandId_t CONFIG_BPSK = 18;
static const DeviceCommandId_t SET_WAVEFORM_BPSK = 18;
static const DeviceCommandId_t ENABLE_DEBUG = 20;
static const DeviceCommandId_t DISABLE_DEBUG = 21;

View File

@ -1,5 +1,48 @@
#include "ComSubsystem.h"
#include <fsfw/ipc/MutexGuard.h>
#include "mission/config/comCfg.h"
ComSubsystem::ComSubsystem(object_id_t setObjectId, uint32_t maxNumberOfSequences,
uint32_t maxNumberOfTables)
: Subsystem(setObjectId, maxNumberOfSequences, maxNumberOfTables) {}
: Subsystem(setObjectId, maxNumberOfSequences, maxNumberOfTables), paramHelper(this) {
com::setCurrentDatarate(com::Datarate::LOW_RATE_MODULATION_BPSK);
}
MessageQueueId_t ComSubsystem::getCommandQueue() const { return Subsystem::getCommandQueue(); }
ReturnValue_t ComSubsystem::getParameter(uint8_t domainId, uint8_t uniqueIdentifier,
ParameterWrapper *parameterWrapper,
const ParameterWrapper *newValues, uint16_t startAtIndex) {
if ((domainId == 0) and (uniqueIdentifier == static_cast<uint8_t>(com::ParameterId::DATARATE))) {
uint8_t newVal = 0;
ReturnValue_t result = newValues->getElement(&newVal);
if (result != returnvalue::OK) {
return result;
}
if (newVal >= static_cast<uint8_t>(com::Datarate::NUM_DATARATES)) {
return HasParametersIF::INVALID_VALUE;
}
parameterWrapper->set(datarateCfg);
com::setCurrentDatarate(static_cast<com::Datarate>(newVal));
return returnvalue::OK;
}
return returnvalue::OK;
}
ReturnValue_t ComSubsystem::handleCommandMessage(CommandMessage *message) {
ReturnValue_t result = paramHelper.handleParameterMessage(message);
if (result == returnvalue::OK) {
return result;
}
return Subsystem::handleCommandMessage(message);
}
ReturnValue_t ComSubsystem::initialize() {
ReturnValue_t result = paramHelper.initialize();
if (result != returnvalue::OK) {
return result;
}
return Subsystem::initialize();
}

View File

@ -1,13 +1,29 @@
#ifndef MISSION_SYSTEM_COMSUBSYSTEM_H_
#define MISSION_SYSTEM_COMSUBSYSTEM_H_
#include <fsfw/parameters/HasParametersIF.h>
#include <fsfw/parameters/ParameterHelper.h>
#include <fsfw/subsystem/Subsystem.h>
class ComSubsystem : public Subsystem {
#include "mission/comDefs.h"
class ComSubsystem : public Subsystem, public ReceivesParameterMessagesIF {
public:
ComSubsystem(object_id_t setObjectId, uint32_t maxNumberOfSequences, uint32_t maxNumberOfTables);
virtual ~ComSubsystem() = default;
MessageQueueId_t getCommandQueue() const override;
ReturnValue_t getParameter(uint8_t domainId, uint8_t uniqueIdentifier,
ParameterWrapper *parameterWrapper, const ParameterWrapper *newValues,
uint16_t startAtIndex) override;
private:
ReturnValue_t handleCommandMessage(CommandMessage *message) override;
ReturnValue_t initialize() override;
uint8_t datarateCfg = static_cast<uint8_t>(com::Datarate::LOW_RATE_MODULATION_BPSK);
ParameterHelper paramHelper;
};
#endif /* MISSION_SYSTEM_COMSUBSYSTEM_H_ */

View File

@ -1,2 +1,4 @@
target_sources(${LIB_EIVE_MISSION} PRIVATE acsModeTree.cpp payloadModeTree.cpp
tcsModeTree.cpp system.cpp util.cpp)
target_sources(
${LIB_EIVE_MISSION}
PRIVATE acsModeTree.cpp payloadModeTree.cpp comModeTree.cpp tcsModeTree.cpp
system.cpp util.cpp)

View File

@ -0,0 +1,281 @@
#include "comModeTree.h"
#include <fsfw/devicehandlers/DeviceHandlerIF.h>
#include <fsfw/modes/HasModesIF.h>
#include <fsfw/returnvalues/returnvalue.h>
#include <fsfw/subsystem/Subsystem.h>
#include "eive/objects.h"
#include "mission/comDefs.h"
#include "util.h"
const auto check = subsystem::checkInsert;
ComSubsystem satsystem::com::SUBSYSTEM = ComSubsystem(objects::COM_SUBSYSTEM, 12, 24);
static const auto OFF = HasModesIF::MODE_OFF;
static const auto ON = HasModesIF::MODE_ON;
static const auto NML = DeviceHandlerIF::MODE_NORMAL;
auto COM_SEQUENCE_RX_ONLY =
std::make_pair(::com::Submode::RX_ONLY, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_ONLY_TGT =
std::make_pair((::com::Submode::RX_ONLY << 24) | 1, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_ONLY_TRANS_0 =
std::make_pair((::com::Submode::RX_ONLY << 24) | 2, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_ONLY_TRANS_1 =
std::make_pair((::com::Submode::RX_ONLY << 24) | 3, FixedArrayList<ModeListEntry, 3>());
auto COM_SEQUENCE_RX_AND_TX_LOW_RATE =
std::make_pair(::com::Submode::RX_AND_TX_LOW_DATARATE, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_LOW_RATE_TGT = std::make_pair(
(::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 1, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_0 = std::make_pair(
(::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 2, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_1 = std::make_pair(
(::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 3, FixedArrayList<ModeListEntry, 3>());
auto COM_SEQUENCE_RX_AND_TX_HIGH_RATE =
std::make_pair(::com::Submode::RX_AND_TX_HIGH_DATARATE, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_HIGH_RATE_TGT = std::make_pair(
(::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 1, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_0 = std::make_pair(
(::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 2, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_1 = std::make_pair(
(::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 3, FixedArrayList<ModeListEntry, 3>());
auto COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE =
std::make_pair(::com::Submode::RX_AND_TX_DEFAULT_DATARATE, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT = std::make_pair(
(::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 1, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_0 = std::make_pair(
(::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 2, FixedArrayList<ModeListEntry, 3>());
auto COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_1 = std::make_pair(
(::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 3, FixedArrayList<ModeListEntry, 3>());
namespace {
void buildRxOnlySequence(Subsystem& ss, ModeListEntry& eh);
void buildTxAndRxLowRateSequence(Subsystem& ss, ModeListEntry& eh);
void buildTxAndRxHighRateSequence(Subsystem& ss, ModeListEntry& eh);
void buildTxAndRxDefaultRateSequence(Subsystem& ss, ModeListEntry& eh);
} // namespace
void satsystem::com::init() {
ModeListEntry entry;
buildRxOnlySequence(SUBSYSTEM, entry);
buildTxAndRxLowRateSequence(SUBSYSTEM, entry);
buildTxAndRxHighRateSequence(SUBSYSTEM, entry);
buildTxAndRxDefaultRateSequence(SUBSYSTEM, entry);
SUBSYSTEM.setInitialMode(NML, ::com::Submode::RX_ONLY);
}
namespace {
void buildRxOnlySequence(Subsystem& ss, ModeListEntry& eh) {
std::string context = "satsystem::com::buildRxOnlySequence";
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);
};
// Build RX Only table. We could track the state of the CCSDS IP core handler
// as well but I do not think this is necessary because enabling that should
// not intefere with the Syrlinks Handler.
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_ONLY, COM_TABLE_RX_ONLY_TGT.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_ONLY_TGT.first, &COM_TABLE_RX_ONLY_TGT.second)), ctxc);
// Build RX Only transition 0
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_ONLY, COM_TABLE_RX_ONLY_TRANS_0.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_ONLY_TRANS_0.first, &COM_TABLE_RX_ONLY_TRANS_0.second)),
ctxc);
// Build RX Only transition 1
iht(objects::CCSDS_HANDLER, OFF, 0, COM_TABLE_RX_ONLY_TRANS_1.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_ONLY_TRANS_1.first, &COM_TABLE_RX_ONLY_TRANS_1.second)),
ctxc);
// Build TX OFF sequence
ihs(COM_SEQUENCE_RX_ONLY.second, COM_TABLE_RX_ONLY_TGT.first, 0, true);
ihs(COM_SEQUENCE_RX_ONLY.second, COM_TABLE_RX_ONLY_TRANS_0.first, 0, false);
ihs(COM_SEQUENCE_RX_ONLY.second, COM_TABLE_RX_ONLY_TRANS_1.first, 0, false);
check(ss.addSequence(SequenceEntry(COM_SEQUENCE_RX_ONLY.first, &COM_SEQUENCE_RX_ONLY.second,
COM_SEQUENCE_RX_ONLY.first)),
ctxc);
}
void buildTxAndRxLowRateSequence(Subsystem& ss, ModeListEntry& eh) {
std::string context = "satsystem::com::buildTxAndRxLowRateSequence";
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);
};
// Build RX and TX low datarate table.
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_AND_TX_LOW_DATARATE,
COM_TABLE_RX_AND_TX_LOW_RATE_TGT.second);
iht(objects::CCSDS_HANDLER, ON, static_cast<Submode_t>(::com::CcsdsSubmode::DATARATE_LOW),
COM_TABLE_RX_AND_TX_LOW_RATE_TGT.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_LOW_RATE_TGT.first,
&COM_TABLE_RX_AND_TX_LOW_RATE_TGT.second)),
ctxc);
// Build TX and RX low datarate transition 0, switch CCSDS handler first
iht(objects::CCSDS_HANDLER, ON, static_cast<Submode_t>(::com::CcsdsSubmode::DATARATE_LOW),
COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_0.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_0.first,
&COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_0.second)),
ctxc);
// Build TX and RX low transition 1
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_AND_TX_LOW_DATARATE,
COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_1.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_1.first,
&COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_1.second)),
ctxc);
// Build TX and RX low datarate sequence
ihs(COM_SEQUENCE_RX_AND_TX_LOW_RATE.second, COM_TABLE_RX_AND_TX_LOW_RATE_TGT.first, 0, true);
ihs(COM_SEQUENCE_RX_AND_TX_LOW_RATE.second, COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_0.first, 0, false);
ihs(COM_SEQUENCE_RX_AND_TX_LOW_RATE.second, COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_1.first, 0, false);
check(ss.addSequence(SequenceEntry(COM_SEQUENCE_RX_AND_TX_LOW_RATE.first,
&COM_SEQUENCE_RX_AND_TX_LOW_RATE.second,
COM_SEQUENCE_RX_ONLY.first)),
ctxc);
}
void buildTxAndRxHighRateSequence(Subsystem& ss, ModeListEntry& eh) {
std::string context = "satsystem::com::buildTxAndRxHighRateSequence";
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);
};
// Build RX and TX high datarate table.
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_AND_TX_HIGH_DATARATE,
COM_TABLE_RX_AND_TX_HIGH_RATE_TGT.second);
iht(objects::CCSDS_HANDLER, ON, static_cast<Submode_t>(::com::CcsdsSubmode::DATARATE_HIGH),
COM_TABLE_RX_AND_TX_HIGH_RATE_TGT.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_HIGH_RATE_TGT.first,
&COM_TABLE_RX_AND_TX_HIGH_RATE_TGT.second)),
ctxc);
// Build TX and RX high datarate transition 0, switch CCSDS handler first
iht(objects::CCSDS_HANDLER, ON, static_cast<Submode_t>(::com::CcsdsSubmode::DATARATE_HIGH),
COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_0.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_0.first,
&COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_0.second)),
ctxc);
// Build TX and RX high transition 1
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_AND_TX_HIGH_DATARATE,
COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_1.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_1.first,
&COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_1.second)),
ctxc);
// Build TX and RX low datarate sequence
ihs(COM_SEQUENCE_RX_AND_TX_HIGH_RATE.second, COM_TABLE_RX_AND_TX_HIGH_RATE_TGT.first, 0, true);
ihs(COM_SEQUENCE_RX_AND_TX_HIGH_RATE.second, COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_0.first, 0,
false);
ihs(COM_SEQUENCE_RX_AND_TX_HIGH_RATE.second, COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_1.first, 0,
false);
check(ss.addSequence(SequenceEntry(COM_SEQUENCE_RX_AND_TX_HIGH_RATE.first,
&COM_SEQUENCE_RX_AND_TX_HIGH_RATE.second,
COM_SEQUENCE_RX_ONLY.first)),
ctxc);
}
void buildTxAndRxDefaultRateSequence(Subsystem& ss, ModeListEntry& eh) {
std::string context = "satsystem::com::buildTxAndRxDefaultRateSequence";
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);
};
// Build RX and TX default datarate table.
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_AND_TX_DEFAULT_DATARATE,
COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT.second);
iht(objects::CCSDS_HANDLER, ON, static_cast<Submode_t>(::com::CcsdsSubmode::DATARATE_DEFAULT),
COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT.first,
&COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT.second)),
ctxc);
// Build TX and RX low datarate transition 0, switch CCSDS handler first
iht(objects::CCSDS_HANDLER, ON, static_cast<Submode_t>(::com::CcsdsSubmode::DATARATE_DEFAULT),
COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_0.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_0.first,
&COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_0.second)),
ctxc);
// Build TX and RX default transition 1
iht(objects::SYRLINKS_HANDLER, NML, ::com::Submode::RX_AND_TX_DEFAULT_DATARATE,
COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_1.second);
check(ss.addTable(TableEntry(COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_1.first,
&COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_1.second)),
ctxc);
// Build TX and RX default datarate sequence
ihs(COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE.second, COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT.first, 0,
true);
ihs(COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE.second, COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_0.first, 0,
false);
ihs(COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE.second, COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_1.first, 0,
false);
check(ss.addSequence(SequenceEntry(COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE.first,
&COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE.second,
COM_SEQUENCE_RX_ONLY.first)),
ctxc);
}
} // namespace

View File

@ -0,0 +1,16 @@
#ifndef MISSION_SYSTEM_TREE_COMMODETREE_H_
#define MISSION_SYSTEM_TREE_COMMODETREE_H_
#include <mission/system/objects/ComSubsystem.h>
namespace satsystem {
namespace com {
extern ComSubsystem SUBSYSTEM;
void init();
} // namespace com
} // namespace satsystem
#endif /* MISSION_SYSTEM_TREE_COMMODETREE_H_ */

View File

@ -1,6 +1,7 @@
#include "system.h"
#include "acsModeTree.h"
#include "comModeTree.h"
#include "payloadModeTree.h"
#include "tcsModeTree.h"
@ -8,4 +9,5 @@ void satsystem::init() {
acs::init();
pl::init();
tcs::init();
com::init();
}

View File

@ -1,7 +1,6 @@
#ifndef MISSION_SYSTEM_TREE_TCSMODETREE_H_
#define MISSION_SYSTEM_TREE_TCSMODETREE_H_
class Subsystem;
#include <fsfw/subsystem/Subsystem.h>
namespace satsystem {
namespace tcs {

View File

@ -1,7 +1,9 @@
#include "CcsdsIpCoreHandler.h"
#include <fsfw/subsystem/helper.h>
#include <linux/ipcore/PdecHandler.h>
#include <linux/ipcore/PtmeConfig.h>
#include <mission/config/comCfg.h>
#include "eive/definitions.h"
#include "fsfw/events/EventManagerIF.h"
@ -21,6 +23,7 @@ CcsdsIpCoreHandler::CcsdsIpCoreHandler(object_id_t objectId, object_id_t ptmeId,
tcDestination(tcDestination),
parameterHelper(this),
actionHelper(this, nullptr),
modeHelper(this),
ptmeConfig(ptmeConfig),
gpioIF(gpioIF),
enTxClock(enTxClock),
@ -81,6 +84,11 @@ ReturnValue_t CcsdsIpCoreHandler::initialize() {
return result;
}
result = modeHelper.initialize();
if (result != returnvalue::OK) {
return result;
}
VirtualChannelMapIter iter;
for (iter = virtualChannelMap.begin(); iter != virtualChannelMap.end(); iter++) {
result = iter->second->initialize();
@ -127,10 +135,12 @@ ReturnValue_t CcsdsIpCoreHandler::initialize() {
return ObjectManagerIF::CHILD_INIT_FAILED;
}
transmitterCountdown.setTimeout(transmitterTimeout);
transmitterCountdown.timeOut();
#if OBSW_SYRLINKS_SIMULATED == 1
// Update data on rising edge
ptmeConfig->invertTxClock(false);
transmitterCountdown.setTimeout(transmitterTimeout);
linkState = UP;
forwardLinkstate();
#endif /* OBSW_SYRLINKS_SIMULATED == 1*/
@ -152,6 +162,10 @@ void CcsdsIpCoreHandler::readCommandQueue(void) {
if (result == returnvalue::OK) {
return;
}
result = modeHelper.handleModeCommand(&commandMessage);
if (result == returnvalue::OK) {
return;
}
CommandMessage reply;
reply.setReplyRejected(CommandMessage::UNKNOWN_COMMAND, commandMessage.getCommand());
commandQueue->reply(&reply);
@ -218,10 +232,12 @@ ReturnValue_t CcsdsIpCoreHandler::executeAction(ActionId_t actionId, MessageQueu
ReturnValue_t result = returnvalue::OK;
switch (actionId) {
case SET_LOW_RATE: {
submode = static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_LOW);
result = ptmeConfig->setRate(RATE_100KBPS);
break;
}
case SET_HIGH_RATE: {
submode = static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_HIGH);
result = ptmeConfig->setRate(RATE_500KBPS);
break;
}
@ -233,10 +249,16 @@ ReturnValue_t CcsdsIpCoreHandler::executeAction(ActionId_t actionId, MessageQueu
}
case EN_TRANSMITTER: {
enableTransmit();
if (mode == HasModesIF::MODE_OFF) {
mode = HasModesIF::MODE_ON;
}
return EXECUTION_FINISHED;
}
case DISABLE_TRANSMITTER: {
disableTransmit();
if (mode == HasModesIF::MODE_ON) {
mode = HasModesIF::MODE_OFF;
}
return EXECUTION_FINISHED;
}
case ENABLE_TX_CLK_MANIPULATOR: {
@ -328,6 +350,9 @@ void CcsdsIpCoreHandler::enableTransmit() {
gpioIF->pullHigh(enTxClock);
gpioIF->pullHigh(enTxData);
#endif
linkState = UP;
forwardLinkstate();
transmitterCountdown.resetTimer();
}
void CcsdsIpCoreHandler::checkTxTimer() {
@ -336,9 +361,69 @@ void CcsdsIpCoreHandler::checkTxTimer() {
}
if (transmitterCountdown.hasTimedOut()) {
disableTransmit();
// TODO: set mode to off (move timer to subsystem)
}
}
void CcsdsIpCoreHandler::getMode(Mode_t* mode, Submode_t* submode) {
*mode = this->mode;
*submode = this->submode;
}
ReturnValue_t CcsdsIpCoreHandler::checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t* msToReachTheMode) {
if (mode == HasModesIF::MODE_ON) {
if (submode != static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_HIGH) and
submode != static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_LOW) and
submode != static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_DEFAULT)) {
return HasModesIF::INVALID_SUBMODE;
}
} else if (mode != HasModesIF::MODE_OFF) {
return returnvalue::FAILED;
}
*msToReachTheMode = 2000;
return returnvalue::OK;
}
void CcsdsIpCoreHandler::startTransition(Mode_t mode, Submode_t submode) {
auto rateHigh = [&]() {
ReturnValue_t result = ptmeConfig->setRate(RATE_500KBPS);
if (result == returnvalue::OK) {
this->mode = HasModesIF::MODE_ON;
}
};
auto rateLow = [&]() {
ReturnValue_t result = ptmeConfig->setRate(RATE_100KBPS);
if (result == returnvalue::OK) {
this->mode = HasModesIF::MODE_ON;
}
};
if (mode == HasModesIF::MODE_ON) {
enableTransmit();
if (submode == static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_DEFAULT)) {
com::Datarate currentDatarate = com::getCurrentDatarate();
if (currentDatarate == com::Datarate::LOW_RATE_MODULATION_BPSK) {
rateLow();
} else if (currentDatarate == com::Datarate::HIGH_RATE_MODULATION_0QPSK) {
rateHigh();
}
} else if (submode == static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_HIGH)) {
rateHigh();
} else if (submode == static_cast<Submode_t>(com::CcsdsSubmode::DATARATE_LOW)) {
rateLow();
}
} else if (mode == HasModesIF::MODE_OFF) {
disableTransmit();
this->mode = HasModesIF::MODE_OFF;
}
this->submode = submode;
modeHelper.modeChanged(mode, submode);
announceMode(false);
}
void CcsdsIpCoreHandler::announceMode(bool recursive) { triggerEvent(MODE_INFO, mode, submode); }
void CcsdsIpCoreHandler::disableTransmit() {
#ifndef TE0720_1CFA
gpioIF->pullLow(enTxClock);
@ -346,7 +431,19 @@ void CcsdsIpCoreHandler::disableTransmit() {
#endif
linkState = DOWN;
forwardLinkstate();
transmitterCountdown.setTimeout(0);
transmitterCountdown.timeOut();
}
const char* CcsdsIpCoreHandler::getName() const { return "CCSDS Handler"; }
const HasHealthIF* CcsdsIpCoreHandler::getOptHealthIF() const { return nullptr; }
const HasModesIF& CcsdsIpCoreHandler::getModeIF() const { return *this; }
ReturnValue_t CcsdsIpCoreHandler::connectModeTreeParent(HasModeTreeChildrenIF& parent) {
return modetree::connectModeTreeParent(parent, *this, nullptr, modeHelper);
}
ModeTreeChildIF& CcsdsIpCoreHandler::getModeTreeChildIF() { return *this; }
object_id_t CcsdsIpCoreHandler::getObjectId() const { return SystemObject::getObjectId(); }

View File

@ -1,6 +1,8 @@
#ifndef CCSDSHANDLER_H_
#define CCSDSHANDLER_H_
#include <fsfw/modes/HasModesIF.h>
#include <cstdint>
#include <unordered_map>
@ -13,6 +15,7 @@
#include "fsfw/objectmanager/SystemObject.h"
#include "fsfw/parameters/ParameterHelper.h"
#include "fsfw/returnvalues/returnvalue.h"
#include "fsfw/subsystem/ModeTreeConnectionIF.h"
#include "fsfw/tasks/ExecutableObjectIF.h"
#include "fsfw/timemanager/Countdown.h"
#include "fsfw/tmtcservices/AcceptsTelecommandsIF.h"
@ -20,6 +23,7 @@
#include "fsfw_hal/common/gpio/GpioIF.h"
#include "fsfw_hal/common/gpio/gpioDefinitions.h"
#include "linux/ipcore/PtmeConfig.h"
#include "mission/comDefs.h"
/**
* @brief This class handles the data exchange with the CCSDS IP cores implemented in the
@ -32,6 +36,9 @@
*/
class CcsdsIpCoreHandler : public SystemObject,
public ExecutableObjectIF,
public ModeTreeChildIF,
public ModeTreeConnectionIF,
public HasModesIF,
public AcceptsTelemetryIF,
public AcceptsTelecommandsIF,
public ReceivesParameterMessagesIF,
@ -59,7 +66,14 @@ class CcsdsIpCoreHandler : public SystemObject,
ReturnValue_t performOperation(uint8_t operationCode = 0) override;
ReturnValue_t initialize();
MessageQueueId_t getCommandQueue() const;
MessageQueueId_t getCommandQueue() const override;
// ModesIF
void getMode(Mode_t* mode, Submode_t* submode) override;
ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t* msToReachTheMode) override;
void startTransition(Mode_t mode, Submode_t submode) override;
void announceMode(bool recursive) override;
/**
* @brief Function to add a virtual channel
@ -80,6 +94,11 @@ class CcsdsIpCoreHandler : public SystemObject,
virtual ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
const uint8_t* data, size_t size);
const HasHealthIF* getOptHealthIF() const override;
const HasModesIF& getModeIF() const override;
object_id_t getObjectId() const override;
ReturnValue_t connectModeTreeParent(HasModeTreeChildrenIF& parent) override;
ModeTreeChildIF& getModeTreeChildIF() override;
private:
static const uint8_t INTERFACE_ID = CLASS_ID::CCSDS_HANDLER;
@ -126,6 +145,9 @@ class CcsdsIpCoreHandler : public SystemObject,
ParameterHelper parameterHelper;
ActionHelper actionHelper;
Mode_t mode = HasModesIF::MODE_OFF;
Submode_t submode = static_cast<Submode_t>(com::CcsdsSubmode::UNSET);
ModeHelper modeHelper;
MessageQueueId_t tcDistributorQueueId = MessageQueueIF::NO_QUEUE;

2
tmtc

@ -1 +1 @@
Subproject commit 49ccb4be8d42d6916be00ff9d8462a1f65481a6c
Subproject commit 28c367c6fb959b180fa5ead858e508178454891e