* Add current heater power % to job status
* Add show_heater_power config option and move update_temp()s to ScreenPanel
* Add the option to the UI config instead of the docs
* Prefer extra items on job_status over the power
There is not a lot of space, it's a trade off, and people will likely prefer extra_items
* Remove the comma, none of the other buttons have it
* job_status: inherit the parent config
* screen: create reload_panels to avoid some service restarts
* extrude: fix power breaking multi-extruder setups
* main and temp: remove degrees char from the table
* main and temp: revert removal of the header
Co-authored-by: alfrix <alfredomonclus@gmail.com>
Use f-strings
Avoid unnecessary casts to str()bool()int()
Ensure file closure
Merge nested ifs
Simplify for-assigns-appends with comprehensions and internal functions
Avoid shadowing internal function names
Initialize variables
Return value directly instead of assign then return
Make some methods static
Adds heater_generic and/or temp_sensors besides extruder/bed (because of the limited space maybe only 1)
Temps are now buttons and act as a shortcut to the temp panel
Adds fan_generic to the fan label and it's now a shortcut to the fan panel
The colors and size of the progress circle were changed to be more subtle.
Margins between items were augmented, because they are buttons now
Adds 3 information pages: move, extrusion and time:
move can be opened with speed or z buttons
time with elapsed/remaining buttons
extrusion with the extrude_factor / flowrate button
New 'Auto' setting that selects the best guess
added an slicer time compensation if you find that your slicer always under/over estimates by some amount
Split in days if the time is more than 24h
If the print finishes (or the user cancelled) while KS is in another panel, job_status was broken with no buttons, no filename, wrong progress and wrong status, this fixes all those issues, and removes some redundant checks