fixes and tweaks TCS and EM build
Some checks are pending
EIVE/eive-obsw/pipeline/head Build started...

This commit is contained in:
2023-04-17 11:35:10 +02:00
parent 701ecbd182
commit ab588b4844
17 changed files with 62 additions and 15 deletions

View File

@ -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() {

View File

@ -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;

View File

@ -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,