2020-10-20 17:11:23 +02:00
|
|
|
#ifndef CONFIG_FSFWCONFIG_H_
|
|
|
|
#define CONFIG_FSFWCONFIG_H_
|
|
|
|
|
2020-12-22 13:25:50 +01:00
|
|
|
#include <cstddef>
|
|
|
|
#include <cstdint>
|
2020-10-20 17:11:23 +02:00
|
|
|
|
|
|
|
//! Used to determine whether C++ ostreams are used
|
|
|
|
//! Those can lead to code bloat.
|
|
|
|
#define FSFW_CPP_OSTREAM_ENABLED 1
|
|
|
|
|
2020-12-22 13:25:50 +01:00
|
|
|
//! Reduced printout to further decrease code size
|
2020-10-20 17:11:23 +02:00
|
|
|
//! Be careful, this also turns off most diagnostic prinouts!
|
2020-12-22 13:25:50 +01:00
|
|
|
#define FSFW_ENHANCED_PRINTOUT 0
|
2020-10-20 17:11:23 +02:00
|
|
|
|
2020-12-22 13:25:50 +01:00
|
|
|
//! Can be used to enable additional debugging printouts for developing the FSFW
|
|
|
|
#define FSFW_PRINT_VERBOSITY_LEVEL 0
|
2020-10-29 12:23:27 +01:00
|
|
|
|
|
|
|
//! 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 0
|
|
|
|
|
|
|
|
#if FSFW_OBJ_EVENT_TRANSLATION == 1
|
2020-12-22 13:25:50 +01:00
|
|
|
#define FSFW_DEBUG_OUTPUT 1
|
2020-10-20 17:11:23 +02:00
|
|
|
//! Specify whether info events are printed too.
|
2020-12-22 13:25:50 +01:00
|
|
|
#define FSFW_DEBUG_INFO 1
|
|
|
|
#include "objects/translateObjects.h"
|
|
|
|
#include "events/translateEvents.h"
|
2020-10-20 17:11:23 +02:00
|
|
|
#else
|
2020-12-22 13:25:50 +01:00
|
|
|
#define FSFW_DEBUG_OUTPUT 0
|
2020-10-20 17:11:23 +02:00
|
|
|
#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.
|
2020-12-22 13:25:50 +01:00
|
|
|
#define FSFW_NO_C99_IO 1
|
|
|
|
|
|
|
|
//! Specify whether a special mode store is used for Subsystem components.
|
|
|
|
#define FSFW_USE_MODESTORE 0
|
2020-10-20 17:11:23 +02:00
|
|
|
|
2020-12-22 13:25:50 +01:00
|
|
|
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;
|
|
|
|
}
|
2020-10-20 17:11:23 +02:00
|
|
|
|
|
|
|
#endif /* CONFIG_FSFWCONFIG_H_ */
|