Index: firmware/App/Tasks/TaskGeneral.c =================================================================== diff -u -r036a75d76ab01912646a480b935d97187a231a19 -rb32a3dbf0675bb3378e09105e3a80ea9a7779828 --- firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 036a75d76ab01912646a480b935d97187a231a19) +++ firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision b32a3dbf0675bb3378e09105e3a80ea9a7779828) @@ -18,6 +18,7 @@ #include "AirPump.h" #include "AirTrap.h" #include "BloodFlow.h" +#include "Ejector.h" #include "Messaging.h" #include "OperationModes.h" #include "Pressures.h" @@ -108,6 +109,9 @@ // Control pinch valves execValvesController(); + // Control ejector + execEjectorController(); + // Control blood pump execBloodFlowController(); @@ -174,7 +178,7 @@ ++tmpCtr; if ( tmpCtr == ( 5 * 20 ) ) { - setAirPumpMotorPower( 255 ); + setAirPumpMotorPower( 250 ); set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); } else if ( tmpCtr == ( 10 * 20 ) ) @@ -184,7 +188,7 @@ } else if ( tmpCtr == ( 15 * 20 ) ) { - setAirPumpMotorPower( 255 ); + setAirPumpMotorPower( 250 ); set3WayValveState( H20_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); } else if ( tmpCtr >= ( 20 * 20 ) ) @@ -204,19 +208,27 @@ if ( FALSE == bpStart ) { - setBloodPumpTargetRPM( 1000, MOTOR_DIR_FORWARD ); + setBloodPumpTargetRPM( 1200, 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; } // Get level sensor data readAirTrapLevelSensors(); - // Control blood pump + execSwitches(); + // Control blood pump + execBloodFlowMonitor(); execBloodFlowController(); + execEjectorController(); execAirPumpController(); switch ( sta ) @@ -231,11 +243,11 @@ sta = 1; // lower the level set3WayValveState( H13_VALV, VALVE_3WAY_COMMON_TO_OPEN_STATE ); - setAirPumpState( AIR_PUMP_STATE_ON, 25 ); + setAirPumpState( AIR_PUMP_STATE_ON, 250 ); } break; case 1: - // look for air at high level and stop + // look for air at low level and stop if ( AIR_TRAP_LEVEL_AIR == getRawLevelSensorState( H16_LEVL ) ) { // stop lowering level @@ -248,7 +260,7 @@ 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 ); @@ -264,27 +276,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, 25 ); + 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, 25 ); + setAirPumpState( AIR_PUMP_STATE_ON, 100 ); sta = 1; } #endif