Index: firmware/App/Modes/BloodPrime.c =================================================================== diff -u -r19a8bf98a7154e24c35da25225d4b55bf70ddd09 -r9bf209fc5813b7e806f51f408ece77174a336c9b --- firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 19a8bf98a7154e24c35da25225d4b55bf70ddd09) +++ firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 9bf209fc5813b7e806f51f408ece77174a336c9b) @@ -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 ); @@ -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 ) ); } }