Index: firmware/App/Modes/BloodPrime.c =================================================================== diff -u -r37a9fd8f15e413db5337371a7d1a1cb65567af7c -r27a68f930508638f2eb6265ebb381c8918cbc37b --- firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 37a9fd8f15e413db5337371a7d1a1cb65567af7c) +++ firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) @@ -36,8 +36,9 @@ // ********** private definitiions *********** -#define TUBING_BLOOD_PRIME_VOLUME_ML 80.0 ///< Target blood prime volume to prime the blood side circuit (in mL). -#define MAX_BLOOD_PRIME_VOLUME_ERROR_ML 60.0 ///< Maximum error in total additional blood prime volume (20% of total). +#define TUBING_BLOOD_PRIME_VOLUME_ML 80.0F ///< Target blood prime volume to prime the blood side circuit (in mL). +#define DEFAULT_BLOOD_PRIME_VOLUME_ML 300.0F ///< Default blood prime volume (in mL). +#define MAX_BLOOD_PRIME_VOLUME_ERROR_ML 60.0F ///< Maximum error in total additional blood prime volume (20% of total). #define MIN_RAMP_TIME_SEC 60 ///< Minimum ramp time for blood prime (in seconds). /// Initial flow rate for blood pump when starting blood prime operation. @@ -50,7 +51,7 @@ #define BLOOD_PRIME_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) /// Multiplier to convert flow (mL/min) into volume (mL) for period of general task interval. -static const F32 BLOOD_PRIME_FLOW_INTEGRATOR = 1.0 / (F32)( SEC_PER_MIN * ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ); +static const F32 BLOOD_PRIME_FLOW_INTEGRATOR = 1.0F / (F32)( SEC_PER_MIN * ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ); // ********** private data ********** @@ -93,7 +94,7 @@ bloodPrimePublishTimerCtr = BLOOD_PRIME_DATA_PUBLISH_INTERVAL; cumulativeBloodPrimeVolume_mL.data = 0.0; expectedBloodPrimeVolume_mL = 0.0; - bloodPrimeTargetVolume_mL = 300.0; + bloodPrimeTargetVolume_mL = DEFAULT_BLOOD_PRIME_VOLUME_ML; resetBloodPrimeFlags(); bloodPrimeTargetVolume_mL = (F32)TUBING_BLOOD_PRIME_VOLUME_ML + (F32)getDialyzerBloodVolume(); @@ -237,10 +238,14 @@ cmdStopDGTrimmerHeater(); // Stop trimmer heater - dialysis sub-mode will restart as appropriate } // Is blood prime taking too long based on set BP rate? - else if ( ( fabs( expectedBloodPrimeVolume_mL - getBloodPrimeVolume() ) > MAX_BLOOD_PRIME_VOLUME_ERROR_ML ) && - ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PUMP_FLOW_CHECKS ) != SW_CONFIG_ENABLE_VALUE ) ) + else if ( fabs( expectedBloodPrimeVolume_mL - getBloodPrimeVolume() ) > MAX_BLOOD_PRIME_VOLUME_ERROR_ML ) { - activateAlarmNoData( ALARM_ID_BLOOD_PRIME_VOLUME_CHECK_FAILURE ); +#ifndef _RELEASE_ + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PUMP_FLOW_CHECKS ) != SW_CONFIG_ENABLE_VALUE ) +#endif + { + activateAlarmNoData( ALARM_ID_BLOOD_PRIME_VOLUME_CHECK_FAILURE ); + } } else {