#ifndef MISSION_CONTROLLER_CONTROLLERDEFINITIONS_POWERCTRLDEFINITIONS_H_ #define MISSION_CONTROLLER_CONTROLLERDEFINITIONS_POWERCTRLDEFINITIONS_H_ #include #include #include #include #include namespace pwrctrl { enum SetIds : uint32_t { CORE_HK, ENABLE_PL }; enum PoolIds : lp_id_t { TOTAL_BATTERY_CURRENT, OPEN_CIRCUIT_VOLTAGE_CHARGE, COULOMB_COUNTER_CHARGE, PAYLOAD_FLAG }; static constexpr uint8_t CORE_HK_ENTRIES = 3; static constexpr uint8_t ENABLE_PL_ENTRIES = 1; class CoreHk : public StaticLocalDataSet { public: CoreHk(HasLocalDataPoolIF* hkOwner) : StaticLocalDataSet(hkOwner, CORE_HK) {} lp_var_t totalBatteryCurrent = lp_var_t(sid.objectId, TOTAL_BATTERY_CURRENT, this); lp_var_t openCircuitVoltageCharge = lp_var_t(sid.objectId, OPEN_CIRCUIT_VOLTAGE_CHARGE, this); lp_var_t coulombCounterCharge = lp_var_t(sid.objectId, COULOMB_COUNTER_CHARGE, this); private: }; class EnablePl : public StaticLocalDataSet { public: EnablePl(HasLocalDataPoolIF* hkOwner) : StaticLocalDataSet(hkOwner, ENABLE_PL) {} EnablePl(object_id_t objectId) : StaticLocalDataSet(sid_t(objectId, ENABLE_PL)) {} lp_var_t plUseAllowed = lp_var_t(sid.objectId, PAYLOAD_FLAG, this); private: }; } // namespace pwrctrl #endif /* MISSION_CONTROLLER_CONTROLLERDEFINITIONS_POWERCTRLDEFINITIONS_H_ */