Index: firmware/App/Drivers/PeristalticPump.c =================================================================== diff -u -r291d652fcd09b461728962a547d3b08163737d76 -rfc985a2080a265d14be32959fa41fb43318e4ff4 --- firmware/App/Drivers/PeristalticPump.c (.../PeristalticPump.c) (revision 291d652fcd09b461728962a547d3b08163737d76) +++ firmware/App/Drivers/PeristalticPump.c (.../PeristalticPump.c) (revision fc985a2080a265d14be32959fa41fb43318e4ff4) @@ -239,10 +239,19 @@ if ( abs( rpm ) < MAX_PUMP_SPEED_RPM ) { - F32 calRpm = H4_PUMP_CMD_CAL( (F32)rpm ); - U16 setRpm = (U16)( abs( (S32)calRpm ) ); + F32 calRpm; + U16 setRpm; MOTOR_DIR_T dir = MOTOR_DIR_FORWARD; + if ( rpm >= 0 ) + { + calRpm = ( (F32)rpm * H4_PUMP_CMD_GAIN ) + H4_PUMP_CMD_OFFSET; + } + else + { + calRpm = ( (F32)rpm * H4_PUMP_CMD_GAIN ) - H4_PUMP_CMD_OFFSET; + } + setRpm = (U16)abs( (S32)calRpm ); if ( rpm < 0 ) { dir = MOTOR_DIR_REVERSE;