fan: Default to using software PWM

Not all hardware has PWM support and there is no compelling reason to
use hardware PWM for fans.  Change the default to use software PWM.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2017-03-08 20:00:27 -05:00
parent 37bac916e7
commit bcaf818c0e
7 changed files with 15 additions and 14 deletions

View file

@ -5,6 +5,7 @@
# This file may be distributed under the terms of the GNU GPLv3 license.
FAN_MIN_TIME = 0.1
PWM_CYCLE_TIME = 0.010
class PrinterFan:
def __init__(self, printer, config):
@ -16,8 +17,9 @@ class PrinterFan:
self.kick_start_time = config.getfloat('kick_start_time', 0.1)
def build_config(self):
pin = self.config.get('pin')
hard_pwm = self.config.getint('hard_pwm', 128)
self.mcu_fan = self.printer.mcu.create_pwm(pin, hard_pwm, 0)
hard_pwm = self.config.getint('hard_pwm', 0)
self.mcu_fan = self.printer.mcu.create_pwm(
pin, PWM_CYCLE_TIME, hard_pwm, 0.)
# External commands
def set_speed(self, print_time, value):
value = max(0., min(1., value))