Index: firmware/App/Controllers/Thermistors.c =================================================================== diff -u -r53f4679556eacdd6a93dd358550b4ea7c7c34962 -r44459c11d7f3d39967b3eb6ec284403358d6a287 --- firmware/App/Controllers/Thermistors.c (.../Thermistors.c) (revision 53f4679556eacdd6a93dd358550b4ea7c7c34962) +++ firmware/App/Controllers/Thermistors.c (.../Thermistors.c) (revision 44459c11d7f3d39967b3eb6ec284403358d6a287) @@ -255,15 +255,27 @@ static void monitorThermistors( void ) { THERMISTORS_TEMP_SENSORS_T thermistor; - F32 temperature; + F32 temperature = 0.0F; + BOOL isTempOutOfRange = FALSE; + U08 alarmID = 0; + F32 alarmTemperature = 0.0F; + for ( thermistor = THERMISTOR_ONBOARD_NTC; thermistor < NUM_OF_THERMISTORS; thermistor++ ) { temperature = getThermistorTemperatureValue( thermistor ); - BOOL isTempOutOfRange = ( temperature > MAX_ALLOWED_TEMPERATURE ) || ( temperature < MIN_ALLOWED_TEMPERATURE ); - checkPersistentAlarm( ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE, isTempOutOfRange, temperature, MAX_ALLOWED_TEMPERATURE ); - } + // Check if thermistor is out of range + if ( ( temperature < MIN_ALLOWED_TEMPERATURE ) || ( temperature > MAX_ALLOWED_TEMPERATURE ) ) + { + isTempOutOfRange = TRUE; + alarmID = thermistor; + alarmTemperature = temperature; + } + } + + checkPersistentAlarm( ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE, isTempOutOfRange, alarmID, alarmTemperature); + } /*********************************************************************//**