stepper: Change default max_error from 50us to 25us

Change the default compression error window (max_error) from 50us to
25us - it's common for stepper motor drivers to have 30us for their
"pwm fixed off time" and it would be good for the steps to be
scheduled within that time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2016-12-26 13:15:37 -05:00
parent 800d53db6a
commit f46bc0ef04
2 changed files with 6 additions and 7 deletions

View File

@ -7,12 +7,11 @@ compelling features:
stepper motor, it compresses those events, transmits them to the
micro-controller, and then the micro-controller executes each event
at the requested time. Each stepper event is scheduled with a
precision of no less than 50 micro-seconds. The software does not
use kinematic estimations (such as the Bresenham algorithm) -
instead it calculates precise step times based on the physics of
acceleration and the physics of the machine kinematics. More precise
stepper movement translates to quieter and more stable printer
operation.
precision of 25 micro-seconds or better. The software does not use
kinematic estimations (such as the Bresenham algorithm) - instead it
calculates precise step times based on the physics of acceleration
and the physics of the machine kinematics. More precise stepper
movement translates to quieter and more stable printer operation.
* Best in class performance. Klipper is able to achieve high stepping
rates on both new and old micro-controllers. Even an old 8bit AVR

View File

@ -51,7 +51,7 @@ class PrinterStepper:
self.min_stop_interval = (math.sqrt(3.*inv_max_step_accel + jc**2)
- math.sqrt(inv_max_step_accel + jc**2))
def build_config(self):
max_error = self.config.getfloat('max_error', 0.000050)
max_error = self.config.getfloat('max_error', 0.000025)
step_pin = self.config.get('step_pin')
dir_pin = self.config.get('dir_pin')
min_stop_interval = max(0., self.min_stop_interval - max_error)