43 lines
1.6 KiB
C
43 lines
1.6 KiB
C
|
#ifndef MISSION_CONTROLLER_CONTROLLERDEFINITIONS_THERMALCONTROLLERDEFINITIONS_H_
|
||
|
#define MISSION_CONTROLLER_CONTROLLERDEFINITIONS_THERMALCONTROLLERDEFINITIONS_H_
|
||
|
|
||
|
#include <fsfw/datapoollocal/LocalPoolVariable.h>
|
||
|
#include <fsfw/datapoollocal/StaticLocalDataSet.h>
|
||
|
|
||
|
namespace thermalControllerDefinitions {
|
||
|
|
||
|
enum SetIds : uint32_t { SENSOR_TEMPERATURES, COMPONENT_TEMPERATURES };
|
||
|
|
||
|
enum PoolIds : lp_id_t { SENSOR_RW, SENSOR_GPS, COMPONENT_RW };
|
||
|
|
||
|
/**
|
||
|
* @brief This dataset can be used to store the collected temperatures of all temperature sensors
|
||
|
*/
|
||
|
class SensorTemperatures : public StaticLocalDataSet<2> {
|
||
|
public:
|
||
|
SensorTemperatures(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, SENSOR_TEMPERATURES) {}
|
||
|
|
||
|
SensorTemperatures(object_id_t objectId)
|
||
|
: StaticLocalDataSet(sid_t(objectId, SENSOR_TEMPERATURES)) {}
|
||
|
|
||
|
lp_var_t<float> rw = lp_var_t<float>(sid.objectId, PoolIds::SENSOR_RW, this);
|
||
|
lp_var_t<float> gps = lp_var_t<float>(sid.objectId, PoolIds::SENSOR_GPS, this);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* @brief This dataset can be used to store the collected temperatures of all components
|
||
|
*/
|
||
|
class ComponentTemperatures : public StaticLocalDataSet<2> {
|
||
|
public:
|
||
|
ComponentTemperatures(HasLocalDataPoolIF* owner)
|
||
|
: StaticLocalDataSet(owner, SENSOR_TEMPERATURES) {}
|
||
|
|
||
|
ComponentTemperatures(object_id_t objectId)
|
||
|
: StaticLocalDataSet(sid_t(objectId, SENSOR_TEMPERATURES)) {}
|
||
|
|
||
|
lp_var_t<float> rw = lp_var_t<float>(sid.objectId, PoolIds::COMPONENT_RW, this);
|
||
|
};
|
||
|
|
||
|
} // namespace thermalControllerDefinitions
|
||
|
|
||
|
#endif /* MISSION_CONTROLLER_CONTROLLERDEFINITIONS_THERMALCONTROLLERDEFINITIONS_H_ */
|