improved fan malfunction detection (#27405)

old-commit-hash: 9d64fb2d1abeb35d0b716b9e54169d473222ab21
This commit is contained in:
Adeeb Shihadeh
2023-02-22 14:11:29 -08:00
committed by GitHub
parent 1a97edf8d2
commit 0691c6b6de
+3 -2
View File
@@ -280,8 +280,9 @@ class Controls:
# Alert if fan isn't spinning for 5 seconds
if self.sm['peripheralState'].pandaType != log.PandaState.PandaType.unknown:
if self.sm['peripheralState'].fanSpeedRpm == 0 and self.sm['deviceState'].fanSpeedPercentDesired > 50:
if (self.sm.frame - self.last_functional_fan_frame) * DT_CTRL > 5.0:
if self.sm['peripheralState'].fanSpeedRpm < 500 and self.sm['deviceState'].fanSpeedPercentDesired > 50:
# allow enough time for the fan controller in the panda to recover from stalls
if (self.sm.frame - self.last_functional_fan_frame) * DT_CTRL > 15.0:
self.events.add(EventName.fanMalfunction)
else:
self.last_functional_fan_frame = self.sm.frame