Add new 'callback' edit-menu types that call a function after the edit is done. Use this to display and edit Ki and Kd correctly (removing the scaling first and reapplying it after). Also use it to reset maximum stepwise acceleration rates, after updating mm/s^2 rates via menus. (Previously, changes did nothing to affect planner unless saved back to EEPROM, and the machine reset).
Add calls to updatePID() so that PID loop uses updated values whether set by gcode (it already did this), or by restoring defaults, or loading from EEPROM (it didn't do those last two). Similarly, update the maximum step/s^2 accel rates when the mm/s^2 values are changed - whether by menu edits, restore defaults, or EEPROM read.
Refactor the acceleration rate update logic, and the PID scaling logic, into new functions that can be called from wherever, including the callbacks.
Add menu items to allow the z jerk and e jerk to be viewed/edited in the Control->Motion menu, as per xy jerk.
Conflicts:
Marlin/language.h
The new version of the library means that PANELOLU no longer needs to be
defined in LiquidTWI.h (the library file can be used as is) and the new
version of the library also enables the buzzer on the Panucatt VIKI
panel.
This allows PID_FUNCTIONAL_RANGE to use a maximum duty cycle higher
than PID_MAX. This is useful for powerful heaters to heat quickly in
bang-bang mode, but use a lower duty cycle that is easier to stabilize
in PID mode.
A new variable was introduced to allow fan animation on the GLCD.
Add additional float to string conversion routine without sign
character. This is used for the coordinates visualisation on the GLCD.
1. Marlin welcome screen
2. Status screen symbols 3 Extruders, heated bed, animated fan logo 1
3. Status screen symbols 3 Extruders, heated bed, animated fan logo 2
This change also handles the case where the pause/stop/restart button on
the VIKI is not used. Make LCD I2C buzz sound the same as the normal
buzz (300ms is too long for quick feedback).
This change allows fan outputs to automatically turn on/off when the
associated nozzle temperature of an extruder is above/below a threshold
temperature.
Multiple extruders can be assigned to the same pin in which case the fan
will turn on when any selected extruder is above the threshold.
It also makes the M42 command compatible with the M106/M107 command.
The majority of the logic in this change will be evaluated by the
compiler at build time (i.e, low code space requirements).