Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r9316f6769a2f4ac9f85847cbc22166c8b43cef83 -rfa41b85cf47fb01cd905b2ed53d472a9cb0c1706 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 9316f6769a2f4ac9f85847cbc22166c8b43cef83) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision fa41b85cf47fb01cd905b2ed53d472a9cb0c1706) @@ -1218,20 +1218,31 @@ *************************************************************************/ SELF_TEST_STATUS_T execDialInFlowTest( void ) { - SELF_TEST_STATUS_T result = SELF_TEST_STATUS_FAILED; - CALIBRATION_DATA_T cal; + SELF_TEST_STATUS_T result = SELF_TEST_STATUS_PASSED; + U08 const dfmStatus = getFPGADialysateFlowMeterStatus(); -#ifndef SKIP_CALIBRATION_TESTS // Retrieve dialysate flow sensor calibration data - if ( ( TRUE == getCalibrationData( &cal ) ) && ( DFM_SENSOR_PARAM_CORRUPT_STATUS != getFPGADialysateFlowMeterStatus() ) ) + if ( DFM_SENSOR_PARAM_CORRUPT_STATUS != dfmStatus ) { - dialInFlowCalGain = cal.dialysateFlowGain; - dialInFlowCalOffset = cal.dialysateFlowOffset_mL_min; - result = SELF_TEST_STATUS_PASSED; - } -#else - result = SELF_TEST_STATUS_PASSED; +#ifndef SKIP_CALIBRATION_TESTS + CALIBRATION_DATA_T cal; + + if ( TRUE == getCalibrationData( &cal ) ) + { + dialInFlowCalGain = cal.dialysateFlowGain; + dialInFlowCalOffset = cal.dialysateFlowOffset_mL_min; + } + else + { + result = SELF_TEST_STATUS_FAILED; + } #endif + } + else + { + result = SELF_TEST_STATUS_FAILED; + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_DIALYSATE_FLOW_STATUS_SELF_TEST_FAILURE, (U32)dfmStatus ); + } return result; }