Changelog for Version 1.2.0
Highlights
- Firmware Images: Developed installation, uninstallation, and recovery flashing images.
- Performance Enhancements: Reimplemented several utilities from Bash to C++ to speed up boot.
- Feather Screen: Implemented a lightweight alternative to the stock screen.
- Typer Utility: Implemented a lightweight utility for screen drawing.
- Logged Utility: Implemented a utility for script/app logging with the ability to draw logs on the screen.
- Bed Mesh Validation: Advanced bed mesh validation, refined nozzle-cleaning logic, and added protection checks.
- Improved Boot Process: Enhanced logging, sped up MCU boot, and added visual indicators during boot.
New Features
-
Feather Screen Status Bar:
- Integrated as a Klipper plugin.
- Added a status bar (temperature, connections, etc.).
- Print process indication with a progress bar and print status.
-
Bed Mesh Validation Protection:
- Ensures that the loaded bed mesh matches the actual installed bed plate.
- Added optional nozzle cleaning before checks.
-
Boot Speed-Up:
- Added batch processing for configuration setups to improve boot speed.
- Used double buffering and batching to prevent log flickers during initialization.
-
System Verification Script:
- Implemented a verification utility to validate system integrity.
-
Camera Autodetect:
- Enabled automatic detection of connected camera devices.
-
Improved Cancel Commands:
- Added the ability to cancel heating commands gracefully and handle wait timeout scenarios better.
-
Display-Off & Boot Process Indications:
- Added support for print progress and boot indication messages when the screen is turned off.
- Enabled screen dimming control via LED backlight.
Fixes and Improvements
-
Error Handling:
- Fixed
CLEAR_NOZZLEimplementation logic and improved safety checks. - Resolved legacy
LOAD_MATERIAL/M600issues for better compatibility with Klipper.
- Fixed
-
Memory Optimization:
- Fixed memory leaks by implementing a graceful shutdown for the
gcode_shell_commandplugin.
- Fixed memory leaks by implementing a graceful shutdown for the
-
Boot Process Enhancements:
- Improved boot logging, reduced erroneous attempts to initialize the MCU, and reordered initialization processes.
- Enhanced handling of settings after display switching when the firmware is already booted.
-
Screen Updates:
- Fixed display switching logic for the Feather Screen.
- Added UTF-8 support for text rendering on the Feather Screen.
-
Weight Sensor Throttling:
- Reduced throttle issues and improved weight check mechanisms.
-
Install/Uninstall Process:
- Resolved installation and uninstallation issues and improved uninstall screens.
Thanks @DougJoseph for installation/uninstallation and recovery process testing. - Added confirmation dialogs for mod removal actions.
- Resolved installation and uninstallation issues and improved uninstall screens.
Performance Improvements
-
GCode Shell Commands:
- Reimplemented GCode shell commands with queuing support, allowing shell commands to be queued.
-
Logged Utilities:
- Rewritten logged utilities in C++ for significant performance boosts.
-
Display Enhancements:
- Optimized splash and boot visuals.
Other Updates
-
Refinements:
- Minor fixes for zmod switching, klipper_mod boot compatibility, and error messages.
- Updated translations for mod parameters and improved overall message clarity.
-
Development Optimizations:
- Integrated debug information collection, improved archiving functionality, and refined backup macros.
- Added a demo C++ project with written build instructions.
-
Versioning:
- Added timestamp-based version patches for sync actions and display updates.
-
Typer Update:
- Added support for fonts with BBP (bits per pixel) > 1.
- Implemented a font converter web app: link.
- Added higher-quality fonts and icon fonts.
Full Changelog: 1.1.1...1.2.0