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 <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2018-01-29 12:54:06 -05:00
parent b7b216af7f
commit 21df21b7af
9 changed files with 46 additions and 51 deletions

View File

@@ -209,14 +209,13 @@
#shutdown_value:
# The value to set the pin to on an MCU shutdown event. The default
# is 0.
#hard_pwm:
# Set this value to force hardware PWM instead of software PWM. Set
# to 1 to force a hardware PWM at the fastest rate; set to a higher
# number to force hardware PWM with the given cycle time in clock
# ticks. The default is to use software PWM.
#cycle_time: 0.100
# The amount of time (in seconds) per PWM cycle when using software
# based PWM. The default is 0.100 seconds.
# The amount of time (in seconds) per PWM cycle. It is recommended
# this be 10 milliseconds or greater when using software based
# PWM. The default is 0.100 seconds.
#hardware_pwm: False
# Enable this to use hardware PWM instead of software PWM. The
# default is False.
#scale:
# This parameter can be used to alter how the 'value' and
# 'shutdown_value' parameters are interpreted. If provided, then the
@@ -234,8 +233,8 @@
#[static_pwm_output my_output_pwm]
#pin:
#value:
#hard_pwm:
#cycle_time:
#hardware_pwm:
#scale:
# See the 'pwm_output' section for details on these parameters.

View File

@@ -245,12 +245,13 @@ pin: ar9
# pin to be enabled for no more than half the time. This setting may
# be used to limit the total power output (over extended periods) to
# the fan. The default is 1.0.
#hard_pwm: 0
# Set this value to force hardware PWM instead of software PWM. Set
# to 1 to force a hardware PWM at the fastest rate; set to a higher
# number to force hardware PWM with the given cycle time in clock
# ticks. The default is 0 which enables software PWM with a cycle
# time of 10ms.
#cycle_time: 0.010
# The amount of time (in seconds) for each PWM power cycle to the
# fan. It is recommended this be 10 milliseconds or greater when
# using software based PWM. The default is 0.010 seconds.
#hardware_pwm: False
# Enable this to use hardware PWM instead of software PWM. The
# default is False.
#kick_start_time: 0.100
# Time (in seconds) to run the fan at full speed when first enabling
# it (helps get the fan spinning). The default is 0.100 seconds.

View File

@@ -78,19 +78,22 @@ max_z_accel: 100
pin: PL3
scale: 2.0
value: 1.3
hard_pwm: 32640
cycle_time: .002
hardware_pwm: True
[static_pwm_output stepper_z_current]
pin: PL4
scale: 2.0
value: 1.3
hard_pwm: 32640
cycle_time: .002
hardware_pwm: True
[static_pwm_output stepper_e_current]
pin: PL5
scale: 2.0
value: 1.25
hard_pwm: 32640
cycle_time: .002
hardware_pwm: True
[static_digital_output stepper_config]
pins:

View File

@@ -72,7 +72,8 @@ pin: PH5
[heater_fan nozzle_fan]
pin: PH3
max_power: 0.61
hard_pwm: 1
cycle_time: .000030
hardware_pwm: True
[mcu]
serial: /dev/ttyACM0