|
|
|
@ -341,10 +341,10 @@ void ThermalController::copySensors() {
|
|
|
|
|
{
|
|
|
|
|
PoolReadGuard pg8(&maxSet8X8, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
|
|
|
|
if (pg8.getReadResult() == returnvalue::OK) {
|
|
|
|
|
sensorTemperatures.sensor_x8.value = maxSet8X8.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.sensor_x8.setValid(maxSet8X8.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.sensor_x8.isValid()) {
|
|
|
|
|
sensorTemperatures.sensor_x8.value = INVALID_TEMPERATURE;
|
|
|
|
|
sensorTemperatures.x8.value = maxSet8X8.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.x8.setValid(maxSet8X8.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.x8.isValid()) {
|
|
|
|
|
sensorTemperatures.x8.value = INVALID_TEMPERATURE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -352,10 +352,10 @@ void ThermalController::copySensors() {
|
|
|
|
|
{
|
|
|
|
|
PoolReadGuard pg9(&maxSet9Hpa, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
|
|
|
|
if (pg9.getReadResult() == returnvalue::OK) {
|
|
|
|
|
sensorTemperatures.sensor_hpa.value = maxSet9Hpa.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.sensor_hpa.setValid(maxSet9Hpa.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.sensor_hpa.isValid()) {
|
|
|
|
|
sensorTemperatures.sensor_hpa.value = INVALID_TEMPERATURE;
|
|
|
|
|
sensorTemperatures.hpa.value = maxSet9Hpa.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.hpa.setValid(maxSet9Hpa.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.hpa.isValid()) {
|
|
|
|
|
sensorTemperatures.hpa.value = INVALID_TEMPERATURE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -385,10 +385,10 @@ void ThermalController::copySensors() {
|
|
|
|
|
{
|
|
|
|
|
PoolReadGuard pg12(&maxSet31865Set12, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
|
|
|
|
if (pg12.getReadResult() == returnvalue::OK) {
|
|
|
|
|
sensorTemperatures.sensor_acu.value = maxSet31865Set12.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.sensor_acu.setValid(maxSet31865Set12.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.sensor_acu.isValid()) {
|
|
|
|
|
sensorTemperatures.sensor_acu.value = INVALID_TEMPERATURE;
|
|
|
|
|
sensorTemperatures.acu.value = maxSet31865Set12.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.acu.setValid(maxSet31865Set12.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.acu.isValid()) {
|
|
|
|
|
sensorTemperatures.acu.value = INVALID_TEMPERATURE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -396,12 +396,11 @@ void ThermalController::copySensors() {
|
|
|
|
|
{
|
|
|
|
|
PoolReadGuard pg13(&maxSet13PlPcduHspd, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
|
|
|
|
if (pg13.getReadResult() == returnvalue::OK) {
|
|
|
|
|
sensorTemperatures.sensor_plpcdu_heatspreader.value =
|
|
|
|
|
maxSet13PlPcduHspd.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.sensor_plpcdu_heatspreader.setValid(
|
|
|
|
|
sensorTemperatures.plpcduHeatspreader.value = maxSet13PlPcduHspd.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.plpcduHeatspreader.setValid(
|
|
|
|
|
maxSet13PlPcduHspd.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.sensor_plpcdu_heatspreader.isValid()) {
|
|
|
|
|
sensorTemperatures.sensor_plpcdu_heatspreader.value = INVALID_TEMPERATURE;
|
|
|
|
|
if (not sensorTemperatures.plpcduHeatspreader.isValid()) {
|
|
|
|
|
sensorTemperatures.plpcduHeatspreader.value = INVALID_TEMPERATURE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -409,10 +408,10 @@ void ThermalController::copySensors() {
|
|
|
|
|
{
|
|
|
|
|
PoolReadGuard pg14(&maxSet14TcsBrd, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
|
|
|
|
if (pg14.getReadResult() == returnvalue::OK) {
|
|
|
|
|
sensorTemperatures.sensor_tcs_board.value = maxSet14TcsBrd.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.sensor_tcs_board.setValid(maxSet14TcsBrd.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.sensor_tcs_board.isValid()) {
|
|
|
|
|
sensorTemperatures.sensor_tcs_board.value = INVALID_TEMPERATURE;
|
|
|
|
|
sensorTemperatures.tcsBoard.value = maxSet14TcsBrd.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.tcsBoard.setValid(maxSet14TcsBrd.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.tcsBoard.isValid()) {
|
|
|
|
|
sensorTemperatures.tcsBoard.value = INVALID_TEMPERATURE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -420,10 +419,10 @@ void ThermalController::copySensors() {
|
|
|
|
|
{
|
|
|
|
|
PoolReadGuard pg15(&maxSet15Imtq, MutexIF::TimeoutType::WAITING, MUTEX_TIMEOUT);
|
|
|
|
|
if (pg15.getReadResult() == returnvalue::OK) {
|
|
|
|
|
sensorTemperatures.sensor_magnettorquer.value = maxSet15Imtq.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.sensor_magnettorquer.setValid(maxSet15Imtq.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.sensor_magnettorquer.isValid()) {
|
|
|
|
|
sensorTemperatures.sensor_magnettorquer.value = INVALID_TEMPERATURE;
|
|
|
|
|
sensorTemperatures.mgt.value = maxSet15Imtq.temperatureCelcius.value;
|
|
|
|
|
sensorTemperatures.mgt.setValid(maxSet15Imtq.temperatureCelcius.isValid());
|
|
|
|
|
if (not sensorTemperatures.mgt.isValid()) {
|
|
|
|
|
sensorTemperatures.mgt.value = INVALID_TEMPERATURE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -977,8 +976,8 @@ void ThermalController::ctrlAcsBoard() {
|
|
|
|
|
sensors[2].second = deviceTemperatures.mgm0SideA.value;
|
|
|
|
|
sensors[3].first = deviceTemperatures.mgm2SideB.isValid();
|
|
|
|
|
sensors[3].second = deviceTemperatures.mgm2SideB.value;
|
|
|
|
|
sensors[4].first = sensorTemperatures.sensor_tcs_board.isValid();
|
|
|
|
|
sensors[5].second = sensorTemperatures.sensor_tcs_board.value;
|
|
|
|
|
sensors[4].first = sensorTemperatures.tcsBoard.isValid();
|
|
|
|
|
sensors[5].second = sensorTemperatures.tcsBoard.value;
|
|
|
|
|
numSensors = 5;
|
|
|
|
|
if (selectAndReadSensorTemp()) {
|
|
|
|
|
if (chooseHeater(switchNr, redSwitchNr)) {
|
|
|
|
@ -995,8 +994,8 @@ void ThermalController::ctrlAcsBoard() {
|
|
|
|
|
sensors[1].second = deviceTemperatures.mgm2SideB.value;
|
|
|
|
|
sensors[2].first = deviceTemperatures.gyro3SideB.isValid();
|
|
|
|
|
sensors[2].second = deviceTemperatures.gyro3SideB.value;
|
|
|
|
|
sensors[3].first = sensorTemperatures.sensor_tcs_board.isValid();
|
|
|
|
|
sensors[3].second = sensorTemperatures.sensor_tcs_board.value;
|
|
|
|
|
sensors[3].first = sensorTemperatures.tcsBoard.isValid();
|
|
|
|
|
sensors[3].second = sensorTemperatures.tcsBoard.value;
|
|
|
|
|
numSensors = 4;
|
|
|
|
|
if (selectAndReadSensorTemp()) {
|
|
|
|
|
if (chooseHeater(switchNr, redSwitchNr)) {
|
|
|
|
@ -1021,12 +1020,12 @@ void ThermalController::ctrlMgt() {
|
|
|
|
|
static_cast<ThermalComponentIF::StateRequest>(imtqThermalSet.heaterRequest.value);
|
|
|
|
|
|
|
|
|
|
if (heaterReq == ThermalComponentIF::STATE_REQUEST_OPERATIONAL) {
|
|
|
|
|
sensors[0].first = sensorTemperatures.sensor_magnettorquer.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.sensor_magnettorquer.value;
|
|
|
|
|
sensors[0].first = sensorTemperatures.mgt.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.mgt.value;
|
|
|
|
|
sensors[1].first = deviceTemperatures.mgt.isValid();
|
|
|
|
|
sensors[1].second = deviceTemperatures.mgt.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.sensor_plpcdu_heatspreader.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.sensor_plpcdu_heatspreader.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.plpcduHeatspreader.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.plpcduHeatspreader.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
|
ctrlComponentTemperature(heater::HEATER_2_ACS_BRD, heater::HEATER_3_PCDU_PDU, mgtLimits);
|
|
|
|
|
}
|
|
|
|
@ -1144,8 +1143,8 @@ void ThermalController::ctrlIfBoard() {
|
|
|
|
|
thermalComponent = IF_BOARD;
|
|
|
|
|
sensors[0].first = sensorTemperatures.tmp1075IfBrd.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.tmp1075IfBrd.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.sensor_magnettorquer.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.sensor_magnettorquer.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.mgt.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.mgt.value;
|
|
|
|
|
sensors[2].first = deviceTemperatures.mgm2SideB.isValid();
|
|
|
|
|
sensors[2].second = deviceTemperatures.mgm2SideB.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
@ -1155,8 +1154,8 @@ void ThermalController::ctrlIfBoard() {
|
|
|
|
|
|
|
|
|
|
void ThermalController::ctrlTcsBoard() {
|
|
|
|
|
thermalComponent = TCS_BOARD;
|
|
|
|
|
sensors[0].first = sensorTemperatures.sensor_tcs_board.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.sensor_tcs_board.value;
|
|
|
|
|
sensors[0].first = sensorTemperatures.tcsBoard.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.tcsBoard.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.tmp1075Tcs0.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.tmp1075Tcs0.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.tmp1075Tcs1.isValid();
|
|
|
|
@ -1250,8 +1249,8 @@ void ThermalController::ctrlPcduAcu() {
|
|
|
|
|
sensorTemp = deviceTemperatures.acu.value[1];
|
|
|
|
|
} else if (deviceTemperatures.acu.value[2] != INVALID_TEMPERATURE) {
|
|
|
|
|
sensorTemp = deviceTemperatures.acu.value[2];
|
|
|
|
|
} else if (sensorTemperatures.sensor_acu.isValid()) {
|
|
|
|
|
sensorTemp = sensorTemperatures.sensor_acu.value;
|
|
|
|
|
} else if (sensorTemperatures.acu.isValid()) {
|
|
|
|
|
sensorTemp = sensorTemperatures.acu.value;
|
|
|
|
|
} else {
|
|
|
|
|
triggerEvent(tcsCtrl::NO_VALID_SENSOR_TEMPERATURE, thermalComponent);
|
|
|
|
|
sensorTempAvailable = false;
|
|
|
|
@ -1294,8 +1293,8 @@ void ThermalController::ctrlPlPcduBoard() {
|
|
|
|
|
sensors[1].second = sensorTemperatures.tmp1075PlPcdu1.value;
|
|
|
|
|
sensors[2].first = deviceTemperatures.adcPayloadPcdu.isValid();
|
|
|
|
|
sensors[2].second = deviceTemperatures.adcPayloadPcdu.value;
|
|
|
|
|
sensors[3].first = sensorTemperatures.sensor_plpcdu_heatspreader.isValid();
|
|
|
|
|
sensors[3].second = sensorTemperatures.sensor_plpcdu_heatspreader.value;
|
|
|
|
|
sensors[3].first = sensorTemperatures.plpcduHeatspreader.isValid();
|
|
|
|
|
sensors[3].second = sensorTemperatures.plpcduHeatspreader.value;
|
|
|
|
|
numSensors = 4;
|
|
|
|
|
ctrlComponentTemperature(heater::HEATER_3_PCDU_PDU, heater::HEATER_2_ACS_BRD, plPcduBoardLimits);
|
|
|
|
|
tooHotHandler(objects::PLPCDU_HANDLER, eBandTooHotFlag);
|
|
|
|
@ -1382,10 +1381,10 @@ void ThermalController::ctrlDro() {
|
|
|
|
|
|
|
|
|
|
void ThermalController::ctrlX8() {
|
|
|
|
|
thermalComponent = X8;
|
|
|
|
|
sensors[0].first = sensorTemperatures.sensor_x8.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.sensor_x8.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.sensor_hpa.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.sensor_hpa.value;
|
|
|
|
|
sensors[0].first = sensorTemperatures.x8.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.x8.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.hpa.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.hpa.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.eBandTx.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.eBandTx.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
@ -1397,8 +1396,8 @@ void ThermalController::ctrlTx() {
|
|
|
|
|
thermalComponent = TX;
|
|
|
|
|
sensors[0].first = sensorTemperatures.eBandTx.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.eBandTx.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.sensor_x8.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.sensor_x8.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.x8.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.x8.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.mpa.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.mpa.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
@ -1410,8 +1409,8 @@ void ThermalController::ctrlMpa() {
|
|
|
|
|
thermalComponent = MPA;
|
|
|
|
|
sensors[0].first = sensorTemperatures.mpa.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.mpa.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.sensor_hpa.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.sensor_hpa.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.hpa.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.hpa.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.eBandTx.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.eBandTx.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
@ -1421,10 +1420,10 @@ void ThermalController::ctrlMpa() {
|
|
|
|
|
|
|
|
|
|
void ThermalController::ctrlHpa() {
|
|
|
|
|
thermalComponent = HPA;
|
|
|
|
|
sensors[0].first = sensorTemperatures.sensor_hpa.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.sensor_hpa.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.sensor_x8.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.sensor_x8.value;
|
|
|
|
|
sensors[0].first = sensorTemperatures.hpa.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.hpa.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.x8.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.x8.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.mpa.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.mpa.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
@ -1436,10 +1435,10 @@ void ThermalController::ctrlScexBoard() {
|
|
|
|
|
thermalComponent = SCEX_BOARD;
|
|
|
|
|
sensors[0].first = sensorTemperatures.scex.isValid();
|
|
|
|
|
sensors[0].second = sensorTemperatures.scex.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.sensor_x8.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.sensor_x8.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.sensor_hpa.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.sensor_hpa.value;
|
|
|
|
|
sensors[1].first = sensorTemperatures.x8.isValid();
|
|
|
|
|
sensors[1].second = sensorTemperatures.x8.value;
|
|
|
|
|
sensors[2].first = sensorTemperatures.hpa.isValid();
|
|
|
|
|
sensors[2].second = sensorTemperatures.hpa.value;
|
|
|
|
|
numSensors = 3;
|
|
|
|
|
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_5_STR, scexBoardLimits);
|
|
|
|
|
tooHotHandler(objects::SCEX, scexTooHotFlag);
|
|
|
|
|