Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r8684ff2cbf3f43cd0c7bcc5f25aaf6d5766c9d4c -r126ad9f684cd96bc38d5e1ab5d79f5238681e3e5 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 8684ff2cbf3f43cd0c7bcc5f25aaf6d5766c9d4c) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 126ad9f684cd96bc38d5e1ab5d79f5238681e3e5) @@ -1195,13 +1195,22 @@ // Retrieve blood flow sensor calibration data and check for sensor connected status if ( BFM_SENSOR_PARAM_CORRUPT_STATUS != getFPGABloodFlowMeterStatus() ) { - bloodFlowCalGain = cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].gain; - bloodFlowCalOffset = cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].offset; - result = SELF_TEST_STATUS_PASSED; +#ifndef DISABLE_CAL_CHECK + if ( cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].calibrationTime == 0 ) + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_BLOOD_FLOW_INVALID_CALIBRATION, cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].calibrationTime, + cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].crc ); + } + else +#endif + { + bloodFlowCalGain = cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].gain; + bloodFlowCalOffset = cal.hdFlowSensors[ CAL_DATA_HD_BLOOD_FLOW_SENSOR ].offset; + result = SELF_TEST_STATUS_PASSED; + } } else { - result = SELF_TEST_STATUS_FAILED; SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_BLOOD_FLOW_STATUS_SELF_TEST_FAILURE, (U32)bfmStatus ); }