improved fan malfunction detection (#27405)

old-commit-hash: 9d64fb2d1a
This commit is contained in:
Adeeb Shihadeh 2023-02-22 14:11:29 -08:00 committed by GitHub
parent 1a97edf8d2
commit 0691c6b6de
1 changed files with 3 additions and 2 deletions

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