#ifndef FSFWCONFIG_FSFWCONFIG_H_ #define FSFWCONFIG_FSFWCONFIG_H_ #include #include //! Used to determine whether C++ ostreams are used //! Those can lead to code bloat. #define FSFW_CPP_OSTREAM_ENABLED 1 //! Reduced printout to further decrease code size //! Be careful, this also turns off most diagnostic prinouts! #define FSFW_ENHANCED_PRINTOUT 0 //! Can be used to enable additional debugging printouts for developing the FSFW #define FSFW_PRINT_VERBOSITY_LEVEL 0 //! If FSFW_OBJ_EVENT_TRANSLATION is set to one, //! additional output which requires the translation files translateObjects //! and translateEvents (and their compiled source files) #define FSFW_OBJ_EVENT_TRANSLATION 1 #if FSFW_OBJ_EVENT_TRANSLATION == 1 //! Specify whether info events are printed too. #define FSFW_DEBUG_INFO 1 #include #include #else #endif //! When using the newlib nano library, C99 support for stdio facilities //! will not be provided. This define should be set to 1 if this is the case. #define FSFW_NO_C99_IO 1 //! Specify whether a special mode store is used for Subsystem components. #define FSFW_USE_MODESTORE 0 namespace fsfwconfig { //! Default timestamp size. The default timestamp will be an eight byte CDC //! short timestamp. static constexpr uint8_t FSFW_MISSION_TIMESTAMP_SIZE = 8; //! Configure the allocated pool sizes for the event manager. static constexpr size_t FSFW_EVENTMGMR_MATCHTREE_NODES = 240; static constexpr size_t FSFW_EVENTMGMT_EVENTIDMATCHERS = 120; static constexpr size_t FSFW_EVENTMGMR_RANGEMATCHERS = 120; //! Defines the FIFO depth of each commanding service base which //! also determines how many commands a CSB service can handle in one cycle //! simulataneously. This will increase the required RAM for //! each CSB service ! static constexpr uint8_t FSFW_CSB_FIFO_DEPTH = 3; } #endif /* FSFWCONFIG_FSFWCONFIG_H_ */