eive-obsw/linux/fsfwconfig/FSFWConfig.h.in

84 lines
3.0 KiB
C
Raw Permalink Normal View History

2021-01-07 20:41:33 +01:00
#ifndef CONFIG_FSFWCONFIG_H_
#define CONFIG_FSFWCONFIG_H_
2020-09-30 20:52:51 +02:00
2020-11-02 16:45:35 +01:00
#include <cstddef>
2020-12-27 16:56:51 +01:00
#include <cstdint>
2020-09-30 20:52:51 +02:00
2022-09-14 12:47:15 +02:00
// It is assumed the user has a subsystem and class ID list in some user header files.
#include "events/subsystemIdRanges.h"
#include "returnvalues/classIds.h"
2021-01-07 20:41:33 +01:00
//! Used to determine whether C++ ostreams are used which can increase
//! the binary size significantly. If this is disabled,
//! the C stdio functions can be used alternatively
2021-01-14 12:07:11 +01:00
#define FSFW_CPP_OSTREAM_ENABLED 1
2020-09-30 20:52:51 +02:00
2021-01-14 12:07:11 +01:00
//! More FSFW related printouts depending on level. Useful for development.
#define FSFW_VERBOSE_LEVEL 1
2020-09-30 20:52:51 +02:00
2021-01-07 20:41:33 +01:00
//! Can be used to completely disable printouts, even the C stdio ones.
2021-01-14 12:07:11 +01:00
#if FSFW_CPP_OSTREAM_ENABLED == 0 && FSFW_VERBOSE_LEVEL == 0
#define FSFW_DISABLE_PRINTOUT 0
2021-01-07 20:41:33 +01:00
#endif
2021-04-24 23:41:27 +02:00
#define FSFW_USE_PUS_C_TELEMETRY 1
2021-06-21 16:54:33 +02:00
#define FSFW_USE_PUS_C_TELECOMMANDS 1
2021-01-07 20:41:33 +01:00
//! Can be used to disable the ANSI color sequences for C stdio.
#define FSFW_COLORED_OUTPUT 1
2020-11-02 16:45:35 +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)
2021-05-17 19:49:29 +02:00
#define FSFW_OBJ_EVENT_TRANSLATION 1
2020-11-02 16:45:35 +01:00
#if FSFW_OBJ_EVENT_TRANSLATION == 1
//! Specify whether info events are printed too.
2023-02-13 01:26:30 +01:00
#define FSFW_DEBUG_INFO @FSFW_DEBUG_INFO@
2021-01-07 20:41:33 +01:00
#include "objects/translateObjects.h"
#include "events/translateEvents.h"
2020-11-02 16:45:35 +01:00
#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.
2022-10-25 18:20:21 +02:00
#define FSFW_NO_C99_IO 0
2021-01-07 20:41:33 +01:00
//! Specify whether a special mode store is used for Subsystem components.
#define FSFW_USE_MODESTORE 0
2020-11-02 16:45:35 +01:00
//! Defines if the real time scheduler for linux should be used.
//! If set to 0, this will also disable priority settings for linux
//! as most systems will not allow to set nice values without privileges
//! For embedded linux system set this to 1.
//! If set to 1 the binary needs "cap_sys_nice=eip" privileges to run
#define FSFW_USE_REALTIME_FOR_LINUX 1
2020-11-02 16:45:35 +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 = 7;
2020-11-02 16:45:35 +01:00
//! 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;
2020-12-27 16:56:51 +01:00
//! 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 = 6;
2021-01-07 20:41:33 +01:00
static constexpr size_t FSFW_PRINT_BUFFER_SIZE = 124;
2021-06-21 16:54:33 +02:00
static constexpr size_t FSFW_MAX_TM_PACKET_SIZE = 2048;
2020-11-02 16:45:35 +01:00
}
2020-09-30 20:52:51 +02:00
2021-09-25 16:38:39 +02:00
#define FSFW_HAL_SPI_WIRETAPPING 0
2022-02-03 13:37:48 +01:00
#define FSFW_HAL_I2C_WIRETAPPING 0
2021-09-07 12:00:22 +02:00
#define FSFW_DEV_HYPERION_GPS_CREATE_NMEA_CSV 0
2021-09-16 17:33:47 +02:00
2021-01-07 20:41:33 +01:00
#endif /* CONFIG_FSFWCONFIG_H_ */