Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r0665111ae0d4a2446656f30d653f100eae017fbe -rae552ee28c425dccf069b1d80ce7f93a34c06063 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 0665111ae0d4a2446656f30d653f100eae017fbe) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision ae552ee28c425dccf069b1d80ce7f93a34c06063) @@ -1692,7 +1692,7 @@ stopPump = checkSyringeEmpty( stopPump ); // Check for occlusion - stopPump = checkForSyringeOcclusion(); + stopPump = checkForSyringeOcclusion( stopPump ); // Check position > empty + 0.5 mL stopPump = checkMaxTravel( stopPump, SYRINGE_PUMP_EMPTY_POS + SYRINGE_PUMP_EMPTY_POS_MARGIN ); @@ -1851,11 +1851,12 @@ * pressure. Would indicate occlusion or jam or empty syringe. * @details Inputs: syringePumpMeasForce.data, syringePumpPosition.data * @details Outputs: alarm triggered if max force detected + * @param stopPump flag passed in by caller indicating whether pump should be stopped * @return TRUE if pump should be stopped, FALSE if not *************************************************************************/ -BOOL checkForSyringeOcclusion( void ) +BOOL checkForSyringeOcclusion( BOOL stopPump ) { - BOOL result = FALSE; // Return FALSE if no occlusion is detected + BOOL result = stopPump; F32 currentForceV = getSyringePumpForceV(); // Read the force sensor at the end of the priming F32 forceDelta = currentForceV - forceAtEndOfSeek; // Occlusion is detected if force at end of prime is > than force at end of seek by 0.5 volts or more BOOL occlusionDetected = FALSE; Index: firmware/App/Controllers/SyringePump.h =================================================================== diff -u -r730d2eb07acfdf049f6beab646a327d67efbe2ba -rae552ee28c425dccf069b1d80ce7f93a34c06063 --- firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision 730d2eb07acfdf049f6beab646a327d67efbe2ba) +++ firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision ae552ee28c425dccf069b1d80ce7f93a34c06063) @@ -96,7 +96,7 @@ BOOL preloadSyringePlunger( void ); BOOL seekSyringePlunger( void ); BOOL primeSyringePump( void ); -BOOL checkForSyringeOcclusion( void ); +BOOL checkForSyringeOcclusion( BOOL stopPump ); BOOL startHeparinBolus( void ); BOOL startHeparinContinuous( void ); BOOL setSyringePumpDACVref( void ); Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r1bff8e530735be63ba557b77557a0bc2ac4b37b2 -rae552ee28c425dccf069b1d80ce7f93a34c06063 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 1bff8e530735be63ba557b77557a0bc2ac4b37b2) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision ae552ee28c425dccf069b1d80ce7f93a34c06063) @@ -1484,7 +1484,7 @@ if ( TRUE == didTimeout( syringeOcclusionDelayStartTime, SYRINGE_PUMP_OCCLUSION_CHECK_DELAY ) ) { - if ( FALSE == checkForSyringeOcclusion() ) // transition to complete state only when occlusion is removed + if ( FALSE == checkForSyringeOcclusion( FALSE ) ) // transition to complete state only when occlusion is removed { state = DRY_SELF_TESTS_COMPLETE_STATE; }