Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -rccfd15568f1e3d304320c2babb2fd4bcf0413304 -r47fd6c06d6248f9f9733173aa83b6487dd76b87f --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision ccfd15568f1e3d304320c2babb2fd4bcf0413304) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision 47fd6c06d6248f9f9733173aa83b6487dd76b87f) @@ -435,14 +435,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;