Final version of 3.0.6 firmware for Prusa i3 MK2
Summary:
- Menu has been reorganized
- Internal improvements of the menu system
- Fixed a stack overflow
- Improvements of the Live Adjust function (please rerun the First layer calibration)
- Fixed the "Stop Print" function
- Enabled a high power mode when first booted up on a brand new RAMBo board
- Updated Spanish, Italian and Polish texts
- Toshiba FlashAir SD card support is now switchable
- "Calibrating nth point" message is shown during mesh bed levelling
- New feature: Bed leveling adjustment
- Improvements to fo fire safety
- Improved unload filament function
- Z-MIN set back to 0.15mm
Detailed description of changes:
Menu has been reorganized:
- The old Settings menu has been split to Settings and Calibration menus, where the Settings menu references the often used actions, while the Configuration menu references the rarely used actions.
- "Calibrate Z" was redefined to let the user move the X axis up to the Z end stoppers and to re-calibrate the 9 bed point reference values after the printer has been shipped or re-seated.
- New "Mesh Bed Leveling" menu item was added to the Calibration menu, doing what the "Calibrate Z" was doing before.
Internal improvements of the menu system:
- Use a shared menuData union for multiple menu screens to reduce memory allocation,
therefore reducing the risk of a stack overflow leading to crashes or an unexpected behavior.
Fixed a stack overflow:
- Fixed a stack overflow leading to an unexpected behavior or a crash when moving a machine axis from the menu multiple times. This was a bug inherited from the original Marlin firmware.
Improvements of the Live Adjust function:
- Stepper driver timing was fixed in the baby step function. The original author of the Marlin firmware used a lengthy purposeless calculation to introduce a delay, but this sequence was recognized by the compiler as having no effect, therefore removed, leading to too short pulses, possibly having the effect of skipped steps in the Z axis during the Live Adjust.
- Loading / reverting the Live Adjust offset after the 9 point bed leveling has been reworked to use the normal move planner instead of the questionable baby stepping routine.
- Bugfix of the Live Adjust menu: Show the correct value instead of zero when the Live Adjust menu is entered.
Fixed the "Stop Print" function:
- Now the printer will maintain a valid coordinate system during the print stop, so it will not crash into the end stops when moving the print head to a rest position.
Enabled a high power mode when first booted up on a brand new RAMBo board.
- Newly manufactured printers will be configured to a power mode by default.
Updated Spanish, Italian and Polish texts.
- The langtool.pl was extended to understand annotations on the maximum text length and the maximum number of lines of mutli-line texts, which ensures, that the translated texts will be displayed completely.
- The annotations were added to the English texts.
- The threshold for hiding the Live Adjust menu was increased from 0.5mm to 2mm above the bed.
Toshiba FlashAir SD card support has been made switchable:
- It is off by default. We had some feedback indicating, that some rare SD cards do not work properly with the FlashAir support.
- The "Toshiba FlashAir" status display was improved to not force IP address query on each display refresh when in the "Support" menu and to update status of the Toshiba FlashAir on SD card insert / removal.
"Calibrating nth point" message is shown during mesh bed levelling:
- Message will now be shown on the display even if initiated from a SD card G-code.
- The Z height will not be displayed on the status screen during the 9 point calibration, as this number is confusing, because it changes rapidly and it does not reflect the final Z height measured.
Bed leveling adjustment:
- Adjustability at the left / right / front / rear side to fine tune the 1st layer squish.
- The bed adjustment feature is accessible from the Calibration menu and as new L R F B codes of the G80 G-code.
- The values are entered in micrometers, the maximum allowed correction is +-50 microns. In most cases this feature is not needed at all, but in rare cases when this feature is useful, we found that a correction in the order of 30 microns is enough to make the squish even.
Improvements to fo fire safety:
- Original Marlin FW and previous Prusa3D firmwares just stopped when printer detected risky behaviour. Now it stops the print, spins up both fans at 100% power and starts beeping. Both fans can keep hotend at safe temperatures even if the hotend mosfet would malfunction and was on 100% of the time.
Improved unload filament function:
- Should keep less filament in the hotend and prevent some cases of jamming when loading new filament.
Z-MIN set back to 0.15mm. RC2 had an error.
- Properly set minimum Z cords to match the V2 calibration.