Skip to content

Commit 1f55345

Browse files
committed
Squashed commit of the following:
commit 0a30fac Author: Scott Lahteine <[email protected]> Date: Tue May 16 14:01:35 2023 -0500 🔖 Version 2.1.2.1 commit cbdc01e Author: Scott Lahteine <[email protected]> Date: Mon May 29 19:23:21 2023 -0500 🩹 Prevent Z drop with G28 X/Y commit 2dffa39 Author: Scott Lahteine <[email protected]> Date: Sun May 21 08:41:01 2023 -0500 🩹 Fix TFT LVGL compile error (MarlinFirmware#25865) Fixes regression from MarlinFirmware#24302 commit 09247e7 Author: Scott Lahteine <[email protected]> Date: Fri May 19 23:30:48 2023 -0500 🚸 Improve EEPROM validation (MarlinFirmware#25860) commit 62a7bba Author: Scott Lahteine <[email protected]> Date: Thu May 18 19:53:03 2023 -0500 🩹 Fix null pwm_details commit ce38260 Author: Scott Lahteine <[email protected]> Date: Tue May 16 01:28:04 2023 -0500 🩹 Improve edit menu rounding commit 3ad9c0b Author: Scott Lahteine <[email protected]> Date: Tue May 2 18:15:23 2023 -0500 🧑‍💻 ftdi_language commit a0fd588 Author: Scott Lahteine <[email protected]> Date: Sun May 14 18:08:33 2023 -0500 📌 TH3D EZBoard SD_DETECT_PIN 27 commit 876f996 Author: Chris Bagwell <[email protected]> Date: Wed May 10 05:59:28 2023 -0500 🔧 Fix SHAPING_MIN_FREQ check (MarlinFirmware#25358) commit dba521a Author: Scott Lahteine <[email protected]> Date: Sun May 14 18:32:59 2023 -0500 🧑‍💻 M43 updates commit 50ad323 Author: Giuliano Zaro <[email protected]> Date: Tue May 9 22:52:59 2023 +0200 🔧 Move SOFT_PWM_SCALE fallback to cpp (MarlinFirmware#25800) Co-authored-by: Scott Lahteine <[email protected]> commit 03149b9 Author: Scott Lahteine <[email protected]> Date: Sat May 6 17:37:47 2023 -0500 🚸 Faster default Marlin feedrate commit 6e91f36 Author: ellensp <[email protected]> Date: Mon May 8 23:54:46 2023 +1200 🔨 MKS Robin2 PIO Env (MarlinFirmware#25792) commit 0708275 Author: Scott Lahteine <[email protected]> Date: Thu May 4 18:05:56 2023 -0500 🎨 Move G28O inside ProUI commit a2040ba Author: Scott Mikutsky <[email protected]> Date: Mon May 1 02:10:46 2023 -0400 🐛 Fix STM32 USB disconnect behavior (MarlinFirmware#25762) commit b6c27fb Author: Scott Lahteine <[email protected]> Date: Sun Apr 30 18:12:13 2023 -0500 🔧 Fix X2/Y2 axis pins check commit b2acd51 Author: Scott Lahteine <[email protected]> Date: Fri Apr 28 11:03:38 2023 -0500 🔧 Move MMU section commit 6d46a49 Author: Scott Lahteine <[email protected]> Date: Mon May 1 18:15:31 2023 -0500 🩹 Fix TFT sanity error commit d959e3b Author: Scott Lahteine <[email protected]> Date: Sun Apr 30 18:12:21 2023 -0500 🧑‍💻 Use NUM_AXIS_ARRAY commit f48467b Author: Scott Lahteine <[email protected]> Date: Wed Apr 26 14:39:56 2023 -0500 🔨 Servo Timer 1 with STM32F103RC_fysetc (MarlinFirmware#25741) commit a9c476c Author: Scott Lahteine <[email protected]> Date: Tue May 16 18:43:44 2023 -0500 🔧 Update config.ini script commit 61d1ce7 Author: Scott Lahteine <[email protected]> Date: Wed Apr 26 14:29:21 2023 -0500 🧑‍💻 Change HAL_PATH macro for easier HAL relocation (MarlinFirmware#25743) commit 3c9e8e1 Author: Scott Lahteine <[email protected]> Date: Wed Apr 26 02:57:53 2023 -0500 🔧 Extra axis endstop defaults commit d554855 Author: Anson Liu <[email protected]> Date: Mon Apr 24 22:07:12 2023 -0400 🔨 Prevent SlowSoftWire + Wire name conflict (MarlinFirmware#25707) commit 44b06d7 Author: Scott Lahteine <[email protected]> Date: Mon Apr 24 05:24:10 2023 -0500 📝 Developer note in boards.h commit ffe47a0 Author: Scott Lahteine <[email protected]> Date: Sun Apr 23 03:17:55 2023 -0500 🚸 Improve PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED (MarlinFirmware#25681) commit 6a12937 Author: Scott Lahteine <[email protected]> Date: Sun Apr 23 02:07:42 2023 -0500 🩹 Fix UBL safe measure move with extra axes Followup to 7e79fc5 commit 00c96dc Author: Alexey D. Filimonov <[email protected]> Date: Sat Apr 22 12:06:19 2023 +0300 🎨 Clean up TFT Color UI display items (MarlinFirmware#25712) Co-authored-by: Scott Lahteine <[email protected]> commit 7fb92f4 Author: Keith Bennett <[email protected]> Date: Wed Apr 19 17:21:53 2023 -0700 🚸 Permit G38 with Core (MarlinFirmware#25713) commit a93b3c1 Author: Jay Robson <[email protected]> Date: Thu Apr 20 06:58:42 2023 +1000 🐛 Fix G38 with Z, support 9 axes (MarlinFirmware#25691) Co-authored-by: Scott Lahteine <[email protected]> commit d75e016 Author: Keith Bennett <[email protected]> Date: Wed Apr 19 14:53:11 2023 -0700 🔧 Check renamed LIN_ADVANCE_K (MarlinFirmware#25710) commit 5426759 Author: ellensp <[email protected]> Date: Wed Apr 19 12:50:11 2023 +1200 🩹 Correctly add JSON to mc.zip (MarlinFirmware#25706) commit a5b5db4 Author: Scott Lahteine <[email protected]> Date: Sun Apr 16 19:11:56 2023 -0500 🧑‍💻 Minor SpindleLaser::set_enabled tweak commit 15671a4 Author: Alexey D. Filimonov <[email protected]> Date: Mon Apr 17 02:38:12 2023 +0300 🩹 Fix Spindle/Laser ENA pin test (MarlinFirmware#25622) commit f62d47a Author: Bob Kuhn <[email protected]> Date: Sun Apr 16 18:35:13 2023 -0500 🩹 Fix laser with no PWM compile (MarlinFirmware#25290) commit 5b8be44 Author: Dennis Lawler <[email protected]> Date: Sat Apr 15 22:50:26 2023 -0600 🚸 Echo G30 out-of-bounds (MarlinFirmware#25671) commit df7d13a Author: Giuliano Zaro <[email protected]> Date: Tue Apr 18 10:40:13 2023 +0200 🩹 Bail on 'mc.zip' write error (MarlinFirmware#25695) Co-authored-by: Scott Lahteine <[email protected]> commit 8592035 Author: ellensp <[email protected]> Date: Tue Apr 18 07:51:25 2023 +1200 🔨 Fix, clean up STM32F1 envs (MarlinFirmware#25697) Co-authored-by: Scott Lahteine <[email protected]> commit 5a38066 Author: Giuliano Zaro <[email protected]> Date: Sun Apr 16 03:26:08 2023 +0200 🐛 Fix Configuration Embedding (MarlinFirmware#25688) commit 0ece7ca Author: ellensp <[email protected]> Date: Sun Apr 23 08:59:51 2023 +1200 🩹 Status / Host Prompt followup (MarlinFirmware#25720) Followup to MarlinFirmware#25679 Co-authored-by: Scott Lahteine <[email protected]> commit 2fb47af Author: Scott Lahteine <[email protected]> Date: Fri Apr 14 18:06:56 2023 -0500 🧑‍💻 HostUI::continue_prompt method commit d2e84e8 Author: Scott Lahteine <[email protected]> Date: Fri Apr 14 17:51:45 2023 -0500 🧑‍💻 Status Message cleanup commit 3340491 Author: Scott Lahteine <[email protected]> Date: Fri Apr 14 18:00:25 2023 -0500 🧑‍💻 JyersUI code cleanup commit d399101 Author: Scott Lahteine <[email protected]> Date: Fri Apr 14 18:09:16 2023 -0500 🧑‍💻 Apply simplified ?: commit 02178bd Author: Scott Lahteine <[email protected]> Date: Fri Apr 14 22:22:07 2023 -0500 🔧 Trigorilla / Chiron updates Followup to c3f34e4 commit 8bc6f77 Author: Scott Lahteine <[email protected]> Date: Thu Apr 13 04:06:35 2023 -0500 🔨 Improve runout script check commit 141cfdd Author: Scott Lahteine <[email protected]> Date: Thu Apr 13 04:05:56 2023 -0500 🩹 Fix AUTOFAN_CASE Followup to MarlinFirmware#25554 commit 4781d57 Author: Scott Lahteine <[email protected]> Date: Tue Apr 11 21:28:21 2023 -0500 🔧 Move FIL_RUNOUT_PIN for Chiron + GLCD commit 6ebbfa8 Author: Scott Lahteine <[email protected]> Date: Tue Apr 11 18:43:18 2023 -0500 🧑‍💻 Clarify G28 R / R0 commit cbbcc01 Author: Scott Lahteine <[email protected]> Date: Tue Apr 11 21:26:46 2023 -0500 🚸 Minor M43 improvements commit b5ccd65 Author: David Fries <[email protected]> Date: Mon Apr 10 04:38:38 2023 -0500 ⚡️ Skip a redundant BLTouch::command (MarlinFirmware#25656) commit cf1f56f Author: Scott Lahteine <[email protected]> Date: Sun Mar 26 20:26:18 2023 -0500 🔧 Move TFT sanity checks commit 1e2de0e Author: Scott Lahteine <[email protected]> Date: Fri Apr 7 01:49:27 2023 -0500 🎨 Detab some build files commit cf28f48 Author: Scott Lahteine <[email protected]> Date: Fri Apr 7 01:33:03 2023 -0500 🎨 Apply const (MarlinFirmware#25643) commit 69e8f2e Author: ellensp <[email protected]> Date: Fri Apr 7 18:32:25 2023 +1200 🚸 Support CoreXY without Z (MarlinFirmware#25630) commit 2be9f98 Author: Scott Lahteine <[email protected]> Date: Thu Apr 6 17:24:32 2023 -0500 📝 Update Ender # labels commit c2c1ff8 Author: Scott Lahteine <[email protected]> Date: Thu Apr 6 16:58:12 2023 -0500 🧑‍💻 Update pinsformat.js commit e240874 Author: Scott Lahteine <[email protected]> Date: Tue Apr 4 20:46:46 2023 -0500 🐛 Ensure root for 'M503 C' commit 6412950 Author: Giuliano Zaro <[email protected]> Date: Sat Apr 1 06:19:48 2023 +0200 🌐 Update Italian language (MarlinFirmware#25587) commit 466ce0b Author: Scott Lahteine <[email protected]> Date: Mon Aug 16 13:44:00 2021 -0500 🩹 Fix displayed mix percentages commit 59a2cb0 Author: Scott Lahteine <[email protected]> Date: Wed Mar 29 21:50:04 2023 -0500 🩹 Fix Ender-3 V2 with no fan commit 85e28f3 Author: Chris Pepper <[email protected]> Date: Wed Mar 29 05:45:22 2023 +0100 🔨 MarlinSimUI updates (MarlinFirmware#25589) commit bbb75ab Author: John Unland <[email protected]> Date: Tue Mar 28 23:23:27 2023 -0500 🔨 Improve Docker local tests support (MarlinFirmware#25583) commit 637cd95 Author: Andrew <[email protected]> Date: Wed Mar 29 00:20:52 2023 -0400 🎨 Remove unused ProUI : UBLValidMesh (MarlinFirmware#25591) commit d04b3ff Author: Scott Lahteine <[email protected]> Date: Tue Mar 28 16:14:37 2023 -0500 🔧 Fix up WiFi options (MarlinFirmware#25586) commit 51b33cc Author: Scott Lahteine <[email protected]> Date: Fri Mar 24 03:01:09 2023 -0500 🔨 INI Updates Co-Authored-By: Martin Turski <[email protected]> commit f452df0 Author: Eduard Sukharev <[email protected]> Date: Mon Mar 27 21:55:56 2023 +0300 🐛 Fix M23 long filename support (MarlinFirmware#25540) commit cd0bfcd Author: Scott Lahteine <[email protected]> Date: Sun Mar 26 04:36:12 2023 -0500 🧑‍💻 Auto Fan / Cooler Fan updates (MarlinFirmware#25554) commit bcf3098 Author: Keith Bennett <[email protected]> Date: Sun Mar 26 02:09:27 2023 -0700 🩹 Fix Touch Calibration first point (MarlinFirmware#25298) commit a40e17d Author: Scott Lahteine <[email protected]> Date: Sat Mar 25 20:17:54 2023 -0500 🎨 Timer tweaks commit d66f4ba Author: ellensp <[email protected]> Date: Sat Mar 25 17:14:21 2023 +1300 🩹 Fix Chitu3D V6 default probe pin (MarlinFirmware#25552) commit 26cb2d5 Author: Scott Lahteine <[email protected]> Date: Fri Mar 24 18:43:53 2023 -0500 🩹 Update TRONXY_V10 SPI_FLASH pins commit 376e940 Author: Scott Lahteine <[email protected]> Date: Fri Mar 24 02:43:20 2023 -0500 🎨 LPC_SOFTWARE_SPI => SOFTWARE_SPI Co-Authored-By: Martin Turski <[email protected]> commit ebe3fe0 Author: Scott Lahteine <[email protected]> Date: Fri Mar 24 02:40:29 2023 -0500 🎨 Pins header comments Co-Authored-By: Martin Turski <[email protected]> commit 0d7e30b Author: Martin Turski <[email protected]> Date: Fri Mar 24 05:08:28 2023 +0100 🩹 Reset touch screen calibration on failure (MarlinFirmware#25334) Co-authored-by: Scott Lahteine <[email protected]> commit accfab8 Author: Scott Lahteine <[email protected]> Date: Thu Mar 23 17:19:20 2023 -0500 🎨 calibration_stage => stage commit d68ad9e Author: Scott Lahteine <[email protected]> Date: Sat Mar 18 21:57:06 2023 -0500 🩹 Fix a serial_ternary commit 70c8859 Author: ellensp <[email protected]> Date: Sun Mar 19 13:17:21 2023 +1300 🩹 Fix Ender 2 stock LCD (MarlinFirmware#25538) commit 980fba8 Author: George Fu <[email protected]> Date: Sat Mar 18 17:47:54 2023 +0800 🐛 Fix FYSETC Cheetah v2.0 Servo/Probe pins (MarlinFirmware#24635) Co-authored-by: Scott Lahteine <[email protected]> commit d0bdb9c Author: Scott Lahteine <[email protected]> Date: Sat Mar 18 17:13:06 2023 -0500 ⚡️ Misc. optimizations commit 821d796 Author: Davide Rombolà <[email protected]> Date: Sat Mar 18 07:35:54 2023 +0100 🎨 Suppress warning (MarlinFirmware#25529) commit dcbba65 Author: Scott Lahteine <[email protected]> Date: Sat Mar 18 01:22:50 2023 -0500 🧑‍💻 More IntelliSense-friendly declares commit 5c3dd46 Author: Michael Hill <[email protected]> Date: Sat Mar 18 01:56:07 2023 -0400 ✨ Sovol v1.3.1 (Sovol SV06) (MarlinFirmware#25267) commit e50980e Author: dwzg <[email protected]> Date: Thu Mar 16 01:15:54 2023 +0100 🩹 Fix DWIN MarlinUI Fan/E/XY (MarlinFirmware#25502) commit c3b037e Author: Scott Lahteine <[email protected]> Date: Wed Mar 15 19:13:09 2023 -0500 🩹 Fan Menu / Status fixes Followup to MarlinFirmware#21888 commit 71e6f70 Author: Abdullah YILMAZ <[email protected]> Date: Mon Mar 6 01:29:43 2023 +0300 🌐 Update Turkish language (MarlinFirmware#25447) commit 7f9f922 Author: Giuliano Zaro <[email protected]> Date: Fri Mar 3 21:27:15 2023 +0100 🌐 Update Italian language (MarlinFirmware#25454) commit 197b319 Author: Scott Lahteine <[email protected]> Date: Fri Mar 3 13:42:46 2023 -0600 📝 Fix a comment commit e03dfb8 Author: jamespearson04 <[email protected]> Date: Fri Mar 3 20:26:38 2023 +0000 🐛 Fix UBL 'G29 J' mesh tilt (MarlinFirmware#25453) Fix regression from MarlinFirmware#24214 commit cba3b2c Author: Marcio T <[email protected]> Date: Wed Mar 1 21:07:23 2023 -0700 🚸 Improve CocoaPress Touch UI (MarlinFirmware#25446) commit a9a6d1f Author: ellensp <[email protected]> Date: Mon Feb 27 15:27:58 2023 +1300 📝 Link to archived RA Control Panel page (MarlinFirmware#25424) commit 61ccd45 Author: Giuliano Zaro <[email protected]> Date: Tue Jan 31 06:07:51 2023 +0100 🌐 Update Italian language (MarlinFirmware#25309) commit bab8478 Author: Roman Moravčík <[email protected]> Date: Tue Jan 31 06:07:03 2023 +0100 🌐 Update Slovak language (MarlinFirmware#25305) commit 0110877 Author: ellensp <[email protected]> Date: Tue Feb 28 06:11:53 2023 +1300 🧑‍💻 Add IA_CREALITY CI test (MarlinFirmware#25434) commit b7ee06b Author: Scott Lahteine <[email protected]> Date: Tue May 16 19:52:36 2023 -0500 🔨 Use 'build_src_filter' commit 5f8df0a Author: Scott Lahteine <[email protected]> Date: Sun Mar 26 17:49:51 2023 -0500 🔨 Fix thread-unsafe deque iteration commit b338159 Author: ellensp <[email protected]> Date: Wed May 17 06:50:57 2023 +1200 🐛 Fix MKS Robin Nano 1.3 F4 pin collision (MarlinFirmware#25838) commit 2399a24 Author: ellensp <[email protected]> Date: Mon Apr 10 22:17:50 2023 +1200 🔧 Update thermocouple 2 pin sanity check (MarlinFirmware#25627) commit d05acb7 Author: ellensp <[email protected]> Date: Mon Apr 10 21:16:52 2023 +1200 🩹 Fix MARLIN_F446Zx_TRONXY variant (MarlinFirmware#25659) Followup to 9be1554 commit 81d4f8f Author: Chris Pepper <[email protected]> Date: Sat Apr 8 02:55:10 2023 +0100 🩹 Fix SD partitionTable packing (MarlinFirmware#25648) commit b0c3db6 Author: Jason Smith <[email protected]> Date: Fri Apr 7 18:52:33 2023 -0700 🎨 Suppress M122 sign warning (MarlinFirmware#25613) commit ea6430d Author: Eduard Sukharev <[email protected]> Date: Wed Mar 15 00:49:49 2023 +0300 🐛 Fix long filename read/report (MarlinFirmware#25509) commit ccb4d11 Author: John Robertson <[email protected]> Date: Sat Mar 18 10:33:15 2023 +0000 🔧 Sanity-check PRINTCOUNTER_SAVE_INTERVAL + ESP32 I2S Exp (MarlinFirmware#25527) Co-authored-by: Scott Lahteine <[email protected]> commit 176ecf4 Author: Keith Bennett <[email protected]> Date: Sat Mar 11 00:08:07 2023 -0800 🐛 Fix Anet ET4 SD_SS_PIN (MarlinFirmware#25492) commit 3ec5d6d Author: Scott Lahteine <[email protected]> Date: Sat Mar 11 19:17:25 2023 -0600 ⚡️ Exit from ISR on AVR already does sei Co-Authored-By: tombrazier <[email protected]> commit 75aa880 Author: Keith Bennett <[email protected]> Date: Fri Mar 10 15:56:33 2023 -0800 ✨ BTT Octopus Max EZ 1.0, SKR 3.0 / 3.0 EZ (MarlinFirmware#25387, MarlinFirmware#25495, MarlinFirmware#25535) commit a50ff5d Author: Sion Williams <[email protected]> Date: Thu Mar 9 08:45:01 2023 +0000 🔨 VSCode + Devcontainer support (MarlinFirmware#22420) commit 504f09f Author: alextrical <[email protected]> Date: Sun Mar 5 22:28:50 2023 +0000 🐛 Fix Flash EEPROM for STM32G0B1CB (MarlinFirmware#25469) commit aae1102 Author: Hans-Christian Ebke <[email protected]> Date: Sun Mar 5 23:25:11 2023 +0100 🐛 Fix apply_power for SPINDLE_SERVO (MarlinFirmware#25465) commit a40ff13 Author: tombrazier <[email protected]> Date: Wed Mar 1 00:16:27 2023 +0000 🐛 Fix LA retract/feedrate edge case (MarlinFirmware#25445) Followup to MarlinFirmware#25442 commit dfd1fb7 Author: Scott Lahteine <[email protected]> Date: Tue Feb 28 17:50:06 2023 -0600 🔨 Improve config.ini example fetch commit 6d8c9f6 Author: Scott Lahteine <[email protected]> Date: Wed Mar 1 20:06:47 2023 -0600 🌐 Regenerate language data commit db0c8b3 Author: Scott Lahteine <[email protected]> Date: Sun Mar 5 19:15:22 2023 -0600 🧑‍💻 Script to make non-accented languages commit 0e3d951 Author: Scott Lahteine <[email protected]> Date: Wed Mar 1 19:07:47 2023 -0600 🔨 Update font scripts commit 22e6365 Author: ellensp <[email protected]> Date: Tue Feb 28 16:16:11 2023 +1300 🔧 Fix Sensorless Probe sanity-check err (MarlinFirmware#25417) commit abd710b Author: tombrazier <[email protected]> Date: Mon Feb 27 23:00:13 2023 +0000 🐛 Fix Linear Advance E position tracking (MarlinFirmware#25442) Fix regression from MarlinFirmware#24951 commit d5c312c Author: tombrazier <[email protected]> Date: Fri Mar 3 20:37:10 2023 +0000 🐛 Fix ISR_SHAPING_LOOP_CYCLES (MarlinFirmware#25335) commit 64f9c17 Author: ellensp <[email protected]> Date: Sat Mar 4 09:32:04 2023 +1300 🔨 Fix 'step' type in createTemperatureLookupMarlin.py (MarlinFirmware#25455) commit bac334c Author: Keith Bennett <[email protected]> Date: Sun Feb 26 19:03:28 2023 -0800 🔨 Fix env STM32G0B1RE_btt, add …_manta_btt (MarlinFirmware#25431) commit 071d54e Author: Scott Lahteine <[email protected]> Date: Thu Feb 23 21:38:11 2023 -0600 🎨 Use LIMIT macro commit c4ac8a2 Author: Guðni Már Gilbert <[email protected]> Date: Fri Feb 24 03:29:47 2023 +0000 ⚡️ Reduce edit_screen code size (MarlinFirmware#25420) commit 53698b8 Author: Scott Lahteine <[email protected]> Date: Wed Feb 22 14:30:02 2023 -0600 🔧 Fix Einsy Rambo TMC driver check commit d5d497f Author: Scott Lahteine <[email protected]> Date: Tue Feb 21 18:22:16 2023 -0600 🔨 Fix marlin_custom.* without lib_deps commit e65e38a Author: tombrazier <[email protected]> Date: Tue Feb 21 22:37:11 2023 +0000 🐛 Fix AVR maths used by Stepper (MarlinFirmware#25338) commit 9d56b7f Author: ellensp <[email protected]> Date: Wed Feb 22 11:27:47 2023 +1300 🔨 Encrypt some MKS Robin (MarlinFirmware#25349) commit 1748abd Author: Scott Lahteine <[email protected]> Date: Tue Feb 21 15:08:25 2023 -0600 🧑‍💻 Fix preheat tests (nested macro limit ~256) Followup to MarlinFirmware#25407 commit 7afd823 Author: ellensp <[email protected]> Date: Tue Feb 21 15:25:22 2023 +1300 🔧 Sanity-check hotend max / preheat temps (MarlinFirmware#25407) Co-authored-by: Scott Lahteine <[email protected]> commit 4a1cbff Author: ellensp <[email protected]> Date: Tue Feb 21 13:58:40 2023 +1300 📺 Update Re-ARM VIKI2 SPI pins (MarlinFirmware#25411) commit 94780bb Author: Scott Lahteine <[email protected]> Date: Fri Feb 17 22:12:11 2023 -0600 🚸 Interruptible PLR (MarlinFirmware#25395) commit 838df37 Author: ellensp <[email protected]> Date: Thu Feb 16 12:58:51 2023 +1300 🐛 Fix FastPWM calculations (MarlinFirmware#25343) Co-authored-by: Scott Lahteine <[email protected]> commit 7a8c984 Author: Trevin Small <[email protected]> Date: Wed Feb 15 19:00:10 2023 -0500 ✏️ Fix README typo (MarlinFirmware#25388) commit 50f4e6b Author: Scott Lahteine <[email protected]> Date: Tue Feb 14 22:29:47 2023 -0600 🎨 Tweak VALIDATE_MESH_TILT commit db8f501 Author: Frederik Kemner <[email protected]> Date: Wed Feb 15 05:25:47 2023 +0100 🚸 SPI endstops for X/Y Dual and Core (MarlinFirmware#25371) commit 255bc3c Author: Radek <[email protected]> Date: Wed Feb 15 04:57:39 2023 +0100 📝 Fix BTT_MINI_12864_V1 comment (MarlinFirmware#25366) commit 38c4c7f Author: Scott Lahteine <[email protected]> Date: Sat Feb 11 21:29:32 2023 -0600 🔨 Suppress native build warnings commit fecb667 Author: EvilGremlin <[email protected]> Date: Thu Feb 9 06:46:02 2023 +0300 🔨 Adjust INI comments (MarlinFirmware#25183) commit f7485ce Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 20:31:02 2023 -0600 🩹 Extra axis min home with Delta Sensorless Probe commit a49d286 Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 20:29:37 2023 -0600 🩹 Extra axes for Tool Change commit 59c8857 Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 20:28:56 2023 -0600 🩹 Various simple fixes commit 6e38ec3 Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 20:26:59 2023 -0600 🩹 Safe Bed Leveling updates commit 93c61b1 Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 20:19:12 2023 -0600 🩹 Misc. extra axis updates commit 87d7449 Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 19:39:21 2023 -0600 🩹 Use 'M205 D' when 'B' is an axis commit 98c9ecd Author: Scott Lahteine <[email protected]> Date: Wed Feb 8 19:37:10 2023 -0600 🔧 Add a test for extra axes commit 8976bc5 Author: Keith Bennett <[email protected]> Date: Tue Feb 7 22:39:09 2023 -0800 ✨ BigTreeTech Manta M4P, M5P, M8P V1.0 / 1.1, E3 EZ (MarlinFirmware#25001) commit e3cff7a Author: Victor Oliveira <[email protected]> Date: Sat Feb 4 05:10:26 2023 -0300 🧑‍💻 General 'MediaFile' type alias (MarlinFirmware#24424) commit 4000db2 Author: vyacheslav-shubin <[email protected]> Date: Sat Feb 4 10:36:07 2023 +0300 🧑‍💻 Add SD Card 'hide' method for dev usage (MarlinFirmware#22425) commit f9621e2 Author: Keith Bennett <[email protected]> Date: Thu Feb 2 17:41:46 2023 -0800 📝 Fix Z*_ENDSTOP_ADJUSTMENT comments (MarlinFirmware#25295) commit 1a184e5 Author: kg333 <[email protected]> Date: Wed Feb 1 19:02:26 2023 -0500 📺 Melzi v4 with BTT SKR Mini E3 (MarlinFirmware#25321) commit 6e42735 Author: Martin Turski <[email protected]> Date: Fri Feb 3 04:01:22 2023 +0100 🔨 Fix test build path with spaces (MarlinFirmware#25329) commit 79e2375 Author: Bob Kuhn <[email protected]> Date: Wed Feb 1 01:51:11 2023 -0600 🔧 Fix SD sorting sanity checks (MarlinFirmware#25318) commit 858de4f Author: Scott Lahteine <[email protected]> Date: Mon Jan 30 22:11:50 2023 -0600 🔧 Fix build with no Y axis (MarlinFirmware#25311) commit bac0b35 Author: Bob Kuhn <[email protected]> Date: Mon Jan 30 21:57:36 2023 -0600 🩹 Fix G61 axis parameters with no offset (MarlinFirmware#25312) commit 60f3857 Author: Darren Garnier <[email protected]> Date: Mon Jan 30 23:00:49 2023 -0500 🔨 Fix config.ini URL fetch (MarlinFirmware#25313) commit b3c004e Author: avionix-g <[email protected]> Date: Wed Jan 25 23:14:52 2023 -0500 🐛 Fix MKS board Ultipanel support (MarlinFirmware#25278) commit 9e755a2 Author: xBiohazardx <[email protected]> Date: Fri Jan 27 01:05:04 2023 +0100 ✏️ Fix probe invert flag (MarlinFirmware#25282) commit 0d83118 Author: Scott Lahteine <[email protected]> Date: Wed Jan 25 21:37:10 2023 -0600 🔧 Refine Input Shaping check (MarlinFirmware#25280) commit 0ed083a Author: Scott Lahteine <[email protected]> Date: Fri Jan 20 21:17:13 2023 -0600 SDIO retry, hsd clock, etc. commit 2c39f84 Author: Scott Lahteine <[email protected]> Date: Tue Jan 24 02:21:02 2023 -0600 🔧 Overridable Stepper EN init commit b7e4216 Author: Bob Kuhn <[email protected]> Date: Mon Jan 23 01:37:35 2023 -0600 🐛 Fix Ender-2 Stock Display with Melzi (MarlinFirmware#25258) commit 536e8a7 Author: MarkMan0 <[email protected]> Date: Sun Dec 18 06:48:33 2022 +0100 🐛 Fix, Refactor PID scaling (MarlinFirmware#25096) commit 8c34258 Author: John Robertson <[email protected]> Date: Tue Jan 17 23:53:39 2023 +0000 🐛 Fix potential I2S buffer overwrite (MarlinFirmware#25113) commit dd892c6 Author: Scott Lahteine <[email protected]> Date: Mon Jan 16 22:11:49 2023 -0600 🎨 Heading cleanup commit 947a9cb Author: Scott Lahteine <[email protected]> Date: Sun Jan 15 06:48:17 2023 -0600 🎨 Language / menu cleanup commit 62487c6 Author: Scott Lahteine <[email protected]> Date: Sat Jan 14 07:44:57 2023 -0600 ✏️ ProUI followup commit 6cf085d Author: Scott Lahteine <[email protected]> Date: Sun Jan 15 01:11:49 2023 -0600 🔧 Added MOTHERBOARD error text commit c3c6432 Author: Scott Lahteine <[email protected]> Date: Tue Mar 14 16:48:17 2023 -0500 🎨 Misc. formatting
1 parent 1ed20ef commit 1f55345

File tree

558 files changed

+42429
-30341
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

558 files changed

+42429
-30341
lines changed

.devcontainer/Dockerfile

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.187.0/containers/python-3/.devcontainer/base.Dockerfile
2+
3+
# [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6
4+
ARG VARIANT="3.9.0-buster"
5+
FROM python:${VARIANT}
6+
7+
# [Option] Install Node.js
8+
ARG INSTALL_NODE="true"
9+
ARG NODE_VERSION="lts/*"
10+
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
11+
12+
# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image.
13+
# COPY requirements.txt /tmp/pip-tmp/
14+
# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \
15+
# && rm -rf /tmp/pip-tmp
16+
17+
# [Optional] Uncomment this section to install additional OS packages.
18+
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
19+
# && apt-get -y install --no-install-recommends <your-package-list-here>
20+
21+
# [Optional] Uncomment this line to install global node packages.
22+
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
23+
24+
25+
RUN pip install -U https://github.com/platformio/platformio-core/archive/develop.zip
26+
RUN platformio update
27+
# To get the test platforms
28+
RUN pip install PyYaml
29+
#ENV PATH /code/buildroot/bin/:/code/buildroot/tests/:${PATH}

.devcontainer/devcontainer.json

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.187.0/containers/python-3
3+
{
4+
"name": "Python 3",
5+
"build": {
6+
"dockerfile": "Dockerfile",
7+
"context": "..",
8+
"args": {
9+
// Update 'VARIANT' to pick a Python version: 3, 3.6, 3.7, 3.8, 3.9
10+
"VARIANT": "3.9.0-buster",
11+
// Options
12+
"INSTALL_NODE": "false",
13+
"NODE_VERSION": "lts/*"
14+
}
15+
},
16+
17+
// Set *default* container specific settings.json values on container create.
18+
"settings": {
19+
"python.pythonPath": "/usr/local/bin/python",
20+
"python.languageServer": "Pylance",
21+
"python.linting.enabled": true,
22+
"python.linting.pylintEnabled": true,
23+
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
24+
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
25+
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
26+
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
27+
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
28+
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
29+
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
30+
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
31+
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint"
32+
},
33+
34+
// Add the IDs of extensions you want installed when the container is created.
35+
"extensions": [
36+
"ms-python.python",
37+
"ms-python.vscode-pylance",
38+
"platformio.platformio-ide",
39+
"marlinfirmware.auto-build",
40+
"editorconfig.editorconfig"
41+
],
42+
43+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
44+
// "forwardPorts": [],
45+
46+
// Use 'postCreateCommand' to run commands after the container is created.
47+
// "postCreateCommand": "pip3 install --user -r requirements.txt",
48+
49+
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
50+
// "remoteUser": "vscode"
51+
}

Makefile

+14-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
SCRIPTS_DIR := buildroot/share/scripts
2+
CONTAINER_RT_BIN := docker
3+
CONTAINER_RT_OPTS := --rm -v $(PWD):/code -v platformio-cache:/root/.platformio
4+
CONTAINER_IMAGE := marlin-dev
5+
16
help:
27
@echo "Tasks for local development:"
38
@echo "* tests-single-ci: Run a single test from inside the CI"
49
@echo "* tests-single-local: Run a single test locally"
5-
@echo "* tests-single-local-docker: Run a single test locally, using docker-compose"
10+
@echo "* tests-single-local-docker: Run a single test locally, using docker"
611
@echo "* tests-all-local: Run all tests locally"
7-
@echo "* tests-all-local-docker: Run all tests locally, using docker-compose"
8-
@echo "* setup-local-docker: Setup local docker-compose"
12+
@echo "* tests-all-local-docker: Run all tests locally, using docker"
13+
@echo "* setup-local-docker: Build the local docker image"
914
@echo ""
1015
@echo "Options for testing:"
1116
@echo " TEST_TARGET Set when running tests-single-*, to select the"
@@ -34,19 +39,21 @@ tests-single-local:
3439

3540
tests-single-local-docker:
3641
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
37-
docker-compose run --rm marlin $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
42+
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
43+
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
3844
.PHONY: tests-single-local-docker
3945

4046
tests-all-local:
4147
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
4248
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
43-
&& for TEST_TARGET in $$(./get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
49+
&& for TEST_TARGET in $$($(SCRIPTS_DIR)/get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
4450
.PHONY: tests-all-local
4551

4652
tests-all-local-docker:
47-
docker-compose run --rm marlin $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
53+
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
54+
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
4855
.PHONY: tests-all-local-docker
4956

5057
setup-local-docker:
51-
docker-compose build
58+
$(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) -f docker/Dockerfile .
5259
.PHONY: setup-local-docker

Marlin/Version.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
/**
2929
* Marlin release version identifier
3030
*/
31-
//#define SHORT_BUILD_VERSION "2.1.2"
31+
//#define SHORT_BUILD_VERSION "2.1.2.1"
3232

3333
/**
3434
* Verbose version identifier which should contain a reference to the location
@@ -41,7 +41,7 @@
4141
* here we define this default string as the date where the latest release
4242
* version was tagged.
4343
*/
44-
//#define STRING_DISTRIBUTION_DATE "2022-12-17"
44+
//#define STRING_DISTRIBUTION_DATE "2023-05-16"
4545

4646
/**
4747
* Defines a generic printer name to be output to the LCD after booting Marlin.

Marlin/src/HAL/AVR/fast_pwm.cpp

+22-5
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323

2424
#include "../../inc/MarlinConfig.h"
2525

26+
//#define DEBUG_AVR_FAST_PWM
27+
#define DEBUG_OUT ENABLED(DEBUG_AVR_FAST_PWM)
28+
#include "../../core/debug_out.h"
29+
2630
struct Timer {
2731
volatile uint8_t* TCCRnQ[3]; // max 3 TCCR registers per timer
2832
volatile uint16_t* OCRnQ[3]; // max 3 OCR registers per timer
@@ -108,36 +112,45 @@ const Timer get_pwm_timer(const pin_t pin) {
108112
}
109113

110114
void MarlinHAL::set_pwm_frequency(const pin_t pin, const uint16_t f_desired) {
115+
DEBUG_ECHOLNPGM("set_pwm_frequency(pin=", pin, ", freq=", f_desired, ")");
111116
const Timer timer = get_pwm_timer(pin);
112117
if (timer.isProtected || !timer.isPWM) return; // Don't proceed if protected timer or not recognized
113118

114119
const bool is_timer2 = timer.n == 2;
115120
const uint16_t maxtop = is_timer2 ? 0xFF : 0xFFFF;
116121

122+
DEBUG_ECHOLNPGM("maxtop=", maxtop);
123+
117124
uint16_t res = 0xFF; // resolution (TOP value)
118125
uint8_t j = CS_NONE; // prescaler index
119126
uint8_t wgm = WGM_PWM_PC_8; // waveform generation mode
120127

121128
// Calculating the prescaler and resolution to use to achieve closest frequency
122129
if (f_desired != 0) {
123130
constexpr uint16_t prescaler[] = { 1, 8, (32), 64, (128), 256, 1024 }; // (*) are Timer 2 only
124-
uint16_t f = (F_CPU) / (2 * 1024 * maxtop) + 1; // Start with the lowest non-zero frequency achievable (1 or 31)
131+
uint16_t f = (F_CPU) / (uint32_t(maxtop) << 11) + 1; // Start with the lowest non-zero frequency achievable (for 16MHz, 1 or 31)
125132

133+
DEBUG_ECHOLNPGM("f=", f);
134+
DEBUG_ECHOLNPGM("(prescaler loop)");
126135
LOOP_L_N(i, COUNT(prescaler)) { // Loop through all prescaler values
127-
const uint16_t p = prescaler[i];
136+
const uint32_t p = prescaler[i]; // Extend to 32 bits for calculations
137+
DEBUG_ECHOLNPGM("prescaler[", i, "]=", p);
128138
uint16_t res_fast_temp, res_pc_temp;
129139
if (is_timer2) {
130140
#if ENABLED(USE_OCR2A_AS_TOP) // No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP
131141
const uint16_t rft = (F_CPU) / (p * f_desired);
132142
res_fast_temp = rft - 1;
133143
res_pc_temp = rft / 2;
144+
DEBUG_ECHOLNPGM("(Timer2) res_fast_temp=", res_fast_temp, " res_pc_temp=", res_pc_temp);
134145
#else
135146
res_fast_temp = res_pc_temp = maxtop;
147+
DEBUG_ECHOLNPGM("(Timer2) res_fast_temp=", maxtop, " res_pc_temp=", maxtop);
136148
#endif
137149
}
138150
else {
139151
if (p == 32 || p == 128) continue; // Skip TIMER2 specific prescalers when not TIMER2
140152
const uint16_t rft = (F_CPU) / (p * f_desired);
153+
DEBUG_ECHOLNPGM("(Not Timer 2) F_CPU=" STRINGIFY(F_CPU), " prescaler=", p, " f_desired=", f_desired);
141154
res_fast_temp = rft - 1;
142155
res_pc_temp = rft / 2;
143156
}
@@ -147,23 +160,27 @@ void MarlinHAL::set_pwm_frequency(const pin_t pin, const uint16_t f_desired) {
147160

148161
// Calculate frequencies of test prescaler and resolution values
149162
const uint16_t f_fast_temp = (F_CPU) / (p * (1 + res_fast_temp)),
150-
f_pc_temp = (F_CPU) / (2 * p * res_pc_temp);
151-
const int f_diff = _MAX(f, f_desired) - _MIN(f, f_desired),
163+
f_pc_temp = (F_CPU) / ((p * res_pc_temp) << 1),
164+
f_diff = _MAX(f, f_desired) - _MIN(f, f_desired),
152165
f_fast_diff = _MAX(f_fast_temp, f_desired) - _MIN(f_fast_temp, f_desired),
153166
f_pc_diff = _MAX(f_pc_temp, f_desired) - _MIN(f_pc_temp, f_desired);
154167

168+
DEBUG_ECHOLNPGM("f_fast_temp=", f_fast_temp, " f_pc_temp=", f_pc_temp, " f_diff=", f_diff, " f_fast_diff=", f_fast_diff, " f_pc_diff=", f_pc_diff);
169+
155170
if (f_fast_diff < f_diff && f_fast_diff <= f_pc_diff) { // FAST values are closest to desired f
156171
// Set the Wave Generation Mode to FAST PWM
157172
wgm = is_timer2 ? uint8_t(TERN(USE_OCR2A_AS_TOP, WGM2_FAST_PWM_OCR2A, WGM2_FAST_PWM)) : uint8_t(WGM_FAST_PWM_ICRn);
158173
// Remember this combination
159174
f = f_fast_temp; res = res_fast_temp; j = i + 1;
175+
DEBUG_ECHOLNPGM("(FAST) updated f=", f);
160176
}
161177
else if (f_pc_diff < f_diff) { // PHASE CORRECT values are closes to desired f
162178
// Set the Wave Generation Mode to PWM PHASE CORRECT
163179
wgm = is_timer2 ? uint8_t(TERN(USE_OCR2A_AS_TOP, WGM2_PWM_PC_OCR2A, WGM2_PWM_PC)) : uint8_t(WGM_PWM_PC_ICRn);
164180
f = f_pc_temp; res = res_pc_temp; j = i + 1;
181+
DEBUG_ECHOLNPGM("(PHASE) updated f=", f);
165182
}
166-
}
183+
} // prescaler loop
167184
}
168185

169186
_SET_WGMnQ(timer, wgm);

Marlin/src/HAL/AVR/fastio.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -293,11 +293,11 @@ enum ClockSource2 : uint8_t {
293293

294294
#if HAS_MOTOR_CURRENT_PWM
295295
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
296-
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_E0 || P == MOTOR_CURRENT_PWM_E1 || P == MOTOR_CURRENT_PWM_Z || P == MOTOR_CURRENT_PWM_XY)
296+
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E_PIN || P == MOTOR_CURRENT_PWM_E0_PIN || P == MOTOR_CURRENT_PWM_E1_PIN || P == MOTOR_CURRENT_PWM_Z_PIN || P == MOTOR_CURRENT_PWM_XY_PIN)
297297
#elif PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
298-
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_E0 || P == MOTOR_CURRENT_PWM_E1 || P == MOTOR_CURRENT_PWM_Z)
298+
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E_PIN || P == MOTOR_CURRENT_PWM_E0_PIN || P == MOTOR_CURRENT_PWM_E1_PIN || P == MOTOR_CURRENT_PWM_Z_PIN)
299299
#else
300-
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_E0 || P == MOTOR_CURRENT_PWM_E1)
300+
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E_PIN || P == MOTOR_CURRENT_PWM_E0_PIN || P == MOTOR_CURRENT_PWM_E1_PIN)
301301
#endif
302302
#else
303303
#define PWM_CHK_MOTOR_CURRENT(P) false

Marlin/src/HAL/AVR/fastio/fastio_1280.h

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
* Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
2828
* Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
2929
* Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 73 75 76 77 74 xx xx xx xx xx
30+
*
31+
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
32+
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
3033
*/
3134

3235
#include "../fastio.h"

Marlin/src/HAL/AVR/fastio/fastio_1281.h

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
*
2727
* Logical Pin: 38 39 40 41 42 43 44 45 16 10 11 12 06 07 08 09 30 31 32 33 34 35 36 37 17 18 19 20 21 22 23 24 00 01 13 05 02 03 14 15 46 47 48 49 50 51 52 53 25 26 27 28 29 04
2828
* Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 G0 G1 G2 G3 G4 G5
29+
*
30+
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
31+
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
2932
*/
3033

3134
#include "../fastio.h"

Marlin/src/HAL/AVR/fastio/fastio_168.h

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
*
2727
* Logical Pin: 08 09 10 11 12 13 14 15 16 17 18 19 20 21 00 01 02 03 04 05 06 07
2828
* Port: B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7
29+
*
30+
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
31+
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
2932
*/
3033

3134
#include "../fastio.h"

Marlin/src/HAL/AVR/fastio/fastio_644.h

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
*
2727
* Logical Pin: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2828
* Port: B0 B1 B2 B3 B4 B5 B6 B7 D0 D1 D2 D3 D4 D5 D6 D7 C0 C1 C2 C3 C4 C5 C6 C7 A7 A6 A5 A4 A3 A2 A1 A0
29+
*
30+
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
31+
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
2932
*/
3033

3134
/** ATMega644

Marlin/src/HAL/AVR/fastio/fastio_AT90USB.h

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
* Logical Pin: 28 29 30 31 32 33 34 35 20 21 22 23 24 25 26 27 10 11 12 13 14 15 16 17 00 01 02 03 04 05 06 07 08 09(46*47)36 37 18 19 38 39 40 41 42 43 44 45
2828
* Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7
2929
* The logical pins 46 and 47 are not supported by Teensyduino, but are supported below as E2 and E3
30+
*
31+
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
32+
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
3033
*/
3134

3235
#include "../fastio.h"

Marlin/src/HAL/AVR/inc/Conditionals_LCD.h

-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,3 @@
2020
*
2121
*/
2222
#pragma once
23-
24-
#if HAS_SPI_TFT || HAS_FSMC_TFT
25-
#error "Sorry! TFT displays are not available for HAL/AVR."
26-
#endif

Marlin/src/HAL/AVR/inc/SanityCheck.h

+4
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
* Test AVR-specific configuration values for errors at compile-time.
2626
*/
2727

28+
#if HAS_SPI_TFT || HAS_FSMC_TFT
29+
#error "Sorry! TFT displays are not available for HAL/AVR."
30+
#endif
31+
2832
/**
2933
* Check for common serial pin conflicts
3034
*/

Marlin/src/HAL/AVR/math.h

+21-19
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,14 @@
2727

2828
// intRes = longIn1 * longIn2 >> 24
2929
// uses:
30-
// A[tmp] to store 0
31-
// B[tmp] to store bits 16-23 of the 48bit result. The top bit is used to round the two byte result.
32-
// note that the lower two bytes and the upper byte of the 48bit result are not calculated.
33-
// this can cause the result to be out by one as the lower bytes may cause carries into the upper ones.
34-
// B A are bits 24-39 and are the returned value
35-
// C B A is longIn1
36-
// D C B A is longIn2
30+
// r1, r0 for the result of mul.
31+
// [tmp1] to store 0.
32+
// [tmp2] to store bits 16-23 of the 56 bit result. The top bit of [tmp2] is used for rounding.
33+
// Note that the lower two bytes and the upper two bytes of the 56 bit result are not calculated.
34+
// This can cause the result to be out by one as the lower bytes may cause carries into the upper ones.
35+
// [intRes] (A B) is bits 24-39 and is the returned value.
36+
// [longIn1] (C B A) is a 24 bit parameter.
37+
// [longIn2] (D C B A) is a 32 bit parameter.
3738
//
3839
FORCE_INLINE static uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2) {
3940
uint8_t tmp1;
@@ -66,11 +67,9 @@ FORCE_INLINE static uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2
6667
A("add %[tmp2], r1")
6768
A("adc %A[intRes], %[tmp1]")
6869
A("adc %B[intRes], %[tmp1]")
69-
A("lsr %[tmp2]")
70-
A("adc %A[intRes], %[tmp1]")
71-
A("adc %B[intRes], %[tmp1]")
7270
A("mul %D[longIn2], %A[longIn1]")
73-
A("add %A[intRes], r0")
71+
A("lsl %[tmp2]")
72+
A("adc %A[intRes], r0")
7473
A("adc %B[intRes], r1")
7574
A("mul %D[longIn2], %B[longIn1]")
7675
A("add %B[intRes], r0")
@@ -85,22 +84,25 @@ FORCE_INLINE static uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2
8584
return intRes;
8685
}
8786

88-
// intRes = intIn1 * intIn2 >> 16
87+
// intRes = intIn1 * intIn2 >> 8
8988
// uses:
90-
// r26 to store 0
91-
// r27 to store the byte 1 of the 24 bit result
92-
FORCE_INLINE static uint16_t MultiU16X8toH16(uint8_t charIn1, uint16_t intIn2) {
89+
// r1, r0 for the result of mul. After the second mul, r0 holds bits 0-7 of the 24 bit result and
90+
// the top bit of r0 is used for rounding.
91+
// [tmp] to store 0.
92+
// [intRes] (A B) is bits 8-15 and is the returned value.
93+
// [charIn1] is an 8 bit parameter.
94+
// [intIn2] (B A) is a 16 bit parameter.
95+
//
96+
FORCE_INLINE static uint16_t MultiU8X16toH16(uint8_t charIn1, uint16_t intIn2) {
9397
uint8_t tmp;
9498
uint16_t intRes;
9599
__asm__ __volatile__ (
96100
A("clr %[tmp]")
97101
A("mul %[charIn1], %B[intIn2]")
98102
A("movw %A[intRes], r0")
99103
A("mul %[charIn1], %A[intIn2]")
100-
A("add %A[intRes], r1")
101-
A("adc %B[intRes], %[tmp]")
102-
A("lsr r0")
103-
A("adc %A[intRes], %[tmp]")
104+
A("lsl r0")
105+
A("adc %A[intRes], r1")
104106
A("adc %B[intRes], %[tmp]")
105107
A("clr r1")
106108
: [intRes] "=&r" (intRes),

0 commit comments

Comments
 (0)