fixes and tweaks TCS and EM build
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...
This commit is contained in:
@ -20,6 +20,8 @@
|
||||
#define LOWER_SYRLINKS_UPPER_LIMITS 0
|
||||
#define LOWER_EBAND_UPPER_LIMITS 0
|
||||
#define LOWER_PLOC_UPPER_LIMITS 0
|
||||
#define LOWER_MGT_UPPER_LIMITS 0
|
||||
#define LOWER_RW_UPPER_LIMITS 0
|
||||
|
||||
ThermalController::ThermalController(object_id_t objectId, HeaterHandler& heater,
|
||||
const std::atomic_bool& tcsBoardShortUnavailable)
|
||||
@ -111,7 +113,7 @@ void ThermalController::performControlOperation() {
|
||||
break;
|
||||
}
|
||||
|
||||
if (cycles == 50) {
|
||||
if (cycles == 40) {
|
||||
bool changedLimits = false;
|
||||
#if LOWER_SYRLINKS_UPPER_LIMITS == 1
|
||||
changedLimits = true;
|
||||
@ -130,9 +132,21 @@ void ThermalController::performControlOperation() {
|
||||
hpaLimits.cutOffLimit = 0;
|
||||
hpaLimits.opUpperLimit = 0;
|
||||
hpaLimits.nopUpperLimit = 0;
|
||||
#endif
|
||||
#if LOWER_MGT_UPPER_LIMITS == 1
|
||||
changedLimits = true;
|
||||
mgtLimits.cutOffLimit = 0;
|
||||
mgtLimits.opUpperLimit = 0;
|
||||
mgtLimits.nopUpperLimit = 0;
|
||||
#endif
|
||||
#if LOWER_RW_UPPER_LIMITS == 1
|
||||
changedLimits = true;
|
||||
rwLimits.cutOffLimit = 0;
|
||||
rwLimits.opUpperLimit = 0;
|
||||
rwLimits.nopUpperLimit = 0;
|
||||
#endif
|
||||
if (changedLimits) {
|
||||
sif::debug << "ThermalController: changing limits" << std::endl; // TODO: rausschmeissen
|
||||
sif::debug << "ThermalController: changing limits" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1055,7 +1069,12 @@ void ThermalController::ctrlMgt() {
|
||||
numSensors = 3;
|
||||
HeaterContext htrCtx(heater::HEATER_2_ACS_BRD, heater::HEATER_3_PCDU_PDU, mgtLimits);
|
||||
ctrlComponentTemperature(htrCtx);
|
||||
// TODO: trigger special event
|
||||
if (componentAboveUpperLimit and not mgtTooHotFlag) {
|
||||
triggerEvent(tcsCtrl::MGT_OVERHEATING, tempFloatToU32());
|
||||
mgtTooHotFlag = true;
|
||||
} else if (not componentAboveUpperLimit) {
|
||||
mgtTooHotFlag = false;
|
||||
}
|
||||
}
|
||||
|
||||
void ThermalController::ctrlRw() {
|
||||
|
@ -267,6 +267,7 @@ class ThermalController : public ExtendedControllerBase {
|
||||
bool pcduSystemTooHotFlag = false;
|
||||
bool syrlinksTooHotFlag = false;
|
||||
bool obcTooHotFlag = false;
|
||||
bool mgtTooHotFlag = false;
|
||||
bool strTooHotFlag = false;
|
||||
bool rwTooHotFlag = false;
|
||||
|
||||
|
@ -17,6 +17,7 @@ static constexpr Event OBC_OVERHEATING = MAKE_EVENT(4, severity::HIGH);
|
||||
static constexpr Event CAMERA_OVERHEATING = MAKE_EVENT(5, severity::HIGH);
|
||||
static constexpr Event PCDU_SYSTEM_OVERHEATING = MAKE_EVENT(6, severity::HIGH);
|
||||
static constexpr Event HEATER_NOT_OFF_FOR_OFF_MODE = MAKE_EVENT(7, severity::MEDIUM);
|
||||
static constexpr Event MGT_OVERHEATING = MAKE_EVENT(8, severity::MEDIUM);
|
||||
|
||||
enum SetId : uint32_t {
|
||||
SENSOR_TEMPERATURES = 0,
|
||||
|
Reference in New Issue
Block a user