Skip to content

Marlin 2.0.9.4

Compare
Choose a tag to compare
@thinkyhead thinkyhead released this 04 Jun 05:49
· 3936 commits to bugfix-2.1.x since this release

This release brings some major changes to Marlin, along with a few known issues. If you encounter any problems with Marlin 2.0.9.4, upgrade to 2.0.9.5 or 2.1.1, or try the nightly build of bugfix-2.1.x and please report any difficulties.

New Features

  • M919 : Chopper Timing (#23400)
  • M81 D / S - Power-off Delay (#23396, #23455)
  • ✨ Temperature variance monitor (#23373)
  • ✨ Firmware Upload via Binary Transfer (#23462)
  • ✨ MagLev V4 probe by MDD (#23192)
  • ✨ Long filename open/create/write (#23526)
  • ✨ Optional HOST_STATUS_NOTIFICATIONS (#22833)
  • ✨ More Nozzle Park move options (#23158)
  • ✨ Dyze Design PT100 Amplifier Board (#23760)
  • ✨ LCD Backlight Timer (#23768)
  • M21 P / S / U - Select Volume (#23780)
  • 🚸 M401 H - Report BLTouch HS State (#23724)
  • ✨ ESP32 - Hardware PWM for fan, cutter, servos (#23802)
  • ✨ Encoder button noise filter (#23925)
  • STATUS_MESSAGE_TIMEOUT_SEC (#23135)
  • ✨ Configurable FREEZE pin state (#23944, #23948)
  • ✨ Add M3426 A<addr> parameter (#24130)
  • SOUND_ON_DEFAULT option (#24102)
  • ⚗️ Temperature Model Predictive Control (#23751, #23983, #23984, #24018, #24049, #24059)
  • ✨ Autoreport Redundant Sensor option (#24014)
  • ✨ DOGM Display Sleep (#23992)
  • ✨ Laser Safety Timeout (#24189)

New Boards

  • BOARD_CREALITY_V24S1_301 (#23620)
  • 📌 Distinct BOARD_CREALITY_V422 (#23674)
  • ✨ Add ZRIB v53, patch G35 Z drop, related issues (#23636)
  • ✨ SAMD51 Bricolemon / Bricolemon Lite boards (#23658)
  • ✨ Pxmalion Core i3 (#23711)
  • ✨ MKS Robin Nano 3.1 (#23795)
  • ✨ Weedo 62A Tina2 / Monoprice Cadet (#23817)
  • 📌 PandaPi V2.9 – Standalone mode (#23908)
  • ✨ enwi ESPNP (#24029)
  • ✨ Creality CR-10 SmartPro (#24151)
  • ✨ Add BOARD_CREALITY_V24S1_301F4
  • ✨ BigTreeTech SKR3 - STM32H743 (#24271, #24272, #24275)

Improvements

  • 🚸 Do G34 "Z Backoff" at full current
  • 🚸 Include extra axes in position report (#23490)
  • ⚡️ SPI+DMA+interrupt method (STM32 / MKS UI) (#23464)
  • ⚡️ Tuned Thermistor 66 (T-D500) (#23585)
  • 🚸 Restore active tool after ABL G29 (#23692)
  • 🩹 Simplify quick homing feedrate (#23714)
  • ⚡️ Apply PTC on all probing (#23764)
  • 🚸 Universal X_AXIS_TWIST_COMPENSATION (#23828)
  • ⚡️ Use seen_test in M422
  • 🚸 Improve M422 error messages
  • 🚸 Fix, extend X Axis Twist Compensation (#23745, #23911)
  • ⚡️ G12 - Only require used axes to be homed (#23422)
  • ⚡️ Fix noisy ADC - 16x oversampling with 12-bit ADC (#23867)
  • 🚸 Allow one servo with cutter on RAMPS
  • 🚸 Clear "heating/cooling" message on temp reached
  • 🚸 Prevent accidental button press
  • 🩹 Adjust manage_media for slow/late media init (USB FD) (#24015)
  • ⚡️ Improve Sensorless homing/probing accuracy for G28, G33, M48 (#24220)

Issues Fixed

  • 🚸 Refine stepper-driver-related G-codes (#23372)
  • 🐛 Fix EEPROM_INIT_NOW build hash test (#23479)
  • 🐛 Fix strlen_P parameter error
  • 🐛 Fix Artillery Ruby (startup code, build flags) (#23446)
  • 🚑️ Fix preheat target bug
  • 🚑️ Fix M105 regression (#23505)
  • 🐛 Fix M852 report (#23660)
  • 🐛 Fix XYZEval::set(XY, Z) and (XY, Z, E) (#23704)
  • 🐛 Fix XATC divide-by-zero (#23743)
  • 🐛 Fix, improve PWM on AVR (#23463, #23520)
  • 🐛 Fix conditional M81 suicide (#23549)
  • 🐛 Fix SPI DMA and default mode (#23627)
  • 🐛 Fix AVR 644/1284 Timer / PWM conflicts (#23629)
  • 🍻 STM32 set_pwm_duty "on/off" for digital pins (#23665)
  • 🩹 Prevent Z error with UBL + Park unscaled E move (#23568)
  • 🐛 Fix dual MAX31865 initialization issues (#23496)
  • 🐛 Fix missing u8g_esp32_spi (#23562)
  • 🐛 Fix init of delta safe height (for G29, G33, etc.) (#23622)
  • 🚸 Fix, Improve Power-Loss Recovery (#22828)
  • 💥 Change M42 M to M42 T
  • ✏️ Fix getLFNName parameter (#23752)
  • 🐛 Fix TMC26X CS pins init (#23778)
  • 🐛 Fix steps-to-mm with backlash (#23814)
  • 🐛 ESP32 _delay_ms, fix u8g_esp32_spi.cpp (#23810)
  • 🐛 Fix backlash applied steps when config changes (#23826)
  • 🐛 Fix M_State_grbl when G29 calls G28
  • 🩹 Improve and apply XATC reset() (#23840)
  • 🐛 Emergency Parser with STM32 Mass Storage (#23827)
  • 🐛 Fix G29 (#23887)
  • 🐛 Fix UBL G29 Q1 bug
  • 🐛 Fix Chiron new TFT SD print after reset (#23855)
  • 🩹 Fix ADC math overflow
  • 🩹 Print English to serial out
  • 🐛 Fix status_printf alert level
  • 🐛 Fix MMU2 buzz (#23943, #23950)
  • 🐛 Use ADC_VREF for Filament Width ADC Vref (#23977)
  • 🐛 Prevent BABYSTEP freeze
  • 🩹 Fix PRINTCOUNTER with EXTRUDERS 0 (#24063)
  • 🚸 Home Y before X on belt printers
  • 🐛 Home Z to Max after Z_SAFE_HOMING
  • 🩹 Apply 100% leveling correction below the bed
  • 🐛 Fix STM32 Pins Debugging (#22896)
  • ♻️ Refactor and fix ABL Bilinear (#23868, #24009, #24107)
  • 🐛 Update M913, M914 report
  • 🩹 Fix DEBUG_CARDREADER (#24023)
  • 🩹 Fix ADVANCED_PAUSE_RESUME_PRIME check
  • 🩹 Fix ESP32 servos, SD_IGNORE_AT_STARTUP
  • ✏️ Fix Markforged endstops/G38 (#24141)
  • 🩹 Fix Fan Tail Speed Init (#24076)
  • 🩹 Fix accel dividend
  • 🐛 Fix AIR_ASSIST (#24162)
  • 🩹 Run TMC test last in setup (#24160)
  • 🐛 Fix Due cli/sei (#24182)
  • 🐛 Fix FTDI_EVE_TOUCH_UI reboot loop (#24195)
  • 🐛 Fix Polargraph G92 command (#24223)
  • 🐛 Fix SEGMENT_LEVELED_MOVES with UBL
  • 🐛 Fix Leveling apply/unapply (#24188)
  • 🩹 Fix G60/G61 debug code (#24231)
  • 🐛 Fix M203 report
  • 🐛 Fix min/max temp evaluation
  • 🐛 Fix Tool Change priming (#21142)
  • 💥 Change M201 G to S
  • 🐛 Init Stepper SPI before PSU Control (#24269)

Boards / Pins

  • 🎨 Pins and SDIO cleanup
  • 📝 Consistent pin header orientation
  • 🔧 Normal FET layout with Spindle/Laser (#23409)
  • 🩹 RAMPS FET order overridable, E + Laser (#23428)
  • 🩹 Fix RADDS+RRD encoder button
  • 🐛 Fix EZBoard V2 (#23648, #23659, #23857)
  • 🐛 Patch Creality RAMPS FET / FAN pins
  • 🐛 Fix Ultimain 2 E-autofan pin mapping (#23466)
  • 🐛 Finish and organize temp sensors (#23519)
  • 🐛 Fix Octopus v1.x probe pin (#23548)
  • 🐛 Fix RAMPS 1.4 Plus EXP headers (#23523)
  • 📌 RAMPS AUX 1-2 headers (#23544)
  • 🩹 Fix Robin Nano BOARD_INIT
  • 🧑‍💻 Fix up some AUX / EXP pins (#23577)
  • 🐛 Fix FYSETC S6, S6 V2 Serial RX pins (#23642)
  • 🐛 Creality v4 cleanup, pin correction (#23666)
  • 🐛 Fix RUMBA + MKS Mini12864 Neopixel pin (#23646)
  • 🧑‍💻 Update MightyBoard FET pins (#23728)
  • 📌 Creality RAMPS optional SD_DETECT_PIN (#23740)
  • 📌 Fix, extend Index Rev03 Mobo (#23851)
  • 🐛 MKS TinyBee - 2.5V ADC Vref (#23903)
  • 🐛 Some EEPROM size fixes (#24113)
  • 🐛 Fix MightyBoard Rev. E EX2, extra MOSFETs (#23976)
  • 📌 SKR Mini V1.1 TMC UART Pins (#23970)
  • 🩹 SKR2 Pins DIAG flag (#23968)
  • 🐛 Fix MKS Gen. L - EEB (#23965)
  • 🩹 Use LCD_CONTRAST_INIT in pins files
  • 📌 Define RAMPS_SMART EXP headers, AZSMZ_12864
  • 🐛 Fix Mightyboard LED pin, fan override (#24168)
  • 🚸 Improve MKS SGEN_L V2, Robin Nano V3 pins (#24147)
  • 🐛 Fix FLSUN Hispeed FIL_RUNOUT_PIN, MKS Robin Mini TFT pins (#24204)
  • 🎨 Add EXP1/2 headers, adjust TFT pins (#24230)
  • 🎨 Remove MKS custom pins, TinyBee cleanup (#24186)
  • 📝 Fix Mightyboard MOSFET comments (#24183)
  • 📌 Tenlog PSU pin (#24266)

Configuration

  • 🩺 Assert FAN_SOFT_PWM where required (#23383, #23477)
  • 🚸 Suppressible pin warnings (#23530)
  • 🔨 Suppressible CONFIGURATION_EMBEDDING warning (#23545)
  • 🎨 LCD_SCREEN_ROT_* => LCD_SCREEN_ROTATE
  • 🎨 Move PROPORTIONAL_FONT_RATIO
  • 🚸 Use Z_STEPPER_ALIGN_STEPPER_XY to enable
  • 🔧 DWIN_CREALITY_LCD_ENHANCED => DWIN_LCD_PROUI
  • 🔧 Move LASER_COOLANT_FLOW_METER to LASER_FEATURE
  • 🔧 Allow board & probe dummy thermistors (#24165)
  • 🔧 Remove LCD_SERIAL_PORT defaults, warn on auto-assign (#24170)

LCD / Controller

  • 🩹 Fix Enhanced UI max E speed (#23387)
  • 🐛 Fix RRW Keypad & Zonestar buttons (#23388)
  • 🔧 Check Chiron LCD requirements (#23353)
  • 📌 Define MKS Monster8 pins for MKS_MINI_12864
  • 🩹 Reset DWIN CrealityUI print progress on start (#23481)
  • 🚸 DWIN Enhanced improve, fix, and extend (#23240)
  • 🎨 E3V2 corner leveling => tramming (#23375)
  • 🔧 DWIN_MARLINUI sanity checks (#23399)
  • 📺 Tune ULTI_CONTROLLER encoder, enable PCA9632 (#23461)
  • 📌 LCD_FOR_MELZI for BTT E3 RRF (#23453)
  • 🚸 BLTouch HS menu item for DWIN Enhanced UI (#23480)
  • 🚸 12345.6 num-to-string
  • 🚸 Wait for cooldown in MarlinUI power-off (#23476)
  • 🚸 Fix E3V2 Enhanced UI time labels (#23502)
  • 💄 MarlinUI+DOGM leveled bed bitmaps (#23539)
  • 🐛 Fix PLR for E3V2 Enhanced UI (#23543)
  • 💄 Improve Ender3 v2 DWIN MarlinUI (#23369)
  • ✨ Z Offset Wizard for TFT_LVGL_UI (English) (#23489)
  • 🐛 Fix LCD contrast/brightness init (#23567)
  • 🐛 Fix Creality DWIN LCD with SKR Mini E3 V3 (#23593)
  • 🐛 Fix DGUS_Reloaded G-code execution (#23592)
  • 🚸 Better "Bed Tramming Done" dialog (#23616)
  • 🩹 Init brightness/contrast later (#23645)
  • 🚸 Align MKS UI heated bed status with HAS_MULTI_HOTEND (#23718)
  • ✏️ Fix E3V2 display with BTT SKR Mini E3 v3 (#23719)
  • ♻️ No ui.reinit_lcd on any ExtUI (#23722)
  • 🚸 Case Light, LED menus for E3V2 DWIN Enhanced UI (#23590)
  • 🚸 Enhanced UI => Professional UI - with updates (#23624, #23878)
  • 📺 BTT SKR Mini E3 with Fysetc V2.1 / MKS V3 / BTT V1 Mini 12864 (#23793)
  • ⚡️ E3V2 blank bg for S1 compatibility (#23822)
  • 🩹 Fix DWIN E3V2 display issues by allowing re-init (#23879)
  • 📌 Custom cable for Mini 12864 V1 + SKR Mini E3 V3.0 (#23936)
  • 🐛 Fix MarlinUI on Ender 3 S1 (#23949)
  • 🩹 Fix "elapsed" text on DOGLCD (#24087)
  • 🐛 Fix MKS_MINI_12864 build for ESP32 (#24071)
  • 🩹 Fix and clean up E3V2 draw (#23979, #24013)
  • 🐛 Fix Manual Move cold extrude override (#24045, #24176)
  • 🚸 Preheat menu improvements (#24017)
  • 🐛 Fix PID edit menu for Bed, Chamber (#23987)
  • ✏️ Fix FYSETC Mini Panel neopixel type (#24011, #24111)
  • 🩹 Fix DGUS_PREHEAT_UI enable with DGUS_LCD_CLASSIC (#24066)
  • 🐛 Fix ProUI / JyersUI leveling preheat (#24060, #24064)
  • 🚸 More ExtUI events for ABL / UBL
  • 🚸 DWIN/DACAI for Creality 4.2.3 (#24132)
  • 🚸 ProUI APRIL2022 updates (#24084)
  • 🔧 Bed/Chamber PID Autotune menus
  • 🐛 Update German language, Fix FTDI (#24047, #24048, #24227)
  • ♻️ Apply F() to more LCD code (#24228)
  • 🚸 Custom Menu Items for JyersUI (#24270)

LCD Language

  • 🌐 Localize E3V2 Enhanced UI (#23424)
  • 🌐 Update Slovak language (#23475)
  • 🌐 Update auto home axis strings
  • 🌐 Update German language (#23832)
  • 🌐 Fix, add some menu labels (#23895)
  • 🌐 Update Ukrainian language (#23935)
  • 🌐 Rename "LCD Timeout" string
  • 🌐 Update Russian language (#23978)
  • 🌐 Update Chinese language (#23865)
  • 🌐 Update Italian language (#24019)

Build / Upload

  • 🔨 Get FIRMWARE_BIN from env
  • 🔧 Only warn about enabled CONFIGURATION_EMBEDDING (#23408)
  • 🔨 Upload to Optiboot at 115200 (#23403)
  • 🔧 Update deprecated auto_build.py (#23427)
  • ⬆️ Assert newer GCC in PIO via atmelavr@~3.4 (#23432)
  • 🔨 Rename (not copy) with board_build.rename
  • 🐛 Fix Arduino build issues (#23510)
  • 🐛 Fix SHOW_REMAINING_TIME compile (#23503)
  • 🐛 Fix HAS_TMC26X feature path (#23757)
  • 🔨 Update TMC26XStepper link
  • 🔨 Set upload_command for CHEETAH v20 (#23515)
  • 🩹 Fix power.h compile (#23573)
  • 🔨 Creality RCT6 (256K) variants (#23599)
  • 📝 Update Creality 4.2.2 driver warning
  • 🔧 Board temp sensor check
  • 🔨 Workspace file with recommendation
  • 🔧 Sanity-check AVR D9 Fan PWM / SPEAKER Timer2 (#23672)
  • 🐛 Fix Index Mobo Rev03 upload (#23676)
  • 🚨 Deprecate Maple build (#23661)
  • 🚨 Cleaner errors for renamed envs (#23690, #23786, #23831)
  • 🩹 Fix Maple HAL compile errors (#23685)
  • 🔧 Update MIXING_EXTRUDER sanity checks
  • 🔧 HAS_LCDPRINT conditional
  • 🚨 Fix TEMP_SENSOR_BOARD warnings (#23754)
  • 🔧 Warning for MK3_FAN_PINS (#23727)
  • 🔧 SHOW_CUSTOM_BOOTSCREEN sanity-check (#23807)
  • 🚨 Fix BLTouch 5V pin tolerance checks (#23823)
  • 🔨 Drop extraneous build flag (#23862)
  • 🚸 Test LIN_ADVANCE in a pins file
  • 🩹 Fix ExtUI build with Host Keepalive disabled (#23898)
  • 🔨 Allow I2CPE_ENC_n_INVERT set to false
  • 🩹 No PE_MAGNET_ON_STATE without PARKING_EXTRUDER
  • 🔧 No Switching Nozzle with MMU2
  • 🔧 Sanity-checks for PULLDOWN, SINGLENOZZLE
  • 🔨 Suppress MMU2 resume_position warning
  • 🩹 Wrap endstop_diag.cpp (#23931)
  • 🐛 Fix pulldown sanity check
  • 🔨 Fix Makefile GCC warning (#23957)
  • 🔨 Use first g++ in path for 'native' targets
  • 🔨 Prevent build attribute define conflicts
  • ✏️ Fix parking extruder compile (#23961)
  • ✏️ Fix NOZZLE_PARK_Y_ONLY sanity-check (#23990)
  • 🔨 Preflight check old ABL files (#24010)
  • 🐛 Prefer os.replace, fix TFT_LVGL_UI build (#24001)
  • 🔨 Fix LPC176x debug build
  • 🔧 Sanity-check SWITCHING_TOOLHEAD_X_POS (#23985)
  • 📌 Use ESP3DLib master branch (#24140)
  • 🔧 Fix Neo RGB sanity check (#24146)
  • 🔧 AVR/DUE Serial Port pin conflict checks (#24148)
  • 🎨 Clean up warnings / extra check (#24163)
  • 🩹 Suppress ZERO() warning (#24178)
  • 🔨 Require PIO >= 6.0.1 (#24205)
  • 📌 Use MarlinSimUI/bugfix-2.0.x (#24232)
  • ✏️ Fix some motherboard checks (#24238)
  • 🔨 Add src_filter for I2C_AMMETER (#24242)

For Developers

  • 🔨 Add .vscode/extensions.json
  • 🐛 Fix mffp usage
  • 🧑‍💻 Add AXIS_COLLISION to catch broken parameters
  • 🚚 Rename L6470 G-code file
  • 🚑️ Fix thermal conditionals, structure
  • 🧑‍💻 Apply axis conditionals (9956e62)
  • 🔨 Strip CR in mftest > awk
  • 🐛 Define required endstop enums (#23425)
  • 🧑‍💻 Extend LCD string substitution (#24278)
  • 🧑‍💻 Fewer string macros
  • 🧑‍💻 Move PB0 init for MKS_ROBIN_NANO
  • 🧑‍💻 Adjust FastIO AVR timer enums, macros
  • 🧑‍💻 Misc. updates for extra axes (#23521)
  • 💥 Generalize extra debugging
  • 🧑‍💻 Add chmod to mfprep
  • ♻️ Adjust LCD init, contrast default, settings load
  • 🩹 Fix DWIN float debugging (#23601)
  • 🧑‍💻 HAS_MARLINUI_MENU, HAS_MANUAL_MOVE_MENU
  • ✅ FYSETC TFT81050 CI Test (#23604)
  • 🧑‍💻 Simplify Fast PWM timer macros
  • 💡 Comment variant timers
  • 🧑‍💻 Relocate a variant
  • 🔨 Clean up upload.py (#23679)
  • 🧑‍💻 Generic Maple STM32F103RC envs for devs (#23686)
  • 🧑‍💻 PLR accessors for Ext UI (#23687)
  • 🧑‍💻 Drop hostui.flag
  • 🧑‍💻 Wrap MMU1 pins
  • ♻️ Rename X-Axis Twist Comp. z_values => z_offset
  • ♻️ Refactor HAL as singleton (#23357, #23871, #23897)
  • 🧑‍💻 STM32G0Bx : Use PLLQ for USB clock (#23870)
  • 🧑‍💻 Add ExtUI::onLevelingDone, match DWIN to ExtUI
  • 🧑‍💻 Add standard BUZZ types
  • 🩹 Fix FSTR_P / PSTR usage
  • 🧑‍💻 Allow DIGIPOT Rsx / Vrefmax override (#23885)
  • 🧑‍💻 Add neo.set_background_color(rgbw)
  • 🧑‍💻 PIO --silent in build_example
  • 🔨 Fix mftest -s
  • 🧑‍💻 EXTRUDER_LOOP macro
  • 🧑‍💻 Improve STATUS_BED_X
  • 🔨 Improved mfprep script
  • 🧑‍💻 IS_ULTRA_LCD => HAS_WIRED_LCD
  • 🧑‍💻 Strip #errors in Configurations deployment
  • 🧑‍💻 Simplify BIGTREE_SKR_2_F429 env
  • 🧑‍💻 Define isr_float_t to assert a non-FPU float (#23969)
  • 💥 Rename ExtUI settings methods
  • 🧑‍💻 Handle PLR in manage_media
  • ♻️ Consolidate DGUSScreenHandler class (#24067)
  • 🔨 OpenOCD Debug for VSCode
  • 🧑‍💻 Clarify acceleration factor
  • 🔨 Fix g++ locator for CI
  • 🧑‍💻 General and Axis-based bitfield flags (#23989)
  • 🔨 BTT Octopus ST-Link programming/debugging
  • 🧑‍💻 Clarify MSerialUSB, drop HardwareSerial workaround
  • 🔨 Use PlatformIO Core 6.0 Dev for CI (#24194)
  • ♻️ Common Bed Leveling object name, accessors (#24214)
  • ♻️ Move watchdog to MarlinHAL

General cleanup

  • 🎨 Simplify some debug echos
  • 🧑‍💻 Remove extraneous 'inline' hints
  • 🎨 Misc. spindle/laser adjustments
  • 📝 Tweak G26 Q description
  • 📝 Update conditionals descriptions
  • 📝 Update Toolchange FS comments
  • 📝 Update laser/spindle docs link (#23886)
  • 📝 Fix DEFAULT_DUAL_X_CARRIAGE_MODE comment
  • 📝 Fix X2_MAX_POS comment (#23873)
  • 🩹 Fix redundant var declaration (#23913)
  • 🎨 Apply _TERN where possible
  • 🎨 Clean up tool change with tool sensor
  • 🎨 Format, use status macros
  • 📝 Fix extraneous URL args (#24125)
  • 📝 Replace KB with K in pins
  • 🎨 INI cleanup
  • 🌐 Clean up languages
  • 📝 Fix M150 S comment
  • ✏️ Remove extra G29 line
  • 🎨 Combine common LPC1768 I2C code
  • 🎨 Use LEDColor default C-CTOR
  • ⚰️ Clean up dead option (#24006)
  • 📝 Obsolete freeze comment (#23964)
  • 🎨 Tweak NEOPIXEL_LED format (#24110)
  • ✏️ Fix spurious UTF
  • 🚚 Move speed_lookuptable.h
  • 🎨 Nextion cleanup
  • 🎨 HAL_MinSerial.* => MinSerial.*
  • 🩹 Fix const warning
  • 🔨 Move, tweak maple envs
  • 📝 Add logo, helpful links to README (#24226)
  • 🎨 Minor HAL cleanup
  • 🎨 Combine serial echos
  • 🎨 Use pos.set method
  • 📝 Refer to 'PROGMEM' as 'flash'
  • 🎨 Use default null args in select_screen