From 21df21b7af2759aa577eb8d39d8215471956c25c Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 29 Jan 2018 12:54:06 -0500 Subject: fan: Clarify hardware_pwm and allow cycle_time to be set on software pwm Specify hardware pwm cycle times using the same method as software pwm (in seconds, not clock ticks). Allow the fan code to be configured with an explicit cycle time even when using software pwm. Signed-off-by: Kevin O'Connor --- klippy/extras/fan.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'klippy/extras/fan.py') diff --git a/klippy/extras/fan.py b/klippy/extras/fan.py index c7434ca5..7bc4a26d 100644 --- a/klippy/extras/fan.py +++ b/klippy/extras/fan.py @@ -5,8 +5,7 @@ # This file may be distributed under the terms of the GNU GPLv3 license. import pins -FAN_MIN_TIME = 0.1 -PWM_CYCLE_TIME = 0.010 +FAN_MIN_TIME = 0.100 class PrinterFan: def __init__(self, config): @@ -17,8 +16,9 @@ class PrinterFan: printer = config.get_printer() self.mcu_fan = pins.setup_pin(printer, 'pwm', config.get('pin')) self.mcu_fan.setup_max_duration(0.) - self.mcu_fan.setup_cycle_time(PWM_CYCLE_TIME) - self.mcu_fan.setup_hard_pwm(config.getint('hard_pwm', 0)) + cycle_time = config.getfloat('cycle_time', 0.010, above=0.) + hardware_pwm = config.getboolean('hardware_pwm', False) + self.mcu_fan.setup_cycle_time(cycle_time, hardware_pwm) def set_speed(self, print_time, value): value = max(0., min(self.max_power, value)) if value == self.last_fan_value: -- cgit v1.2.3-70-g09d2