Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -ra25d5c24569e3d77487a75498a4e10dd83ada9c4 -ra4774f170562e33a48238cb3e3137bdd06ac374a --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision a25d5c24569e3d77487a75498a4e10dd83ada9c4) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision a4774f170562e33a48238cb3e3137bdd06ac374a) @@ -55,9 +55,8 @@ #define AIR_PUMP_MOTOR_LOWER_PWM 23.5F ///< Power level setting (PWM) in percentage for H12 air pump to lower the level of the air trap. #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. /// 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 +/// air pump duty cycle (% PWM) = 0.0002x^2 + 0.0925x + 25.467, where x is long filtered (60 sec) 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 @@ -344,9 +343,10 @@ F32 getCalculatedAirPumpDutyCycle( void ) { 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 + /// 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 (60 sec) H14 venous pressure in mmHg before air trap lower event F32 dutyCycle = ( ( QUADRATIC_COEFFICIENT * ( h14Pressure * h14Pressure ) ) - ( LINEAR_COEFFICIENT * ( h14Pressure ) ) ) + CONSTANT_TERM; - dutyCycle = ( dutyCycle / AIR_PUMP_MOTOR_MAX_PWM ) * FRACTION_TO_PERCENT_FACTOR; + dutyCycle = ( dutyCycle / (F32)AIR_PUMP_MAX_PWM ) * FRACTION_TO_PERCENT_FACTOR; return dutyCycle; }