3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU
Pre-release3.1.0-RC1 firmware for Prusa i3 MK2/S/MMU
Summary:
- Linear Advance
- Wizard
- Host keep alive messages
- SD card menu sorting
- Check if file is complete
- First layer calibration
- Auto power mode
- XYZ calibration details menu fixed
- M220: Speed factor
Detailed description:
Linear advance
This feature has been ported from Marlin firmware by @Sebastianv650. Thank you for your kind help Sebastian.
Without linear advance, extruder motor moves in linear proportion to all the other motors. This simple approach does not take in the account that extruder is not linear system. This leads to extruding more material then desired at the end of each linear movement. Linear advance on the other hand takes nonlinearity into account and maintains correct pressure in nozzle during movements.
Advantages:
- Better dimensional precision due to reduced bleeding edges.
- Higher printing speeds are possible without any loss of print quality.
- Visible and tangible print quality is increased even at lower printing speeds.
- No longer need high acceleration and jerk values to get sharp edges.
On next figure, there is difference between print without linear advance on the left and with linear advance on the right:
For more information about Linear Advance please click here.
For printing with linear advance, we recommend start with following settings:
- PLA: 100 mm/s; M900 K25
- ABS: 100mm/s; M900 K35
- PET: 100mm/s; M900 K45
We are still testing/developing linear advance settings for different materials and printing conditions.
Wizard
In order to make calibration process easier and more user friendly, there is now Wizard which guides user thru whole calibration process. Wizard is automaticaly invoked on printer setup in case that printer was not calibrated yet. It is also possible to run Wizard from menu Calibration -> Wizard. This option deletes all current calibration results and recalibrate printer using Wizard.
Host keep alive messages
Using our printer with host software devices (such as Octoprint) could led to communication timeout in some cases. Typical example is colorprint procedure. In this procedure, printer unloads current filament and waits for user to insert new filament. During waiting, serial communication was blocked. Printer did not send any messages to host nor replied to host requests. External host intepreted this state as lost communication and disconnected itself, which ruined print when printing over serial.
This has been fixed in current firmware version. If printer is in state when it can't reply to host requests, it send periodicaly messages on serial line. There are two types of messages:
echo:busy: processing
echo:busy: paused for user
First message is used typicaly when some long running blocking procedure such as M45 gcode (xyz calibration) is running. Second message is used in case that printer wait for user interaction (pressing the knob, choosing some option from menu etc.).
These messages ensures that host does not disconnect itself and also informs user what is currently happening. Messages are send periodically every 2 seconds.
SD card menu sorting
Items order in "Print from SD" menu were undefined in previous firmware version. File which was added most recently was usually shown as first item in menu. However this was not guaranteed. Deleting some files from SD card and then adding new file to the SD card could cause that this new file was not first item in menu and it was difficult to find it.
There is now possibility to sort items in "Print from SD" menu by time or aphabetically. Folders are shown on the top of SD card menu and then other files follow.
If user chooses sorting by time, items order is determined by time when files were added to SD card. Files which were added most recently to SD card are shown on top of menu.
Maximum number of items which can be sorted is 100. If there are more items, some of them will remain unsorted.
Switching between sorting by time and alphabetical sorting can be done in menu Settings -> Sort: [Type].
There is also option to turn off sorting.
Check if file is complete
Removing SD card from computer prematurely during write process leads to incomplete gcode files. There were no detection if file is complete in previous firmware versions. If user attempted to print incomplete file, print started normally and it was not possible to recognize that file is not complete and will fail.
In current firmware version when choosing file to print, printer first checks if file is complete. In case that printer detects incomplete file, user is informed by warning message.
First layer calibration
First layer calibration serves for setting correct distance between the nozzle and heatbed. In previous firmware versions, this calibration was not present in printer itself and printing V2_calibration.gcode file from SD card was used for this purpose. In current firmware version, this calibration can be run from menu Calibration -> First layer cal. Only version for PLA filament is present.
In first part of calibration, meander is printed (same as in V2 calibration) and user can adjust distance between nozzle and heatbed to correct value. One layer small rectangular object is then printed. This provides additional information to decide if first layer is set correctly or not.
Auto power mode
This is new mode for setting stepper currents which lies between silent mode and high power mode. In auto power mode, stepper currents depends on Z coordinate. They are low when Z coordinate is low and progressively enlarges during print with rising Z coordinate (when Z coordinate is higher, there is higher risk of layer shift/skipped steps, because of higher printed object mass).
XYZ calibration details menu fixed
If physical skew was lower than 0.12°, measured skew value shown in Support -> XYZ cal. details menu was 0. This is because printer does no skew compensation for very low skew (<0.12°) where measuring resolution is low and value shown in XYZ cal. details corresponded to that fact.
In current firmware version measured skew value is shown even for very low skew to provide more information about physical skew to user. Rerunning xyz calibration after uploading this new firmware version is needed to see measured skew.
M220: Speed factor
There is now possibility to save and restore speed factor using following gcodes:
M220 Sxxx
sets speed factor
M220 Sxxx B
sets speed factor and backups current speed factor
M220 R
restore saved speed factor
Other
- Improved "Print from SD" menu behavior when working with long filenames (better readability)
- Saving E steps per mm to EEPROM fixed (issue #144)
- If printer waits for user to press the knob, check mark is shown in lower right display corner as shown on next figure: