Index: firmware/App/Controllers/Temperatures.c =================================================================== diff -u -rb66dabe73c8418e0e4ee358ce787b6d9bd9e128e -r4a9872d81bae53492c124d0378028ece422f1b4d --- firmware/App/Controllers/Temperatures.c (.../Temperatures.c) (revision b66dabe73c8418e0e4ee358ce787b6d9bd9e128e) +++ firmware/App/Controllers/Temperatures.c (.../Temperatures.c) (revision 4a9872d81bae53492c124d0378028ece422f1b4d) @@ -182,7 +182,7 @@ } else { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_TEMPERATURE_SENSOR_SELECTED, sensorID ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_TEMPERATURE_SENSOR_SELECTED, sensorID ); } return temperature; @@ -250,13 +250,23 @@ static void monitorTemperatures( void ) { TEMPERATURES_T sensor; + BOOL isAlarmTriggered; + F32 temperature = 0.0; + BOOL isTempOutOfRange = FALSE; for ( sensor = THERMISTOR_ONBOARD_NTC; sensor < NUM_OF_TEMPERATURES; sensor++ ) { - F32 temperature = getTemperatureValue( sensor ); - BOOL isTempOutOfRange = ( temperature > MAX_ALLOWED_TEMPERATURE ) || ( temperature < MIN_ALLOWED_TEMPERATURE ); + temperature = getTemperatureValue( sensor ); + isTempOutOfRange |= ( temperature > MAX_ALLOWED_TEMPERATURE ) || ( temperature < MIN_ALLOWED_TEMPERATURE ); + } - isPersistentAlarmTriggered( ALARM_ID_HD_TEMPERATURES_OUT_OF_RANGE, isTempOutOfRange ); + isAlarmTriggered = isPersistentAlarmTriggered( ALARM_ID_HD_TEMPERATURES_OUT_OF_RANGE, isTempOutOfRange ); + + if ( TRUE == isAlarmTriggered ) + { + ALARM_DATA_T alarmData; + alarmData.data.flt.data = temperature; + activateAlarm1Data( ALARM_ID_HD_TEMPERATURES_OUT_OF_RANGE, alarmData ); } } @@ -419,14 +429,9 @@ if ( ( sensorID < NUM_OF_TEMPERATURES ) && ( TRUE == isTestingActivated() ) ) { - // There is a temperature range that the thermistors can be set to, otherwise, the driver - // will throw an alarm. Also, the fans driver depends on these values to continuously control the fans - if ( ( temperature >= MIN_ALLOWED_TEMPERATURE ) && ( temperature < MAX_ALLOWED_TEMPERATURE ) ) - { - result = TRUE; - temperaturesStatus[ sensorID ].temperatureValue.ovData = temperature; - temperaturesStatus[ sensorID ].temperatureValue.override = OVERRIDE_KEY; - } + result = TRUE; + temperaturesStatus[ sensorID ].temperatureValue.ovData = temperature; + temperaturesStatus[ sensorID ].temperatureValue.override = OVERRIDE_KEY; } return result;