Und wieder ist es soweit und die fleißigen Entwickler von Prusa haben eine neue Firmware veröffentlicht, welche aktuell in Version 4.3.2 RC1 vorliegt. RC heißt Release Candidate und ist eine „Versuchs-Firmware“ die noch Fehler enthalten kann. In den meisten Fällen laufen diese RC´s von Prusa aber ohne irgendwelche Probleme.
Bei dieser Firmware wurde vermehrt im Hintergrund Updates ausgeführt, denn großartige Erneuerungen gibt es hierbei nicht, da man sich auf die Fehler konzentriert hat. Diese müssen behoben werden, damit weitere Versionen demnächst folgen können. Aber es ist gut zu sehen, dass wir hier bald mit einer Finalen Version rechnen können und da ist es wieder spannend, was sich die Entwickler neues einfallen gelassen haben.
- Upgraded Newlib library
- Upgraded USB drivers
- Fixed bugs
- Known errors
This is the first release candidate of the upcoming firmware 4.3.2 with new features and several bug fixes.
Upgraded Newlib library
This firmware release brings an important upgrade to the Newlib library. The standard library is replaced with a more optimized Newlib-nano version. Also, the standard “printf” family functions are replaced with a different implementation.
This change results in several improvements and memory savings. Compared to the previous firmware 4.3.1:
- 98 kB of FLASH memory is saved
- 4 kB of RAM is saved (3 kB on heap/static allocations, 1 kB on stack)
- makes the printf() family functions fully reentrant and thread-safe (the previous implementation did not allow formatting of floats in ISRs)
Multiple tests revealed no negative effects related to these changes in the MINI+ firmware project. The measurements of RAM usage were done with release builds with metrics enabled while printing.
Upgraded USB drivers
In cooperation with the manufacturer ST, the developers have implemented the latest USB drivers available for the chipset running on the Buddy board. This update should increase the system stability and resolve several issues. See the section “Fixed bugs” for more information.
USB flash drive detection fixed
In some cases, selected USB drives were not correctly detected by the firmware while the printer was booting up. Even if correctly connected to the USB port, the printer ignored their presence and the user was not able to access the data.
The only solution was to remove the drive and reinsert it back. This is now fixed thanks to the new USB stack. Note that this fix does not address a scenario when certain USB drives are not correctly detected by the bootloader.
USB drive malfunction fixed
The new USB stack also fixes issues with certain USB drives, which were malfunctioning in specific situations.
Pronterface causes BSOD on 4.3.2-beta1
During the testing of the firmware 4.3.2-beta1, the developers have identified a BSOD error when trying to connect host software (e.g. Pronterface, OctoPrint) to the printer via a serial Micro USB port. This failure is now corrected and successfully tested.
Filament runout during serial print
When the print has been previously initiated from the serial line (e.g., OctoPrint) and a filament runout occurred, the printer did not react accordingly and the Change filament (M600) sequence was not initiated. Now, this behavior is fixed and even when the print is initiated by the serial interface, the Filament runout initiates the local Change filament sequence on the printer.
Extra head movements after the print ends
In rare cases, when the printer finishes the print, the print head performs additional random movements (repeated mesh bed leveling, additional purge line, etc.). From the reports, it seemed that this bug first occurred in firmware 4.1.0.
The developers have identified the issue caused by a long comment line in the G-code file (generated by PrusaSlicer merging all custom codes into one comment line), which is longer than the expected 95 characters. The characters exceeding the number 95 in this line were incorrectly parsed – text starting with the 96th character has been analyzed as a part of actual G-Code. In some cases, it may have contained G-Code commands, which have been interpreted and executed. The analysis was complicated due to users adding different Custom codes.
All concerned cases issued in Github are fixed now:
Random BSOD after removal/eject USB drive
In some very rare scenarios, a BSOD occurs while inserting/removing the USB flash drive. It is very difficult to replicate not knowing the all circumstances under which the issue has happened. We are still investigating and executing a deep root cause analysis. This issue is planned to be fixed before the final release of firmware 4.3.2.