Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r50bd9a2421e5b7bb6a94a13cf54eb469aac7d574 -rd2e684b7c413cc5c41a35eaf729cada5d5a19b21 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 50bd9a2421e5b7bb6a94a13cf54eb469aac7d574) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision d2e684b7c413cc5c41a35eaf729cada5d5a19b21) @@ -519,16 +519,16 @@ *************************************************************************/ BOOL seekSyringePlunger( void ) { + if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. + { + heparinDeliveryState = HEPARIN_STATE_STOPPED; + } if ( ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( TRUE == isSyringeDetected() ) && ( TRUE == syringePumpPositionKnown ) && ( heparinDeliveryState != HEPARIN_STATE_OFF ) ) { syringePumpSetRate = SYRINGE_PUMP_SEEK_RATE; syringePumpSeekRequested = TRUE; } - if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. - { - heparinDeliveryState = HEPARIN_STATE_STOPPED; - } return syringePumpSeekRequested; } @@ -542,6 +542,10 @@ *************************************************************************/ BOOL primeSyringePump( void ) { + if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. + { + heparinDeliveryState = HEPARIN_STATE_STOPPED; + } if ( ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( TRUE == isSyringeDetected() ) && ( heparinDeliveryState != HEPARIN_STATE_OFF ) && ( TRUE == syringePumpPlungerFound ) ) { @@ -550,10 +554,6 @@ syringePumpPrimeRequested = TRUE; resetHeparinVolumeDelivered(); } - if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. - { - heparinDeliveryState = HEPARIN_STATE_STOPPED; - } return syringePumpPrimeRequested; } @@ -585,6 +585,10 @@ // If valid to start a bolus, kick it off if ( FALSE == isSyringePumpHome() ) { + if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. + { + heparinDeliveryState = HEPARIN_STATE_STOPPED; + } if ( ( TRUE == isSyringeDetected() ) && ( TRUE == syringePumpPrimeCompleted ) && ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( HEPARIN_STATE_STOPPED == heparinDeliveryState ) ) { @@ -600,13 +604,9 @@ { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, (F32)SW_FAULT_ID_HD_SYRINGE_INVALID_BOLUS_CMD, syringePumpSetRate ) } - if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. - { - heparinDeliveryState = HEPARIN_STATE_STOPPED; - } + } - return syringePumpBolusRequested; } @@ -623,6 +623,10 @@ if ( ( flowRate >= MIN_HEPARIN_CONTINUOUS_RATE ) && ( flowRate <= MAX_HEPARIN_CONTINUOUS_RATE ) && ( FALSE == isSyringePumpHome() ) ) { + if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. + { + heparinDeliveryState = HEPARIN_STATE_STOPPED; + } if ( ( TRUE == isSyringeDetected() ) && ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( ( HEPARIN_STATE_STOPPED == heparinDeliveryState ) || ( HEPARIN_STATE_PAUSED == heparinDeliveryState ) ) ) { @@ -638,10 +642,6 @@ { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, (F32)SW_FAULT_ID_HD_SYRINGE_INVALID_CONT_CMD, flowRate ) } - if ( MODE_SERV == getCurrentOperationMode() ) // Allow syringe pump operations in Service Mode. - { - heparinDeliveryState = HEPARIN_STATE_STOPPED; - } } return syringePumpContinuousRequested;