Merge branch 'heater_handling' of https://egit.irs.uni-stuttgart.de/eive/eive-obsw into heater_handling
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit

This commit is contained in:
Robin Müller 2022-11-24 14:50:46 +01:00
commit 5aa98a1aff
3 changed files with 29 additions and 7 deletions

View File

@ -12,7 +12,7 @@ enum Switchers : uint8_t {
HEATER_4_CAMERA,
HEATER_5_STR,
HEATER_6_DRO,
HEATER_7_HPA,
HEATER_7_S_BAND,
NUMBER_OF_SWITCHES
};
}

View File

@ -14,8 +14,9 @@
#include <mission/devices/devicedefinitions/payloadPcduDefinitions.h>
#include <objects/systemObjectList.h>
ThermalController::ThermalController(object_id_t objectId)
ThermalController::ThermalController(object_id_t objectId, HeaterHandler& heater)
: ExtendedControllerBase(objectId),
heater(heater),
sensorTemperatures(this),
susTemperatures(this),
deviceTemperatures(this),

View File

@ -9,16 +9,20 @@
#include <mission/devices/devicedefinitions/Tmp1075Definitions.h>
struct TempLimits {
TempLimits(float lowerLimit, float upperLimit) : lowerLimit(lowerLimit), upperLimit(upperLimit) {}
float lowerLimit;
float upperLimit;
TempLimits(float opLowerLimit, float opUpperLimit, float nopLowerLimit, float nsopUpperLimit) : opLowerLimit(opLowerLimit), opUpperLimit(opUpperLimit), nopLowerLimit(nopLowerLimit), nopUpperLimit(nopUpperLimit) {}
float opLowerLimit;
float opUpperLimit;
float nopLowerLimit;
float nopUpperLimit;
//TODO define limits
};
class ThermalController : public ExtendedControllerBase {
public:
static const uint16_t INVALID_TEMPERATURE = 999;
ThermalController(object_id_t objectId);
ThermalController(object_id_t objectId, HeaterHandler& heater);
ReturnValue_t initialize() override;
@ -81,7 +85,24 @@ class ThermalController : public ExtendedControllerBase {
SUS::SusDataset susSet10;
SUS::SusDataset susSet11;
TempLimits eBandLimits = TempLimits(10.0, 20.0);
//TempLimits
//TempLimits plocHeatspreaderLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
//TempLimits plocMissionBoardLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
TempLimits cameraLimits = TempLimits(-30.0, 65.0, -40.0, 85.0);
TempLimits dacHeatspreaderLimits = TempLimits(-40.0, 118.0, -65.0, 150.0);
TempLimits strLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
TempLimits rw1Limits = TempLimits(-40.0, 85.0, -40.0, 85.0);
//TempLimits droLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
TempLimits scexLimits = TempLimits(-40.0, 85.0, -60.0, 150.0);
//TempLimits x8Limits = TempLimits(-20.0, 70.0, -30.0, 80.0);
//TempLimits hpaLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
//TempLimits txModuleLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
//TempLimits mpaLimits = TempLimits(-20.0, 70.0, -30.0, 80.0);
TempLimits acuLimits = TempLimits(-35.0, 85.0, -55.0, 150.0); //TODO nopLimits
TempLimits plpcduHeatspreaderLimits = TempLimits(-40.0, 85.0, -65.0, 125.0); //TODO check
TempLimits tcsBoardLimits = TempLimits(-40.0, 85.0, -60.0, 130.0);
TempLimits magnettorquerLimits = TempLimits(-40.0, 70.0, -30.0, 80.0); //TODO nopLimits
// Initial delay to make sure all pool variables have been initialized their owners
Countdown initialCountdown = Countdown(DELAY);