Merge pull request 'Another TCS fix' (#731) from another-tcs-fix into main
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good

Reviewed-on: #731
Reviewed-by: Marius Eggert <eggertm@irs.uni-stuttgart.de>
This commit is contained in:
Robin Müller 2023-07-07 11:47:27 +02:00
commit b3d2fdc277
2 changed files with 3 additions and 1 deletions

View File

@ -29,6 +29,8 @@ will consitute of a breaking change warranting a new major release:
- TMP1075: Set dataset invalid on shutdown explicitely - TMP1075: Set dataset invalid on shutdown explicitely
- Small fixes for TMP1075 FDIR: Use strange and missed reply counters. - Small fixes for TMP1075 FDIR: Use strange and missed reply counters.
- TCS controller: Last heater (S-band heater) was skipped for transition completion
checks.
- TCS controller: A helper member to track the elapsed heater control cycles was not reset - TCS controller: A helper member to track the elapsed heater control cycles was not reset
properly, which could lead to switch transitions being completed immediately. This can properly, which could lead to switch transitions being completed immediately. This can
lead to weird bugs like heaters being commanded ON twice and can potentially lead to lead to weird bugs like heaters being commanded ON twice and can potentially lead to

View File

@ -1753,7 +1753,7 @@ void ThermalController::resetSensorsArray() {
} }
void ThermalController::heaterTransitionControl(const HeaterSwitchStates& currentHeaterStates) { void ThermalController::heaterTransitionControl(const HeaterSwitchStates& currentHeaterStates) {
for (unsigned i = 0; i < 7; i++) { for (unsigned i = 0; i < heater::Switch::NUMBER_OF_SWITCHES; i++) {
if (heaterStates[i].switchTransition) { if (heaterStates[i].switchTransition) {
if (currentHeaterStates[i] == heaterStates[i].target) { if (currentHeaterStates[i] == heaterStates[i].target) {
heaterStates[i].switchTransition = false; heaterStates[i].switchTransition = false;