95 lines
4.3 KiB
C++
95 lines
4.3 KiB
C++
#ifndef COMMON_CONFIG_DEFINITIONS_H_
|
|
#define COMMON_CONFIG_DEFINITIONS_H_
|
|
|
|
#include <cstdint>
|
|
|
|
namespace config {
|
|
|
|
static constexpr char SD_0_MOUNT_POINT[] = "/mnt/sd0";
|
|
static constexpr char SD_1_MOUNT_POINT[] = "/mnt/sd1";
|
|
|
|
static constexpr char OBSW_UPDATE_ARCHIVE_FILE_NAME[] = "eive-sw-update.tar.xz";
|
|
static constexpr char STRIPPED_OBSW_BINARY_FILE_NAME[] = "eive-obsw-stripped";
|
|
static constexpr char OBSW_VERSION_FILE_NAME[] = "obsw_version.txt";
|
|
|
|
static constexpr char OBSW_PATH[] = "/usr/bin/eive-obsw";
|
|
static constexpr char OBSW_VERSION_FILE_PATH[] = "/usr/share/eive-obsw/obsw_version.txt";
|
|
|
|
static constexpr uint16_t EIVE_PUS_APID = 0x65;
|
|
static constexpr uint16_t EIVE_CFDP_APID = 0x66;
|
|
static constexpr uint16_t EIVE_LOCAL_CFDP_ENTITY_ID = EIVE_CFDP_APID;
|
|
static constexpr uint16_t EIVE_GROUND_CFDP_ENTITY_ID = 1;
|
|
|
|
static constexpr uint32_t PL_PCDU_TRANSITION_TIMEOUT_MS = 20 * 60 * 1000;
|
|
static constexpr uint32_t LONGEST_MODE_TIMEOUT_SECONDS = PL_PCDU_TRANSITION_TIMEOUT_MS / 1000;
|
|
|
|
/* Add mission configuration flags here */
|
|
static constexpr uint32_t OBSW_FILESYSTEM_HANDLER_QUEUE_SIZE = 50;
|
|
static constexpr uint32_t PLOC_UPDATER_QUEUE_SIZE = 50;
|
|
static constexpr uint32_t STR_IMG_HELPER_QUEUE_SIZE = 50;
|
|
|
|
static constexpr uint8_t LIVE_TM = 0;
|
|
|
|
/* Limits for filename and path checks */
|
|
static constexpr uint32_t MAX_PATH_SIZE = 100;
|
|
static constexpr uint32_t MAX_FILENAME_SIZE = 50;
|
|
|
|
static constexpr uint32_t SA_DEPL_INIT_BUFFER_SECS = 120;
|
|
// Burn time for autonomous deployment
|
|
static constexpr uint32_t SA_DEPL_BURN_TIME_SECS = 180;
|
|
static constexpr uint32_t SA_DEPL_WAIT_TIME_SECS = 45 * 60;
|
|
// HW constraints (current limit) mean that the GPIO channels need to be switched on in alternation
|
|
static constexpr uint32_t LEGACY_SA_DEPL_CHANNEL_ALTERNATION_INTERVAL_SECS = 5;
|
|
// Maximum allowed burn time allowed by the software.
|
|
static constexpr uint32_t SA_DEPL_MAX_BURN_TIME = 180;
|
|
|
|
static constexpr uint32_t CCSDS_HANDLER_QUEUE_SIZE = 50;
|
|
static constexpr uint8_t NUMBER_OF_VIRTUAL_CHANNELS = 4;
|
|
static constexpr uint32_t VC0_LIVE_TM_QUEUE_SIZE = 300;
|
|
// There are three individual log stores!
|
|
static constexpr uint32_t MISC_STORE_QUEUE_SIZE = 200;
|
|
static constexpr uint32_t OK_STORE_QUEUE_SIZE = 350;
|
|
static constexpr uint32_t NOK_STORE_QUEUE_SIZE = 350;
|
|
static constexpr uint32_t HK_STORE_QUEUE_SIZE = 300;
|
|
static constexpr uint32_t CFDP_STORE_QUEUE_SIZE = 300;
|
|
|
|
static constexpr uint32_t MAX_PUS_FUNNEL_QUEUE_DEPTH = 100;
|
|
static constexpr uint32_t MAX_CFDP_FUNNEL_QUEUE_DEPTH = 80;
|
|
|
|
static constexpr uint32_t MAX_STORED_CMDS_UDP = 150;
|
|
static constexpr uint32_t MAX_STORED_CMDS_TCP = 180;
|
|
|
|
namespace spiSched {
|
|
|
|
static constexpr uint32_t SCHED_BLOCK_1_SUS_READ_MS = 15;
|
|
static constexpr uint32_t SCHED_BLOCK_2_SENSOR_READ_MS = 30;
|
|
static constexpr uint32_t SCHED_BLOCK_3_READ_IMTQ_MGM_MS = 43;
|
|
static constexpr uint32_t SCHED_BLOCK_4_ACS_CTRL_MS = 45;
|
|
static constexpr uint32_t SCHED_BLOCK_5_ACTUATOR_MS = 55;
|
|
static constexpr uint32_t SCHED_BLOCK_6_IMTQ_BLOCK_2_MS = 105;
|
|
static constexpr uint32_t SCHED_BLOCK_RTD = 150;
|
|
static constexpr uint32_t SCHED_BLOCK_7_RW_READ_MS = 300;
|
|
static constexpr uint32_t SCHED_BLOCK_8_PLPCDU_MS = 320;
|
|
static constexpr uint32_t SCHED_BLOCK_9_RAD_SENS_MS = 340;
|
|
|
|
// 15 ms for FM
|
|
static constexpr float SCHED_BLOCK_1_PERIOD = static_cast<float>(SCHED_BLOCK_1_SUS_READ_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_2_PERIOD =
|
|
static_cast<float>(SCHED_BLOCK_2_SENSOR_READ_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_3_PERIOD =
|
|
static_cast<float>(SCHED_BLOCK_3_READ_IMTQ_MGM_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_4_PERIOD = static_cast<float>(SCHED_BLOCK_4_ACS_CTRL_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_5_PERIOD = static_cast<float>(SCHED_BLOCK_5_ACTUATOR_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_6_PERIOD =
|
|
static_cast<float>(SCHED_BLOCK_6_IMTQ_BLOCK_2_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_RTD_PERIOD = static_cast<float>(SCHED_BLOCK_RTD) / 400.0;
|
|
static constexpr float SCHED_BLOCK_7_PERIOD = static_cast<float>(SCHED_BLOCK_7_RW_READ_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_8_PERIOD = static_cast<float>(SCHED_BLOCK_8_PLPCDU_MS) / 400.0;
|
|
static constexpr float SCHED_BLOCK_9_PERIOD = static_cast<float>(SCHED_BLOCK_9_RAD_SENS_MS) / 400.0;
|
|
|
|
} // namespace spiSched
|
|
|
|
} // namespace config
|
|
|
|
#endif /* COMMON_CONFIG_DEFINITIONS_H_ */
|