Index: firmware/App/Drivers/GLXferPump.c =================================================================== diff -u -re6831fb6922ce22771e28b9c13dc2a9145c35ee6 -r52c71d1f7ca375d7d08829a92ccf3f6363fe22a2 --- firmware/App/Drivers/GLXferPump.c (.../GLXferPump.c) (revision e6831fb6922ce22771e28b9c13dc2a9145c35ee6) +++ firmware/App/Drivers/GLXferPump.c (.../GLXferPump.c) (revision 52c71d1f7ca375d7d08829a92ccf3f6363fe22a2) @@ -63,7 +63,7 @@ * @details \b Message \b Sent: MSG_ID_TD_EVENT if changing air pump power level. * @details \b Inputs: none * @details \b Outputs: currentAirPumpMotorPowerLevel - * @param power Power level for air pump (0..2=off, 3..100=lower to higher power level). + * @param power Power level for air pump (0=off, 1..100=lower to higher power level). * @return none. *************************************************************************/ void setAirPumpMotorPower( F32 power ) @@ -111,7 +111,7 @@ } else { - realRPM = ( ( ( F32 )AIR_PUMP_RPM_FACTOR ) / ( F32 )( fpgaRPM * 1e-6 ) ); + realRPM = ( ( ( F32 )AIR_PUMP_RPM_FACTOR ) / ( F32 )( fpgaRPM * 1e-6F ) ); } return ( U16 )realRPM; @@ -132,8 +132,8 @@ // Clamp input to 0-100% power = RANGE( percentage, AIR_PUMP_DUTY_CYCLE_MIN, AIR_PUMP_DUTY_CYCLE_MAX ); - // Calculate 0-250 value (250 * power / 100) - return (U08)( ceilf ( ( ( power * (F32)AIR_PUMP_MAX_PWM ) / FRACTION_TO_PERCENT_FACTOR ) ) ); + // Calculate 0-250 scalar value = ( power / 100 ) * 250 + return (U08)( ceilf ( ( ( power / FRACTION_TO_PERCENT_FACTOR ) / (F32)AIR_PUMP_MAX_PWM ) ) ); }