/** * @brief This file can be used to add preprocessor define for conditional * code inclusion exclusion or various other project constants and * properties in one place. */ #ifndef FSFWCONFIG_OBSWCONFIG_H_ #define FSFWCONFIG_OBSWCONFIG_H_ #cmakedefine RASPBERRY_PI #cmakedefine XIPHOS_Q7S #cmakedefine BEAGLEBONEBLACK #cmakedefine EGSE #ifdef RASPBERRY_PI #include "rpiConfig.h" #elif defined(XIPHOS_Q7S) #include "q7sConfig.h" #endif #include "commonConfig.h" #include "OBSWVersion.h" /* These defines should be disabled for mission code but are useful for debugging. */ #define OBSW_VERBOSE_LEVEL 1 //! Board defines #define BOARD_TE0720 0 /*******************************************************************/ /** All of the following flags should be enabled for mission code */ /*******************************************************************/ //! Timers can mess up the code when debugging //! All of this should be enabled for mission code! #if defined XIPHOS_Q7S #define Q7S_EM 0 #define OBSW_USE_CCSDS_IP_CORE 1 // Set to 1 if all telemetry should be sent to the PTME IP Core #define OBSW_TM_TO_PTME 0 // Set to 1 if telecommands are received via the PDEC IP Core #define OBSW_TC_FROM_PDEC 0 #define OBSW_ENABLE_TIMERS 1 #define OBSW_ADD_MGT 1 #define OBSW_ADD_BPX_BATTERY_HANDLER 1 #define OBSW_ADD_STAR_TRACKER 0 #define OBSW_ADD_PLOC_SUPERVISOR 0 #define OBSW_ADD_PLOC_MPSOC 0 #define OBSW_ADD_SUN_SENSORS 0 #define OBSW_ADD_ACS_BOARD 1 #define OBSW_ADD_ACS_HANDLERS 1 #define OBSW_ADD_RW 0 #define OBSW_ADD_RTD_DEVICES 1 #define OBSW_ADD_TMP_DEVICES 0 #define OBSW_ADD_RAD_SENSORS 0 #define OBSW_ADD_PL_PCDU 0 #define OBSW_ADD_SYRLINKS 0 #define OBSW_ENABLE_SYRLINKS_TRANSMIT_TIMEOUT 0 #define OBSW_STAR_TRACKER_GROUND_CONFIG 1 #define OBSW_ENABLE_PERIODIC_HK 0 // This is a really tricky switch.. It initializes the PCDU switches to their default states // at powerup. I think it would be better // to leave it off for now. It makes testing a lot more difficult and it might mess with // something the operators might want to do by giving the software too much intelligence // at the wrong place. The system component might command all the Switches accordingly anyway #define OBSW_INITIALIZE_SWITCHES 0 #endif #ifdef EGSE #define OBSW_ADD_STAR_TRACKER 1 #endif /*******************************************************************/ /** All of the following flags should be disabled for mission code */ /*******************************************************************/ // Can be used to switch device to NORMAL mode immediately #define OBSW_SWITCH_TO_NORMAL_MODE_AFTER_STARTUP 1 #define OBSW_PRINT_MISSED_DEADLINES 1 #define OBSW_SYRLINKS_SIMULATED 1 #define OBSW_ADD_TEST_CODE 0 #define OBSW_ADD_TEST_TASK 0 #define OBSW_ADD_TEST_PST 0 // If this is enabled, all other SPI code should be disabled #define OBSW_ADD_SPI_TEST_CODE 0 // If this is enabled, all other I2C code should be disabled #define OBSW_ADD_I2C_TEST_CODE 0 #define OBSW_ADD_UART_TEST_CODE 0 #define OBSW_TEST_ACS 0 #define OBSW_TEST_ACS_BOARD_ASS 0 #define OBSW_DEBUG_ACS 0 #define OBSW_TEST_SUS 0 #define OBSW_DEBUG_SUS 0 #define OBSW_TEST_RTD 0 #define OBSW_DEBUG_RTD 0 #define OBSW_TEST_RAD_SENSOR 0 #define OBSW_DEBUG_RAD_SENSOR 0 #define OBSW_TEST_PL_PCDU 0 #define OBSW_DEBUG_PL_PCDU 0 #define OBSW_TEST_BPX_BATT 0 #define OBSW_DEBUG_BPX_BATT 0 #define OBSW_TEST_LIBGPIOD 0 #define OBSW_TEST_PLOC_HANDLER 0 #define OBSW_TEST_CCSDS_BRIDGE 0 #define OBSW_TEST_CCSDS_PTME 0 #define OBSW_TEST_TE7020_HEATER 0 #define OBSW_TEST_GPIO_OPEN_BY_LABEL 0 #define OBSW_TEST_GPIO_OPEN_BY_LINE_NAME 0 #define OBSW_DEBUG_P60DOCK 0 #define OBSW_PRINT_CORE_HK 0 #define OBSW_DEBUG_PDU1 0 #define OBSW_DEBUG_PDU2 0 #define OBSW_DEBUG_GPS 0 #define OBSW_DEBUG_ACU 0 #define OBSW_DEBUG_SYRLINKS 0 #define OBSW_DEBUG_IMTQ 0 #define OBSW_DEBUG_RW 0 #define OBSW_DEBUG_PLOC_MPSOC 0 #define OBSW_DEBUG_PLOC_SUPERVISOR 0 #define OBSW_DEBUG_PDEC_HANDLER 0 #ifdef EGSE #define OBSW_DEBUG_STARTRACKER 1 #else #define OBSW_DEBUG_STARTRACKER 0 #endif #ifdef RASPBERRY_PI #define OBSW_ENABLE_TIMERS 1 #define OBSW_ADD_STAR_TRACKER 0 #define OBSW_ADD_PLOC_SUPERVISOR 0 #define OBSW_ADD_PLOC_MPSOC 0 #define OBSW_ADD_SUN_SENSORS 0 #define OBSW_ADD_ACS_BOARD 0 #define OBSW_ADD_GPS_0 0 #define OBSW_ADD_GPS_1 0 #define OBSW_ADD_RW 0 #define OBSW_ADD_RTD_DEVICES 0 #define OBSW_ADD_TMP_DEVICES 0 #define OBSW_ADD_RAD_SENSORS 0 #define OBSW_ADD_SYRLINKS 0 #endif /*******************************************************************/ /** CMake Defines */ /*******************************************************************/ #cmakedefine EIVE_BUILD_GPSD_GPS_HANDLER #include "OBSWVersion.h" #ifdef __cplusplus #include "objects/systemObjectList.h" #include "events/subsystemIdRanges.h" #include "returnvalues/classIds.h" namespace config { #endif /* 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; #ifdef __cplusplus } #endif #endif /* FSFWCONFIG_OBSWCONFIG_H_ */