Index: firmware/App/Tasks/TaskGeneral.c =================================================================== diff -u -r794a0f21a465227d432a91d7b7fd7d513cfe3ecb -r82bb2222f791a434d22921e2fe4f5edd7e74776d --- firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 794a0f21a465227d432a91d7b7fd7d513cfe3ecb) +++ firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 82bb2222f791a434d22921e2fe4f5edd7e74776d) @@ -209,11 +209,16 @@ if ( FALSE == bpStart ) { setBloodPumpTargetRPM( 1000, MOTOR_DIR_FORWARD ); + homeEjector(); + retractEjector(); bpStart = TRUE; } if ( TRUE == bpStop ) { signalBloodPumpHardStop(); + setAirPumpState( AIR_PUMP_STATE_ON, AIR_PUMP_MOTOR_OFF ); + set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); + set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); bpStop = FALSE; } @@ -222,6 +227,7 @@ // Control blood pump execBloodFlowMonitor(); execBloodFlowController(); + execEjectorController(); execAirPumpController(); switch ( sta ) @@ -233,15 +239,15 @@ if ( TRUE == start ) { -// sta = 1; + sta = 1; // lower the level -// set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); -// setAirPumpState( AIR_PUMP_STATE_ON, 50 ); + set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); + setAirPumpState( AIR_PUMP_STATE_ON, 100 ); } break; case 1: - // look for air at high level and stop - if ( AIR_TRAP_LEVEL_AIR == getRawLevelSensorState( H16_LEVL ) ) + // look for air at low level and stop + if ( AIR_TRAP_LEVEL_AIR == getRawLevelSensorState( H17_LEVL ) ) { // stop lowering level set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); @@ -253,11 +259,11 @@ case 2: #if 1 // stay low for 5 sec -// if ( ++ctr > ( 5 * 20 ) ) + if ( ++ctr > ( 5 * 20 ) ) { // raise the level set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); - setAirPumpState( AIR_PUMP_STATE_ON, 50 ); + setAirPumpState( AIR_PUMP_STATE_ON, 100 ); sta = 3; } #endif @@ -269,27 +275,28 @@ // stop raising level set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_CLOSED_STATE ); setAirPumpState( AIR_PUMP_STATE_OFF, AIR_PUMP_MOTOR_OFF ); + ctr = 0; sta = 4; } break; case 4: -#if 1 +#if 0 // look for air at high level if ( AIR_TRAP_LEVEL_AIR == getRawLevelSensorState( H16_LEVL ) ) { // start raising level set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); - setAirPumpState( AIR_PUMP_STATE_ON, 50 ); + setAirPumpState( AIR_PUMP_STATE_ON, 100 ); sta = 3; } #endif -#if 0 +#if 1 // stay high for 5 sec if ( ++ctr > ( 5 * 20 ) ) { // lower the level set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); - setAirPumpState( AIR_PUMP_STATE_ON, 50 ); + setAirPumpState( AIR_PUMP_STATE_ON, 100 ); sta = 1; } #endif