mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-19 12:47:52 -06:00
fan: Support calling set_speed() without a print_time
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
1c0adb9af8
commit
f4143af4fa
4 changed files with 9 additions and 13 deletions
|
@ -46,7 +46,7 @@ class TemperatureFan:
|
|||
self.cmd_SET_TEMPERATURE_FAN_TARGET,
|
||||
desc=self.cmd_SET_TEMPERATURE_FAN_TARGET_help)
|
||||
|
||||
def set_speed(self, read_time, value):
|
||||
def set_tf_speed(self, read_time, value):
|
||||
if value <= 0.:
|
||||
value = 0.
|
||||
elif value < self.min_speed:
|
||||
|
@ -60,7 +60,7 @@ class TemperatureFan:
|
|||
speed_time = read_time + self.speed_delay
|
||||
self.next_speed_time = speed_time + 0.75 * MAX_FAN_TIME
|
||||
self.last_speed_value = value
|
||||
self.fan.set_speed(speed_time, value)
|
||||
self.fan.set_speed(value, speed_time)
|
||||
def temperature_callback(self, read_time, temp):
|
||||
self.last_temp = temp
|
||||
self.control.temperature_callback(read_time, temp)
|
||||
|
@ -128,10 +128,10 @@ class ControlBangBang:
|
|||
and temp <= target_temp-self.max_delta):
|
||||
self.heating = True
|
||||
if self.heating:
|
||||
self.temperature_fan.set_speed(read_time, 0.)
|
||||
self.temperature_fan.set_tf_speed(read_time, 0.)
|
||||
else:
|
||||
self.temperature_fan.set_speed(read_time,
|
||||
self.temperature_fan.get_max_speed())
|
||||
self.temperature_fan.set_tf_speed(
|
||||
read_time, self.temperature_fan.get_max_speed())
|
||||
|
||||
######################################################################
|
||||
# Proportional Integral Derivative (PID) control algo
|
||||
|
@ -171,7 +171,7 @@ class ControlPID:
|
|||
# Calculate output
|
||||
co = self.Kp*temp_err + self.Ki*temp_integ - self.Kd*temp_deriv
|
||||
bounded_co = max(0., min(self.temperature_fan.get_max_speed(), co))
|
||||
self.temperature_fan.set_speed(
|
||||
self.temperature_fan.set_tf_speed(
|
||||
read_time, max(self.temperature_fan.get_min_speed(),
|
||||
self.temperature_fan.get_max_speed() - bounded_co))
|
||||
# Store state for next measurement
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue