Old Firmware Which Does Not Support Pausing Periodic Actions During Flash Download

Old Firmware Which Does Not Support Pausing Periodic Actions During Flash Download

Summary

  • New “Print from SD” menu
  • “Fourth dimension Remaining” function improved
  • Community translations
  • Faster and quieter XYZ calibration
  • PVB preheat preset
  • Satin sheet profiles
  • G-code “M204 T” implemented
  • Optimizations for the MK3 filament sensor
  • DEDGE support enabled for TMC2130
  • Improved filament troubleshooting
  • Support for 0.8mm nozzles
  • Support for a GD external FLASH chip
  • Optimizations for print hosts (e.1000. Octoprint)
  • Optimized code size and RAM usage
  • Scaling extruder motor current based on speed
  • File listing adjusted for remote press software
  • Host Long File Name (LFN) improvements
  • Z offset during M600 reverted
  • Factory reset card extended
  • 1000-code documentation updated
  • Translations updated and checked
  • Reservation in the EEPROM for chore ID tracking
  • Bug Fixes

This is the concluding release of firmware iii.10.0, which introduces improved functionality and several bug fixes. These release notes include information provided in the previous releases RC1 and RC2.

Earlier we describe all the new features, improvements and changes, nosotros would like to give thanks the entire Prusa community members for their feedback – especially all active members who helped u.s.a. exam and debug this firmware release. Your input is very much appreciated!

This release required:

  • 4500+ printing hours during our in-business firm testing
  • 867 commits to the source lawmaking
  • eighty pull requests
  • 11 contributors (5 of them external)

New “Print from SD” menu

The “Print from SD” carte du jour was rewritten entirely. It is much more responsive when many files need to be displayed. This was accomplished by caching the file positions in memory during sorting. The menu isn’t blocking anymore, so Grand-code commands can still be processed while the filename is scrolling on the screen. This should improve host software functionality and compatibility.

When the “FlashAir” mode is enabled (for SD cards with Wi-Fi) in the settings menu, a new bill of fare button appears above the files and folders. It causes the menu to sort all items in the electric current directory once more. This is useful when a file uploaded to the FlashAir card doesn’t announced on the uppermost line – the user doesn’t have to reset the printer or disconnect and reconnect the card.

Sorting is improved compared to the previous firmware releases. In general, Alphabetical sorting is at present x-15 % faster. Sorting of the files by time-stamp is now nearly 2-4x faster.

“Fourth dimension Remaining” function improved

Until now, the firmware was merely able to brandish how much fourth dimension remains until the impress is finished. There were multiple suggestions from the community on farther improvements. Starting this release, the developers have implemented the first stage. However, to make the function piece of work correctly, the PrusaSlicer dev team likewise needs to publish a new release considering the G-code instructions must exist updated.

One time both firmware and PrusaSlicer are updated, the “remaining time” volition work the following fashion. The printer volition switch every 5 seconds between “remaining-printing-time” and “fourth dimension-to-next-color-change.” Therefore the user volition be informed in advance when the adjacent filament change is expected.

G-lawmaking M73 has been extended with 2 parameters: C (for normal mode) and D (for stealth style). Until at present, the PrusaSlicer produced pairs of lines in the grade of (instance):

        M73 P15 R30
        
      

In one case this feature is fully implemented, the lawmaking volition look as follows:

        M73 P15 R30 C15
        
      

This ways a color change is planned in 15 minutes in normal way. In case y’all would similar to try this feature now, you can edit the G-lawmaking manually using the code mentioned in a higher place. Conform the parameter “C” according to your model’south requirements.

Also, if the printer receives G-code “M73 C0”, it disables switching between “Time to cease” and “Time to color alter”. However, this caused an consequence during the final minute before the color alter, when the printer stopped switching between these two values completely.

To avoid this scenario, the firmware was further adjusted. It is advised for the slicer software to apply a floating-point value for the last minute before the color change (e.1000. M73 C0.ane) which is technically greater than zero and enables the function to work correctly.

Community translation

Thanks to the modifications to the part of the system responsible for storing the language dictionaries on the printer (XFLASH), the firmware can now extend the library of the official languages by loading new translations fabricated by the community.

Our kickoff add-on is Dutch, which is fully translated thanks to@3d-gussner and@vintagepc. To select this language and other new translations in the hereafter, delight head to the LCD menu -> Settings -> Select language -> Community made. In this release, the just pick is “Nederlands.”


Community made

We welcome everyone to join us and localize the printer to their native language. In case you would similar to translate and maintain the translations, contact usa at[email protected]. We appreciate community members, who already signed up and nosotros will contact them presently with instructions.

Faster and quieter XYZ scale

As noted in the previous release notes, the algorithm behind the XYZ calibration was almost completely rewritten, but developers are even so looking for improvements. This release brings a bit faster, more precise, and also quieter calibration. The algorithm has both improved acceleration treatment and a more than robust scan (circle search).

Another improvement to the XYZ calibration is the skew analysis. Previously, the user was informed on the screen about the measured skew. Starting with this firmware release, the calibration values tin too be accessed over the serial line for avant-garde diagnostics if anything goes wrong.

During extensive internal testing of the XYZ calibration, information technology was discovered that in sure rare scenarios the data provided by the sensor are non handled correctly. The developers have improved the algorithm and if this scenario happens, the browse of the contempo calibration points is automatically repeated.

PVB preheat preset

In the preheat preset bill of fare a new entry for PVB filament has been added, with temperatures 215 °C / 75 °C. To learn more than about PVB fabric, visit theweb log article.


PVB

Satin sheet profiles

The developers have modified the default canvas profile list. It takes consequence on new printers delivered with firmware iii.10.0, or later the Canvass profile reset and Factory reset with “All data” is executed on this firmware release or later.

Read:  How to Update Netgear Firmware on a Wireless Access Point

Two new sheet names (Satin one and Satin 2) were introduced and “Custom iii” and “Custom 4” have been removed. As there are but 8 sheet profiles, only “Custom i” and “Custom ii” remain at the terminate of the list. It is important to annotation that all profiles have the same default settings and the only difference is in the proper noun.

The new default sheet profile list is every bit follows:
Smooth1
Smooth2
Textur1
Textur2
Satin 1
Satin 2
Custom1
Custom2

You can edit the default names of the sheets via LCD Menu -> Settings -> HW Setup -> Steel Sheets -> [sheet name] -> Rename.

Kudos to@awenelo for this pull asking. Fixes enhancement request#3051.

G-code “M204 T” implemented

Another extension of the G-code support is an implementation of “M204 T”, which enables split up acceleration control of travel moves (now separated from the print moves). With this change, the syntax and behavior of M204 are at present identical to Marlin ii.

A separate travel dispatch setting allows reducing the number of instructions required while printing. Resetting the acceleration only for travel moves is no longer required and can be done a single time during the print.

M204 has two forms:

  • the legacy format:
        M204 Southward[print-acc] T[retract-acc]
        
      
  • the newer format:
        M204 P[print-acc] R[retract-acc] T[travel-acc]
        
      

The distinction is made based on the presence of the P parameter. If P is included in the One thousand-lawmaking, the new format is used. To go on astern compatibility, the “M204 S[acc]” volition fix both print and travel acceleration, which is identical in behavior to existing firmware versions. M500 and M503 will at present likewise report settings using the “new format.”

For more information, run across the PR#2838

Optimizations for the MK3 filament sensor

The PAT9125 on the MK3 is attached to the hardware SDA/SCL pins, however, it was using a software two-wire interface (TWI) implementation.

The code now includes the PAT9125_I2C configuration option (enabled by default) to use the hardware TWI module in 400kHz fast mode instead. The change saves a few bytes in all variants while besides improving the operation of optical filament sensor checks in the MK3.

For more than information, run into the PR#2814

DEDGE support enabled for TMC2130

The Trinamic driver TMC2130 supports Double Edge stepping (DEDGE) where both the ascent and falling edge of the stride pin count equally a step instead of requiring a total cycle.

Using DEDGE is beneficial – it removes one extra toggle for each step pulse (plus a delay, in some circumstances), saving a few µs in hot code paths while stepping.

This release introduces 2 macros to step: STEP_NC_HI and STEP_NC_LO. In legacy fashion, both perform as their name implies. In DEDGE way instead, STEP_NC_HI inverts the line, while STEP_NC_LO becomes a no-op. Both modes are nonetheless fully supported, simply DEDGE is now enabled past default in all supported variants. The macros are specialized for each centrality and yet respect INVERT_?_AXIS equally divers in the variant file.

Additionally, the firmware introduces a few constant definitions for the delays required by the TMC2130 and uses them when appropriate instead of hard-coding delays:

  • step pauses (2µs minimum)
  • direction changes (100µs minimum)

Existing lawmaking that was manipulating the pins directly has been changed to utilize either the macros or the helper functions defined in tmc2130.h. Nosotros besides fixed the behavior of TMC2130_INTPOL_* (which was previously ignored) in the variant files.

Notation that this characteristic volition only be present on MK3, MK3S and MK3S+ printers.

For more information see the PR#2789

Improved filament troubleshooting

When using the Settings->Move->Extruder card the filament sensor is at present temporarily ignored.

Thanks to this change, it is now possible to utilise the Move card to control the extruder while trying to perform a manual filament bandy, (e.m. when trying to clear a filament clog or when untangling a stuck flexible filament). There is no need to use the filament-alter process, which was sometimes used by the users instead to fix the issue.

For more information, meet the PR#1758

Support for 0.8mm nozzles

A new 0.8mm nozzle preset has been added to the firmware in the “HW setup” department. The user can set the printer to verify whether the G-code was sliced correctly for the selected nozzle diameter. Currently available sizes are 0.25, 0.4, 0.6 and 0.8 mm.

Support for a GD external Flash chip

Equally mentioned in the previous firmware releases, the Covid-19 virus is negatively impacting worldwide supplies, and to be able to transport the printers continuously without any significant filibuster, we have started to look for alternative verified suppliers of the nearly critical parts.

In this release, we are extending organization back up for external Flash chip GD25Q20CEIGR from company GigaDevice to ensure our production of Einsy boards remains unrestricted. For the user, there is no affect on the functionality of the printer, everything remains the aforementioned.

Optimizations for impress hosts (e.yard. Octoprint)

To meliorate the feel while printing using a remote host, there are several changes and optimizations in this release.

G-code M155 support

The firmware introduces support for an M155 G-code (Automatically ship temperatures) which creates the aforementioned output as M105 (Go Extruder Temperature), but it provides it automatically without the demand to periodically receive M105 G-lawmaking from Octoprint or other series devices.

Implementation:
Added One thousand-code M123 to show fan speed tacho and PWM values

Extended Capabilities in One thousand-code M115
AUTOREPORT_FANS
AUTOREPORT_POSITION
Added parameter C to G-lawmaking M155 to de-/actuate auto report output using a bitmask

SD card status send automatically

Previously the firmware didn’t always properly report the electric current SD card condition over the serial line. This is now fixed and the firmware reports three statuses: Insert, Squirt and Fault.

LCD status over UART

When the LCD status changes, the printer will transport an “LCD status changed” message to the series line.

Add together printer sleep information to the M115

Extended printer status information by reporting “Impress paused” on the serial line as a response to an M115 G-code.

Serial number in EEPROM

Information technology was impossible to retrieve the series number from the 32u2 IC when the USB cablevision was unplugged. With this fix, the serial number is cached to EEPROM at startup to have information technology available at all times even if the USB is not powered. This should also allow a continued RPi to be able to call up information technology.

Read:  Software Engineer - Platform and System Level Software/firmware Development Coding Test

Printer state in INFO string

Extending printer status data past “Print paused” in series line every bit a response for received M115 Thou-lawmaking.

IP address in the Support menu

Previously, when an IP address was assigned to the host/printer, information technology was displayed on the status screen. Nevertheless, it was frequently rewritten past other status information from the system seconds later. In this release, the IP address will be as well displayed in the LCD carte du jour -> Support Menu. In example the FlashAir SD card is used, both IP addresses will be displayed.

The host must ship it to the printer in the post-obit format:
M552 P192.168.one.14
Note that the IP address is used equally an example – yours might be different. The printer remembers the IP address until the restart.

Suspension/Resume functions improved

Until this release, the host and the printer weren’t always correctly synced while a Print/Pause/Resume/Stop was applied either in the host interface or directly on the printer using the knob. Now, the user tin can control the printer from both places without the gamble of a print failure. The printer and the host are actively communicating and exchanging information.

Examples of the shared information:

  • print: // action:interruption
  • print: // action:resume

Support for G-codes with thumbnails

There accept been pregnant improvements to how fast G-lawmaking files are processed (near 10x increase) when reading from the SD card, specifically when processing comment lines. This allows for a fast skipping of large comment blocks (specially PNG thumbnails) throughout the file.

This has resulted in several improvements:

  • Sliced G-codes for 8bit printers can now comprise thumbnails
  • The file check right earlier the offset of an SD print is much faster
  • More of the (express) CPU power is at present bachelor for other tasks like stepping the motors, linear advance and other cadre runtime features

The firmware is at present able to skip through commented lines at speeds reaching 170 KB/s (the raw read speed of the SD card in SPI mode has a maximum of approximately 250 KB/due south). The average PNG thumbnail is less than 100 kB, and so skipping over this should take less than a second.

Of course, it is possible to generate many big thumbnails in the G-lawmaking. In such a situation, starting the print will take several seconds (based on the size of comment lines you put in). Nevertheless, it will non crash anymore.

Existing Octoprint plugins which extract thumbnails from the Thousand-lawmaking should all the same work, equally there were no changes to the Yard-code format.

M601/M602 confirmation statuses stock-still

Fixed missing “Ok” in M601 and double “Ok” in M602 on the series line.

Optimized code size and RAM usage

Past removing string literals from RAM, the memory usage was decreased below 6 KB. As a result, firmware three.10.0 can now perform better nether certain scenarios.

A lot of old code that was related to serial output or LCD rendering was improved. There were many cases where PROGMEM wasn’t used or cord literals were used for a single character. Some locations were updated to apply the advisable role for generating many spaces on the LCD, every bit opposed to saving a string consisting only of spaces to PROGMEM.

The developers accept likewise refactored some of the series letters to use fewer office calls (resulting in reduced flash usage). Similarly, some of them were packed to a single printf_P call.

Scaling extruder motor electric current based on speed

The developers have discovered that using StealthChop without the “electric current feedback” characteristic of the TMC2130 has a positive effect on the extruder motor temperature. Multiple tests on our farm accept shown that the temperature can be lowered by upwardly to 10° C.

Alert: This characteristic was tested but for the motors provided past Prusa Inquiry. Nosotros cannot guarantee that this current amplification can be practical to other 3rd political party motors as they might get damaged due to a current spike. For this very reason, the feature is disabled for all printers and has to exist manually enabled at the user’s gamble.

To enable this feature, enter the experimental bill of fare. Go to LCD menu -> Settings -> HW Setup, and then whorl to any card item and concord the knob for 2-three seconds. After a “click” sound, the display will wink in one case and the “experimental menu” will appear every bit the terminal item in the listing.

File listing adjusted for remote printing software

The file listing provided by the M20 G-lawmaking was adjusted to comply with the needs of the remote printing software similar OctoPrint.

Examples of the list when using patently Thou-code M20, or M20 with the parameter “L”:
M20:

        Begin file listing TEST1.GCO 1234 LFNFIL~1.GCO 1234 Cease file list
        
      

M20 50:

        Begin file listing TEST1.GCO 1234 "TEST1.GCO" DIR_ENTER: /TESTFO~1/ "examination folder" DIR_EXIT LFNFIL~1.GCO 1234 "LFN file.gcode" Terminate file list
        
      

For Prusa Connect, the firmware was extended by a “T” parameter, which lists timestamps of the files. Both “L” and “T” parameters can be besides used at the same fourth dimension. The timestamp is a combination of both the appointment and time into a single integer ((date << 16) | time) and printed as a hex value. More information about the design is bachelor atlink1,link2

Examples of the listing, while using single parameter “T” and combination of “Fifty” and “T”:
M20 L T:

        Brainstorm file list TEST1.GCO 1234 0x52936b00 "TEST1.GCO" DIR_ENTER: /TESTFO~1/ "exam folder" DIR_EXIT LFNFIL~1.GCO 1234 0x52936b08 "LFN file.gcode" End file listing
        
      

M20 T:

        Begin file list TEST1.GCO 1234 0x52936b00 LFNFIL~1.GCO 1234 0x52936b08 Stop file listing
        
      

Host Long File Name (LFN) improvements

Nether the hood, the SD Fat implementation in the firmware only uses 8.3 DOS filenames. This is fine when they’re internal to the firmware, but this has the side issue of requiring Host software to piece of work with eight.3 filenames (SFN) exclusively. To accost this limitation, a few changes to existing One thousand-codes are proposed. If these Thou-codes are used correctly, the Host software tin build the full file tree with both SFN and LFN, while also knowing how to commencement an SD print with M23 (which still requires SFN).
The afflicted One thousand-lawmaking commands are M20 and M27. More info about what was changed can be found in these ii pull-requests:

Read:  Matshita Dvdrwbd Uj167am Blu Ray Firmware Update

Z offset during M600 reverted

This change restores the minimum extruder height for filament purge during M600 from the current value of 50 mm back to 27 mm used in the previous release FW 3.9.3 for the convenience of the user.

Factory reset menu extended

The factory reset bill of fare is extended in this release with a new “Service prep” option, which was requested past the Prusa Service department. Just earlier a repaired printer is sent dorsum to the customer, this selection is activated. The printer is so ready to guide the user through the “later-service” unpacking procedure.

This procedure is similar to some other selection from the bill of fare called “Shipping prep”. The only departure is that “Service prep” does non clear the print statistics. The “All data” parameter was moved into the concluding parameter position (after the Service prep parameter).

Chiliad-code documentation updated

This update brings updates to several G-codes (M20, M73, M123 and M155), the documentation was updated accordingly.

Translations updated and checked

All language versions of the firmware were updated and verified using new scripts, which cheque for the proper text wrapping according to the size of the LCD screen. As a result, the text readability is improved.

Reservation in the EEPROM for job ID tracking

For the host software, there is now a reserved space in the EEPROM to track/identify the print task. Even if the SD card or Raspberry Pi becomes unresponsive, the job ID will prevail. The four-bytes variable in EEPROM is named “EEVAR_HOST_JOBID”. Host software tin can manipulate the EEPROM variable via D3 commands.

Bug Fixes

Incorrect G-code reading from a buffer

There was a bug in the new G-code reading lawmaking, which could stop the impress in progress. In some scenarios, the organization would insert a new line ‘\n’ into the electric current cached block of the K-code file and modify the M-code line syntax. Kudos to@lhecker for reporting the issue and providing a good test case (fixes issue#3077).

M120 and M121 disabled

From at present on, G-codes M120 and M121 have been disabled equally they do not part correctly and cause issues when used in the Thou-lawmaking file. If necessary, advanced users can enable them in the FW code and recompile.

Crash detection during MBL

Normally, if prior to Mesh Bed Leveling (MBL) a crash on the Y-axis is detected, the MBL is repeated again and print coordinates are verified, so a purge line is printed. In some scenarios starting firmware 3.9.0 (previous releases are non afflicted), the purge line was incorrectly placed in the center of the canvas, now this is stock-still and the purge line is correctly placed in the front-left position.

M0/M1 Cease/Halt not displaying text/waiting for input stock-still

Fixes M0 and M1 commands:

  • Grand-code M1 must have a string, while in M0 it is optional
  • Thou-codes M0/M1 were moved to the first of the parser to allow reading “M1” starting time instead of M1nn.

The parser would not be able to “find” M1nn control if the query was “M1 “ instead of “M1” (infinite backside) to be able to “stop/halt” without sending a string and displaying the default bulletin.

  • Use Grand-code M0 as at that place are no M0nn G-codes the parser can place M0 without boosted infinite needed as in M1
  • M0/M1 with parameters P or Southward volition NOT show whatsoever text equally mentioned in#2055 (annotate)

In Octoprint, M0 or M1 should not be in “Pausing commands” as these are NOT pause commands – they stop/halt/sleep the printer. Addressing few requests from#2055. Cheers to@vojtech-pavlik and his PR#1900, which nosotros merged with a few improvements.

It is important to note that G-code M0/M1 stops/halts the printer! If y’all need a pause, please apply M601.

Sensor info screen blocking the part of filament IR sensor fixed

Now the part of the filament sensor is not blocked during print if in Back up->Sensor info screen is displayed. If the printer is idle the filament sensor actions are disabled while in the ‘Support->Sensor info’ menu. This allows the user to troubleshoot this sensor (broken wire, etc).
Fixes issue#1971

Motion Z up before XYZ calibration

The 10-axis is now raised up prior to the XYZ calibration to prevent scratching the bed, sheet, and nozzle.

Firmware retract (G10/G11) fixed

When using firmware retract (as controlled by M207/M208), G10 would previously salvage an incorrect offset, resulting in an wrong “unretract” move on the subsequent G11. The commencement is now saved correctly, fixing the behavior of G10/G11.

For more information, meet PR#2572

Babystep insertion fixed

This functionality prevents the user from entering Live Z (through long-printing or via the menu) while performing mesh bed leveling, homing, or performing individual Z probes via G30. These actions interfere with each other and can effect in an incorrect mesh or Z start.

The firmware now restricts this past setting/checking for the mesh_bed_leveling/homing flag when relevant. The code around Babystep insertion was also cleaned upwardly (notably, the alternative to BABYSTEP_LOADZ_BY_PLANNER was broken and has been removed).

For more than information, see PR#3006

Opening file causing incorrect serial output fixed

Opening a file from the LCD menu would open up the file twice. This behavior is normal. Nonetheless, the outset time the file was opened, the wrong filename was displayed in the serial output, possibly disruptive the host software. Now, this bug is fixed.

SD card (re)impress issues in Octoprint fixed

When the user started a Print From SD Menu from Octoprint in the RC1 or RC2 firmware release, the impress finished successfully, only information technology would immediately start again. This would result in crashes and homing failures due to printed material all the same being present on the heatbed. This issue did not occur on the previous stable release 3.nine.3, and has been corrected in this terminal release.

Fixes issue#3102

Old Firmware Which Does Not Support Pausing Periodic Actions During Flash Download

You May Also Like