Index: firmware/App/Modes/BloodPrime.c =================================================================== diff -u -rfe44ecec55830a90280aec6796974e273982047a -rb20421d84b9049977c04f4752f4fc5697425f25c --- firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision fe44ecec55830a90280aec6796974e273982047a) +++ firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision b20421d84b9049977c04f4752f4fc5697425f25c) @@ -7,8 +7,8 @@ * * @file BloodPrime.c * -* @author (last) Darren Cox -* @date (last) 10-Mar-2022 +* @author (last) Dara Navaei +* @date (last) 01-Sep-2022 * * @author (original) Sean Nash * @date (original) 06-Feb-2021 @@ -91,7 +91,7 @@ bloodPrimeState = BLOOD_PRIME_RAMP_STATE; bloodPrimeRampControlTimerCtr = 0; - bloodPrimePublishTimerCtr = BLOOD_PRIME_DATA_PUBLISH_INTERVAL; + bloodPrimePublishTimerCtr = BLOOD_PRIME_DATA_PUBLISH_INTERVAL - 2; // setup so publish will occur time after next cumulativeBloodPrimeVolume_mL.data = 0.0; expectedBloodPrimeVolume_mL = 0.0; bloodPrimeTargetVolume_mL = DEFAULT_BLOOD_PRIME_VOLUME_ML; @@ -129,6 +129,8 @@ *************************************************************************/ void transitionToBloodPrime( void ) { + doorClosedRequired( TRUE, TRUE ); + // Set valves setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); @@ -235,7 +237,7 @@ setBloodIsPrimed( TRUE ); // Signal treatment mode that blood prime is completed signalDialInPumpHardStop(); // Stop dialysate recirculation - dialysis sub-mode will restart dialysate pumps signalBloodPrimeToDialysis(); // Signal treatment mode that it's time to start dialysis - cmdStopDGTrimmerHeater(); // Stop trimmer heater - dialysis sub-mode will restart as appropriate + //cmdStopDGTrimmerHeater(); // Stop trimmer heater - dialysis sub-mode will restart as appropriate // TODO un-comment in DEN-13834 } // Is blood prime taking too long based on set BP rate? else if ( fabs( expectedBloodPrimeVolume_mL - getBloodPrimeVolume() ) > MAX_BLOOD_PRIME_VOLUME_ERROR_ML ) @@ -295,7 +297,7 @@ bloodPrimePublishTimerCtr = 0; data.targetBloodPrimeVolumeMl = bloodPrimeTargetVolume_mL; - data.deliveredBloodPrimeVolumeMl = getBloodPrimeVolume(); + data.deliveredBloodPrimeVolumeMl = MAX( 0.0, getBloodPrimeVolume() ); broadcastData( MSG_ID_HD_BLOOD_PRIME_PROGRESS, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( BLOOD_PRIME_DATA_PAYLOAD_T ) ); } }