diff --git a/mission/controller/AcsController.h b/mission/controller/AcsController.h index 246506b9..4fa00283 100644 --- a/mission/controller/AcsController.h +++ b/mission/controller/AcsController.h @@ -8,6 +8,7 @@ #include "fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h" #include "fsfw_hal/devicehandlers/MgmRM3100Handler.h" #include "mission/devices/devicedefinitions/IMTQHandlerDefinitions.h" +#include "mission/devices/devicedefinitions/SusDefinitions.h" class AcsController : public ExtendedControllerBase { public: @@ -54,9 +55,25 @@ class AcsController : public ExtendedControllerBase { void copyMgmData(); + + // Sun Sensors + std::array susSets { + SUS::SusDataset(objects::SUS_0_N_LOC_XFYFZM_PT_XF), + SUS::SusDataset(objects::SUS_1_N_LOC_XBYFZM_PT_XB), + SUS::SusDataset(objects::SUS_2_N_LOC_XFYBZB_PT_YB), + SUS::SusDataset(objects::SUS_3_N_LOC_XFYBZF_PT_YF), + SUS::SusDataset(objects::SUS_4_N_LOC_XMYFZF_PT_ZF), + SUS::SusDataset(objects::SUS_5_N_LOC_XFYMZB_PT_ZB), + SUS::SusDataset(objects::SUS_6_R_LOC_XFYBZM_PT_XF), + SUS::SusDataset(objects::SUS_7_R_LOC_XBYBZM_PT_XB), + SUS::SusDataset(objects::SUS_8_R_LOC_XBYBZB_PT_YB), + SUS::SusDataset(objects::SUS_9_R_LOC_XBYBZB_PT_YF), + SUS::SusDataset(objects::SUS_10_N_LOC_XMYBZF_PT_ZF), + SUS::SusDataset(objects::SUS_11_R_LOC_XBYMZB_PT_ZB), + }; + // Initial delay to make sure all pool variables have been initialized their owners Countdown initialCountdown = Countdown(INIT_DELAY); - // Sun Sensors }; #endif /* MISSION_CONTROLLER_ACSCONTROLLER_H_ */ diff --git a/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h b/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h index cec18a63..c3a97f0d 100644 --- a/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h +++ b/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h @@ -8,7 +8,10 @@ namespace acsctrl { -enum SetIds : uint32_t { MGM_SENSOR_DATA }; +enum SetIds : uint32_t { + MGM_SENSOR_DATA, + SUS_SENSOR_DATA +}; enum PoolIds : lp_id_t { MGM_0_LIS3_UT, @@ -16,10 +19,29 @@ enum PoolIds : lp_id_t { MGM_2_LIS3_UT, MGM_3_RM3100_UT, MGM_IMTQ_CAL_NT, - MGM_IMTQ_CAL_ACT_STATUS + MGM_IMTQ_CAL_ACT_STATUS, + + SUS_0_N_LOC_XFYFZM_PT_XF, + SUS_6_R_LOC_XFYBZM_PT_XF, + + SUS_1_N_LOC_XBYFZM_PT_XB, + SUS_7_R_LOC_XBYBZM_PT_XB, + + SUS_2_N_LOC_XFYBZB_PT_YB, + SUS_8_R_LOC_XBYBZB_PT_YB, + + SUS_3_N_LOC_XFYBZF_PT_YF, + SUS_9_R_LOC_XBYBZB_PT_YF, + + SUS_4_N_LOC_XMYFZF_PT_ZF, + SUS_10_N_LOC_XMYBZF_PT_ZF, + + SUS_5_N_LOC_XFYMZB_PT_ZB, + SUS_11_R_LOC_XBYMZB_PT_ZB, }; static constexpr uint8_t MGM_SET_ENTRIES = 10; +static constexpr uint8_t SUS_SET_ENTRIES = 12; /** * @brief This dataset can be used to store the collected temperatures of all temperature sensors @@ -41,6 +63,13 @@ class MgmData : public StaticLocalDataSet { private: }; + +class SusData: public StaticLocalDataSet { +public: + SusData(HasLocalDataPoolIF* hkOwner) : StaticLocalDataSet(hkOwner, SUS_SENSOR_DATA) {} +private: +}; + } // namespace acsctrl #endif /* MISSION_CONTROLLER_CONTROLLERDEFINITIONS_ACSCTRLDEFINITIONS_H_ */