Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rf2e5da3b659f99aaa0eec9174a472529cf11b95a -r2075fb989d74d881f2e73c19052aa32fa9d760a6 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision f2e5da3b659f99aaa0eec9174a472529cf11b95a) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 2075fb989d74d881f2e73c19052aa32fa9d760a6) @@ -51,12 +51,11 @@ /// Air pump on delay after fill adjustment static const U32 AIR_PUMP_ON_DELAY_ADJUST_AFTER_FILL = ( AIR_PUMP_ON_DELAY_TIME_MS - ( 1 * MS_PER_SECOND ) ); -#define AIR_PUMP_MOTOR_FILL_PWM 58.8f ///< Power level setting (PWM) in percentage for H12 air pump to fill (raise level) the air trap. -#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_FILL_PWM 58.8F ///< Power level setting (PWM) in percentage for H12 air pump to fill (raise level) the air trap. +#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. -#define AIR_PUMP_MOTOR_PWM_HUNDRED_PCT 100.0f ///< Percentage calculation constant /// 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 @@ -347,7 +346,7 @@ F32 h14Pressure = getFilteredVenousPressure(); // 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 ) * AIR_PUMP_MOTOR_PWM_HUNDRED_PCT; + dutyCycle = ( dutyCycle / AIR_PUMP_MOTOR_MAX_PWM ) * FRACTION_TO_PERCENT_FACTOR; return dutyCycle; }