Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -rf7d8d74379a55ff917b5896627b20ec7c05c0c01 -r59b7b1cd099ab5a5e943fb5307aec264cbadb51a --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision f7d8d74379a55ff917b5896627b20ec7c05c0c01) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 59b7b1cd099ab5a5e943fb5307aec264cbadb51a) @@ -17,6 +17,7 @@ #include // For temperature calculation #include // For memset() +#include "FlowSensors.h" #include "FPGA.h" #include "MessageSupport.h" #include "NVDataMgmt.h" @@ -603,13 +604,16 @@ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_TEMPERATURE_SENSORS_ALARM ) != SW_CONFIG_ENABLE_VALUE ) #endif { - F32 TDi = dialTempMovingAvgData[ DIAL_TEMP_TDI ].dialTempAvgC; - F32 TRo = dialTempMovingAvgData[ DIAL_TEMP_TRO ].dialTempAvgC; - DG_OP_MODE_T op = getCurrentOperationMode(); - F32 driftC = ( DG_MODE_HEAT == op ? TDI_TRO_TEMP_SENSORS_MAX_DEVIATION_IN_HEAT_DIS_C : TDI_TRO_TEMP_SENSORS_MAX_DEVIATION_C ); - BOOL isDriftOut = ( fabs( TDi - TRo ) > driftC ? TRUE : FALSE ); + if ( getMeasuredRawFlowRateLPM( DIALYSATE_FLOW_SENSOR ) > NEARLY_ZERO ) + { + F32 TDi = dialTempMovingAvgData[ DIAL_TEMP_TDI ].dialTempAvgC; + F32 TRo = dialTempMovingAvgData[ DIAL_TEMP_TRO ].dialTempAvgC; + DG_OP_MODE_T op = getCurrentOperationMode(); + F32 driftC = ( DG_MODE_HEAT == op ? TDI_TRO_TEMP_SENSORS_MAX_DEVIATION_IN_HEAT_DIS_C : TDI_TRO_TEMP_SENSORS_MAX_DEVIATION_C ); + BOOL isDriftOut = ( fabs( TDi - TRo ) > driftC ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_DG_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE, isDriftOut, fabs( TDi - TRo ), driftC ); + checkPersistentAlarm( ALARM_ID_DG_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE, isDriftOut, fabs( TDi - TRo ), driftC ); + } } }