Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rf41cae1e5c4dae0a89e5987f95ebb04b773b6b6b -r8420ae8c0ce32264c3ed00740fdb2c01d6f30534 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision f41cae1e5c4dae0a89e5987f95ebb04b773b6b6b) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 8420ae8c0ce32264c3ed00740fdb2c01d6f30534) @@ -77,7 +77,7 @@ static U32 fillStartTime = 0; ///< Time stamp for start of air trap fill. static U32 airPumpOnDelayStartTime = 0; ///< Air pump On start time. static U32 stopAirPumpStartTime = 0; ///< Stop air pump start time. -// Air pump on delay after fill adjustment +/// Air pump on delay after fill adjustment static const U32 AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL = ( AIR_PUMP_ON_DELAY_TIME_MS - ( 1 * MS_PER_SECOND ) ); static BOOL airTrapValveOpenAtStartOfTreatement = FALSE; ///< To Keep the fluid level high close to Air trap upper level during start of treatment @@ -452,11 +452,12 @@ result = AIR_TRAP_MANUAL_CONTROL_STATE; } // Transition to closed valve state when fluid detected at lower level - else if ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) + else if ( AIR_TRAP_LEVEL_FLUID == getRawAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) { setValveAirTrap( STATE_CLOSED ); signalLowVenousPressureCheck(); SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_AIR_TRAP_FILL, STATE_CLOSED, 0 ); + airPumpOnDelayStartTime = u32DiffWithWrap( AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL, getMSTimerCount() ); result = AIR_TRAP_VALVE_CLOSED_STATE; } return result;