When `THERMAL_PROTECTION_BED` is off but `THERMAL_PROTECTION_HOTENDS` is on, `watch_temp_period` and `watch_temp_increase` are initialized with the values for `THERMAL_PROTECTION_HOTENDS`. Later it is not tested if these values are for the bed or the nozzles.
- Add test.
- Name a constant.
Fix for #10150
* Fix thermal protection documentation.
Even before the recent thermal protection changes, the documentation of
the thermal protection feature in the config files did not match the
implementation. I fixed the documentation and reconciled the M303
implementation with the documentation.
* Applied documentation changes to sample config files
* Renamed hysteresis to watch_temp_increase
* Added gcodes back into documentation.
* Added M303 thermal runaway protection
Currently, thermal runaway protection is not available during M303.
Therefore, if someone plugs the thermistors in incorrectly and goes to
autotune their printer, the printer temperature could runaway and damage
could occur.
* Replace removed line, clarifying its logic
* Fixed M303 thermal protection
The temperature sanity checking logic was not being applied during M303
(pid autotuning) because instead of setting a target temperature, it
directly manipulated the pwm values. When PIDTEMP/PIDTEMPBED is
enabled, PWM values rather than the target temperature determine whether
the heater is on. I changed this to look directly at the PWM amount
when pid is enabled.
* Turn off heaters on M303 error
Currently, PID autotuning stops if it overshoots the temperature by 20C
or if if the temperature does not change for 20 minutes and it times
out. I added calls to disable the heaters in these scenarios.
* Removed unnecessary if statement.
Added changes suggested by GMagician.
* Update temperature.cpp
* Update temperature.cpp
* Update temperature.cpp