From cb1fd9769bb7c9081d535e8c0a042e90b4cc98b1 Mon Sep 17 00:00:00 2001 From: Clifford Roche Date: Sun, 1 May 2022 11:51:54 -0400 Subject: [PATCH 1/2] Reduce MCU scheduling/TX pressure for encoder --- Klipper_Files/Extra module/ercf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Klipper_Files/Extra module/ercf.py b/Klipper_Files/Extra module/ercf.py index 62b538f2..c648ee1a 100644 --- a/Klipper_Files/Extra module/ercf.py +++ b/Klipper_Files/Extra module/ercf.py @@ -61,8 +61,8 @@ def __init__(self, config): self.encoder_pin = config.get('encoder_pin') self.encoder_resolution = config.getfloat('encoder_resolution', 1.5, above=0.) - self._counter = EncoderCounter(self.printer, self.encoder_pin, 0.01, - 0.00001, self.encoder_resolution) + self._counter = EncoderCounter(self.printer, self.encoder_pin, 0.1, + 0.0001, self.encoder_resolution) # Parameters self.long_moves_speed = config.getfloat('long_moves_speed', 100.) From 719d3a1a36a1ad68af2011db9f675aca68d51b66 Mon Sep 17 00:00:00 2001 From: Clifford Roche Date: Mon, 2 May 2022 09:23:19 -0400 Subject: [PATCH 2/2] Make sample/poll time adjustable --- Klipper_Files/Extra module/ercf.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Klipper_Files/Extra module/ercf.py b/Klipper_Files/Extra module/ercf.py index c648ee1a..de07cb64 100644 --- a/Klipper_Files/Extra module/ercf.py +++ b/Klipper_Files/Extra module/ercf.py @@ -61,8 +61,14 @@ def __init__(self, config): self.encoder_pin = config.get('encoder_pin') self.encoder_resolution = config.getfloat('encoder_resolution', 1.5, above=0.) - self._counter = EncoderCounter(self.printer, self.encoder_pin, 0.1, - 0.0001, self.encoder_resolution) + self.encoder_sample_time = config.getfloat('encoder_sample_time', 0.1, + above=0.) + self.encoder_poll_time = config.getfloat('encoder_poll_time', 0.0001, + above=0.) + self._counter = EncoderCounter(self.printer, self.encoder_pin, + self.encoder_sample_time, + self.encoder_poll_time, + self.encoder_resolution) # Parameters self.long_moves_speed = config.getfloat('long_moves_speed', 100.)