Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -r34d0843fa73e79ba3b085dd4aaa393a1ec126fd4 -r6e30feb28cf365c5c26a9a7283e944b4c24a11cb --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 34d0843fa73e79ba3b085dd4aaa393a1ec126fd4) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 6e30feb28cf365c5c26a9a7283e944b4c24a11cb) @@ -15,6 +15,7 @@ * ***************************************************************************/ +#include "AirPump.h" #include "AirTrap.h" #include "AlarmMgmt.h" #include "FPGA.h" @@ -348,7 +349,13 @@ fillStartTime = getMSTimerCount(); result = AIR_TRAP_VALVE_OPEN_STATE; } - + //Turn on air pump if fluid reaches upper level. + else if ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) + { + setValveAirTrap( STATE_OPEN ); + fillStartTime = getMSTimerCount(); + result = AIR_TRAP_VALVE_OPEN_STATE; + } return result; } @@ -376,7 +383,15 @@ setValveAirTrap( STATE_CLOSED ); result = AIR_TRAP_VALVE_CLOSED_STATE; } + else if ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) + { + if ( AIR_PUMP_STATE_ON == getAirPumpState()) + { + setAirPumpState( AIR_PUMP_STATE_OFF ); + } + } + return result; }