Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -r4a9872d81bae53492c124d0378028ece422f1b4d -r2e60513564e74f21364604da86674a2bd193e77d --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision 4a9872d81bae53492c124d0378028ece422f1b4d) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision 2e60513564e74f21364604da86674a2bd193e77d) @@ -419,14 +419,18 @@ ALARM_DATA_T alarmData; alarmData.data.flt.data = rpm; activateAlarm1Data( ALARM_ID_HD_FAN_RPM_OUT_OF_RANGE, alarmData ); + // Set the alarm flag to TRUE hasAlarmBeenRaised = TRUE; } - + // If the alarm has been raised but the time that the alarm has not been set, set the alarm start timer if ( ( TRUE == hasAlarmBeenRaised ) && ( 0 == rpmAlarmStartTimer ) ) { rpmAlarmStartTimer = getMSTimerCount(); } } + // If the alarm has been raised and the alarm has been silent for at least a day, set the flag to FALSE + // This way, if the fans RPM are out of range the alarm will be raised again. This alarm is supposed to be raised + // and remain silent for a define period of time. else if ( ( TRUE == hasAlarmBeenRaised ) && ( TRUE == didTimeout( rpmAlarmStartTimer, SECONDS_IN_A_DAY ) ) ) { hasAlarmBeenRaised = FALSE;