Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -rae2b7f296dcd0247814356a28380b3ac582a8551 -r788c0f92052a7d8f0d67dd4ab607b48520013589 --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision ae2b7f296dcd0247814356a28380b3ac582a8551) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 788c0f92052a7d8f0d67dd4ab607b48520013589) @@ -901,7 +901,8 @@ errorCount = (U32)getFPGARTDErrorCount(); readCount = (U32)getFPGARTDReadCount(); - //checkFPGAPersistentAlarms( TWO_WIRE_ADC_TEMP_SENSORS, errorCount, readCount, TEMPSENSORS_INLET_PRIMARY_HEATER ); + + //checkFPGAPersistentAlarms( TWO_WIRE_ADC_TEMP_SENSORS, errorCount, readCount ); processTempSnsrsADCRead( TEMPSENSORS_INLET_PRIMARY_HEATER, getFPGATPiTemp(), errorCount, readCount, TRUE ); processTempSnsrsADCRead( TEMPSENSORS_OUTLET_PRIMARY_HEATER, getFPGATPoTemp(), errorCount, readCount, FALSE ); processTempSnsrsADCRead( TEMPSENSORS_CONDUCTIVITY_SENSOR_1, getFPGACD1Temp(), errorCount, readCount, FALSE ); @@ -913,6 +914,8 @@ { errorCount = (U32)getFPGATHdErrorCount(); readCount = (U32)getFPGATHdReadCount(); + + //checkFPGAPersistentAlarms( THD_ADC_TEMP_SENSORS, errorCount, readCount ); processTempSnsrsADCRead( TEMPSENSORS_HEAT_DISINFECT, getFPGATHdTemp(), errorCount, readCount, TRUE ); processTempSnsrsADCRead( TEMPSENSORS_INTERNAL_THD_RTD, getFPGATHdInternalTemp(), errorCount, readCount, FALSE ); @@ -922,15 +925,21 @@ baroConvConsts.temperatureCoeff = getFPGABaroTempCoeffOfTemperature(); errorCount = getFPGABaroErrorCount(); readCount = getFPGABaroReadCount(); + + //checkFPGAPersistentAlarms( BARO_SENSORS, errorCount, readCount ); processTempSnsrsADCRead( TEMPSENSORS_BAROMETRIC_TEMP_SENSOR, getFPGABaroTemperature(), errorCount, readCount, TRUE ); } errorCount = (U32)getFPGATRoErrorCount(); readCount = (U32)getFPGATRoReadCount(); + + checkFPGAPersistentAlarms( TRO_ADC_TEMP_SENSORS, errorCount, readCount ); processTempSnsrsADCRead( TEMPSENSORS_OUTLET_REDUNDANT, getFPGATRoTemp(), errorCount, readCount, TRUE ); - errorCount = (U32)getFPGATDiErrorCount(); // TODO remove these and do not check in the new persistent alarm - readCount = (U32)getFPGATDiReadCount(); // TODO remove these and do not check in the new persistent alarm + errorCount = (U32)getFPGATDiErrorCount(); + readCount = (U32)getFPGATDiReadCount(); + + checkFPGAPersistentAlarms( TDI_ADC_TEMP_SENSORS, errorCount, readCount ); processTempSnsrsADCRead( TEMPSENSORS_INLET_DIALYSATE, getFPGATDiTemp(), errorCount, readCount, TRUE ); errorCount = (U32)getFPGAPrimaryHeaterFlags(); // TODO remove these and do not check in the new persistent alarm @@ -1029,6 +1038,8 @@ U08 i; F32 temperature = 0.0; BOOL isTemperatureOutOfRange = FALSE; + F32 alarmTemperature = 0.0; + U08 alarmIndex = 0; for ( i = 0; i < NUM_OF_TEMPERATURE_SENSORS; i++ ) { @@ -1056,6 +1067,8 @@ ( getCurrentOperationMode() != DG_MODE_INIT ) ) { isTemperatureOutOfRange |= TRUE; + alarmIndex = i; + alarmTemperature = temperature; } break; @@ -1066,7 +1079,7 @@ } - checkPersistentAlarm( ALARM_ID_DG_TEMPERATURE_SENSOR_OUT_OF_RANGE, isTemperatureOutOfRange, i, temperature ); + checkPersistentAlarm( ALARM_ID_DG_TEMPERATURE_SENSOR_OUT_OF_RANGE, isTemperatureOutOfRange, alarmIndex, alarmTemperature ); } }