Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -r2075fb989d74d881f2e73c19052aa32fa9d760a6 -ra25d5c24569e3d77487a75498a4e10dd83ada9c4 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 2075fb989d74d881f2e73c19052aa32fa9d760a6) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision a25d5c24569e3d77487a75498a4e10dd83ada9c4) @@ -56,11 +56,11 @@ #define AIR_PUMP_MOTOR_MIN_PWM_OVERRIDE 60 ///< Air pump motor minimum PWM to override. #define AIR_PUMP_MOTOR_MAX_PWM_OVERRIDE 250 ///< Air pump motor maximum PWM to override. #define AIR_PUMP_MOTOR_MAX_PWM 255 ///< Air pump motor maximum PWM. -/// from air pump manufacturer's data for pump current draw based on pump speed and venous pressure mmHg, -/// the currently set air pump duty cycle (raw PWM) = 0.0005x^2 + 0.2313x + 63.667, where x is H14 venous pressure in mmHg before air pump lower event -#define QUADRATIC_COEFFICIENT 0.005F ///< X2 quadratic coefficient -#define LINEAR_COEFFICIENT 0.2313 ///< X linear coefficient -#define CONSTANT_TERM 63.667 ///< Constant term +/// LDT-2384 test formula for air trap lower events for air pump duty cycle based on venous pressure +/// air pump duty cycle (% PWM) = 0.0002x^2 + 0.0925x + 25.467, where x is long filtered H14 venous pressure in mmHg before air trap lower event +#define QUADRATIC_COEFFICIENT 0.0002F ///< X2 quadratic coefficient +#define LINEAR_COEFFICIENT 0.0925F ///< X linear coefficient +#define CONSTANT_TERM 25.467F ///< Constant term /// Defined states for the air trap controller state machine. typedef enum AirTrap_States @@ -343,7 +343,7 @@ *************************************************************************/ F32 getCalculatedAirPumpDutyCycle( void ) { - F32 h14Pressure = getFilteredVenousPressure(); + F32 h14Pressure = getLongFilteredVenousPressure(); // the currently set P12 duty cycle (raw PWM) must be 0.0005x^2 + 0.2313x + 63.667, where x = H14 venous pressure in mmHg before air pump lower event F32 dutyCycle = ( ( QUADRATIC_COEFFICIENT * ( h14Pressure * h14Pressure ) ) - ( LINEAR_COEFFICIENT * ( h14Pressure ) ) ) + CONSTANT_TERM; dutyCycle = ( dutyCycle / AIR_PUMP_MOTOR_MAX_PWM ) * FRACTION_TO_PERCENT_FACTOR;