thermalController upgrade
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
Some checks failed
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit
This commit is contained in:
parent
77aff26204
commit
4f8fdc973f
@ -984,6 +984,7 @@ void ThermalController::copyDevices() {
|
||||
}
|
||||
|
||||
void ThermalController::ctrlAcsBoard() {
|
||||
// TODO: fix
|
||||
heater::Switchers switchNr = heater::HEATER_2_ACS_BRD;
|
||||
heater::Switchers redSwitchNr = heater::HEATER_0_OBC_BRD;
|
||||
|
||||
@ -991,13 +992,13 @@ void ThermalController::ctrlAcsBoard() {
|
||||
// A side
|
||||
if (chooseOf4Sensors(switchNr, deviceTemperatures.gyro0SideA, deviceTemperatures.mgm0SideA,
|
||||
deviceTemperatures.gyro1SideA, sensorTemperatures.sensor_tcs_board)) {
|
||||
ctrlHeater(switchNr, redSwitchNr, &acsBoardLimits);
|
||||
ctrlHeater(switchNr, redSwitchNr, acsBoardLimits);
|
||||
return;
|
||||
}
|
||||
// B side
|
||||
if (chooseOf4Sensors(switchNr, deviceTemperatures.gyro2SideB, deviceTemperatures.mgm2SideB,
|
||||
deviceTemperatures.gyro3SideB, sensorTemperatures.sensor_tcs_board)) {
|
||||
ctrlHeater(switchNr, redSwitchNr, &acsBoardLimits);
|
||||
ctrlHeater(switchNr, redSwitchNr, acsBoardLimits);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1008,33 +1009,20 @@ void ThermalController::ctrlMgt() {
|
||||
static_cast<ThermalComponentIF::StateRequest>(imtqThermalSet.heaterRequest.value);
|
||||
|
||||
if (heaterReq == ThermalComponentIF::STATE_REQUEST_OPERATIONAL) {
|
||||
heater::Switchers switchNr = heater::HEATER_2_ACS_BRD;
|
||||
heater::Switchers redSwitchNr = heater::HEATER_3_PCDU_PDU;
|
||||
|
||||
if (chooseHeater(switchNr, redSwitchNr)) {
|
||||
bool sensorTempAvailable = true;
|
||||
|
||||
if (sensorTemperatures.sensor_magnettorquer.isValid()) {
|
||||
sensorTemp = sensorTemperatures.sensor_magnettorquer.value;
|
||||
} else if (deviceTemperatures.mgt.isValid()) {
|
||||
sensorTemp = deviceTemperatures.mgt.value;
|
||||
} else if (sensorTemperatures.sensor_plpcdu_heatspreader.isValid()) {
|
||||
sensorTemp = sensorTemperatures.sensor_plpcdu_heatspreader.value;
|
||||
} else {
|
||||
if (heaterHandler.checkSwitchState(switchNr)) {
|
||||
heaterHandler.switchHeater(switchNr, HeaterHandler::SwitchState::OFF);
|
||||
}
|
||||
triggerEvent(NO_VALID_SENSOR_TEMPERATURE, switchNr);
|
||||
sensorTempAvailable = false;
|
||||
}
|
||||
if (sensorTempAvailable) {
|
||||
ctrlHeater(switchNr, redSwitchNr, &mgtLimits);
|
||||
}
|
||||
}
|
||||
sensors[0].first = sensorTemperatures.sensor_magnettorquer.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_magnettorquer.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;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_2_ACS_BRD, heater::HEATER_3_PCDU_PDU,
|
||||
mgtLimits);
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlRw() {
|
||||
//TODO: better solution?
|
||||
heater::Switchers switchNr = heater::HEATER_6_DRO;
|
||||
heater::Switchers redSwitchNr = heater::HEATER_6_DRO;
|
||||
redSwitchNrInUse = false;
|
||||
@ -1059,7 +1047,7 @@ void ThermalController::ctrlRw() {
|
||||
sensorTempAvailable = false;
|
||||
}
|
||||
if (sensorTempAvailable) {
|
||||
ctrlHeater(switchNr, redSwitchNr, &rwLimits);
|
||||
ctrlHeater(switchNr, redSwitchNr, rwLimits);
|
||||
}
|
||||
// RW2
|
||||
sensorTempAvailable = true;
|
||||
@ -1159,33 +1147,50 @@ void ThermalController::ctrlTcsBoard() {
|
||||
}
|
||||
|
||||
void ThermalController::ctrlObc() {
|
||||
ctrlComponentTemperature(heater::HEATER_0_OBC_BRD, heater::HEATER_2_ACS_BRD,
|
||||
deviceTemperatures.q7s, sensorTemperatures.tmp1075Tcs1,
|
||||
sensorTemperatures.tmp1075Tcs0, &obcLimits);
|
||||
sensors[0].first = deviceTemperatures.q7s.isValid();
|
||||
sensors[0].second = deviceTemperatures.q7s.value;
|
||||
sensors[1].first = sensorTemperatures.tmp1075Tcs1.isValid();
|
||||
sensors[1].second = sensorTemperatures.tmp1075Tcs1.value;
|
||||
sensors[2].first = sensorTemperatures.tmp1075Tcs0.isValid();
|
||||
sensors[2].second = sensorTemperatures.tmp1075Tcs0.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_0_OBC_BRD, heater::HEATER_2_ACS_BRD, obcLimits);
|
||||
if (componentAboveCutOffLimit) {
|
||||
triggerEvent(OBC_OVERHEATING);
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlObcIfBoard() {
|
||||
ctrlComponentTemperature(heater::HEATER_0_OBC_BRD, heater::HEATER_2_ACS_BRD,
|
||||
deviceTemperatures.q7s, sensorTemperatures.tmp1075Tcs0,
|
||||
sensorTemperatures.tmp1075Tcs1, &obcIfBoardLimits);
|
||||
sensors[0].first = deviceTemperatures.q7s.isValid();
|
||||
sensors[0].second = deviceTemperatures.q7s.value;
|
||||
sensors[1].first = sensorTemperatures.tmp1075Tcs0.isValid();
|
||||
sensors[1].second = sensorTemperatures.tmp1075Tcs0.value;
|
||||
sensors[2].first = sensorTemperatures.tmp1075Tcs1.isValid();
|
||||
sensors[2].second = sensorTemperatures.tmp1075Tcs1.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_0_OBC_BRD, heater::HEATER_2_ACS_BRD, obcIfBoardLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlSBandTransceiver() {
|
||||
ctrlComponentTemperature(heater::HEATER_7_S_BAND, heater::HEATER_4_CAMERA,
|
||||
deviceTemperatures.syrlinksPowerAmplifier,
|
||||
deviceTemperatures.syrlinksBasebandBoard,
|
||||
sensorTemperatures.sensor_4k_camera, sBandTransceiverLimits);
|
||||
sensors[0].first = deviceTemperatures.syrlinksPowerAmplifier.isValid();
|
||||
sensors[0].second = deviceTemperatures.syrlinksPowerAmplifier.value;
|
||||
sensors[1].first = deviceTemperatures.syrlinksBasebandBoard.isValid();
|
||||
sensors[1].second = deviceTemperatures.syrlinksBasebandBoard.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_4k_camera.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_4k_camera.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_7_S_BAND, heater::HEATER_4_CAMERA, sBandTransceiverLimits);
|
||||
if (componentAboveCutOffLimit) {
|
||||
triggerEvent(SYRLINKS_OVERHEATING);
|
||||
}
|
||||
}
|
||||
void ThermalController::ctrlPcduP60Board() {
|
||||
ctrlComponentTemperature(heater::HEATER_3_PCDU_PDU, heater::HEATER_2_ACS_BRD,
|
||||
deviceTemperatures.temp1P60dock, deviceTemperatures.temp2P60dock,
|
||||
deviceTemperatures.temp2P60dock, pcduP60BoardLimits);
|
||||
sensors[0].first = deviceTemperatures.temp1P60dock.isValid();
|
||||
sensors[0].second = deviceTemperatures.temp1P60dock.value;
|
||||
sensors[1].first = deviceTemperatures.temp2P60dock.isValid();
|
||||
sensors[1].second = deviceTemperatures.temp2P60dock.value;
|
||||
numSensors = 2;
|
||||
ctrlComponentTemperature(heater::HEATER_3_PCDU_PDU, heater::HEATER_2_ACS_BRD, pcduP60BoardLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlPcduAcu() {
|
||||
@ -1204,107 +1209,156 @@ void ThermalController::ctrlPcduAcu() {
|
||||
} else if (sensorTemperatures.sensor_acu.isValid()) {
|
||||
sensorTemp = sensorTemperatures.sensor_acu.value;
|
||||
} else {
|
||||
if (heaterHandler.checkSwitchState(switchNr)) {
|
||||
heaterHandler.switchHeater(switchNr, HeaterHandler::SwitchState::OFF);
|
||||
}
|
||||
triggerEvent(NO_VALID_SENSOR_TEMPERATURE, switchNr);
|
||||
sensorTempAvailable = false;
|
||||
}
|
||||
if (sensorTempAvailable) {
|
||||
ctrlHeater(switchNr, redSwitchNr, &pcduAcuLimits);
|
||||
ctrlHeater(switchNr, redSwitchNr, pcduAcuLimits);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlPcduPdu() {
|
||||
ctrlComponentTemperature(heater::HEATER_3_PCDU_PDU, heater::HEATER_2_ACS_BRD,
|
||||
deviceTemperatures.pdu1, deviceTemperatures.pdu2,
|
||||
deviceTemperatures.pdu2, &pcduPduLimits);
|
||||
sensors[0].first = deviceTemperatures.pdu1.isValid();
|
||||
sensors[0].second = deviceTemperatures.pdu1.value;
|
||||
sensors[1].first = deviceTemperatures.pdu2.isValid();
|
||||
sensors[1].second = deviceTemperatures.pdu2.value;
|
||||
sensors[2].first = sensorTemperatures.tmp1075Tcs0.isValid();
|
||||
sensors[2].second = sensorTemperatures.tmp1075Tcs0.value;
|
||||
numSensors = 2;
|
||||
ctrlComponentTemperature(heater::HEATER_3_PCDU_PDU, heater::HEATER_2_ACS_BRD, pcduPduLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlPlPcduBoard() {
|
||||
heater::Switchers switchNr = heater::HEATER_3_PCDU_PDU;
|
||||
heater::Switchers redSwitchNr = heater::HEATER_2_ACS_BRD;
|
||||
|
||||
if (chooseHeater(switchNr, redSwitchNr)) {
|
||||
if (chooseOf4Sensors(switchNr, sensorTemperatures.tmp1075PlPcdu0, sensorTemperatures.tmp1075PlPcdu1,
|
||||
deviceTemperatures.adcPayloadPcdu,
|
||||
sensorTemperatures.sensor_plpcdu_heatspreader)) {
|
||||
ctrlHeater(switchNr, redSwitchNr, &plPcduBoardLimits);
|
||||
if (componentAboveCutOffLimit) {
|
||||
triggerEvent(PLPCDU_OVERHEATING, switchNr);
|
||||
}
|
||||
}
|
||||
sensors[0].first = sensorTemperatures.tmp1075PlPcdu0.isValid();
|
||||
sensors[0].second = sensorTemperatures.tmp1075PlPcdu0.value;
|
||||
sensors[1].first = sensorTemperatures.tmp1075PlPcdu1.isValid();
|
||||
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;
|
||||
numSensors = 4;
|
||||
ctrlComponentTemperature(heater::HEATER_3_PCDU_PDU, heater::HEATER_2_ACS_BRD, plPcduBoardLimits);
|
||||
if (componentAboveCutOffLimit) {
|
||||
triggerEvent(PLPCDU_OVERHEATING);
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlPlocMissionBoard() {
|
||||
ctrlComponentTemperature(heater::HEATER_1_PLOC_PROC_BRD, heater::HEATER_0_OBC_BRD,
|
||||
sensorTemperatures.sensor_ploc_heatspreader,
|
||||
sensorTemperatures.sensor_ploc_missionboard,
|
||||
sensorTemperatures.sensor_dac_heatspreader, plocMissionBoardLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_ploc_heatspreader.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_ploc_heatspreader.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_ploc_missionboard.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_ploc_missionboard.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_dac_heatspreader.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_dac_heatspreader.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_1_PLOC_PROC_BRD, heater::HEATER_0_OBC_BRD, plocMissionBoardLimits);
|
||||
if (componentAboveCutOffLimit) {
|
||||
triggerEvent(PLOC_OVERHEATING);
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlPlocProcessingBoard() {
|
||||
ctrlComponentTemperature(heater::HEATER_1_PLOC_PROC_BRD, heater::HEATER_0_OBC_BRD,
|
||||
sensorTemperatures.sensor_ploc_missionboard,
|
||||
sensorTemperatures.sensor_ploc_heatspreader,
|
||||
sensorTemperatures.sensor_dac_heatspreader, plocProcessingBoardLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_ploc_missionboard.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_ploc_missionboard.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_ploc_heatspreader.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_ploc_heatspreader.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_dac_heatspreader.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_dac_heatspreader.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_1_PLOC_PROC_BRD, heater::HEATER_0_OBC_BRD, plocProcessingBoardLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlDac() {
|
||||
ctrlComponentTemperature(heater::HEATER_1_PLOC_PROC_BRD, heater::HEATER_0_OBC_BRD,
|
||||
sensorTemperatures.sensor_dac_heatspreader,
|
||||
sensorTemperatures.sensor_ploc_missionboard,
|
||||
sensorTemperatures.sensor_ploc_heatspreader, &dacLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_dac_heatspreader.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_dac_heatspreader.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_ploc_missionboard.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_ploc_missionboard.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_ploc_heatspreader.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_ploc_heatspreader.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_1_PLOC_PROC_BRD, heater::HEATER_0_OBC_BRD, dacLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlCameraBody() {
|
||||
ctrlComponentTemperature(heater::HEATER_4_CAMERA, heater::HEATER_6_DRO,
|
||||
sensorTemperatures.sensor_4k_camera, sensorTemperatures.sensor_dro,
|
||||
sensorTemperatures.sensor_mpa, &cameraLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_4k_camera.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_4k_camera.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_dro.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_dro.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_mpa.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_mpa.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_4_CAMERA, heater::HEATER_6_DRO, cameraLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlDro() {
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA,
|
||||
sensorTemperatures.sensor_dro, sensorTemperatures.sensor_4k_camera,
|
||||
sensorTemperatures.sensor_mpa, &droLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_dro.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_dro.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_4k_camera.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_4k_camera.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_mpa.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_mpa.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA, droLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlX8() {
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA,
|
||||
sensorTemperatures.sensor_x8, sensorTemperatures.sensor_hpa,
|
||||
sensorTemperatures.sensor_tx_modul, &x8Limits);
|
||||
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[2].first = sensorTemperatures.sensor_tx_modul.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_tx_modul.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA, x8Limits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlTx() {
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA,
|
||||
sensorTemperatures.sensor_tx_modul, sensorTemperatures.sensor_x8,
|
||||
sensorTemperatures.sensor_mpa, &txLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_tx_modul.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_tx_modul.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_x8.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_x8.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_mpa.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_mpa.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA, txLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlMpa() {
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA,
|
||||
sensorTemperatures.sensor_mpa, sensorTemperatures.sensor_hpa,
|
||||
sensorTemperatures.sensor_tx_modul, &mpaLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_mpa.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_mpa.value;
|
||||
sensors[1].first = sensorTemperatures.sensor_hpa.isValid();
|
||||
sensors[1].second = sensorTemperatures.sensor_hpa.value;
|
||||
sensors[2].first = sensorTemperatures.sensor_tx_modul.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_tx_modul.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA, mpaLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlHpa() {
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA,
|
||||
sensorTemperatures.sensor_hpa, sensorTemperatures.sensor_x8,
|
||||
sensorTemperatures.sensor_mpa, &hpaLimits);
|
||||
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[2].first = sensorTemperatures.sensor_mpa.isValid();
|
||||
sensors[2].second = sensorTemperatures.sensor_mpa.value;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_4_CAMERA, hpaLimits);
|
||||
if (componentAboveCutOffLimit) {
|
||||
triggerEvent(HPA_OVERHEATING);
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlScexBoard() {
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_5_STR,
|
||||
sensorTemperatures.sensor_scex, sensorTemperatures.sensor_x8,
|
||||
sensorTemperatures.sensor_hpa, &scexBoardLimits);
|
||||
sensors[0].first = sensorTemperatures.sensor_scex.isValid();
|
||||
sensors[0].second = sensorTemperatures.sensor_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;
|
||||
numSensors = 3;
|
||||
ctrlComponentTemperature(heater::HEATER_6_DRO, heater::HEATER_5_STR, scexBoardLimits);
|
||||
}
|
||||
|
||||
void ThermalController::ctrlHeater(heater::Switchers switchNr, heater::Switchers redSwitchNr,
|
||||
|
Loading…
x
Reference in New Issue
Block a user