Index: firmware/App/Drivers/RotaryValve.c =================================================================== diff -u -ra811cae0392f1d0f976650ff167945e614b3b854 -r8b819deb3e770c981eed221f63170dd842eedbe3 --- firmware/App/Drivers/RotaryValve.c (.../RotaryValve.c) (revision a811cae0392f1d0f976650ff167945e614b3b854) +++ firmware/App/Drivers/RotaryValve.c (.../RotaryValve.c) (revision 8b819deb3e770c981eed221f63170dd842eedbe3) @@ -138,7 +138,7 @@ { if ( valve < NUM_OF_VALVES ) { - U16 mag8 = ( ( mag % 8 ) < 4 ? ( mag >> 3 ) << 3 : ( ( mag >> 3 ) << 3 ) + 8 ); // round to multiple of 8 to maximize holding torque + U16 mag8 = ( ( mag % ROTARY_VALVE_MICROSTEP_FRACTION ) < 4 ? ( mag >> 3 ) << 3 : ( ( mag >> 3 ) << 3 ) + ROTARY_VALVE_MICROSTEP_FRACTION ); // round to multiple of 8 to maximize holding torque S16 chgSteps = (S16)mag8 * ( MOTOR_DIR_REVERSE == dir ? -1 : 1 ); // convert to signed change in position - negative value indicates reverse direction // log event showing valve position change commanded