eive-obsw/mission/controller/ThermalController.h
Ulrich Mohr b878508fec
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Thermal COntroller collecting Sus Temperatures
2022-05-24 16:52:21 +02:00

75 lines
2.8 KiB
C++

#ifndef MISSION_CONTROLLER_THERMALCONTROLLER_H_
#define MISSION_CONTROLLER_THERMALCONTROLLER_H_
#include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/controller/controllerdefinitions/ThermalControllerDefinitions.h>
#include <mission/devices/devicedefinitions/Max31865Definitions.h>
#include <mission/devices/devicedefinitions/SusDefinitions.h>
#include <mission/devices/devicedefinitions/Tmp1075Definitions.h>
class ThermalController : public ExtendedControllerBase {
public:
static const uint16_t INVALID_TEMPERATURE = 999;
ThermalController(object_id_t objectId, object_id_t parentId);
ReturnValue_t initialize() override;
protected:
virtual ReturnValue_t handleCommandMessage(CommandMessage* message) override;
virtual void performControlOperation() override;
virtual ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
LocalDataPoolManager& poolManager) override;
virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;
// Mode abstract functions
virtual ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t* msToReachTheMode) override;
private:
thermalControllerDefinitions::SensorTemperatures sensorTemperatures;
thermalControllerDefinitions::SusTemperatures susTemperatures;
thermalControllerDefinitions::DeviceTemperatures deviceTemperatures;
thermalControllerDefinitions::ComponentTemperatures componentTemperatures;
// Temperature Sensors
Max31865Definitions::Max31865Set max31865Set0;
Max31865Definitions::Max31865Set max31865Set1;
Max31865Definitions::Max31865Set max31865Set2;
Max31865Definitions::Max31865Set max31865Set3;
Max31865Definitions::Max31865Set max31865Set4;
Max31865Definitions::Max31865Set max31865Set5;
Max31865Definitions::Max31865Set max31865Set6;
Max31865Definitions::Max31865Set max31865Set7;
Max31865Definitions::Max31865Set max31865Set8;
Max31865Definitions::Max31865Set max31865Set9;
Max31865Definitions::Max31865Set max31865Set10;
Max31865Definitions::Max31865Set max31865Set11;
Max31865Definitions::Max31865Set max31865Set12;
Max31865Definitions::Max31865Set max31865Set13;
Max31865Definitions::Max31865Set max31865Set14;
Max31865Definitions::Max31865Set max31865Set15;
TMP1075::Tmp1075Dataset tmp1075Set1;
TMP1075::Tmp1075Dataset tmp1075Set2;
// SUS
SUS::SusDataset susSet0;
SUS::SusDataset susSet1;
SUS::SusDataset susSet2;
SUS::SusDataset susSet3;
SUS::SusDataset susSet4;
SUS::SusDataset susSet5;
SUS::SusDataset susSet6;
SUS::SusDataset susSet7;
SUS::SusDataset susSet8;
SUS::SusDataset susSet9;
SUS::SusDataset susSet10;
SUS::SusDataset susSet11;
void copySensors();
void copySus();
void copyDevices();
};
#endif /* MISSION_CONTROLLER_THERMALCONTROLLER_H_ */