Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r1b2472b1717a9964df9267278e046bc5c8ed26a1 -re14e14eedeb52b901618222bb59320b955bf7f5a --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 1b2472b1717a9964df9267278e046bc5c8ed26a1) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision e14e14eedeb52b901618222bb59320b955bf7f5a) @@ -678,6 +678,26 @@ /*********************************************************************//** * @brief + * The syringePumpVerifyForceSensorDACCalibration function verifies that the + * syringe pump force sensor DAC has been calibrated and is reporting no force + * as would be expected when fully retracted (caller should not call this function + * until the syringe pump is homed first). + * @details Inputs: none + * @details Outputs: + * @return none + *************************************************************************/ +void syringePumpVerifyForceSensorDACCalibration( void ) +{ + F32 DACDeltaV = fabs( forceSensorCalRecord.hdHeparinForceSensorDACVoltage - getSyringePumpForceV() ); + + if ( DACDeltaV < SYRINGE_PUMP_DAC_VOLTAGE_MAX_ERROR ) + { + SET_ALARM_WITH_1_F32_DATA( ALARM_ID_HD_SYRINGE_PUMP_SELF_TEST_FAILURE, DACDeltaV ) + } +} + +/*********************************************************************//** + * @brief * The getSyringePumpVolumeDelivered function gets the current syringe pump * volume delivered. * @details Inputs: syringePumpVolumeDelivered @@ -1146,26 +1166,21 @@ SELF_TEST_STATUS_T execSyringePumpSelfTest( void ) { SELF_TEST_STATUS_T result = SELF_TEST_STATUS_PASSED; - F32 DACDeltaV; // Read/check force sensor calibration BOOL calStatus = getNVRecord2Driver( GET_CAL_HEPARIN_FORCE_SENSOR, (U08*)&forceSensorCalRecord, sizeof( HD_HEPARIN_FORCE_SENSOR_CAL_RECORD_T ), 0, ALARM_ID_HD_HEPARIN_FORCE_SENSOR_INVALID_CAL_RECORD ); - // Verify calibration - DACDeltaV = fabs( forceSensorCalRecord.hdHeparinForceSensorDACVoltage - getSyringePumpForceV() ); - #ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SYRINGE_PUMP_ALARMS ) != SW_CONFIG_ENABLE_VALUE ) #endif { - if ( ( TRUE == calStatus ) && ( DACDeltaV < SYRINGE_PUMP_DAC_VOLTAGE_MAX_ERROR ) ) + if ( TRUE == calStatus ) { result = SELF_TEST_STATUS_PASSED; } else { result = SELF_TEST_STATUS_FAILED; - SET_ALARM_WITH_1_F32_DATA( ALARM_ID_HD_SYRINGE_PUMP_SELF_TEST_FAILURE, DACDeltaV ) } }