|
|
@ -629,7 +629,7 @@ int Temperature::getHeaterPower(const int heater) { |
|
|
|
SBI(fanState, pgm_read_byte(&fanBit[e])); |
|
|
|
|
|
|
|
#if HAS_TEMP_CHAMBER |
|
|
|
if (temp_chambercurrent > EXTRUDER_AUTO_FAN_TEMPERATURE) |
|
|
|
if (temp_chamber.current > EXTRUDER_AUTO_FAN_TEMPERATURE) |
|
|
|
SBI(fanState, pgm_read_byte(&fanBit[6])); |
|
|
|
#endif |
|
|
|
|
|
|
@ -1053,14 +1053,14 @@ void Temperature::manage_heater() { |
|
|
|
if (PENDING(ms, next_chamber_check_ms)) return; |
|
|
|
next_chamber_check_ms = ms + CHAMBER_CHECK_INTERVAL; |
|
|
|
|
|
|
|
if (WITHIN(temp_chambercurrent, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { |
|
|
|
if (WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP)) { |
|
|
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING) |
|
|
|
if (temp_chambercurrent >= temp_chamber.target + CHAMBER_HYSTERESIS) |
|
|
|
if (temp_chamber.current >= temp_chamber.target + CHAMBER_HYSTERESIS) |
|
|
|
temp_chamber.soft_pwm_amount = 0; |
|
|
|
else if (temp_chambercurrent <= temp_chamber.target - (CHAMBER_HYSTERESIS)) |
|
|
|
else if (temp_chamber.current <= temp_chamber.target - (CHAMBER_HYSTERESIS)) |
|
|
|
temp_chamber.soft_pwm_amount = MAX_CHAMBER_POWER >> 1; |
|
|
|
#else // !PIDTEMPCHAMBER && !CHAMBER_LIMIT_SWITCHING
|
|
|
|
temp_chamber.soft_pwm_amount = temp_chambercurrent < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; |
|
|
|
temp_chamber.soft_pwm_amount = temp_chamber.current < temp_chamber.target ? MAX_CHAMBER_POWER >> 1 : 0; |
|
|
|
#endif |
|
|
|
} |
|
|
|
else { |
|
|
@ -1069,11 +1069,11 @@ void Temperature::manage_heater() { |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(THERMAL_PROTECTION_CHAMBER) |
|
|
|
thermal_runaway_protection(tr_state_machine_chamber, temp_chambercurrent, temp_chamber.target, -2, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); |
|
|
|
thermal_runaway_protection(tr_state_machine_chamber, temp_chamber.current, temp_chamber.target, -2, THERMAL_PROTECTION_CHAMBER_PERIOD, THERMAL_PROTECTION_CHAMBER_HYSTERESIS); |
|
|
|
#endif |
|
|
|
|
|
|
|
// TODO: Implement true PID pwm
|
|
|
|
//temp_bed.soft_pwm_amount = WITHIN(temp_chambercurrent, CHAMBER_MINTEMP, CHAMBER_MAXTEMP) ? (int)get_pid_output_chamber() >> 1 : 0;
|
|
|
|
//temp_bed.soft_pwm_amount = WITHIN(temp_chamber.current, CHAMBER_MINTEMP, CHAMBER_MAXTEMP) ? (int)get_pid_output_chamber() >> 1 : 0;
|
|
|
|
|
|
|
|
#endif // HAS_HEATED_CHAMBER
|
|
|
|
|
|
|
@ -1235,7 +1235,7 @@ void Temperature::updateTemperaturesFromRawValues() { |
|
|
|
temp_bed.current = analog_to_celsius_bed(temp_bed.raw); |
|
|
|
#endif |
|
|
|
#if HAS_TEMP_CHAMBER |
|
|
|
temp_chambercurrent = analog_to_celsius_chamber(temp_chamber.raw); |
|
|
|
temp_chamber.current = analog_to_celsius_chamber(temp_chamber.raw); |
|
|
|
#endif |
|
|
|
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) |
|
|
|
redundant_temperature = analog_to_celsius_hotend(redundant_temperature_raw, 1); |
|
|
|