further development thermal controller
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
This commit is contained in:
parent
d81ae3c35f
commit
4a404835c0
@ -106,31 +106,8 @@ void ThermalController::performControlOperation() {
|
|||||||
|
|
||||||
// TODO: Heater control
|
// TODO: Heater control
|
||||||
// TODO: Hysterese offset
|
// TODO: Hysterese offset
|
||||||
|
ctrl4KCameraHeater();
|
||||||
|
|
||||||
// 4K Camera - Heater
|
|
||||||
if (sensorTemperatures.sensor_4k_camera.isValid()) {
|
|
||||||
if (not heaterHandler.checkSwitchState(heater::HEATER_4_CAMERA)) {
|
|
||||||
if (sensorTemperatures.sensor_4k_camera.value < cameraLimits.opLowerLimit) {
|
|
||||||
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::ON);
|
|
||||||
heater4Countdown.resetTimer();
|
|
||||||
}
|
|
||||||
} else if (heaterHandler.checkSwitchState(heater::HEATER_4_CAMERA)) {
|
|
||||||
if (sensorTemperatures.sensor_4k_camera.value >= cameraLimits.opLowerLimit + TEMP_OFFSET) {
|
|
||||||
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::OFF);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (heater4Countdown.hasTimedOut()) {
|
|
||||||
// Sensor or heater failure
|
|
||||||
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::OFF);
|
|
||||||
triggerEvent(HEATER_MAX_BURNTIME_REACHED, heater::HEATER_4_CAMERA);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (heaterHandler.checkSwitchState(heater::HEATER_4_CAMERA)) {
|
|
||||||
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::OFF);
|
|
||||||
}
|
|
||||||
triggerEvent(INVALID_SENSOR_TEMPERATURE, heater::HEATER_4_CAMERA);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t ThermalController::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
ReturnValue_t ThermalController::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
||||||
@ -977,3 +954,30 @@ void ThermalController::copyDevices() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ThermalController::ctrl4KCameraHeater(){
|
||||||
|
// 4K Camera - Heater
|
||||||
|
if (sensorTemperatures.sensor_4k_camera.isValid()) {
|
||||||
|
if (not heaterHandler.checkSwitchState(heater::HEATER_4_CAMERA)) {
|
||||||
|
if (sensorTemperatures.sensor_4k_camera.value < cameraLimits.opLowerLimit) {
|
||||||
|
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::ON);
|
||||||
|
heater4Countdown.resetTimer();
|
||||||
|
}
|
||||||
|
} else if (heaterHandler.checkSwitchState(heater::HEATER_4_CAMERA)) {
|
||||||
|
if (sensorTemperatures.sensor_4k_camera.value >= cameraLimits.opLowerLimit + TEMP_OFFSET) {
|
||||||
|
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::OFF);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (heater4Countdown.hasTimedOut()) {
|
||||||
|
// Sensor or heater failure
|
||||||
|
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::OFF);
|
||||||
|
triggerEvent(HEATER_MAX_BURNTIME_REACHED, heater::HEATER_4_CAMERA);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (heaterHandler.checkSwitchState(heater::HEATER_4_CAMERA)) {
|
||||||
|
heaterHandler.switchHeater(heater::HEATER_4_CAMERA, HeaterHandler::SwitchState::OFF);
|
||||||
|
}
|
||||||
|
triggerEvent(INVALID_SENSOR_TEMPERATURE, heater::HEATER_4_CAMERA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -150,6 +150,8 @@ class ThermalController : public ExtendedControllerBase {
|
|||||||
void copySensors();
|
void copySensors();
|
||||||
void copySus();
|
void copySus();
|
||||||
void copyDevices();
|
void copyDevices();
|
||||||
|
|
||||||
|
void ctrl4KCameraHeater();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* MISSION_CONTROLLER_THERMALCONTROLLER_H_ */
|
#endif /* MISSION_CONTROLLER_THERMALCONTROLLER_H_ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user