修复零位舵机极小概率初始化角度不对问题

This commit is contained in:
张开科 2025-02-06 09:33:50 +08:00
parent bda6839686
commit 2e214ce02c

View File

@ -74,12 +74,12 @@ class PrinterServo:
if self.signal_duration:
if abs(self.signal_duration / 0.02 - round(self.signal_duration / 0.02)) < 1e-9:
self.signal_duration -= 0.001
print_time = max(print_time, print_time + self.signal_duration)
print_time = max(print_time + SERVO_SIGNAL_PERIOD, print_time + self.signal_duration)
self.mcu_servo.set_pwm(print_time, 0)
self.last_value_time = print_time
def _handle_ready(self):
print_time = self.printer.lookup_object('toolhead').get_last_move_time()
self._handle_signal_duration(print_time)
self._set_pwm(print_time, self.initial_pwm)
def _get_pwm_from_angle(self, angle):
angle = max(0., min(self.max_angle, angle))
width = self.min_width + angle * self.angle_to_width