Add `tml_decode` to decode a TML trace from a serial log file into a
parsable tab-separated table.
`tml_decode` also doubles a simple no-frills plotting utility.
Restructure the README for better readability.
It may seem counterintuitive to disable the E-motor, but it gets enabled in the planner whenever the E-motor is to move.
The idea behind disbling the E-motor when it won't be needed for some time is to save power and lower the heat of the motor.
Therefore it is especially important to disable the motor before the printer pauses a print due to some MMU error screen.
Used lcd_print_pad_P is some obvious places. We can probably use
this function in more places to further save flash memory
Change in memory:
Flash: -268 bytes
SRAM: 0 bytes
Because this error is not an MMU error but a printer one, the existing infrastructure has been bent to support such a scenario.
During testing it turned out, that some machines fail to draw the error screen due to previous internal states.
This PR resets the internal states so that the conditions for drawing the error screen are met.
During thermal errors all fans are set to full speed.
When the print is resumed or stopped *and* the thermal error is gone,
also restore the autofan state.
Fixes#3893
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.
Partially addresses #3891 and #3890, since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
This fixes#3891 without having to set the calibration bit, meaning
that if the model is later re-enabled without a real calibration, a
prompt is shown as expected.
It was only enabled when multiple extruders are enabled
The firmware doesn't support it
and even if the M218 gcode could be used, the code does not compile
Disabling the model during a warn/error condition will also stop
updating the warning/error flag, keeping the printer in an error state.
Clear all flags as well when changing model settings.
Follow Marlin's behavior and simply insert a delay for the requested
duration when using M300 S0.
When S is not specified, use the default tone instead.
Fixes#3856
This PR tries to address the 3 different startup scenarios for 1st layer calibration with the MMU:
- 1st lay cal started with correct filament already loaded in the nozzle - we should continue, but skip the first 58mm (first 2 g-codes in the hard coded sequence) of purge line extrusion
- 1st lay cal started with other filament already loaded in the nozzle - we should unload and then issue a toolchange with no extra unload
- 1st lay cal started without loaded filament - we should just do a toolchange with no extra unload
PFW-1457