Compare commits

...

1493 Commits

Author SHA1 Message Date
Scott Lahteine dc6d166567 Merge remote-tracking branch 'upstream/bugfix-2.1.x' into pr/26944 2025-12-02 12:14:56 -06:00
thinkyhead 333608a692 [cron] Bump distribution date (2025-12-02) 2025-12-02 00:33:25 +00:00
Scott Lahteine e99d801e6b 🧑‍💻 Add a "Marlin" class 2025-11-30 20:07:48 -06:00
Scott Lahteine 0ac1435a8c 🧑‍💻 Reduction via TERF 2025-11-30 20:07:48 -06:00
Scott Lahteine 584abc5835 🎨 "controllerfan" 2025-11-30 20:07:48 -06:00
Scott Lahteine 73fa80f128 🎨 Pretty up timers 2025-11-30 20:07:48 -06:00
Scott Lahteine 7fcc605595 🧑‍💻 Relocate G38 data 2025-11-30 20:07:48 -06:00
Harald Wagener 35319049fe FT_MOTION > FTM_POLYS (#28197) 2025-11-30 20:05:45 -06:00
thinkyhead 544cde20fb [cron] Bump distribution date (2025-12-01) 2025-12-01 00:40:21 +00:00
Scott Lahteine 084b065f46 🩹 Fix MMU2 menu 2025-11-30 17:24:23 -06:00
Scott Lahteine ec8a6fc7e2 🔧 Uppercase PID options (#27891) 2025-11-30 08:43:23 -06:00
thinkyhead 3d7f84dbb6 [cron] Bump distribution date (2025-11-30) 2025-11-30 00:38:07 +00:00
Scott Lahteine 7b70e39ff6 🧑‍💻 Clarify PID tuning macros 2025-11-28 21:23:00 -06:00
Scott Lahteine 58bce3781e 📝 Usage for run_tests 2025-11-28 19:15:06 -06:00
thinkyhead 578ee04243 [cron] Bump distribution date (2025-11-29) 2025-11-29 00:31:12 +00:00
Scott Lahteine d061e6dbd6 📝 Motion comments
w/r/t https://github.com/MarlinFirmware/Marlin/issues/27918#issuecomment-3145339116
2025-11-28 13:28:28 -06:00
Vovodroid 12ac094992 PLR_HEAT_BED_ON_REBOOT (#26691) 2025-11-27 19:27:48 -06:00
thinkyhead ac0fc603ae [cron] Bump distribution date (2025-11-28) 2025-11-28 00:53:52 +00:00
ellensp e3ef8d2089 BOARD_RASPBERRY_PI_PICO (and other RP2040 updates) (#28181) 2025-11-27 17:28:32 -06:00
Vovodroid b9f0c68e3c ️ Minimize M190 annealing code (#26888) 2025-11-27 16:41:20 -06:00
Axel Sepúlveda 64182d60aa 🎨 Patches for README (#28194)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-11-27 14:38:04 -06:00
thinkyhead 3e4344ad7a [cron] Bump distribution date (2025-11-27) 2025-11-27 06:11:36 +00:00
Scott Lahteine efb58a9a0d 🧑‍💻 Consolidate repetitious items 2025-11-26 23:04:31 -06:00
Scott Lahteine 2700af52c8 🧑‍💻 TERF - Single line shorthand 2025-11-26 21:42:16 -06:00
Scott Lahteine c420a0b96a 🎨 Comments, refinements 2025-11-26 21:34:42 -06:00
Scott Lahteine 1832500eca 🧑‍💻 Single endstop state 2025-11-26 21:34:22 -06:00
thinkyhead 5bbf953711 [cron] Bump distribution date (2025-11-26) 2025-11-26 00:32:42 +00:00
Scott Lahteine 1f38b509e1 🔧 Update FAN pins 2025-11-25 14:36:51 -06:00
thinkyhead 38d9b97bbd [cron] Bump distribution date (2025-11-25) 2025-11-25 06:29:28 +00:00
Giuliano c1908c865e 🩹 Fix case light menu build (2) (#28185)
Followup to #28143
2025-11-24 22:43:18 -06:00
David Buezas ba34902610 🔧 Recommend FTM_SMOOTHING + FTM_SHAPER_E (#28190) 2025-11-24 22:40:27 -06:00
Andrew e35bedab48 🔨 Importable configuration.py for mc-apply.py (#28182) 2025-11-24 19:57:47 -06:00
Andrew 50297c65d4 🚸 Update/fix JyersUI/ProUI park, leveling (#28183) 2025-11-24 19:56:11 -06:00
Scott Lahteine fe1d6f93e2 🔨 STM32 build with -std=gnu++17 (#28188) 2025-11-24 19:55:30 -06:00
thinkyhead 46ee5b0a08 [cron] Bump distribution date (2025-11-24) 2025-11-24 00:35:08 +00:00
Scott Lahteine 9da6b580d9 🚸 Immediate Buttons and Menu Items (2)
Followup to #28180
2025-11-23 13:51:51 -06:00
Scott Lahteine ccc69582ef 🧑‍💻 Warn about language features 2025-11-23 13:27:17 -06:00
thinkyhead 8dee0c1281 [cron] Bump distribution date (2025-11-20) 2025-11-20 06:10:58 +00:00
Scott Lahteine 06c6c479dd 🚸 Immediate Buttons and Menu Items (#28180) 2025-11-19 22:01:42 -06:00
thinkyhead 402aab968c [cron] Bump distribution date (2025-11-19) 2025-11-19 00:33:07 +00:00
Scott Lahteine bf7433c937 make a friend 2025-11-18 12:15:12 -06:00
Scott Lahteine 81a9eb27ad use handlers 2025-11-18 12:05:18 -06:00
Scott Lahteine 6ed3ea9a6b ws 2025-11-18 11:11:24 -06:00
Scott Lahteine 371ab1eea2 Add BUTTON*_IMMEDIATE option 2025-11-18 11:02:10 -06:00
Scott Lahteine e38075710d Menu item to run a G-code now 2025-11-18 10:48:36 -06:00
Scott Lahteine ea2e832dc8 Merge branch 'bugfix-2.1.x' into pr/26944 2025-11-18 10:25:09 -06:00
Scott Lahteine 85b82e3ab6 🎨 Misc. ws and formatting 2025-11-17 19:16:15 -06:00
Giuliano 543af426ef 🌐 Update Italian translation (#28177) 2025-11-17 18:40:59 -06:00
thinkyhead 646f4c7d69 [cron] Bump distribution date (2025-11-18) 2025-11-18 00:38:53 +00:00
Scott Lahteine 9788a35107 🩹 Commas for devcontainer.json 2025-11-17 18:08:09 -06:00
Scott Lahteine 2774ee8290 🎨 Misc patches from ProUI (2) 2025-11-17 18:04:19 -06:00
Scott Lahteine 4f39b9c09d 🎨 Misc patches from ProUI
Co-Authored-By: Miguel Risco-Castillo <mriscoc@users.noreply.github.com>
2025-11-17 17:28:13 -06:00
thinkyhead e6a615d882 [cron] Bump distribution date (2025-11-17) 2025-11-17 00:33:44 +00:00
Andrew 9d55440d38 🚸 'G27 P' parameter check (#28172)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-11-16 13:19:59 -06:00
ellensp c7e6b7924a 🚸🌡️ Refactor AUTOTEMP (2) (#28175)
Followup to #28155
2025-11-16 12:54:52 -06:00
ellensp c6f4bc1aa1 GCODE_MACROS_IN_EEPROM (2) (#28174) 2025-11-16 12:24:09 -06:00
Vedran 98c72a3b65 DIFFERENTIAL_EXTRUDER (#28023) 2025-11-16 12:22:03 -06:00
Harald Wagener ef8873d6ef 🔧 FLY D5 — Servo and Probe pins (#28166) 2025-11-16 09:12:38 -06:00
thinkyhead eb2b8a1ddb [cron] Bump distribution date (2025-11-16) 2025-11-16 00:35:14 +00:00
Steven Haigh a1a9904d32 🔨 Enhance mc-apply.py (#28157)
Enhance `mc-apply.py` with `configuration.py` features and value normalization:
- Verbose logging system with `--verbose` flag (0-2 levels)
- `fetch_example()` to download configs from GitHub (`examples/path` or URLs)
- `disable_all_options()` to comment out all `#define` statements
- Special directives support via directives JSON key
- Support for `[disable]`, `examples/path`, and direct URL directives

Implement value normalization for consistent behavior:
- "on", "true", true, "" => enable (uncomment `#define`)
- "off", "false", false => disable (comment out `#define`)
- All other values => set value (`#define OPTION value`)

Update example marlin_config.json to demonstrate different value formats and directive usage. Changes are fully backward compatible with existing JSON configuration files.
2025-11-15 15:44:16 -06:00
Scott Lahteine 1f3309ac06 🔨 Use config_dump 1 for mc.zip embedding 2025-11-14 23:47:20 -06:00
Andrew b9e89a5378 🩹 Fix NeoPixel for stm32f1-maple (#28128) 2025-11-14 19:11:00 -06:00
Skruppy e2250ce037 🩹 Fix case light menu build (#28143) 2025-11-14 19:06:22 -06:00
thinkyhead f872750b70 [cron] Bump distribution date (2025-11-15) 2025-11-15 00:31:14 +00:00
nanctil c9488b4f63 🐛 Fix Teensy 4.x stepper timing via HAL_timer_set_compare (#28169) 2025-11-14 13:52:34 -06:00
Scott Lahteine 8cd9c06084 🩹 Teensy 4.x timer mods 2025-11-14 13:46:37 -06:00
Scott Lahteine 1c6b723ee6 🧑‍💻 Timer general cleanup
erps
2025-11-14 13:45:55 -06:00
thinkyhead 0f044f76ec [cron] Bump distribution date (2025-11-14) 2025-11-14 06:10:47 +00:00
Axel Sepúlveda 8342a5a83e 🐛 Fix TPARA kinematics (#28068) 2025-11-13 20:14:57 -06:00
thinkyhead e3fa27ac9f [cron] Bump distribution date (2025-11-13) 2025-11-13 00:31:59 +00:00
narno2202 3293b2780e 🩹 Prevent ÷ 0 in FT Motion (#28150) 2025-11-12 16:06:36 -06:00
thinkyhead ebf9aa5c82 [cron] Bump distribution date (2025-11-12) 2025-11-12 06:11:20 +00:00
Scott Lahteine 54fe84ea32 🧑‍💻 Missed some
Followup to ba8b685ede
2025-11-11 22:01:38 -06:00
Scott Lahteine b0f6155d99 🧑‍💻 FTM trajectory code tweaks 2025-11-11 21:47:58 -06:00
Scott Lahteine ba8b685ede 🧑‍💻 Old macros cleanup 2025-11-11 21:47:58 -06:00
ellensp 579545177d GCODE_MACROS_IN_EEPROM (#28114) 2025-11-11 19:51:22 -06:00
thinkyhead 10009b018d [cron] Bump distribution date (2025-11-11) 2025-11-11 00:32:37 +00:00
Scott Lahteine 689c7b83e1 🎨 Move bubblesort string 2025-11-10 12:01:45 -06:00
Scott Lahteine 9393c1ed1b 🩹 Fix MBL + FT Motion build 2025-11-10 12:01:31 -06:00
Scott Lahteine cda684b6fd 🎨 LCD cosmetic, babystep size 2025-11-10 00:18:11 -06:00
David Buezas a420e3c155 🔧 PROBE_WAKEUP_TIME_MS 30 for BIQU probes (#28153) 2025-11-09 23:43:37 -06:00
Scott Lahteine 88a4e55945 🩹 Fix SMOOTH_SET
Followup to ce7edc6223
2025-11-09 21:25:46 -06:00
Scott Lahteine 27dcfe0ea8 New rule in use_example_configs 2025-11-09 18:37:18 -06:00
thinkyhead cf609152c2 [cron] Bump distribution date (2025-11-10) 2025-11-10 00:34:05 +00:00
Scott Lahteine 6e01ba3ce8 🧑‍💻 Probe code refinements 2025-11-09 17:34:18 -06:00
thinkyhead cf9f205030 [cron] Bump distribution date (2025-11-09) 2025-11-09 01:43:06 +00:00
ellensp 59cee1cb87 🔧 Custom boot screen for Graphical TFT (#28160) 2025-11-08 17:20:58 -06:00
ellensp e53f2a3d82 🩹 Fix __ARM_ARCH check to omit M0+ (#28162) 2025-11-08 17:03:05 -06:00
narno2202 412513be43 FTM_RESONANCE_TEST (3) (#28164) 2025-11-08 17:01:05 -06:00
Mihai f946b60670 S_CURVE_FACTOR (#27101) 2025-11-08 16:48:09 -06:00
Scott Lahteine 90363cefd0 🎨 Conditional HAS_VOLUMETRIC_EXTRUSION 2025-11-08 16:41:53 -06:00
Scott Lahteine 07630e6559 🎨 per => pct 2025-11-08 16:15:20 -06:00
Scott Lahteine 5b34686dda FTM_RESONANCE_TEST (2) 2025-11-08 16:04:40 -06:00
narno2202 667aa15b87 FTM_RESONANCE_TEST (#28158) 2025-11-08 15:16:06 -06:00
thinkyhead f48aa53d7c [cron] Bump distribution date (2025-11-08) 2025-11-08 00:30:09 +00:00
Scott Lahteine dd3c3d09f2 🩹 Quieter FTM build (2) 2025-11-07 12:43:38 -06:00
Scott Lahteine d1f2b2d27b 🩹 Quieter FTM build 2025-11-07 01:43:22 -06:00
Scott Lahteine 2073b67e45 FT Motion test EXTRUDERS > 1 (2) 2025-11-07 00:21:09 -06:00
Scott Lahteine e176df1e6d 🎨 FT Motion comments, style
Resolves #28151
2025-11-06 23:14:43 -06:00
thinkyhead f6dbb59748 [cron] Bump distribution date (2025-11-07) 2025-11-07 00:31:58 +00:00
Scott Lahteine 39697628e7 FT Motion test EXTRUDERS > 1 2025-11-06 16:36:45 -06:00
thinkyhead e9c5b99722 [cron] Bump distribution date (2025-11-06) 2025-11-06 06:10:44 +00:00
Scott Lahteine 8e9e039672 🧑‍💻 Rename Trajectory Gen 2025-11-05 19:19:58 -06:00
Scott Lahteine ce7edc6223 🧑‍💻 Save some string space 2025-11-05 19:18:33 -06:00
Scott Lahteine 924c2ca0fe 🎨 Fix style snafus 2025-11-05 19:18:18 -06:00
thinkyhead e0f0a9491d [cron] Bump distribution date (2025-11-05) 2025-11-05 00:32:26 +00:00
ellensp 8547f4f5b9 🔨🐛 Don't use broken 'board = fysetc_f6_13' (#28159) 2025-11-04 01:31:57 -06:00
Scott Lahteine ac5836a2a2 🔨 Bring Makefile up to date 2025-11-04 01:16:23 -06:00
thinkyhead 6b14b948a9 [cron] Bump distribution date (2025-11-04) 2025-11-04 00:31:21 +00:00
Scott Lahteine 1774dbd539 🩹 Fix 'interval' type warning
Resolves #28156
2025-11-03 17:51:55 -06:00
zzcatvs e9810691ec FYSETC Spider King V1.1 (STM32H723ZG) (#27125) 2025-11-03 14:09:08 -06:00
Scott Lahteine 29ad078fda 🚸🌡️ Refactor AUTOTEMP, apply to LCD temp change (#28155)
Fixes #28154
2025-11-02 21:48:24 -06:00
narno2202 0c4beea9be 🩹 Fix FT_MOTION + DISTINCT_E_FACTORS (#28106)
Fixes #28105
2025-11-02 21:16:44 -06:00
thinkyhead 79bd65be35 [cron] Bump distribution date (2025-11-03) 2025-11-03 00:34:02 +00:00
Scott Lahteine 150425e480 🔨 Update MarlinSimUI commit ID 2025-11-02 16:25:42 -06:00
Scott Lahteine 61cc3cdf09 🩹 Followup fix SD Quicksort, FT Motion, Simulator 2025-11-02 15:53:08 -06:00
David Buezas 252085f462 🐛 Fix some FT Motion probing issues (#28096)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-11-02 01:19:03 -06:00
David Buezas 1ead60ec46 ️ FT Motion trajectories, smoothing, optimization (#28115)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: narno2202 <130909513+narno2202@users.noreply.github.com>
2025-11-01 23:50:48 -05:00
Scott Lahteine 5a0923ed28 🔧 Unified Linear Advance K
Part of #21827
2025-11-01 19:38:06 -05:00
Scott Lahteine 40beddeaa3 🚸 Simplified M493
Part of #21827
2025-11-01 19:38:06 -05:00
Scott Lahteine 05a64e2013 🚸 Fix 'M493 G', collisions 'E' 'O' (and 'M'), 'W' report
Part of #21827
2025-11-01 19:38:06 -05:00
thinkyhead 3fc45df62f [cron] Bump distribution date (2025-11-02) 2025-11-02 00:34:34 +00:00
Scott Lahteine 9c3d74f6d1 🩹 ProUI: Edit K for active E (2) 2025-11-01 18:57:12 -05:00
Scott Lahteine bdfb0cc63f 🩹 ProUI: Edit K for active E 2025-11-01 16:25:17 -05:00
Scott Lahteine 8bf127afe6 🎨 Aesthetic tweaks 2025-11-01 16:21:52 -05:00
Scott Lahteine 33ad711ee8 Update some CI tests 2025-10-31 20:20:05 -05:00
Scott Lahteine 20e99497dd 🎨 AxisEnum style 2025-10-31 20:20:05 -05:00
Scott Lahteine baa20d9ea2 🎨 Misc. HAL types, planner sq, etc. 2025-10-31 20:20:05 -05:00
Scott Lahteine 367bcedea7 🧑‍💻 Reuse FTM smoothing edit item macro 2025-10-31 20:20:05 -05:00
Scott Lahteine 5d59779a80 🧑‍💻 Combine G60-G61 (#28149) 2025-10-31 20:17:18 -05:00
thinkyhead 1c19cfcbc7 [cron] Bump distribution date (2025-11-01) 2025-11-01 00:34:02 +00:00
ellensp 14a83342e1 🔨 Add LIB_MAX31855 ini link (#28146) 2025-10-31 18:08:50 -05:00
Scott Lahteine f11f42a23e 🐛 Fix MMU3 resume position (#28148) 2025-10-31 18:02:05 -05:00
thinkyhead 4bfbe70d66 [cron] Bump distribution date (2025-10-30) 2025-10-30 00:32:29 +00:00
Skruppy 93394f1ff5 Use TMC SoftwareSerial only if required (#28145) 2025-10-28 21:01:17 -05:00
Scott Lahteine fa4b73ee04 📝 Document Marlin config includes 2025-10-28 19:45:50 -05:00
thinkyhead 5249d10369 [cron] Bump distribution date (2025-10-29) 2025-10-29 00:32:37 +00:00
Scott Lahteine 89a43a8b1a 🧑‍💻 Same types conversion suite 2025-10-27 21:59:23 -05:00
Scott Lahteine db279967da 🧑‍💻 Simpler type conversion (defer!) 2025-10-27 20:57:50 -05:00
thinkyhead 41c860dce1 [cron] Bump distribution date (2025-10-28) 2025-10-28 00:30:25 +00:00
Scott Lahteine bfb5430217 🔨 Comments for newer compilers 2025-10-27 17:27:56 -05:00
Scott Lahteine e1e13ad72c 🎨 The Ultraviolet Apostrophe 2025-10-27 17:27:56 -05:00
Scott Lahteine c941ce1a5b 🧑‍💻 Simpler type conversion 2025-10-27 17:27:56 -05:00
Scott Lahteine 7c760bd232 🧑‍💻 Misc. MMU3 tweaks, less STL 2025-10-27 17:27:56 -05:00
Scott Lahteine 42dc89ad32 🔨 Use 'which' in Makefile
Fixes #28141
2025-10-27 11:40:00 -05:00
Scott Lahteine 3a9394c308 🧑‍💻 Sync blocks 'const' hint 2025-10-27 11:13:40 -05:00
Scott Lahteine 97b5c2d3ea 🧑‍💻 Fix, extend 'types.h' operators 2025-10-27 11:12:44 -05:00
Scott Lahteine f635a9d0c3 🎨 Negation without repetition 2025-10-26 23:37:39 -05:00
thinkyhead d7550018e3 [cron] Bump distribution date (2025-10-27) 2025-10-27 00:43:00 +00:00
Scott Lahteine 6918959c07 📝 Comment for 'M900 U' 2025-10-26 16:07:17 -05:00
Scott Lahteine 908d30d4ce 🎨 Some chmod ug-x 2025-10-26 01:36:21 -05:00
ellensp 49b11f9490 🔧 ZONESTAR ZM3E2 shared MS1|2 pins (#28126) 2025-10-25 22:00:33 -05:00
thinkyhead d09bf9d088 [cron] Bump distribution date (2025-10-26) 2025-10-26 00:33:31 +00:00
Scott Lahteine 47727cf0ae 🩹 Fix TFT Color UI (#28140)
Followup to #28103
2025-10-25 15:56:55 -05:00
Scott Lahteine 51ce1a147d 🔧 FT Motion n00b warnings 2025-10-25 01:48:10 -05:00
Scott Lahteine 0f6f125724 🧑‍💻 Fix, improve test scripts [3] 2025-10-25 01:18:27 -05:00
Scott Lahteine 52a4954b8a 🐛 FT Motion respect linearAdvEna flag 2025-10-25 01:13:41 -05:00
Scott Lahteine 4cab99e1d1 🧑‍💻 Fix, improve test scripts (2) 2025-10-24 22:43:24 -05:00
thinkyhead 2c57b184da [cron] Bump distribution date (2025-10-25) 2025-10-25 00:30:02 +00:00
Andrew 14b5d5ba84 🧑‍💻 Fix, improve test scripts (#28136)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-10-24 19:05:59 -05:00
ellensp 5bd28cd840 🩹 Fix ZONESTAR_12864OLED build (et.al.) (#28137) 2025-10-24 12:04:16 -05:00
thinkyhead fbc2c76870 [cron] Bump distribution date (2025-10-24) 2025-10-24 00:28:38 +00:00
Scott Lahteine 4349f4ab0c 🧑‍💻 Add 'make clean' 2025-10-23 17:44:23 -05:00
Harald Wagener 9eea88bbfc Update README.md (#28135)
* Update README.md

- Add some details about configuration branches
- Link to the download page
- Reword sections on 8 bit boards
- Add a short section on 32 bit boards
- Update Paragraph on HALs

* Update README.md

fix typo

Co-authored-by: David Buezas <dbuezas@users.noreply.github.com>

* code formatting with prettier, remove https URI to be consistent with other links

* expand on HALs

---------

Co-authored-by: David Buezas <dbuezas@users.noreply.github.com>
2025-10-23 13:56:03 -05:00
Scott Lahteine 3a77a7eefd 🐛 Fix SDSORT_QUICK with stack
Followup to #28069
2025-10-23 00:04:25 -05:00
thinkyhead 788e86ccc6 [cron] Bump distribution date (2025-10-23) 2025-10-23 00:30:51 +00:00
Scott Lahteine 27da1995f3 🚸 FT Motion toggle() more safely 2025-10-22 15:06:28 -05:00
Scott Lahteine e3a5319e3c 🎨 Misc. cleanup, probe FR 2025-10-22 15:04:42 -05:00
Scott Lahteine e4bc675fbf 🚸 Exit M122 S/P without report 2025-10-22 15:04:28 -05:00
Scott Lahteine 898dd19175 🔧 Update config.ini 2025-10-22 14:08:08 -05:00
thinkyhead 1b307f7c99 [cron] Bump distribution date (2025-10-22) 2025-10-22 06:34:59 +00:00
ellensp d5977e7e2d 🔧 Separate Teensy 4.0 / 4.1 (#28122)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-10-22 00:41:38 -05:00
thinkyhead 7aaaaec355 [cron] Bump distribution date (2025-10-21) 2025-10-21 00:32:13 +00:00
Scott Lahteine 8acd39c494 ️ Prefer multiply over divide 2025-10-20 19:13:17 -05:00
narno2202 cfac549240 🚸 Fix MKS H43 float display (#28121) 2025-10-20 12:54:13 -05:00
Scott Lahteine 0279f9cf09 🧑‍💻 Use Marlin maths macros 2025-10-20 11:56:16 -05:00
Scott Lahteine 37b5b49cce 📝 Remove old reference 2025-10-20 02:25:57 -05:00
thinkyhead 1a5550f643 [cron] Bump distribution date (2025-10-20) 2025-10-20 00:33:32 +00:00
Scott Lahteine a3929b435b Moved BIQU/BX config 2025-10-19 19:01:04 -05:00
thinkyhead 7e6e25929b [cron] Bump distribution date (2025-10-19) 2025-10-19 00:34:38 +00:00
Scott Lahteine f2b2389b8f 🔨 Rename to change case (2) 2025-10-18 18:30:43 -05:00
Scott Lahteine 9012b9a993 🔨 Rename to change case (1) 2025-10-18 18:30:39 -05:00
vicitacal fde861ab8c 🚸 Fix MKS UI Decrease Feed Rate (#28109) 2025-10-18 18:20:23 -05:00
ellensp 9f0fa5a040 M265 I2C_SCANNER (#28117) 2025-10-18 18:18:02 -05:00
Scott Lahteine fb95e66652 📝 (s) for FTM_MAX_SMOOTHING_TIME 2025-10-18 17:51:04 -05:00
narno2202 c44b9c1c28 🐛 Fix PLR with FT_MOTION (#28116)
Fixes #28102
2025-10-18 17:21:19 -05:00
ellensp 3753cb9a94 🧑‍💻 Fill in debuggable pins (#28119) 2025-10-18 17:17:11 -05:00
thinkyhead 81d8663f1f [cron] Bump distribution date (2025-10-18) 2025-10-18 00:28:29 +00:00
Andrew 2860d048e6 🧑‍💻 Fix linux_native_test (#28113) 2025-10-16 20:10:45 -05:00
thinkyhead cc20b30775 [cron] Bump distribution date (2025-10-17) 2025-10-17 00:30:50 +00:00
Andrew 21f0333b43 SDSORT_QUICK (#28069) 2025-10-16 17:30:22 -05:00
Scott Lahteine 70d910ac8e 🚸 Fix Color UI menu item extra touch 2025-10-16 15:43:23 -05:00
Scott Lahteine 23e7905b20 ️ Optimize Graphical TFT (#28103) 2025-10-16 13:42:39 -05:00
thinkyhead 5e1a1fffcf [cron] Bump distribution date (2025-10-09) 2025-10-09 00:29:59 +00:00
Scott Lahteine e48dd40b53 🧑‍💻 Misc. LCD pins corrections 2025-10-07 21:53:05 -05:00
David Buezas 4ddf626d46 🐛 FT Motion trajectory fixes (#28101) 2025-10-07 19:50:16 -05:00
thinkyhead 991fc9cf63 [cron] Bump distribution date (2025-10-08) 2025-10-08 00:29:44 +00:00
ellensp ef3e9134dc 🔨 More compatible Makefile (#28094) 2025-10-07 02:30:06 -05:00
Scott Lahteine 35da223f0a 🧑‍💻 Py scripts refinements 2025-10-07 02:26:49 -05:00
Scott Lahteine 0937fe55a4 🎨 Fix echoes, dialect, etc. 2025-10-07 00:51:46 -05:00
Scott Lahteine de98df1651 🎨 Apply sq, cu, const 2025-10-06 23:28:38 -05:00
thinkyhead d7156decdc [cron] Bump distribution date (2025-10-07) 2025-10-07 00:30:11 +00:00
ThomasToka e43c2752c7 🧑‍💻 Update Docker setup (#27998) 2025-10-06 14:36:36 -05:00
thinkyhead bdf8b0703a [cron] Bump distribution date (2025-10-05) 2025-10-05 00:33:18 +00:00
Sylvain a506701a8b WANHAO_D9 (need EXP) (#28073) 2025-10-04 14:23:40 -05:00
Scott Lahteine b60838508b 🧑‍💻 Simplify some flag params 2025-10-03 23:17:51 -05:00
thinkyhead 0f76f17f16 [cron] Bump distribution date (2025-10-04) 2025-10-04 00:28:11 +00:00
Scott Lahteine c00415b017 🧑‍💻 Simpler M260 R S 2025-10-03 18:49:40 -05:00
Scott Lahteine 3b149c3505 Skip zero length homing_move (#28090)
Fixes #23227

Co-authored-by: Alexey Melnikov <917089+sorgelig@users.noreply.github.com>
2025-10-03 14:16:07 -05:00
Scott Lahteine d20d1f8712 🔨 Extend misplaced config check (#28093) 2025-10-03 11:41:55 -05:00
Scott Lahteine c626e3efb2 🩹 BLTouch raise before deploy
Fixes #28092
2025-10-03 09:57:53 -05:00
thinkyhead 1cea29598c [cron] Bump distribution date (2025-10-03) 2025-10-03 00:29:01 +00:00
Scott Lahteine cb0706f9cc 🔨 Fix misplaced config files check
Fixes #28091
2025-10-02 13:44:37 -05:00
Scott Lahteine dadbedc4fd 📝 Prettier FINDA protocol 2025-10-02 01:15:12 -05:00
Scott Lahteine 3165beeba0 🩹 Mitigate watchdog timeout for file ops
See #28064, #28069
2025-10-02 00:53:25 -05:00
narno2202 1c9b1240ec 🔧 Option to use FT_MOTION for homing / probing (#28030)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-10-01 23:51:11 -05:00
Scott Lahteine 122dfa13a2 🧑‍💻 Compatible sorted 'find' 2025-10-01 21:29:34 -05:00
thinkyhead b32a818f37 [cron] Bump distribution date (2025-10-02) 2025-10-02 00:29:06 +00:00
Scott Lahteine d8b83160ab 🔧 Configurator options TFT_FONT / TFT_THEME 2025-10-01 18:54:40 -05:00
ellensp 98d79fb8bb 🐛 Fix 'T' tool index handling (#28086) 2025-10-01 18:21:14 -05:00
David Buezas eaefa299fb ️ FTMotion Trajectory: Fix for short blocks (silent curves), add S-curve (#28082) 2025-10-01 17:27:47 -05:00
ellensp ba840750a0 🔨 Fix font data script #include handling (#28085) 2025-10-01 17:26:11 -05:00
Andrew cdc960fd1d 🔨 Remove (BSD) -d flag from 'find' (#28013) 2025-10-01 15:47:10 -05:00
Scott Lahteine c0a544d385 🚸 Filament Sensor, M412 changes 2025-10-01 14:46:44 -05:00
thinkyhead 84b22fcc1d [cron] Bump distribution date (2025-09-30) 2025-09-30 00:30:12 +00:00
Scott Lahteine c6cd10a92d 🧑‍💻 Shaped axis macros, etc. (#28084) 2025-09-29 15:24:58 -05:00
thinkyhead d08a7d4fd2 [cron] Bump distribution date (2025-09-29) 2025-09-29 00:31:25 +00:00
David Buezas 0ee1c1e4e1 🐛🚸 Fix stale LA block flag, FT Motion reporting (#28078) 2025-09-28 18:14:14 -05:00
David Buezas dc9e57464f FTMotion Z shaping, axis sync, axis smoothing (#28055) 2025-09-27 19:42:33 -05:00
thinkyhead 657929740f [cron] Bump distribution date (2025-09-28) 2025-09-28 00:34:33 +00:00
Bob Kuhn 6e74409c14 🐛 Fix STM32 I2C 2-wire LCD, Soft I2C impl. (#26433) 2025-09-27 02:25:03 -05:00
thinkyhead 5af8425776 [cron] Bump distribution date (2025-09-27) 2025-09-27 00:29:05 +00:00
ThomasToka 0ca860b292 🧑‍💻 Resolve unused ftm_active warning (#28076) 2025-09-26 16:16:39 -05:00
ellensp 4dd5b713eb 🚸 M402 Report (BLTouch HS Mode) (#28072) 2025-09-26 04:03:53 -05:00
12oclocker 0628573fc3 🩹 Prevent RAMPS default X_MAX_PIN messing up AnyCubic i3 Mega (#28038) 2025-09-26 03:21:43 -05:00
Scott Lahteine 52cc705e60 🧑‍💻 Use basic PGM string with "S_FMT" 2025-09-26 02:40:28 -05:00
Scott Lahteine 2f987accaa 🧑‍💻 Pass Z to UBL::shift_mesh_height
Co-Authored-By: Selali <17497673+selalipop@users.noreply.github.com>
2025-09-25 23:52:57 -05:00
Scott Lahteine 66aa848b2f 🐛 Trigger instant runout on filament jam (#28074) 2025-09-25 23:39:52 -05:00
Scott Lahteine 6f3de26a4d 🧑‍💻 Prefer float over float& (#25716) 2025-09-25 23:32:32 -05:00
Scott Lahteine b723e3fd02 🩹 Resume motion tracking on runout.reset()
Fix an issue where the filament motion sensor is ignored after a runout is resolved.
2025-09-25 22:18:15 -05:00
thinkyhead 7e4c6db12d [cron] Bump distribution date (2025-09-26) 2025-09-26 00:29:25 +00:00
narno2202 e228a222a3 🩹 Fix LA block flag for FTMotion (2) (#28070) 2025-09-25 15:47:31 -05:00
thinkyhead fdac56da15 [cron] Bump distribution date (2025-09-25) 2025-09-25 12:12:25 +00:00
BeowulfNode42 7e62b60c94 🔧 Allow CHITU3D V6 override of Z_STOP_PIN (#28059) 2025-09-25 03:09:21 -05:00
Andrew b6b0fccd5f 🚸 ProUI updates for Linear Advance (#28067) 2025-09-25 02:27:46 -05:00
thinkyhead f2f6b6bd85 [cron] Bump distribution date (2025-09-23) 2025-09-23 18:09:48 +00:00
David Buezas 6ff18a942c 🩹 Fix LA block flag for FTMotion (#28065) 2025-09-23 13:02:44 -05:00
thinkyhead 25a2a89517 [cron] Bump distribution date (2025-09-22) 2025-09-22 00:33:02 +00:00
David Buezas 5917aa73b5 ️ Fix K, improve FTMotion linear advance (#28058) 2025-09-21 17:21:53 -05:00
thinkyhead d0dc3b619f [cron] Bump distribution date (2025-09-15) 2025-09-15 00:32:42 +00:00
ThomasToka d628d7de44 🔨 Improve build output (#28051)
- Respect bootloader offset for `maximum_flash_size` output
- Match the .elf name to the firmware name.
2025-09-14 18:58:00 -05:00
ellensp 8fe6bc6745 LIGHTWEIGHT_UI for Native/Simulator (#28049) 2025-09-14 18:31:14 -05:00
Andrew dcbcbb54f9 🧑‍💻 Update datetime on same config rebuild (#28020) 2025-09-14 16:15:38 -05:00
ellensp 41f9eec4df 🩹 Retain TMC_DEBUG wrappers (#28052) 2025-09-14 14:47:14 -05:00
ellensp 33e942514b 📌 U8glib-HAL v0.5.5 (#28044) 2025-09-14 14:22:45 -05:00
thinkyhead 2aa9f70f5e [cron] Bump distribution date (2025-09-14) 2025-09-14 06:09:43 +00:00
Scott Lahteine 8aac26275e 🎨 Clean up FTM, etc. 2025-09-13 23:05:41 -05:00
thinkyhead 294903439a [cron] Bump distribution date (2025-09-11) 2025-09-11 00:29:48 +00:00
David Buezas daa68d560e 🐛 Fix FT Motion step rate instability (#28043) 2025-09-10 18:24:32 -05:00
thinkyhead 4ce809380b [cron] Bump distribution date (2025-09-09) 2025-09-09 00:30:19 +00:00
Scott Lahteine a614352fcf 🧑‍💻 Some FT Motion renames
To reduce changes in #28043
2025-09-07 22:42:06 -05:00
narno2202 a54daeeb39 ️ Optimize FT Motion load block data (#27991) 2025-09-07 20:38:37 -05:00
thinkyhead fc4abd1335 [cron] Bump distribution date (2025-09-08) 2025-09-08 00:32:06 +00:00
Scott Lahteine 881ee69f34 SENSORLESS_STALLGUARD_DELAY 2025-09-06 21:50:35 -05:00
thinkyhead 5a8b9d649a [cron] Bump distribution date (2025-09-07) 2025-09-07 00:32:58 +00:00
ellensp e80d8e9dcf 🐛 Fix UART pins for GD32 MFL (#28011) 2025-09-06 13:22:45 -05:00
thinkyhead 950d141958 [cron] Bump distribution date (2025-09-06) 2025-09-06 06:08:36 +00:00
Thijs Triemstra 52ea53a3dd 🎨 Spelling corrections (#28026) 2025-09-05 22:14:09 -05:00
Andrew 7526309ccf 🧑‍💻 Tweaks to our aging Arduino SdFat Library code (#28031)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-09-05 22:00:28 -05:00
ellensp 4342a0f512 🩹 Fix RAMPS MINIPANEL BEEPER_PIN (#28033) 2025-09-05 21:13:16 -05:00
Scott Lahteine 4bca73dc5a Validate source formatting (#28028) 2025-09-05 20:30:39 -05:00
ellensp 67dc3e432f 🔧 Fix bad Config.h sanity-check (#28027) 2025-09-05 20:27:16 -05:00
thinkyhead 349c3a7243 [cron] Bump distribution date (2025-08-26) 2025-08-26 18:09:58 +00:00
Vovodroid 1bee2dab60 🩹 Fix PLR Z move precision (#27965) 2025-08-26 12:33:28 -05:00
Keith Bennett 1e51ff1306 🔧 Creality UI string heading & title options (#27944) 2025-08-26 12:28:49 -05:00
ellensp aa0558eb3a Creality v252 board (2) (#28016)
Followup to #27996
2025-08-26 12:17:27 -05:00
thinkyhead 0878147f31 [cron] Bump distribution date (2025-08-18) 2025-08-18 00:35:57 +00:00
Andrew 7086ca632f 🧑‍💻 Omit unused ADC pins (#28007)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-08-16 20:41:37 -05:00
thinkyhead 93783e993b [cron] Bump distribution date (2025-08-17) 2025-08-17 00:36:32 +00:00
ellensp ab69f87989 Creality v252 board (#27996) 2025-08-16 18:26:59 -05:00
narno2202 b0c0074092 🔧 Support EXTRUDERS 0 with FT_MOTION (#27984) 2025-08-16 18:21:27 -05:00
Scott Lahteine 2110215a16 🧑‍💻 Add *_AXIS_PAIRED_LIST macros 2025-08-16 17:24:20 -05:00
ellensp 50d847a2fe 🔧 Support more CONTROLLER_FAN pins (2) (#28012)
Followup to #27961
2025-08-16 16:19:19 -05:00
thinkyhead 61c57825d7 [cron] Bump distribution date (2025-08-14) 2025-08-14 12:13:12 +00:00
Hannes f81ca65a16 🐛 Provide 'M20 F' (list binary files) as needed (#27977)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-08-14 02:23:01 -05:00
thinkyhead a020a09903 [cron] Bump distribution date (2025-08-13) 2025-08-13 18:34:14 +00:00
Marcio T. 6361146f0f 🩹 Fix FILAMENT_MOTION_SENSOR + MarlinUI build (#27994) 2025-08-13 12:37:23 -05:00
Andrew 4fb984e960 🔨 Clean up and improve some Python scripts (#27752) 2025-08-13 12:33:09 -05:00
ellensp 081458a3c8 🔧 Support more CONTROLLER_FAN pins (#27961) 2025-08-13 12:26:51 -05:00
ellensp 02fe1ff95e 🩹 Distinct types for LEDs 1/2 (#27959) 2025-08-13 12:04:16 -05:00
thinkyhead beb3a0fc4b [cron] Bump distribution date (2025-08-09) 2025-08-09 00:32:28 +00:00
ellensp 71834e204b 🔧 Sanity check PID_MAX, MAX_BED_POWER (#27979) 2025-08-08 14:08:48 -05:00
ellensp 9417af14e9 🩹 Fix G29_RETRY_AND_RECOVER + ExtUI (#27973) 2025-08-08 13:58:23 -05:00
ellensp 84448a78be 🩹 Fix Origin UI second extruder (#27974) 2025-08-08 13:50:00 -05:00
ellensp 1244a21a21 🔧 Extend bad merge checking (#27990) 2025-08-08 13:38:52 -05:00
thinkyhead eff0de499f [cron] Bump distribution date (2025-07-30) 2025-07-30 00:35:08 +00:00
Scott Lahteine de1b97a0ce Small checkout for each test 2025-07-29 13:13:15 -05:00
thinkyhead 624f429086 [cron] Bump distribution date (2025-07-29) 2025-07-29 06:11:28 +00:00
Vovodroid 0303a1bfb0 🔧 Configurable filament runout motion sensor distance (#27836) 2025-07-28 23:26:42 -05:00
Scott Lahteine 573c21e690 🩹 Fix EEPROM size sign warning 2025-07-28 23:23:13 -05:00
Scott Lahteine 80b8e66189 🎨 Tweak an LCD note 2025-07-28 22:46:34 -05:00
thinkyhead 8ec9c37940 [cron] Bump distribution date (2025-07-23) 2025-07-23 00:34:52 +00:00
Darsey Litzenberger 2e8833e315 🩹 Allow Nozzle Wipe odd linear count (2) (#27987) 2025-07-22 17:44:36 -05:00
thinkyhead c403381172 [cron] Bump distribution date (2025-07-19) 2025-07-19 06:09:45 +00:00
Darsey Litzenberger 02e5225e10 🩹 Allow Nozzle Wipe odd linear count (#27952) 2025-07-19 00:48:08 -05:00
Keith Bennett 28839c60da ✏️ Fix Creality UI PLR typo (#27943) 2025-07-18 23:07:46 -05:00
RainMotorsports e7ac0d14cd 🩹 Prevent BED_TRAMMING_Z_HOP too far (#27939) 2025-07-18 22:42:26 -05:00
thinkyhead 9a23bcec0b [cron] Bump distribution date (2025-07-18) 2025-07-18 00:33:57 +00:00
Scott Lahteine 6b9ec417b6 🩹 Fix various typos 2025-07-17 15:18:07 -05:00
thinkyhead 66474f6a13 [cron] Bump distribution date (2025-07-12) 2025-07-12 06:09:26 +00:00
Scott Lahteine 4f0329bb43 📝 Update links to Fysetc Mini12864_Panel 2025-07-11 21:05:37 -05:00
thinkyhead dc6f23e435 [cron] Bump distribution date (2025-06-29) 2025-06-29 00:37:16 +00:00
Scott Lahteine c7fc6eeb1e 🚸 Match M920 indexing to M919 2025-06-28 16:37:08 -05:00
thinkyhead 72c0437b48 [cron] Bump distribution date (2025-06-25) 2025-06-25 00:32:59 +00:00
Scott Lahteine a6377e5215 🐛 Fix misc. build issues 2025-06-24 16:59:56 -05:00
thinkyhead 0459407a8e [cron] Bump distribution date (2025-06-23) 2025-06-23 00:35:18 +00:00
ellensp 685ccf3fdf 🔧 Fix TEMP_SENSOR_BED_USES_SW_SPI (#27938)
Followup to #26441
2025-06-22 12:40:29 -05:00
thinkyhead de219dcd63 [cron] Bump distribution date (2025-06-22) 2025-06-22 12:38:05 -05:00
ellensp cdc996dd68 🔧 Fix SPI_FLASH_BACKUP flag (#27934)
Followup to #27373
2025-06-22 12:38:05 -05:00
Vovodroid fe6eb1745f 🐛 Fix NONLINEAR_EXTRUSION enabled check (#27926)
Followup to #27819
2025-06-21 16:36:22 -05:00
erril007 533d752707 EVENT_GCODE_(BEFORE|AFTER)_G34 (#27930) 2025-06-20 20:50:13 -05:00
thinkyhead 037b0096e2 [cron] Bump distribution date (2025-06-21) 2025-06-21 00:32:24 +00:00
ellensp eefd63e408 🐛 Fix Hotend > 0 Preheat (#27932) 2025-06-20 16:18:40 -05:00
Scott Lahteine 5e410e35ab 🩹 Minor fixes, updates, comments 2025-06-20 16:05:06 -05:00
thinkyhead 62bb61b3d9 [cron] Bump distribution date (2025-06-17) 2025-06-17 00:32:42 +00:00
Andrew a7f12169b9 📝 Review & update G-code comments (#27921) 2025-06-16 14:23:17 -05:00
thinkyhead 29ceba972c [cron] Bump distribution date (2025-06-15) 2025-06-15 00:36:55 +00:00
Keith Bennett 7965e066c7 🧑‍💻 Some TMC2240 updates (2) (#27919)
Followup to #27901
2025-06-14 16:22:29 -05:00
ellensp f499735280 🩹 Fix Ender-3 S1 pin EXP3-4 (#27915) 2025-06-13 22:27:05 -05:00
Scott Lahteine 1e03f696f5 🧑‍💻 Some TMC2240 updates (#27901) 2025-06-13 22:13:09 -05:00
thinkyhead 7ac308fe4d [cron] Bump distribution date (2025-06-14) 2025-06-14 00:31:29 +00:00
Scott Lahteine 54a7ce999f 🎨 Update MPC sanity checka
Followup to #27911
2025-06-13 19:28:45 -05:00
tombrazier 89416a583c MPC_PTC (#27911) 2025-06-13 19:10:03 -05:00
Scott Lahteine 9ad9323aac 🎨 Minor ternary style tweak 2025-06-13 18:10:34 -05:00
thinkyhead cf7f5bcdee [cron] Bump distribution date (2025-06-11) 2025-06-11 00:32:31 +00:00
Andrew 950f492ce7 🩹 Fix ProUI edit Lin.Adv.K (#27895) 2025-06-10 15:34:54 -05:00
narno2202 1bb1603886 🎨 FT Motion cleanup (#27910) 2025-06-10 15:31:02 -05:00
Scott Lahteine 68dc89cf75 🎨 Align Bed PID 2025-06-10 15:29:22 -05:00
thinkyhead c2d586cf5f [cron] Bump distribution date (2025-06-10) 2025-06-10 00:32:33 +00:00
Scott Lahteine fbce327402 🧑‍💻 TMCStepper => 0.8.7 2025-06-09 13:55:42 -05:00
staff1010 c09638f821 🚸 Improve XPT2046 touch, MKS UI calibration (#27892) 2025-06-09 13:37:38 -05:00
Scott Lahteine 348099dabb 🎨 MKS UI name adjustments 2025-06-09 13:35:34 -05:00
David Buezas fbee2a2ff7 ️ SMOOTH_LIN_ADVANCE + S_CURVE_ACCELERATION (#27827) 2025-06-09 13:26:57 -05:00
thinkyhead 781d9c470e [cron] Bump distribution date (2025-06-09) 2025-06-09 06:10:43 +00:00
RainMotorsports 5a5354107b E3D BigBox Rumba board (#27897) 2025-06-08 22:18:35 -05:00
thinkyhead 127bc94891 [cron] Bump distribution date (2025-06-05) 2025-06-05 00:32:27 +00:00
Andrew fca60335e1 🩹 Fix Nonlinear Extrusion build (#27906)
Fixes #27902
2025-06-03 19:54:22 -05:00
thinkyhead 27621290b8 [cron] Bump distribution date (2025-06-04) 2025-06-04 00:33:43 +00:00
Scott Lahteine 951b8be3a1 🩹 Update Creality CR4NS
Followup to #27003
2025-06-03 18:48:33 -05:00
thinkyhead f1bb46f5b8 [cron] Bump distribution date (2025-06-03) 2025-06-03 00:32:58 +00:00
David Buezas 3bb9364c44 🧑‍💻 Add TMC2240 temperature reading (#27903) 2025-06-02 18:59:01 -05:00
Scott Lahteine 7df503de93 🩹 Fix FLY D5 / D7 serial for TMC2208
See MarlinFirmware/TMCStepper#5
2025-06-02 18:23:17 -05:00
David Buezas 098e0961dc 🩹 TMC2240 diag0 push-pull active HIGH (#27907) 2025-06-02 17:34:02 -05:00
Scott Lahteine 6ea4a16212 🌐 Automated README translations 2025-06-02 16:51:07 -05:00
Scott Lahteine 9f6cafbae3 🩹 Fix Nozzle Cleaning wait for pre-set temp
Fixes #27882
2025-06-01 20:47:55 -05:00
thinkyhead 8c6e9526b0 [cron] Bump distribution date (2025-06-02) 2025-06-02 00:34:11 +00:00
Scott Lahteine cc05123a80 🩹 Fix EXP3_03_PIN for CREALITY_V24S1_301F4
Fixes #27904

Co-Authored-By: Nexrem <kristiana2000@abv.bg>
2025-06-01 16:31:04 -05:00
thinkyhead 823014868c [cron] Bump distribution date (2025-06-01) 2025-06-01 01:15:51 +00:00
Scott Lahteine 7c30124f80 📌 Versions for adafruit "SdFat", "Adafruit SPIFlash" 2025-05-31 18:17:43 -05:00
Scott Lahteine 3ddf728333 🩹 Fix some missed ONBOARD_SDIO 2025-05-31 16:54:57 -05:00
Scott Lahteine 9dbce712fc 🧑‍💻 TMCStepper => 0.8.5 2025-05-31 16:14:04 -05:00
Scott Lahteine b59251c388 🧑‍💻 Macros for larger sets 2025-05-31 16:06:20 -05:00
Scott Lahteine c377237fd8 🧑‍💻 Tweak G90 / G91 declaration 2025-05-31 16:06:19 -05:00
thinkyhead a2452a577b [cron] Bump distribution date (2025-05-31) 2025-05-31 06:08:46 +00:00
Vovodroid a6bfdf351f NONLINEAR_EXTRUSION_DEFAULT_ON (#27819)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-30 22:53:21 -05:00
thinkyhead e8f2430dac [cron] Bump distribution date (2025-05-30) 2025-05-30 00:32:05 +00:00
Scott Lahteine 8f19e2d7d4 🧑‍💻 TMCStepper => 0.8.4 2025-05-29 13:24:40 -05:00
thinkyhead a270cc36e6 [cron] Bump distribution date (2025-05-29) 2025-05-29 00:31:57 +00:00
Scott Lahteine fa25737a9f 🧑‍💻 TMCStepper => 0.8.3 2025-05-28 14:08:07 -05:00
thinkyhead 38eee76839 [cron] Bump distribution date (2025-05-28) 2025-05-28 00:32:03 +00:00
Giuliano 5b59424447 🌐 Fix Italian typo, etc. (#27890)
Followup to #27877

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-27 15:15:55 -05:00
staff1010 c20c6b61f1 🚸 Improve MKS UI with LVGL v6.1.2 (#27889) 2025-05-27 14:49:19 -05:00
David Buezas d0e8edad3c 🐛 More robust Smooth Linear Advance (#27862)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-27 13:15:38 -05:00
ellensp 88d368ad9d 🩹 Misc temp sensor fixups (#27884)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-27 13:01:01 -05:00
Keith Bennett 843f79589c 🔧 Update BTT002 SPI driver conditionals (#27887)
Counterpart to #27886
2025-05-27 12:58:49 -05:00
Andrew 3494482cb0 🎨 Misc. cleanup, tweak unused LED_GraduallyControl (#27422)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-27 01:05:01 -05:00
Scott Lahteine 09e336f78c Merge branch 'bugfix-2.1.x' into pr/26944 2025-05-27 00:09:04 -05:00
vehystrix 3572fd75b5 🐛 Fix M201 with XY_FREQUENCY_LIMIT (#27859)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-26 23:46:46 -05:00
Keith Bennett ebecd76492 🔧 Update BIQU BX SPI driver conditionals (#27886) 2025-05-26 22:51:41 -05:00
thinkyhead 3f3c8257f7 [cron] Bump distribution date (2025-05-27) 2025-05-27 00:35:13 +00:00
Vovodroid e9ae5208cb EVENT_GCODE_AFTER_MPC_TUNE (#27865)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-26 19:16:45 -05:00
narno2202 fde0eaf1e7 ️ Remove FT Motion extraneous code (#27881) 2025-05-26 17:36:14 -05:00
Andrew 122c4116f2 🚸 Misc. optimizations, cleanup, DWIN fixes… (#27858)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-26 16:36:55 -05:00
Scott Lahteine 21559b0c59 🩹 Call SERIAL_IMPL.msgDone() after M105 2025-05-26 16:34:17 -05:00
Scott Lahteine 0916d32589 🧑‍💻 Serial ON_OFF, TRUE_FALSE 2025-05-26 15:33:26 -05:00
thinkyhead af7b126edc [cron] Bump distribution date (2025-05-26) 2025-05-26 18:09:01 +00:00
Giuliano bc990ccca6 🌐 Update Italian language (#27877) 2025-05-26 11:43:47 -05:00
Scott Lahteine c7bcbf944e 🌐 Specific USB-FD strings 2025-05-26 11:32:00 -05:00
ellensp 7f9eb688ad 🐛 TMC2240: The Sequel (#27880)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-26 10:50:22 -05:00
thinkyhead dbd60fb38e [cron] Bump distribution date (2025-05-25) 2025-05-25 00:35:29 +00:00
B 6a871b2879 🧑‍💻 Get E axis in FTMotion::loadBlockData (#27870)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-24 19:21:06 -05:00
Scott Lahteine bd9d7a3c4d 🩹 Fix MKS UI E Max Feedrate items 2025-05-24 17:17:49 -05:00
Scott Lahteine 2976bb48ed 🔨 Better FT Motion menu string code 2025-05-24 16:57:03 -05:00
ellensp 4f93f31af0 🔨 Fix Windows/ReARM upload (#27872) 2025-05-24 16:53:52 -05:00
ellensp d76c8c1fbd 🩹 Fix ProUI Linear Advance menu (#27878)
Followup to #27818
2025-05-24 16:49:44 -05:00
Keith Bennett 86c564121e 🩹 Fix Bluesky badge (#27879) 2025-05-24 15:38:51 -05:00
Scott Lahteine db137df6df 🔨 TMC2240 Makefile update 2025-05-24 03:14:28 -05:00
Scott Lahteine 202ec4b58f Trinamic TMC2240 (SPI) (#25974)
Co-Authored-By: David Buezas <david.buezas@gmail.com>
Co-Authored-By: z1996xm <102506464+z1996xm@users.noreply.github.com>
2025-05-23 21:11:50 -05:00
thinkyhead 1258657b8d [cron] Bump distribution date (2025-05-24) 2025-05-24 00:30:50 +00:00
Scott Lahteine f49e730b23 🔧 Allow TMCStepper with Zonestar ZM3 E2xx 2025-05-23 01:28:20 -05:00
thinkyhead aa02bb05d3 [cron] Bump distribution date (2025-05-23) 2025-05-23 00:32:07 +00:00
Scott Lahteine e7662920a6 🩹 Fix delay µs > 32767
Fixes #27753
2025-05-22 13:41:59 -05:00
thinkyhead 9c9ed690f7 [cron] Bump distribution date (2025-05-21) 2025-05-21 00:32:16 +00:00
Scott Lahteine a4382b4dcd 🧑‍💻 Fix max_isr_rate sign warnings 2025-05-20 16:24:20 -05:00
Vovodroid d5723fcafd 🔧 Allow SMOOTH_LIN_ADVANCE + NONLINEAR_EXTRUSION (#27861) 2025-05-20 14:52:51 -05:00
Scott Lahteine af553d5fbd 🔨 Solve a linker error
Fixes #27864
2025-05-19 20:08:56 -05:00
thinkyhead 3cd945ab5d [cron] Bump distribution date (2025-05-20) 2025-05-20 00:32:44 +00:00
Scott Lahteine ade6dbf01e 🔧 Fix Speed/Flow edit options (#27863)
Fixes #27849
2025-05-18 21:13:30 -05:00
Fly3DTeam 88a8e2127d 🔧 TMC Baud Rate for FLY D5/D7 (#27860) 2025-05-18 21:12:07 -05:00
thinkyhead fe747ae4bf [cron] Bump distribution date (2025-05-19) 2025-05-19 00:37:46 +00:00
Scott Lahteine bd4900d6cd Pre-fetch configs for CI tests 2025-05-18 18:56:32 -05:00
thinkyhead 8643fa0afb [cron] Bump distribution date (2025-05-16) 2025-05-16 00:32:02 +00:00
Scott Lahteine 487542083b 🧑‍💻 Update Sim, fix Mac native gcc 2025-05-15 15:54:17 -05:00
thinkyhead b79f7f203a [cron] Bump distribution date (2025-05-15) 2025-05-15 00:30:52 +00:00
Matheus Mösken Diegues 0927e49756 🌐 README in Portuguese (Brazil) (#27854) 2025-05-14 15:23:04 -05:00
Keith Bennett fbea4c6048 ✏️ Fix variant docs typo (#27850) 2025-05-14 15:18:53 -05:00
Scott Lahteine 4a0b3d1c9b 🧑‍💻 Consolidate MIN/MAX/STOP endstop pin assign (#27839) 2025-05-14 15:17:58 -05:00
ellensp 8e0f271f55 🔨 ESP3DLib update for compatibility (#27851) 2025-05-14 13:57:18 -05:00
Giuliano 8f13c1ecb2 🌐 Shorten Italian messages (#27855) 2025-05-14 13:55:45 -05:00
ellensp 10ecea62c1 🩹 Fix 'PIN_EXIST' typo (#27856) 2025-05-14 13:54:48 -05:00
thinkyhead 7a841cd8cf [cron] Bump distribution date (2025-05-14) 2025-05-14 00:31:35 +00:00
Scott Lahteine c8265d61d5 🚸 Include 'R' in M208 report
Followup to #21335
2025-05-13 17:14:57 -05:00
Scott Lahteine eaa836b6fc 🎨 May 13 code format 2025-05-13 16:52:54 -05:00
Scott Lahteine 5a88a80690 🚸 Extend M360 (a Repetier code) 2025-05-13 16:50:41 -05:00
David Buezas 12fdde24d8 ️ Optimize Smooth Linear Advance (via fixed-point) (#27818) 2025-05-13 16:14:04 -05:00
InsanityAutomation 471228018a Merge branch 'bugfix-2.1.x' into ParseSafetyCommandsEvenWithEParser 2025-05-13 16:17:41 -04:00
thinkyhead 4de6d655ac [cron] Bump distribution date (2025-05-10) 2025-05-10 00:30:25 +00:00
Scott Lahteine b12028f4dd 🧑‍💻 ALIM(I,ARR) macro 2025-05-09 16:37:06 -05:00
Scott Lahteine 54c1a1df4e 🧑‍💻 Singleton notation 2025-05-09 16:23:37 -05:00
Scott Lahteine fad7bc66e9 🧑‍💻 Use 'DISTINCT_E_FACTORS' 2025-05-09 16:23:14 -05:00
Scott Lahteine 6cda10de0f 🧑‍💻 Relocate some factory reset, etc. 2025-05-09 16:21:29 -05:00
B b22df8b189 🧑‍💻 Fix GD32 EEPROM timings (#27846) 2025-05-09 11:58:25 -05:00
thinkyhead 94e2558e6c [cron] Bump distribution date (2025-05-09) 2025-05-09 00:31:31 +00:00
B fd117480d2 ️ GD32: Fast GPIO optimization (#27845) 2025-05-08 16:17:47 -05:00
Scott Lahteine 72f3a4ac31 ️ Optimal recalculate_max_e_jerk 2025-05-08 13:46:02 -05:00
thinkyhead aa7af2e2ea [cron] Bump distribution date (2025-05-08) 2025-05-08 00:31:45 +00:00
ellensp a4d254ee62 🚸 Fix 16x4 SD Print Progress display (#27844) 2025-05-07 13:36:06 -05:00
David Buezas 222efe1382 🔧 No SMOOTH_LIN_ADVANCE + NONLINEAR_EXTRUSION (#27817) 2025-05-06 22:15:44 -05:00
Scott Lahteine d806175a80 OTA_FIRMWARE_UPDATE (Creality STM32F401RE)
Followup to #25773
2025-05-06 22:10:44 -05:00
thinkyhead 5266ffb922 [cron] Bump distribution date (2025-05-07) 2025-05-07 00:31:25 +00:00
Scott Lahteine b7a1681d38 🔨 Fix some build_flags inheritance 2025-05-05 22:15:22 -05:00
Scott Lahteine 3a3c3b8a22 🔨 Fix build flags for env:mks_monster8_usb_flash_drive 2025-05-05 20:32:02 -05:00
Andrew 67948ad6c6 🚸 Fix ProUI LCD wake up (2) (#27835)
Followup to #27832
2025-05-05 20:19:52 -05:00
thinkyhead e2583b4f85 [cron] Bump distribution date (2025-05-06) 2025-05-06 00:31:19 +00:00
B c9e7d6f55c 🧑‍💻 Update GD32 MFL Platform, Arduino Core (#27830) 2025-05-05 13:08:45 -05:00
Scott Lahteine 735cd9a092 🩹 Fix TH3D EZ V2 sensorless homing 2025-05-05 12:28:11 -05:00
thinkyhead 555b080d85 [cron] Bump distribution date (2025-05-05) 2025-05-05 00:33:33 +00:00
Scott Lahteine 44ef6e2b70 🩹 Fix Y_STOP_PIN alias for Y_MAX_PIN 2025-05-04 15:20:21 -05:00
Scott Lahteine 9bbbcd439b 🧑‍💻 Clarify parking_extruder_unpark_after_homing 2025-05-04 13:55:50 -05:00
Scott Lahteine cbe8a6867c 🧑‍💻 Fix mac_gcc HOMEBREW_PATH 2025-05-03 21:56:33 -05:00
MrKuskov 1f31027fd2 FILAMENT_MOTION_DISTANCE_MM (#27812)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-03 21:11:23 -05:00
InsanityAutomation 4e1e7fa1b0 SWITCHING_NOZZLE_LIFT_TO_PROBE (#27804) 2025-05-03 21:07:40 -05:00
Andrew 414951e42c 🚸 Fix ProUI LCD wake up (#27832) 2025-05-03 20:08:27 -05:00
Scott Lahteine a8d18a0554 🎨 ProUI code style 2025-05-03 20:03:26 -05:00
thinkyhead b9ffe93d1f [cron] Bump distribution date (2025-05-04) 2025-05-04 00:34:56 +00:00
B 0c72dc376c 🔨 Creality V4.2.7 (GD32) (#27796) 2025-05-03 15:20:29 -05:00
thinkyhead 019915b097 [cron] Bump distribution date (2025-05-02) 2025-05-02 18:08:56 +00:00
Scott Lahteine b74c81d3e4 🔧 Bricolemon cleanup, update (#27829) 2025-05-02 11:58:45 -05:00
staff1010 e16885c558 🚸 Fix MKS UI G-code result display (#27825)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-05-02 11:13:26 -05:00
thinkyhead 4096beaf52 [cron] Bump distribution date (2025-05-01) 2025-05-01 00:34:50 +00:00
ellensp 48cc310c58 🔧 More thorough TEMP_SENSOR_* cleanup (#27826) 2025-04-30 14:37:11 -05:00
Scott Lahteine 1c719fd10d 🎨 Cosmetic 04-29 2025-04-30 10:28:04 -05:00
thinkyhead e3433ea599 [cron] Bump distribution date (2025-04-30) 2025-04-30 00:30:45 +00:00
Scott Lahteine 585cbbb203 🩹 Minor ExtUI/DGUS code fix/cleanup 2025-04-29 13:42:02 -05:00
thinkyhead fea70777df [cron] Bump distribution date (2025-04-29) 2025-04-29 06:10:06 +00:00
Norman Chong 827c03b056 🩹 Fix Ultimain 2 MOTOR_CURRENT_PWM_RANGE (#27705) 2025-04-28 22:18:59 -05:00
Scott Lahteine 85f6090f20 🔧 Apply DEFAULT_VOLUME on boot 2025-04-28 22:09:09 -05:00
Scott Lahteine 99c29cd924 🚸 Simplified Media Menu 2025-04-28 22:09:09 -05:00
Scott Lahteine f78aaf9562 🚸 Detect multi-volume insert / remove 2025-04-28 22:09:09 -05:00
Scott Lahteine 38d6d61912 🧑‍💻 MSC for RP2040 - alpha 2025-04-28 21:36:30 -05:00
Scott Lahteine 4d8f82df32 🧑‍💻 Organize some HAL code 2025-04-28 21:36:30 -05:00
thinkyhead 75d60b77ba [cron] Bump distribution date (2025-04-27) 2025-04-27 00:37:52 +00:00
Scott Lahteine f60bc278fa 🩹 Misc. HAL, flag fixes 2025-04-26 17:22:03 -05:00
Scott Lahteine e0d8ea57a8 🧑‍💻 Group HAL/*/eeprom code 2025-04-26 17:21:36 -05:00
thinkyhead ad71b81b0c [cron] Bump distribution date (2025-04-25) 2025-04-25 00:31:00 +00:00
Scott Lahteine 1383a4e413 🔧 Allow SMOOTH_LIN_ADVANCE with DISTINCT_E_FACTORS 2025-04-23 22:04:42 -05:00
Scott Lahteine 06ef78dd19 🧑‍💻 Specific SD / FD methods 2025-04-23 19:48:24 -05:00
Scott Lahteine 5c0e8d594d 🧑‍💻 Stub CardReader, proper methods 2025-04-23 19:48:24 -05:00
Scott Lahteine d16667838f 🧑‍💻 Clarify some SD / FD build flags 2025-04-23 19:48:24 -05:00
thinkyhead 62f2b8fc17 [cron] Bump distribution date (2025-04-24) 2025-04-24 00:30:48 +00:00
Scott Lahteine 1e6326e85f 🌐 Language for SD / USB 2025-04-23 16:33:19 -05:00
Scott Lahteine e3a28afd51 🩹 Fix AboutScreen::onTouchEnd warning 2025-04-23 15:09:14 -05:00
Scott Lahteine ef9cec9e40 🧑‍💻 FastIO AT90USB pins 46-47 (2)
also lang
2025-04-23 13:43:15 -05:00
Scott Lahteine 3df75188f3 🚸 Fix TFT GLCD "Select from Media" glitch 2025-04-23 12:57:53 -05:00
Scott Lahteine 7ee745b2da 🧑‍💻 TFT GLCD "panel_detected" 2025-04-23 12:57:50 -05:00
Scott Lahteine 3696cc3513 🚸 Clear alert on menu click 2025-04-23 12:55:01 -05:00
Scott Lahteine efd875766a 🚸 "Inverted" text on GLCD 2025-04-23 12:55:01 -05:00
thinkyhead 21dadce958 [cron] Bump distribution date (2025-04-23) 2025-04-23 00:30:30 +00:00
Scott Lahteine 4b419eefd2 🔥 DEFAULT_VOLUME 2025-04-22 18:04:04 -05:00
Scott Lahteine 28a1355f29 🌐 Fix extra MSG_ATTACH_USB_MEDIA 2025-04-22 18:04:04 -05:00
InsanityAutomation 9a901941aa 🐛 Watchdog Reset PIO on DUE to prevent hang (#27803)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-04-22 12:01:14 -05:00
thinkyhead db3c5dd877 [cron] Bump distribution date (2025-04-22) 2025-04-22 06:09:47 +00:00
Scott Lahteine 24928f93ba 🧑‍💻 FastIO AT90USB pins 46-47 2025-04-21 20:25:13 -05:00
thinkyhead 1e009c2aa5 [cron] Bump distribution date (2025-04-21) 2025-04-21 00:32:59 +00:00
Scott Lahteine d434729da6 🐛🔧 Move extra volume flags 2025-04-20 19:25:37 -05:00
B b23f86f83f 🧑‍💻 GD32 fast write non-bool (#27806) 2025-04-20 12:12:02 -05:00
Scott Lahteine d3687d933c 🧑‍💻 Add stepper/control.cpp (2) 2025-04-20 12:03:09 -05:00
Keith Bennett 4b32be9df0 🔧 Malyan M300 / Monoprice Mini alternate orientation (#27808) 2025-04-20 11:04:48 -05:00
David Buezas f6c8915545 SMOOTH_LIN_ADVANCE (#27710)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-04-20 00:18:45 -05:00
Scott Lahteine b97b09413f 🧑‍💻 Add stepper/control.cpp 2025-04-19 20:13:34 -05:00
thinkyhead 87f26e77ff [cron] Bump distribution date (2025-04-20) 2025-04-20 00:33:22 +00:00
Scott Lahteine 26b3f0b00f 🧑‍💻 Planner::max_jerk always xyze_pos_t 2025-04-18 19:57:11 -05:00
B 067c830e84 📌 GD32 platform v1.0.3 (and Arduino v1.0.4) (#27801) 2025-04-18 19:55:26 -05:00
B d40bf0d6b2 🐛 Fix GD32 ignoring SERIAL_DMA on init (#27800) 2025-04-18 19:53:18 -05:00
ellensp d009c48b11 Simulator: Virtual servos, BLTouch (#27779)
Co-authored-by: Christopher Pepper <p3p@p3psoft.co.uk>
2025-04-18 19:43:31 -05:00
thinkyhead 3c32770faf [cron] Bump distribution date (2025-04-19) 2025-04-19 00:28:50 +00:00
ellensp a653c3aca0 🎨 Binary Stream cleanup (#27799) 2025-04-18 17:36:22 -05:00
InsanityAutomation 766210b8f1 Merge branch 'ParseSafetyCommandsEvenWithEParser' of https://github.com/InsanityAutomation/Marlin into ParseSafetyCommandsEvenWithEParser 2025-04-18 13:39:47 -04:00
InsanityAutomation b5c05e32ea Update M876.cpp 2025-04-18 13:39:36 -04:00
InsanityAutomation 1d702b3601 Merge branch 'bugfix-2.1.x' into ParseSafetyCommandsEvenWithEParser 2025-04-18 13:38:14 -04:00
InsanityAutomation 2e7b7c8b72 Update pause.cpp 2025-04-18 13:36:38 -04:00
thinkyhead 7b083be5c5 [cron] Bump distribution date (2025-04-18) 2025-04-18 00:29:57 +00:00
Scott Lahteine 65b8ced80c 🧑‍💻 Clarify DEPLOY_ALARM 2025-04-17 17:29:20 -05:00
Scott Lahteine 4ea75ad284 🎨 Cosmetic updates, fix alias warning 2025-04-17 15:43:40 -05:00
Scott Lahteine 58f03953b8 🩹 Fix Linear Advance edit item 2025-04-17 15:43:35 -05:00
thinkyhead 62c1c116f7 [cron] Bump distribution date (2025-04-17) 2025-04-17 00:30:15 +00:00
Scott Lahteine bd382fb8a1 🔨 Suppress generate_version (for now) 2025-04-16 14:43:53 -05:00
Scott Lahteine f3be22c4ff 🎨 Delete libsam_sam3x8e_gcc_rel.a.txt 2025-04-16 14:43:50 -05:00
Scott Lahteine 8867c45831 🎨 Fix and/or warning 2025-04-16 14:43:50 -05:00
thinkyhead c0e108b21d [cron] Bump distribution date (2025-04-16) 2025-04-16 00:30:52 +00:00
Andrew f149e14d1a 🚸 Fix missing "echo:" in some reports (#27794) 2025-04-15 17:36:27 -05:00
Scott Lahteine 1242e875aa 🚸 More frequent button polling (#27797) 2025-04-15 15:49:23 -05:00
thinkyhead 1d4c002c2a [cron] Bump distribution date (2025-04-15) 2025-04-15 00:30:55 +00:00
B 7cd1b7708f 🐛 Fix Servos in GD32 HAL (#27791) 2025-04-14 17:52:51 -05:00
feldi12 5e8a5230a3 ️ Optimize PID, increase PID range (#27740) 2025-04-14 17:08:40 -05:00
DerAndere b5d7b4aee6 DEFAULT_ACCELERATION_SPINDLE (#27759) 2025-04-14 16:50:26 -05:00
Scott Lahteine 7d82f95df8 🩹 Fix DWIN_CREALITY_LCD_STD_ICONS 2025-04-14 16:47:50 -05:00
thinkyhead 69464790e2 [cron] Bump distribution date (2025-04-14) 2025-04-14 00:32:24 +00:00
ellensp db42741537 🔧 Raise MBL grid size limit (#27790)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-04-13 03:27:45 -05:00
Scott Lahteine 9a6bf16938 🚸 Some default filament runout pins 2025-04-13 03:18:43 -05:00
Scott Lahteine c173ecd89a 🎨 Misc. serial echo/char 2025-04-13 02:06:50 -05:00
narno2202 aee25d75ea 🧑‍💻 DGUSScreenHandler hack for MKS (#27789) 2025-04-13 01:36:21 -05:00
Scott Lahteine a55355d088 🚸 FT Motion menu fix, neaten 2025-04-13 01:10:14 -05:00
Scott Lahteine 6d2dfcaa1c 🩹 Fix i2c encoder report 2025-04-13 01:10:14 -05:00
thinkyhead d1947fac07 [cron] Bump distribution date (2025-04-13) 2025-04-13 00:56:12 +00:00
Keith Bennett 893dddcbd1 📝 Malyan LCD uses encoders (#27781) 2025-04-12 15:12:31 -05:00
thinkyhead 8cb6e57789 [cron] Bump distribution date (2025-04-10) 2025-04-10 00:31:25 +00:00
Andrew 47820cac8a 🎨 Whitespace cleanups (#27784) 2025-04-09 19:08:10 -05:00
Scott Lahteine 6f5e6fd25b 🩹 TFT_BUFFER_SIZE => _WORDS
Followup to #26011
2025-04-09 18:47:42 -05:00
thinkyhead db4990f2c4 [cron] Bump distribution date (2025-04-08) 2025-04-08 00:29:33 +00:00
Scott Lahteine cbd79a5e87 Tweak pip/PIO caching 2025-04-07 18:29:23 -05:00
Boyd bdc0bd0eef Native GD32 support for Aquila v1.0.1 (#27765) 2025-04-07 18:22:58 -05:00
narno2202 ed4afab004 🚸 Fix FT Motion Linear Advance MarlinUI edit item (#27786) 2025-04-07 17:38:11 -05:00
Andrey Samokhin 6984c7f308 🔧 Max Stepper Rate sanity-checks (#27764) 2025-04-06 21:18:01 -05:00
Scott Lahteine 7bfecf659b 🧑‍💻 Misc. dgus/mks comments 2025-04-06 21:15:40 -05:00
narno2202 d7b73542a1 🚸 Refactor MKS H43 LCD (2) (#27780)
Followup to #27776
2025-04-06 20:58:05 -05:00
thinkyhead 9f0879785e [cron] Bump distribution date (2025-04-07) 2025-04-07 00:31:15 +00:00
Scott Lahteine bc85f5bebf 🧑‍💻 Add Parser::has_string 2025-04-06 13:49:51 -05:00
Vovodroid 493c5eec21 🚸 Report M48 Max Delta (#26286) 2025-04-06 13:42:14 -05:00
thinkyhead 489727330b [cron] Bump distribution date (2025-04-05) 2025-04-05 06:08:15 +00:00
narno2202 c5de0c69e5 🚸 Refactor MKS H43 LCD (#27776)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-04-04 23:17:30 -05:00
schnurly 7a257ef3e1 🚸 Fix MKS UI print done state (#27730) 2025-04-04 22:27:50 -05:00
Scott Lahteine c080518b12 🎨 DGUS/MKS cosmetic fixes, most 2025-04-04 22:09:58 -05:00
thinkyhead c6dad4d1aa [cron] Bump distribution date (2025-04-03) 2025-04-03 00:29:22 +00:00
Scott Lahteine a4c35b1555 🚸 Disable MIN_CHAMBER_POWER 2025-04-01 23:40:35 -05:00
Scott Lahteine 9758f5e0ce 📝 Informative PID comments 2025-04-01 23:29:45 -05:00
thinkyhead 2f7d88d5c3 [cron] Bump distribution date (2025-04-02) 2025-04-02 00:30:08 +00:00
Scott Lahteine 13db322f0e 🎨 GD32 MFL followup
Followup to #27744
2025-04-01 04:32:04 -05:00
Scott Lahteine 30a10077cf 🧑‍💻 Menu code cleanup 2025-04-01 03:18:52 -05:00
Scott Lahteine 26551c17c2 🔨🩹 Drop old ULTIPANEL sanity check 2025-04-01 02:38:40 -05:00
Scott Lahteine a80e790cf6 🔨🩹 Pass Ultipanel with HAS_SLOW_BUTTONS 2025-04-01 01:22:20 -05:00
Scott Lahteine 546a014a59 🔨🩹 Pass Ultipanel with HAS_TOUCH_BUTTONS 2025-03-31 23:33:59 -05:00
Scott Lahteine 2004198b07 🔨🩹 Pass Ultipanel with TOUCH_SCREEN 2025-03-31 22:53:47 -05:00
Scott Lahteine 59423da42f 🧑‍💻 HAS_MOTOR_CURRENT_PWM_Z 2025-03-31 22:33:11 -05:00
Boyd 99b790cc92 🔨 Fix GCC14 / C++23 volatile warnings (#27768) 2025-03-31 22:33:11 -05:00
Scott Lahteine 766dfda80e 🔨🩹 Pass Ultipanel with ADC_KEYPAD 2025-03-31 22:33:10 -05:00
thinkyhead d638ee02c6 [cron] Bump distribution date (2025-04-01) 2025-04-01 00:34:19 +00:00
Scott Lahteine 15ce5d0612 🔨🩹 Misc. code corrections, notes 2025-03-30 23:34:15 -05:00
thinkyhead d2b47c354c [cron] Bump distribution date (2025-03-31) 2025-03-31 00:31:54 +00:00
Scott Lahteine 43177af21c 🧑‍💻 Digipot settings cleanup 2025-03-30 14:57:01 -05:00
Scott Lahteine 73ed54308a 🧑‍💻 Move ENABLE to indirection.h
Followup to add72fd045
2025-03-30 14:56:58 -05:00
thinkyhead fd17cc962b [cron] Bump distribution date (2025-03-30) 2025-03-30 06:08:25 +00:00
ellensp aad10ea1c7 🐛 Fix E DIR init (#27770)
Followup to add72fd045
2025-03-29 20:58:16 -05:00
thinkyhead 849e432d62 [cron] Bump distribution date (2025-03-28) 2025-03-28 06:09:42 +00:00
Boyd 78d6fec652 🚀 HAL for GD32 MFL (Creality v4.2.2) (#27744) 2025-03-28 00:31:45 -05:00
Fermín Olaiz f6eaca6fcd 🩹 MKS_TINYBEE ADC reference voltage warning (#27755) 2025-03-27 22:18:08 -05:00
Scott Lahteine efa175820f 🧑‍💻 Allow for tests on macOS / Windows 2025-03-27 20:57:17 -05:00
Scott Lahteine 448ff71899 🧑‍💻 Tweak MAX7219 test pattern 2025-03-27 20:16:19 -05:00
Scott Lahteine c1e8d46d21 ♻️ ELAPSED / PENDING (ms, start, duration) 2025-03-27 20:16:19 -05:00
Scott Lahteine b5068bbc17 🔨 Reduce warnings on types 2025-03-27 17:36:16 -05:00
Scott Lahteine 9a8ad9d101 🎨 Comment long functions end 2025-03-27 17:34:33 -05:00
thinkyhead 5c59abaf6f [cron] Bump distribution date (2025-03-27) 2025-03-27 12:11:04 +00:00
Scott Lahteine 460bf112d8 EDITABLE_HOMING_CURRENT (#27760) 2025-03-27 03:33:27 -05:00
Scott Lahteine 7bd74fecbb 🧑‍💻 Language tweaks
lang
2025-03-27 02:29:58 -05:00
Scott Lahteine add72fd045 🧑‍💻 Individual TMC flags 2025-03-27 02:29:11 -05:00
Scott Lahteine ac5fa61de5 🧑‍💻 More robust TERN_ macro 2025-03-27 02:29:04 -05:00
thinkyhead dda42fb599 [cron] Bump distribution date (2025-03-26) 2025-03-26 00:29:30 +00:00
Scott Lahteine a8fea3d674 🩹 Cleanup (for STM32 I2C LCD)
Followup to 9a8b1eab
2025-03-25 16:41:48 -05:00
Scott Lahteine 1701fd8f64 🔥 DELTA_MAX_RADIUS 2025-03-25 16:39:09 -05:00
thinkyhead 14fa705771 [cron] Bump distribution date (2025-03-22) 2025-03-22 00:28:38 +00:00
Scott Lahteine 91a87f45d9 🧑‍💻 Some millis() 'unsigned long' 2025-03-21 14:00:44 -05:00
Teemo Vaas 363f324179 🚸 Fix G4 Dwell overflow 2025-03-21 13:59:29 -05:00
ellensp a68b70de15 📌 Clean up ESP32 build (#27672) 2025-03-20 21:48:18 -05:00
ellensp c29b44fcca 🩹 Fix Simulator KILL pin overlap (#27668) 2025-03-20 21:44:43 -05:00
ellensp 2cf4d02a32 🩹 Fix TOUCH_UI_FTDI_EVE build (#27667)
Followup to #27275
2025-03-20 21:03:14 -05:00
Scott Lahteine 9a8b1eab93 🩹 Cleanup (for STM32 I2C LCD)
In advance of #26433
2025-03-20 20:28:30 -05:00
thinkyhead 57fe45a2a6 [cron] Bump distribution date (2025-03-21) 2025-03-21 00:29:17 +00:00
Scott Lahteine 5d755676a9 🧑‍💻 Silence findMissingTranslations grep output 2025-03-19 20:40:54 -05:00
Andrew d9f2c6444f 🚸 ProUI "View Mesh (grid)" item (#26181)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-03-19 20:01:47 -05:00
thinkyhead 4895388909 [cron] Bump distribution date (2025-03-20) 2025-03-20 00:28:49 +00:00
Scott Lahteine c7e64371c9 🧑‍💻 ProUI: pre-calculate menu sizes 2025-03-19 17:36:19 -05:00
ellensp 58749a9a0e 🩹 BTT Manta M8P V2.0 fixes (#27748)
The notorious curse of incorrect BTT pins rears its head once again!
2025-03-19 16:02:01 -05:00
ellensp 26aac7aaab 🐛 Fix RAMPS AUX1 RX/TX pins (#27745) 2025-03-19 15:45:30 -05:00
Scott Lahteine a7684ecd67 🧑‍💻 Reuse MarlinUI::apply_preheat 2025-03-19 15:31:07 -05:00
Scott Lahteine fc49efcaef 🧑‍💻 Lambda for MarlinUI media items 2025-03-19 14:36:04 -05:00
Sophist 4f3279fa31 🚸 Move About / Games to menu bottom (#26820) 2025-03-18 22:28:56 -05:00
ellensp 719bb9c03b 🔧 LCD_PINS_ENABLE => LCD_PINS_EN (#27700) 2025-03-18 21:14:58 -05:00
ellensp 15ee0d0e08 MAG_MOUNTED_PROBE_SERVO_NR (#27551)
Co-authored-by: gjdodd <graham.dodd@airintake.co.uk>
2025-03-18 20:39:24 -05:00
thinkyhead 23fa94178e [cron] Bump distribution date (2025-03-19) 2025-03-19 00:31:12 +00:00
Scott Lahteine 4ad6fa59df 🧑‍💻 More extensible Temperature::lcd_preheat 2025-03-18 18:35:39 -05:00
InsanityAutomation 367cea0d0d 🚸 Chamber Preheat completion (#26864)
Followup to #21156

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-03-17 21:35:20 -05:00
Scott Lahteine a4fbbf9075 clean up 2025-03-17 19:46:43 -05:00
thinkyhead 0a07bba213 [cron] Bump distribution date (2025-03-18) 2025-03-18 00:28:49 +00:00
Scott Lahteine 25e6852022 Merge branch 'bugfix-2.1.x' into pr/26944 2025-03-17 18:06:41 -05:00
Scott Lahteine 5edec5b3a3 tweak 2025-03-17 18:06:18 -05:00
Andrew 2f4f2bce15 🔨 PowerShell compatibility (#27720) 2025-03-17 18:04:59 -05:00
David Buezas 0d87dd9d51 LCD_DOUBLE_BUFFER (#26713) 2025-03-17 16:27:51 -05:00
Scott Lahteine e11a5ee717 📝 Some config comment updates
Co-Authored-By: Andrew <18502096+classicrocker883@users.noreply.github.com>
2025-03-17 16:24:05 -05:00
Scott Lahteine e8c0363051 🎨 cosmetics 2025-03-17 15:19:21 -05:00
Scott Lahteine 2d6454b352 🩹 Update some SD SS pins
Followup to #27650
2025-03-17 15:06:35 -05:00
ellensp 28548efa75 🚸 Improve TFT touch calibrate (#26200) 2025-03-17 12:54:21 -05:00
thinkyhead da0bef50e1 [cron] Bump distribution date (2025-03-17) 2025-03-17 00:30:31 +00:00
Scott Lahteine b954959f55 M550 CONFIGURABLE_MACHINE_NAME (#27731) 2025-03-16 03:24:00 -05:00
Scott Lahteine 434bf81f8e 🩹 Fix max Y/Z endstop pins on GMARSH X6 REV1 2025-03-16 00:52:22 -05:00
Scott Lahteine 82d3d78e31 🔧 BOARD_LCD_SERIAL_PORT 2025-03-15 21:40:06 -05:00
thinkyhead fb4d465360 [cron] Bump distribution date (2025-03-16) 2025-03-16 00:32:26 +00:00
Marcio T. 3827ceaf66 🩹 Fix color game compile (#27721) 2025-03-15 17:31:32 -05:00
thinkyhead 6ba08130f0 [cron] Bump distribution date (2025-03-15) 2025-03-15 00:28:35 +00:00
Keith Bennett 78f871567f 🔨 Rename FYSETC S6/Spider envs (#27122) 2025-03-14 13:11:45 -05:00
thinkyhead 9e30173b13 [cron] Bump distribution date (2025-03-14) 2025-03-14 00:28:40 +00:00
ellensp f0bd400002 🩹🔧 Fix LCD_LANGUAGE for HD44780 (#27729) 2025-03-13 17:21:28 -05:00
Scott Lahteine 0fa3d2642a MIN_POWER (#27742)
Followup to #14746

Co-authored-by: mikeshub <2420379+mikeshub@users.noreply.github.com>
2025-03-13 17:19:23 -05:00
ellensp 4cf4647c9a 🔧 More serial ports for Teensy HALs (#27736)
Followup to #27648

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-03-12 20:35:12 -05:00
thinkyhead 5766dc0ece [cron] Bump distribution date (2025-03-13) 2025-03-13 00:29:12 +00:00
Scott Lahteine 01990f2bf4 📝 Document planner modifier methods 2025-03-12 17:28:22 -05:00
thinkyhead d74ee8ccc4 [cron] Bump distribution date (2025-03-12) 2025-03-12 00:28:38 +00:00
Scott Lahteine 953b6844ca 📝 Config comments with units 2025-03-10 22:12:40 -05:00
thinkyhead e6ccf3b72b [cron] Bump distribution date (2025-03-11) 2025-03-11 00:28:55 +00:00
Scott Lahteine d9229ff355 🔨 Fix CONFIG_EXPORT 1, (embed = 101)
Followup to #27628
See #27612
2025-03-10 19:06:47 -05:00
thinkyhead ee35929b61 [cron] Bump distribution date (2025-03-10) 2025-03-10 00:25:20 +00:00
Scott Lahteine 07b979012a 🧑‍💻 Probe Wizard comments 2025-03-09 15:52:25 -05:00
Scott Lahteine 126e78dcce 🐛 Fix quoted string value detection 2025-03-09 15:46:13 -05:00
thinkyhead e02de3a256 [cron] Bump distribution date (2025-03-07) 2025-03-07 06:09:07 +00:00
narno2202 97a7c2160e ️ FT Motion: Fill window in makeVector (#27718) 2025-03-06 19:43:02 -06:00
thinkyhead caf5d5b134 [cron] Bump distribution date (2025-03-05) 2025-03-05 06:09:08 +00:00
Fly3DTeam 05a46084b6 FLY_D5, FLY_DP5, FLY_D7, FLY_D8, FLY_D8_PRO, FLY_SUPER8_PRO, FLY_CDY_V3 (#27580) 2025-03-04 21:08:04 -06:00
thinkyhead e676d833a3 [cron] Bump distribution date (2025-03-02) 2025-03-02 00:30:52 +00:00
ellensp 73a0f33767 BUILD_INFO_MENU_ITEM (#27590) 2025-03-01 17:45:31 -06:00
ellensp e787c8f26b 🚸 Fix extra echo: in M218 report (#27674) 2025-03-01 15:00:28 -06:00
Scott Lahteine 147dcaf600 📝 Update MAX31865 comment 2025-03-01 14:30:15 -06:00
Farva42 dd3bf2995b 🔧 Static assert Dual X min/max (#27701) 2025-03-01 00:26:56 -06:00
thinkyhead 142177426b [cron] Bump distribution date (2025-03-01) 2025-03-01 06:07:59 +00:00
Keith Bennett 072b90d105 💚 Fix Simulator CI build (#27712) 2025-02-28 20:57:40 -06:00
thinkyhead efba06c4ce [cron] Bump distribution date (2025-02-20) 2025-02-20 00:28:00 +00:00
Scott Lahteine 2cc35a9ad1 🎨 Wrap BABYSTEP_SIZE_* 2025-02-19 15:36:59 -06:00
Farva42 b748506230 🩹 Fix MKS boards runout sensor pins (#27687)
Followup to #27640
2025-02-19 12:45:40 -06:00
thinkyhead c3a4ef77af [cron] Bump distribution date (2025-02-19) 2025-02-19 06:08:42 +00:00
narno2202 86c1fde309 ️ Always "optimize" FT Motion DIR states (#27692) 2025-02-18 19:38:28 -06:00
Luc 89def456e8 🔨 Fix pioarduino path check for xtensa-esp32 (#27693) 2025-02-18 19:33:54 -06:00
thinkyhead 0518737119 [cron] Bump distribution date (2025-02-16) 2025-02-16 00:30:26 +00:00
Keith Bennett 12b3f18bb2 🔨 mac_gcc: Use configured brew/port paths (#27655) 2025-02-15 16:11:57 -06:00
thinkyhead 4d0c6841f8 [cron] Bump distribution date (2025-02-04) 2025-02-04 12:10:52 +00:00
Scott Lahteine 99c3a7136d 🎨 Standard logical FLIP(X) 2025-02-03 15:43:17 -06:00
Scott Lahteine cd3997f045 🧑‍💻 More binary file types 2025-02-03 15:43:17 -06:00
thinkyhead 479074ccba [cron] Bump distribution date (2025-02-02) 2025-02-02 06:07:35 +00:00
Scott Lahteine a21fc27056 🎨 Minor config style updates 2025-02-01 00:12:26 -06:00
thinkyhead 485fbf2040 [cron] Bump distribution date (2025-01-28) 2025-01-28 06:08:30 +00:00
Scott Lahteine 09a519bfb5 🔥 Not using .astylerc 2025-01-27 21:18:29 -06:00
Scott Lahteine 81ef02e41f 🔨 Fix sim build with gcc-14 2025-01-27 21:17:53 -06:00
thinkyhead 0226692e6b [cron] Bump distribution date (2025-01-27) 2025-01-27 00:28:09 +00:00
Andrew 0cd1d9c3c9 🩹 Update some hex-printing (#27654)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-01-25 23:58:40 -06:00
Scott Lahteine ab7137ab8e 🩹 RP2040 has PIN_SPI_SS
Followup to #27650
2025-01-25 20:17:59 -06:00
Scott Lahteine 84113367fc 📝 CardReader comments 2025-01-25 20:17:59 -06:00
thinkyhead c24ecfb6f0 [cron] Bump distribution date (2025-01-26) 2025-01-26 00:27:46 +00:00
Scott Lahteine 442f0baf14 🔨 Script for gcc setup on macOS (Simulator build) 2025-01-25 17:11:37 -06:00
thinkyhead 40aab1e298 [cron] Bump distribution date (2025-01-25) 2025-01-25 00:26:20 +00:00
Scott Lahteine 09fbe372da 🔨 Elegoo Neptune boards ("elegoo.bin") (#24895) 2025-01-24 17:53:19 -06:00
Scott Lahteine 279a393e81 🌐 Attach media messages 2025-01-24 17:51:34 -06:00
Scott Lahteine 1e2e0c3a36 🎨 Flash EEPROM pins cleanup 2025-01-24 17:51:34 -06:00
Scott Lahteine 86f03cf57a 🎨 Shared USB build flags 2025-01-24 17:51:34 -06:00
rondlh 7f598ae66d ️ STM32H7 Serial DMA (#27633) 2025-01-23 21:18:46 -06:00
Andrew 0a598071af 🎨 Adjust some Python formatting (#27649) 2025-01-23 19:48:58 -06:00
thinkyhead 861dd33fa1 [cron] Bump distribution date (2025-01-24) 2025-01-24 00:27:01 +00:00
Scott Lahteine ac14c65643 ♻️ SD- and SPI-related pins cleanup (#27650) 2025-01-23 18:00:17 -06:00
Scott Lahteine 0f7fb5d88d 🧑‍💻 Media conditionals 2025-01-22 22:46:45 -06:00
Scott Lahteine 428f721cbf 🔧 Sequential Opulo boards 2025-01-22 19:09:08 -06:00
thinkyhead 31bc23b6e3 [cron] Bump distribution date (2025-01-23) 2025-01-23 00:26:51 +00:00
Scott Lahteine a1ba166740 ♻️ Common serial ports header (#27648) 2025-01-22 14:46:04 -06:00
thinkyhead 88829bd92d [cron] Bump distribution date (2025-01-22) 2025-01-22 06:08:44 +00:00
narno2202 7e0208940b 🚸 Disable FT Motion during Biqu Microprobe use (#27368)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-01-21 21:10:52 -06:00
Scott Lahteine 12d491c5f7 🐛 Don't reset axis_did_move in ftmotion.reset
Co-Authored-By: narno2202 <130909513+narno2202@users.noreply.github.com>
2025-01-21 21:09:13 -06:00
Scott Lahteine 29635232d3 🔨 Prevent ESP32 bad dependency 2025-01-21 20:57:43 -06:00
thinkyhead 4e72b17a88 [cron] Bump distribution date (2025-01-17) 2025-01-17 00:26:47 +00:00
Scott Lahteine 8b8c862615 🔨 Skip _xfer builds unless uploading 2025-01-16 15:41:26 -06:00
thinkyhead 45ca25a4ab [cron] Bump distribution date (2025-01-16) 2025-01-16 00:27:01 +00:00
Andrew 8f35e9a797 🧑‍💻 Update types forward decl (#27637) 2025-01-15 14:30:00 -06:00
thinkyhead b4688346ab [cron] Bump distribution date (2025-01-15) 2025-01-15 00:27:11 +00:00
Scott Lahteine e0c60a83a2 🩹 Fix VALIDATE_HOMING_ENDSTOPS missing header 2025-01-14 15:21:18 -06:00
Scott Lahteine b7358449e0 🚸 Enabled probe clearance in do_move_after_z_homing (#27593) 2025-01-14 13:37:48 -06:00
Scott Lahteine 85ebd170a9 🔧 Standard filament runout pins for MKS_UI / MKS TFT (#27640) 2025-01-14 13:13:29 -06:00
Scott Lahteine 70cdfbe8fc 📝 Add'l homeaxis comments 2025-01-14 12:47:10 -06:00
Keith Bennett 5dc55150bd 🔧 BTT SKRat UART driver support pending (#27639) 2025-01-14 12:42:06 -06:00
thinkyhead ef34fd1a3f [cron] Bump distribution date (2025-01-14) 2025-01-14 00:26:31 +00:00
phizev 854cfc016d Teensy 4 hardware PWM for laser/spindle/fan (#27608) 2025-01-13 16:14:16 -06:00
ellensp b7f628ce2f 🩹 Fix EEPROM CRC display (#27631) 2025-01-13 13:12:09 -06:00
thinkyhead f54ec92ba8 [cron] Bump distribution date (2025-01-13) 2025-01-13 00:30:03 +00:00
RomanFaktor 2e142725a6 🐛 Fix ERYONE Ery32 mini SPI for SD (#27600) 2025-01-11 21:16:34 -06:00
ellensp 6eca4bbab1 🔨 Migrate use_example_configs to Python (#27632) 2025-01-11 21:06:24 -06:00
Giuliano Zaro de7ac7f594 🐛 Fix M119 filament sensor part (#27596)
Fix from #27576
2025-01-11 21:00:10 -06:00
rondlh 28c591309f ️ STM32H7 Flash Wear Leveling (#27634) 2025-01-11 20:58:26 -06:00
thinkyhead 55add905cb [cron] Bump distribution date (2025-01-12) 2025-01-12 00:36:21 +00:00
Andrew 8d7ecad531 🔨 Fix cmake build on Linux (#27605) 2025-01-11 15:09:49 -06:00
thinkyhead a7d79618b9 [cron] Bump distribution date (2025-01-10) 2025-01-10 00:28:20 +00:00
Scott Lahteine acd825972c EVENT_GCODE_BEFORE_G29 (#27566) 2025-01-08 23:03:41 -06:00
ellensp 7eee772f60 MAX31865 Bed settings (#27611) 2025-01-08 22:41:03 -06:00
Red Echidna UK 63bc413da8 🧑‍💻 Add STM32/STM32F1 Open Drain (OD) pin mode (#27616) 2025-01-08 22:30:53 -06:00
Chris 22977c885b Games for E3V2 + MarlinUI (#27620) 2025-01-08 18:53:15 -06:00
thinkyhead de76f2f21a [cron] Bump distribution date (2025-01-09) 2025-01-09 00:27:38 +00:00
Erik van Luijk d57feeadaf 🐛 Fix JG Aurora A1 implementation (#27622) 2025-01-08 16:48:32 -06:00
ellensp 36623a2382 🐛 Fix config embed and restore (#27628)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2025-01-08 16:44:31 -06:00
ellensp 83278bdc17 🔨 Some boards with both LPC1768/9 (#27586) 2025-01-08 16:41:53 -06:00
Scott Lahteine 30697cb53f 🩹 Fix DGUS_LCD_UI_MKS typo
Fixes #27508

Co-Authored-By: vehystrix <7142781+vehystrix@users.noreply.github.com>
2025-01-08 16:41:49 -06:00
thinkyhead 4eb8a87193 [cron] Bump distribution date (2024-12-18) 2024-12-18 00:28:42 +00:00
ellensp d2814c7aa7 ✏️ Fix variant.h comment typo (#27594) 2024-12-17 14:09:01 -06:00
Giuliano Zaro 6f71a14150 🐛 Fix S6 V2 TMC communication error (#27595) 2024-12-17 14:07:05 -06:00
Scott Lahteine 1067950697 🔨 Fix and improve schema exports 2024-12-17 14:03:34 -06:00
Scott Lahteine 7b7add3843 📝 Config feedrate units
Followup to #27579
2024-12-17 14:03:34 -06:00
thinkyhead 05e67a9262 [cron] Bump distribution date (2024-12-17) 2024-12-17 00:29:50 +00:00
Scott Lahteine c4ef2d63e1 🔥 Remove obsolete support files
Followup to #15347
Originally from #10849
2024-12-16 15:30:01 -06:00
Scott Lahteine 2a137d6744 🩹 Fix build with Color UI touch items 2024-12-16 14:58:12 -06:00
Scott Lahteine c0becd6ce1 🔨 Scripted build/archive multiple envs (2) 2024-12-16 14:49:38 -06:00
Scott Lahteine d5dfd18c24 🔨 Scripted build/archive multiple envs 2024-12-15 20:35:05 -06:00
Scott Lahteine dcc10565f8 📝 @section calibration => calibrate 2024-12-15 20:35:05 -06:00
Scott Lahteine 4c388d7118 🚸 Limited number of DGUS fans 2024-12-15 18:44:18 -06:00
thinkyhead 94ca5487ab [cron] Bump distribution date (2024-12-16) 2024-12-16 00:31:26 +00:00
Scott Lahteine a23212bd95 🔨 Versioned ststm32 for BLACKBEEZMINI_V1 2024-12-15 16:31:08 -06:00
Scott Lahteine a748eaade7 🔨 Add offset_address for convenience 2024-12-15 16:31:08 -06:00
thinkyhead ba88365364 [cron] Bump distribution date (2024-12-13) 2024-12-13 00:30:12 +00:00
ellensp 8d9db0f899 🚸 Prevent very slow 'G29 S{value}' (ABL Mesh) (#27579)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-12-12 15:55:22 -06:00
thinkyhead 23bc810e6e [cron] Bump distribution date (2024-12-11) 2024-12-11 00:29:50 +00:00
Scott Lahteine 7ad4de2c08 🚸 Filter 'G29 S0' in ABL 2024-12-10 13:49:22 -06:00
thinkyhead d21e1d4dc8 [cron] Bump distribution date (2024-12-10) 2024-12-10 00:31:55 +00:00
Scott Lahteine 8b7cfa0429 🧑‍💻 Comment temperature methods, fix error spam 2024-12-09 15:00:35 -06:00
thinkyhead 906dcc7536 [cron] Bump distribution date (2024-12-09) 2024-12-09 06:09:45 +00:00
Scott Lahteine 061e026384 🎨 Remove extra hotend temp update
Followup to #24898
2024-12-08 23:42:27 -06:00
Mihai 5d591fd91d ️ Improve pulse timing, fix LPC176x jitter (#27131) 2024-12-08 18:55:16 -06:00
thinkyhead 854da5fd9e [cron] Bump distribution date (2024-12-08) 2024-12-08 06:08:33 +00:00
MageDelfador 7e45d56e66 🩹 Advance tone queue when muted, tuning (#26278) 2024-12-07 22:50:41 -06:00
Andrew 71ce7803e7 🎨 LCD conditional cleanup (#27539)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-12-07 20:11:30 -06:00
thinkyhead c5bf705717 [cron] Bump distribution date (2024-12-07) 2024-12-07 00:29:16 +00:00
Scott Lahteine e82b4e98a4 🔨 More informative probe conflict message (2) 2024-12-06 17:15:03 -06:00
Scott Lahteine c271a89a4f 🎨 Servo angles tweaks 2024-12-05 22:06:23 -06:00
Scott Lahteine ea993a657f 🔨 More informative probe conflict message 2024-12-05 22:06:23 -06:00
thinkyhead 5813488412 [cron] Bump distribution date (2024-12-06) 2024-12-06 00:29:38 +00:00
ellensp a365163ff0 🔨 Fix ESP32 build (for xtensa32) (2) (#27570)
Followup to #27561
2024-12-05 17:20:25 -06:00
Andrew 4668b27158 🔨 Reduce some 256KB Maple builds (#27488) 2024-12-05 13:57:57 -06:00
thinkyhead e733e50207 [cron] Bump distribution date (2024-12-05) 2024-12-05 00:29:46 +00:00
Red Echidna UK 5549d07da3 🚸 G34 Z-align in ProUI Home menu (#27567)
Co-authored-by: Ashley Baker <ashley.baker@redechidna.com>
2024-12-04 18:20:10 -06:00
Chris 257ffe98b1 🐛 Fix HC32 Clock Configuration (#27099) 2024-12-03 19:44:54 -06:00
thinkyhead 2ed5937daf [cron] Bump distribution date (2024-12-04) 2024-12-04 01:01:37 +00:00
Andrew 00c28eb9e3 🔨 Update hc32.ini (board_upload.offset_address) (#27550) 2024-12-03 17:59:45 -06:00
ellensp 63a7d42f30 📝 TinyBee note: 5V out-only pins! (#27563) 2024-12-03 17:55:33 -06:00
ellensp 94bd6d52e9 🔨 Fix ESP32 build (for xtensa32) (#27561) 2024-12-03 17:50:25 -06:00
Keith Bennett 9cbab467b4 📝 Add Bluesky badge (#27560) 2024-12-03 17:47:57 -06:00
thinkyhead db7828504e [cron] Bump distribution date (2024-12-03) 2024-12-03 00:30:39 +00:00
Scott Lahteine 4797f25428 🔨 Update config.ini, move undefs (#27562) 2024-12-01 23:05:34 -06:00
thinkyhead 6bd541d730 [cron] Bump distribution date (2024-12-02) 2024-12-02 00:30:57 +00:00
Andrew 3591eb5d5d 🔨 Improve build script compatibility (#27549) 2024-11-30 21:22:52 -06:00
Scott Lahteine 22182d9a98 🎨 #include cleanup 2024-11-30 19:40:58 -06:00
Scott Lahteine 1f61b743a6 📝 Delete extra Ender-3 V2 README 2024-11-30 19:38:25 -06:00
thinkyhead f071274493 [cron] Bump distribution date (2024-12-01) 2024-12-01 00:35:39 +00:00
Keith Bennett 2a4a89d8cb 📌 Update, pin LPC PIO framework (#27554) 2024-11-30 14:25:55 -06:00
Scott Lahteine a9f44e37a9 🔨 Improve build scripts 2024-11-30 14:21:16 -06:00
thinkyhead af05b6e482 [cron] Bump distribution date (2024-11-28) 2024-11-28 00:29:15 +00:00
Scott Lahteine 2b39e51a40 🔨 Fix schema.py ; Add build_example --index=N 2024-11-26 21:21:17 -06:00
thinkyhead 37f490fdd0 [cron] Bump distribution date (2024-11-27) 2024-11-27 00:29:14 +00:00
Scott Lahteine c57f715d00 🎨 Trinamic cleanup 2024-11-26 01:44:55 -06:00
thinkyhead 580c99ece2 [cron] Bump distribution date (2024-11-26) 2024-11-26 00:29:00 +00:00
saddfox eaab2dea92 🚸 Fix/improve Sovol SV06 Plus (#27531)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-11-24 21:52:58 -06:00
Andrew a7bd35b993 🧑‍💻 Python scripts cleanup, improve (#27533) 2024-11-24 21:12:24 -06:00
Vovodroid 8d864d797a 🚸 Adapt runout distance for FILAMENT_MOTION_SENSOR (#27540) 2024-11-24 21:07:14 -06:00
belge96 61649aa3c0 Mellow/Fly RRF E3 V1.0 (STM32F407VG) (#27466) 2024-11-24 19:45:10 -06:00
thinkyhead 220cd5a640 [cron] Bump distribution date (2024-11-25) 2024-11-25 00:29:51 +00:00
Scott Lahteine 72f2657a0e 📝 Update HAL documentation, README 2024-11-23 20:27:28 -06:00
thinkyhead fb61a50e21 [cron] Bump distribution date (2024-11-24) 2024-11-24 00:32:01 +00:00
ellensp 21257f7e21 🔧 Update Octopus EXP-2-10, WiFi pins (#27515) 2024-11-23 16:45:13 -06:00
Scott Lahteine 8df61893c3 🐛 Show probe/level menu for tramming (#27532) 2024-11-23 16:41:42 -06:00
rondlh 095f060c24 🧑‍💻 Fix some ExtUI return types (#27542) 2024-11-23 16:33:20 -06:00
Scott Lahteine f5a5d7a620 🧑‍💻 Fix up APPLY_STEP macros 2024-11-23 16:26:29 -06:00
thinkyhead fabc2002ed [cron] Bump distribution date (2024-11-23) 2024-11-23 06:07:43 +00:00
Scott Lahteine 3f264942cb 📝 Update README.md 2024-11-22 22:10:46 -06:00
thinkyhead 3810986dba [cron] Bump distribution date (2024-11-21) 2024-11-21 06:08:46 +00:00
Scott Lahteine 5951e646d0 🧑‍💻 Fix archive clean for build_example 2024-11-20 22:11:05 -06:00
thinkyhead d4c34205b5 [cron] Bump distribution date (2024-11-19) 2024-11-19 06:08:59 +00:00
Scott Lahteine c6bbed7cdb 🔥 Drop support for DevIoT, Atom
Followup to #15347
2024-11-18 23:58:07 -06:00
Scott Lahteine a531c01889 🩹 Update RP2040 pins debugging 2024-11-18 19:48:21 -06:00
Scott Lahteine 0f0e239264 Use Marlin-maintained TMCStepper 2024-11-18 19:18:18 -06:00
Scott Lahteine fa55caed1f 🩹 Daily cleanup Nov 18 2024-11-18 19:18:09 -06:00
Scott Lahteine bf98c16a00 🧑‍💻 Improve scripts to build examples 2024-11-18 19:16:13 -06:00
thinkyhead 72603b627a [cron] Bump distribution date (2024-11-16) 2024-11-16 00:28:18 +00:00
Scott Lahteine 284d07d4d8 📝 Describe more codes in gcode.h 2024-11-15 17:35:20 -06:00
thinkyhead 09a290cc61 [cron] Bump distribution date (2024-11-15) 2024-11-15 00:29:01 +00:00
d 25b9bb35ab 🐛 Fix BLTouch, Runout pins for Ender 2P v2.4 S4 (#27520) 2024-11-14 03:07:49 -06:00
thinkyhead 9e96b89856 [cron] Bump distribution date (2024-11-14) 2024-11-14 06:08:46 +00:00
InsanityAutomation 92efc33ace 🐛 G34 fail safely (#27516) 2024-11-13 22:10:07 -06:00
thinkyhead 81bad7b124 [cron] Bump distribution date (2024-11-13) 2024-11-13 00:27:04 +00:00
Scott Lahteine 1df97254cb 🔨 Fix path handling for generic variant (#27528) 2024-11-12 17:44:34 -06:00
Keith Bennett aa80cb0620 🔧 Direct Stepping sanity checks (#27522) 2024-11-12 17:17:49 -06:00
Andrew 4b6109f4e7 🩹 Fix E3V2 types, other warnings (#27507) 2024-11-12 16:54:06 -06:00
ellensp 70c3060769 🚸 Fix menu homing feedrate display (#27518) 2024-11-12 16:22:42 -06:00
ellensp 472f1ece2a 🩹 Fix G61 with no extruders (#27521) 2024-11-12 15:22:50 -06:00
Scott Lahteine f6c58c59c3 🔧 *_ENABLE_ON is LOW/HIGH 2024-11-12 14:47:30 -06:00
Vovodroid e6099fd83f 🚸 Set hybrid edit range to 999 (#27473)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-11-12 14:43:36 -06:00
thinkyhead 13af4e1ef1 [cron] Bump distribution date (2024-11-04) 2024-11-04 00:28:52 +00:00
Scott Lahteine 4869a3ffd9 🧑‍💻 Fix pinsformat.py pin pattern recognition 2024-11-03 16:38:21 -06:00
fmuntean c2d0008d2a M820 Report temporary M810-M819 macros (#27458)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-11-03 16:06:47 -06:00
Scott Lahteine 68ae15e2df 🔧 Extra axis serial RX pins 2024-11-03 16:06:47 -06:00
Scott Lahteine 91e4811534 🔧 Automatic Trinamic RX pins 2024-11-03 16:06:42 -06:00
ellensp d2fab914cd 🐛 Fix Thermocouple flags, allow bed only (#27504) 2024-11-03 14:27:21 -06:00
weldo 846ec6c66b 🩹 Update Ender-3 V3 SE pins (#27495)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-11-03 14:19:06 -06:00
Scott Lahteine d876b5ee3c RP2040 HAL with BTT SKR Pico (#24042) 2024-11-03 14:15:10 -06:00
Scott Lahteine 98ae2ad60a 🔧 Config @ section adjustments 2024-11-03 13:50:00 -06:00
thinkyhead a261a5b9a6 [cron] Bump distribution date (2024-11-03) 2024-11-03 00:30:00 +00:00
Scott Lahteine a7fcb495e4 🔧 Longer LK prefer Onboard SD 2024-11-02 19:12:02 -05:00
Scott Lahteine ea554a0609 🔧 More Quick Sensorless Homing warning 2024-11-02 18:54:27 -05:00
Scott Lahteine 08717d3f60 🔨 Simplify generic variants, update DFU tool (#27502) 2024-11-02 18:42:20 -05:00
thinkyhead 7b104a108f [cron] Bump distribution date (2024-10-30) 2024-10-30 00:27:31 +00:00
Scott Lahteine 9133a2f0f5 🧑‍💻 Ignores for Aider AI 2024-10-29 11:36:41 -05:00
Andrew dff2104c96 🎨 Planner cosmetics (#27497) 2024-10-29 10:38:50 -05:00
thinkyhead 163ca2783f [cron] Bump distribution date (2024-10-29) 2024-10-29 00:28:05 +00:00
ellensp 16f28e747b 🐛 Fix SHAPING_MENU X frequency edit (#27499) 2024-10-28 11:20:01 -05:00
Scott Lahteine 3b7aadb359 🚸 Restore Object Cancel info on Power-Loss Recovery (#27501)
* 🎨 Shorten feature includes
* 🚸 Save Canceled Objects with Power Loss data
2024-10-28 11:17:40 -05:00
thinkyhead 9e8d561549 [cron] Bump distribution date (2024-10-28) 2024-10-28 00:29:09 +00:00
Scott Lahteine b4a3e29fb6 🔨 Pins Debugging fix and cleanup (#27494)
* 🧑‍💻 Ignore Aider additions
* 🔨 Pins Debugging fix and cleanup
* 🔧 Auto-assign UART Rx based on Tx
2024-10-27 14:56:27 -05:00
thinkyhead d2bda128ab [cron] Bump distribution date (2024-10-21) 2024-10-21 00:28:30 +00:00
Scott Lahteine f8bbabfa31 🧑‍💻 Update log_machine_info 2024-10-20 14:02:15 -05:00
Scott Lahteine fc769ef023 🎨 Arduino IDE pins comments, generate version 2024-10-20 13:38:20 -05:00
Andrew 9192ae5213 🚸 EDITABLE_HOMING_FEEDRATE for ProUI (#27469) 2024-10-19 23:30:05 -05:00
Scott Lahteine 4c0e612376 📝 Config end block comments 2024-10-19 22:52:07 -05:00
ellensp b9f7d721ed 🔧 Better BABYSTEP_MULTIPLICATOR_Z sanity-checks (#27471) 2024-10-19 22:42:51 -05:00
schnurly b43d6ed5d3 🚸 MKS UI long filename WiFi upload (#27482) 2024-10-19 21:36:30 -05:00
thinkyhead e824e16a41 [cron] Bump distribution date (2024-10-20) 2024-10-20 00:30:02 +00:00
narno2202 0b72b8d819 🩹 Fix FT Motion LPC176x build (#27474) 2024-10-19 15:41:52 -05:00
Giuliano Zaro 37eb8bb1d5 🌐 Update Italian translation (#27476) 2024-10-19 15:26:48 -05:00
Keith Bennett d2ff2adabd 📌 Pin Ubuntu Runner to 22.04 (#27484) 2024-10-19 15:15:25 -05:00
InsanityAutomation f31cc84c2b 🐛 Fix LCD SPI on DUE (#27480) 2024-10-19 15:12:28 -05:00
thinkyhead 8beec5eaa5 [cron] Bump distribution date (2024-10-19) 2024-10-19 12:09:28 +00:00
Scott Lahteine 4e41ff32e1 🔨 Python config helpers (#27483) 2024-10-19 04:55:04 -05:00
thinkyhead cf137cb73a [cron] Bump distribution date (2024-10-17) 2024-10-17 00:27:08 +00:00
Scott Lahteine d5cc11d996 🧑‍💻 Fix Zed LSP setting 2024-10-16 16:23:57 -05:00
thinkyhead d62a631467 [cron] Bump distribution date (2024-10-14) 2024-10-14 12:10:36 +00:00
Scott Lahteine d6c3f45bda 🚸 LED menu tweaks 2024-10-14 02:03:41 -05:00
Scott Lahteine 81760d6818 🚸 EEPROM reset messages 2024-10-14 02:03:41 -05:00
Scott Lahteine 282f90c1b3 🚸 Ignore first click on asleep LCD 2024-10-14 02:03:41 -05:00
Scott Lahteine 5de9fc556f 🚸 Strings MSG_ZPROBE_[XYZ[OFFSET 2024-10-14 02:03:41 -05:00
Scott Lahteine 3482e9632c 🎨 Outdent, adjust comments 2024-10-14 02:03:41 -05:00
thinkyhead a6493e0cc8 [cron] Bump distribution date (2024-10-12) 2024-10-12 00:26:11 +00:00
Scott Lahteine a08a7b3459 📝 Clarify STRING_CONFIG_H_AUTHOR 2024-10-11 14:27:01 -05:00
Scott Lahteine bd4936330b 🧑‍💻 Language import adjustments 2024-10-11 13:47:28 -05:00
Scott Lahteine 4bb33a0cb9 🔨 Update legacy Makefile 2024-10-11 13:44:51 -05:00
thinkyhead 83e38b3625 [cron] Bump distribution date (2024-10-11) 2024-10-11 06:08:29 +00:00
Scott Lahteine 5b7bb3ea64 📝 Star History 2024-10-10 22:17:12 -05:00
thinkyhead f0b115a999 [cron] Bump distribution date (2024-10-09) 2024-10-09 00:26:50 +00:00
Vovodroid cebed347f5 🔧 Fix LIN_ADVANCE + Extra Axes sanity check (#27110) 2024-10-07 23:32:09 -05:00
Scott Lahteine a66b22c4f1 ♻️ BTT_SKR_3 => BTT_SKR_V3_0
Reverting 3a6bd6920e
2024-10-07 21:09:00 -05:00
thinkyhead fadaa2db09 [cron] Bump distribution date (2024-10-08) 2024-10-08 00:26:43 +00:00
Andrew f8954ca79b 📝 Fix comment missing ')' (#27325) 2024-10-07 13:00:29 -05:00
Scott Lahteine 4a3f69ad6d 🐛 Keep DMA2_Channel1 for STM32F1xx
Followup to #27385
2024-10-07 12:51:32 -05:00
Scott Lahteine 4bf13bea42 🎨 Apply some #ifndef 2024-10-06 20:06:35 -05:00
Scott Lahteine 3a6bd6920e ♻️ BTT_SKR_V3_0 => BTT_SKR_3 2024-10-06 20:06:35 -05:00
thinkyhead 70ef7978b4 [cron] Bump distribution date (2024-10-07) 2024-10-07 00:28:26 +00:00
pbmgit 37bc552f3b PELTIER_BED (#27334)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-10-06 11:14:53 -05:00
thinkyhead e310f20279 [cron] Bump distribution date (2024-10-06) 2024-10-06 00:29:36 +00:00
Scott Lahteine 4708635f4f 🔧 Fix Z3_USE_ENDSTOP check 2024-10-05 15:51:48 -05:00
Scott Lahteine f5d5b0a881 EDITABLE_HOMING_FEEDRATE / M210 (#27456) 2024-10-04 20:41:47 -05:00
thinkyhead 30f5dd339d [cron] Bump distribution date (2024-10-05) 2024-10-05 00:38:56 +00:00
Scott Lahteine 556d716919 Rename @ strings _A => _N 2024-10-04 18:53:15 -05:00
thinkyhead 76afd5afc1 [cron] Bump distribution date (2024-10-04) 2024-10-04 00:48:19 +00:00
rondlh 5c3bc2194a CONTROLLER_FAN_BED_HEATING (#27409) 2024-10-03 19:24:59 -05:00
Scott Lahteine 763cd7c5f2 🔧 Sort out MMU2 / MMU3 (#27455)
Followup to #26635
2024-10-03 19:21:50 -05:00
narno2202 11046b23a9 🔧 FT Motion Linear Advance K factor nnnn.nn (#27416)
Lost part of #26785
2024-10-03 18:32:05 -05:00
Keith Bennett 36b72926f3 BigTreeTech SKRat V1.0 (STM32G0B1VE) (#27361) 2024-10-03 13:44:14 -05:00
Scott Lahteine b35e16b1d8 Remove extra config restore 2024-10-03 13:41:49 -05:00
ellensp 767c87810b 🚸 GCODE_CASE_INSENSITIVE for Emergency Parser (#27449) 2024-10-03 13:19:42 -05:00
thinkyhead 52b6c45451 [cron] Bump distribution date (2024-10-03) 2024-10-03 18:07:32 +00:00
ellensp df5d08aec0 🔧 Retain LCD_LANGUAGE for TFT_COLOR_UI (#27454) 2024-10-03 12:16:53 -05:00
thinkyhead 8c61606691 [cron] Bump distribution date (2024-09-29) 2024-09-29 00:30:05 +00:00
David Fries e70bd3c785 🚸 G28 / G30 return for failed probe deploy (#25652)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-09-28 12:21:37 -05:00
thinkyhead 83cc983276 [cron] Bump distribution date (2024-09-28) 2024-09-28 06:07:33 +00:00
saddfox bbb8275d66 Sovol SV06 Plus Touchscreen (#25864)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-09-27 23:49:28 -05:00
Scott Lahteine 2afc2f268a 🧑‍💻 Remove CREALITY_RTS refs 2024-09-27 21:47:15 -05:00
Scott Lahteine aa44542f76 🔨 Suppress variant build warnings 2024-09-27 20:08:18 -05:00
thinkyhead 248648708f [cron] Bump distribution date (2024-09-25) 2024-09-25 06:08:29 +00:00
Scott Lahteine e2c0150fa8 🔨 Use env[PLATFORM]
Followup to f2d585ac7f
2024-09-24 20:31:41 -05:00
Scott Lahteine 4ef5372151 🔨 Update platform for MKS Tinybee and others (#27433)
* 🔨 Update ESP32 env for MKS Tinybee
* 🔨 Updated LPC common env
* 🔨 Other env improvements

Co-Authored-By: Martin Turski <turningtides@outlook.de>
2024-09-24 20:31:16 -05:00
Scott Lahteine a923771611 🩹 Fix missing _lcd_toggle_bed_leveling (#27439) 2024-09-23 23:52:14 -05:00
Scott Lahteine 74ffa0cc3e 🧑‍💻 More compatible opt helpers 2024-09-23 19:50:07 -05:00
Scott Lahteine f2d585ac7f 🔨 Skip bad compilers 2024-09-23 19:48:31 -05:00
thinkyhead 80cfdb182c [cron] Bump distribution date (2024-09-24) 2024-09-24 00:38:01 +00:00
ellensp 39463268fb ✏️ Assisted Tramming threads followup (#27437)
Followup to 45b9680c57
2024-09-23 19:16:56 -05:00
thinkyhead a7b3989bca [cron] Bump distribution date (2024-09-22) 2024-09-22 00:29:23 +00:00
Scott Lahteine 829212d76a 🎨 MMU2 const types 2024-09-21 17:24:15 -05:00
thinkyhead 0de4a70203 [cron] Bump distribution date (2024-09-19) 2024-09-19 00:25:59 +00:00
Scott Lahteine febfb3218e 🧑‍💻 Make sha256sum for archived binary 2024-09-18 10:39:19 -05:00
thinkyhead 4da46c5dd2 [cron] Bump distribution date (2024-09-18) 2024-09-18 00:25:46 +00:00
Scott Lahteine 353ede8208 🧑‍💻 Fix mftest using disabled MOTHERBOARD 2024-09-17 11:53:32 -05:00
thinkyhead 09de5e76a7 [cron] Bump distribution date (2024-09-17) 2024-09-17 00:21:48 +00:00
Scott Lahteine 73b6ba8fe3 🧑‍💻 More compatible Build Scripts
Followup to d36d9cb506
2024-09-16 17:45:55 -05:00
thinkyhead 72b09fe4cb [cron] Bump distribution date (2024-09-15) 2024-09-15 00:29:15 +00:00
Scott Lahteine e5ad13a8e2 📝 README shorten links, logo credit 2024-09-14 18:38:53 -05:00
thinkyhead b122e46adb [cron] Bump distribution date (2024-09-13) 2024-09-13 00:25:28 +00:00
ellensp 1a5866f5c6 🩹 Fix E3V2 non-TJC font size (#27375) 2024-09-12 17:29:46 -05:00
Scott Lahteine c7e62b33d1 🚸 Probe / Level Menu (#27393)
* 🎨 Housekeeping
* 🚸 Tweak UBL menu
* 🚸 Babystep Probe specific titles
* 🚸 Probe / Level Menu
2024-09-12 17:27:14 -05:00
thinkyhead 1916d4e27f [cron] Bump distribution date (2024-09-10) 2024-09-10 12:10:15 +00:00
Chris ce55a7bd9b 🩹 HC32: pin package versions (#27289) 2024-09-10 04:15:59 -05:00
InsanityAutomation 540120f863 🚸 G425 - Compute primary axes (Y..X) before others (#27382) 2024-09-10 03:16:28 -05:00
InsanityAutomation b99a26d6ab 🐛 Fix Dual Servo Toolchange Z Creep (#27381) 2024-09-10 03:07:44 -05:00
Scott Lahteine 6528109176 CI check boards.h, pins.h (#27415) 2024-09-10 01:11:26 -05:00
thinkyhead b94a0d036c [cron] Bump distribution date (2024-09-09) 2024-09-09 06:08:58 +00:00
David 7634ffe8e5 🚸 Fix alert level after Stow Z-Probe (#27404) 2024-09-08 22:29:35 -05:00
thinkyhead 8bae8bbf7a [cron] Bump distribution date (2024-09-08) 2024-09-08 12:08:37 +00:00
Scott Lahteine 5ce013f414 mfconfig => Configurations repo 2024-09-08 02:35:13 -05:00
Scott Lahteine da4a374b49 🎨 LCD pins cleanup - Sept 8 2024-09-08 01:01:59 -05:00
thinkyhead 81b13456b1 [cron] Bump distribution date (2024-09-07) 2024-09-07 06:07:08 +00:00
Scott Lahteine ee35fb07b0 🔨 Put Tronxy CXY products in build folder (#27353) 2024-09-06 21:31:16 -05:00
Scott Lahteine 99c991755a 🔧 No "base" needed for minimal config (2)
Followup to 90e5826256
2024-09-06 20:40:40 -05:00
thinkyhead a96ae85d88 [cron] Bump distribution date (2024-09-06) 2024-09-06 00:25:23 +00:00
Scott Lahteine 45b9680c57 🔧 Tramming screw threads 2024-09-05 15:21:07 -05:00
Scott Lahteine 83cbed8527 🔧 Config adjustments 2024-09-05 15:21:07 -05:00
Scott Lahteine d36d9cb506 🔧 Use string manglers in scripts 2024-09-05 15:12:24 -05:00
thinkyhead 9e6981ea60 [cron] Bump distribution date (2024-09-05) 2024-09-05 18:06:40 +00:00
Scott Lahteine 2c6f8a30f3 🚸 Fix extra Z raises (#27395) 2024-09-05 12:07:17 -05:00
konradmb 17a5a1f97d 🐛 Fix STM32 SDIO/FSMC DMA overlap (#27385)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-09-05 12:06:59 -05:00
thinkyhead a0815deb9a [cron] Bump distribution date (2024-09-04) 2024-09-04 00:25:26 +00:00
marbocub 76a7ab6893 🩹 Fix FT_MOTION_MENU lambda (#27401) 2024-09-03 14:38:04 -05:00
Scott Lahteine 7cd56a57f9 🎨 Misc. code format (2) 2024-09-03 14:01:30 -05:00
Scott Lahteine 56e2b60e6d 🧑‍💻 Quieter AUTO_REPORT_SD_STATUS option (#27391) 2024-09-03 01:08:49 -05:00
Scott Lahteine 8c15a093fd 🩹 Fix some kinematic conditions (2) 2024-09-02 20:19:31 -05:00
Scott Lahteine 7901eb97ad ️ G30 optimize and comment 2024-09-02 20:07:51 -05:00
Scott Lahteine 7aaba66d4d 🩹 Fix some kinematic conditions 2024-09-02 19:46:29 -05:00
Scott Lahteine 5f0b9d429f 🎨 Misc. code format 2024-09-02 19:46:29 -05:00
thinkyhead d34b62eafa [cron] Bump distribution date (2024-09-03) 2024-09-03 00:24:58 +00:00
DerAndere 3743980192 🔧 Assert zero Z homing clearance for some (#27370) 2024-09-02 18:48:00 -05:00
Scott Lahteine 41d53a15f2 🪠 Granular sub-options (2)
Followup to #27373
2024-09-02 16:02:03 -05:00
Scott Lahteine f234fbf87f 🧑‍💻 Refactor PROGMEM strings (#27390) 2024-09-02 04:28:50 -05:00
Scott Lahteine 5c728d1fb1 🧑‍💻 CardReader::isStillPrinting (#27392) 2024-09-02 01:34:48 -05:00
Scott Lahteine 162ea81894 🧑‍💻 Includes in Conditionals (for code dimming) (#27387) 2024-09-02 00:38:13 -05:00
thinkyhead 97b9fe83ee [cron] Bump distribution date (2024-09-02) 2024-09-02 00:26:20 +00:00
Scott Lahteine 9953230550 🧑‍💻 Build examples --output option (#27389) 2024-09-01 16:34:35 -05:00
Scott Lahteine 80bd10025b 🚸 More TFT Color UI fixes (#27388) 2024-09-01 14:02:03 -05:00
thinkyhead 0876bcd027 [cron] Bump distribution date (2024-08-31) 2024-08-31 00:24:54 +00:00
Scott Lahteine 3d7ac162fb 🧑‍💻 image2bin --transparency flag 2024-08-30 13:06:19 -05:00
Scott Lahteine 68a2459808 🚸 Fix / improve Marlin UI and Color UI 2024-08-29 21:52:14 -05:00
Scott Lahteine 21fddc1cc8 🧑‍💻 Update image2bin with "transparency" color 2024-08-29 21:41:14 -05:00
Scott Lahteine 528a1ad3e0 🧑‍💻 Move Uncrustify config 2024-08-29 21:38:57 -05:00
thinkyhead dabe374983 [cron] Bump distribution date (2024-08-30) 2024-08-30 00:25:03 +00:00
Scott Lahteine 8ac0f14796 🪠 More granular sub-options undef (#27373) 2024-08-28 20:41:12 -05:00
thinkyhead 934fc52d06 [cron] Bump distribution date (2024-08-29) 2024-08-29 00:25:00 +00:00
Scott Lahteine cf46d1880c 🚸 Purge PLR on power-off (2) 2024-08-28 15:46:53 -05:00
thinkyhead 4f159a94cd [cron] Bump distribution date (2024-08-28) 2024-08-28 06:08:14 +00:00
Scott Lahteine b53e14c7f8 🧑‍💻 Guard queue advance_r 2024-08-28 00:42:25 -05:00
Scott Lahteine 94e9f26544 🚸 Purge PLR on power-off 2024-08-28 00:42:25 -05:00
thinkyhead 9e87af70b7 [cron] Bump distribution date (2024-08-27) 2024-08-27 00:24:38 +00:00
Scott Lahteine fe56f5d3a6 🧑‍💻 Improve build_example 2024-08-26 16:11:47 -05:00
Scott Lahteine 90e5826256 🔧 No "base" needed for minimal config 2024-08-26 16:11:13 -05:00
Scott Lahteine bb73c335a5 🩹 Fix Ender-3 S1 Plus build 2024-08-26 16:11:13 -05:00
Scott Lahteine 4c1f76567c 🧑‍💻 build_all_examples --base --archive 2024-08-26 10:50:13 -05:00
Scott Lahteine d193c814d3 🩹 Fix misc warnings 2024-08-26 10:50:13 -05:00
narno2202 2cb252da4a 🩹 Fix FT_MOTION compile (#27367) 2024-08-25 23:20:11 -05:00
thinkyhead 9a04c32f7f [cron] Bump distribution date (2024-08-26) 2024-08-26 00:24:58 +00:00
Scott Lahteine 3b8e9fdd25 🔧 Reduce / update base configs 2024-08-25 00:16:04 -05:00
Scott Lahteine e0b045da49 🧑‍💻 Enhance build example scripts 2024-08-24 20:03:12 -05:00
thinkyhead 4220491a23 [cron] Bump distribution date (2024-08-25) 2024-08-25 00:26:53 +00:00
narno2202 3abe1fcf20 🔧🚸 FT_MOTION adjustments (#27359)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-08-23 23:58:31 -05:00
marbocub 02ed020f3f 🩹 Fix shaping init (#27365) 2024-08-23 23:45:46 -05:00
Scott Lahteine 934ac24ad8 🐛 FT Motion time-based endstop (#27349)
Co-authored-by: ulendoalex <111143418+ulendoalex@users.noreply.github.com>
2024-08-23 23:42:02 -05:00
Scott Lahteine e2d8b2fc26 🚸 Prefer probe XY feedrate for "blocking move"
Reverting part of 89b0143b
2024-08-23 23:32:14 -05:00
thinkyhead 3e8483d389 [cron] Bump distribution date (2024-08-24) 2024-08-24 00:23:23 +00:00
Erkan Ozgur Yilmaz a9c529f004 Prusa MMU3 (#26635)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-08-23 18:33:13 -05:00
Keith Bennett a664587219 🩹 Fix Sensorless Homing Current Warning (#27366) 2024-08-23 17:25:09 -05:00
thinkyhead 1619838592 [cron] Bump distribution date (2024-08-23) 2024-08-23 00:24:05 +00:00
Lubomir Rintel 98a33d37c7 🩹 Fix MINITRONICS v1 pins (#27150) 2024-08-22 11:01:42 -05:00
thinkyhead 12a2e5ae1b [cron] Bump distribution date (2024-08-22) 2024-08-22 00:24:06 +00:00
Scott Lahteine 9b472a02e9 PROBE_TARE_MENU 2024-08-21 18:36:49 -05:00
Scott Lahteine c84bea7110 🚸 LED Default may toggle On 2024-08-21 18:36:49 -05:00
ellensp 20f71fafa7 🧑‍💻 Use sim env for BOARD_SIMULATED in mftest (#27299) 2024-08-21 18:33:58 -05:00
ellensp 056e5a430e 🔧 Azteeg X3 Pro doesn't need DIGIPOTS_I2C_SDA_* (#27337) 2024-08-21 18:25:25 -05:00
Scott Lahteine 21a604407d 🚸 Move solo Case Light menu up 2024-08-21 17:46:27 -05:00
thinkyhead deb076b9cd [cron] Bump distribution date (2024-08-21) 2024-08-21 00:23:53 +00:00
Scott Lahteine b8e2ad9d8f 👷 resume_print params for timeout, filament load
Co-Authored-By: Erkan Ozgur Yilmaz <1786804+eoyilmaz@users.noreply.github.com>
2024-08-20 16:38:10 -05:00
Scott Lahteine 0cd9643957 🎨 Misc. cleanup (from MMU3 PR)
Co-Authored-By: Erkan Ozgur Yilmaz <1786804+eoyilmaz@users.noreply.github.com>
2024-08-20 16:38:10 -05:00
thinkyhead 8c78315f71 [cron] Bump distribution date (2024-08-20) 2024-08-20 00:24:02 +00:00
Scott Lahteine 35dad3fdfe 📝 BIQU MicroProbe followup 2024-08-19 15:00:15 -05:00
Scott Lahteine bebf5dc6ab GENERIC_BACK_MENU_ITEM 2024-08-19 14:50:26 -05:00
Scott Lahteine 2fd1c48e1a 👷 Prefer has_blocks_queued over movesplanned 2024-08-19 14:50:23 -05:00
thinkyhead 301727defc [cron] Bump distribution date (2024-08-18) 2024-08-18 00:26:18 +00:00
Scott Lahteine 1afd53a933 🔨 Suppress some Maple warnings 2024-08-17 18:02:23 -05:00
narno2202 381aeb94c6 🩹 Fix FT Motion toggle in active job (#27335)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-08-17 13:02:05 -05:00
thinkyhead 4a36520820 [cron] Bump distribution date (2024-08-17) 2024-08-17 00:23:13 +00:00
Scott Lahteine 430eedf5c0 👷 Optional IJKUVW endstops 2024-08-16 14:35:29 -05:00
Scott Lahteine 793a851d10 👷 !ELAPSED => PENDING 2024-08-16 14:34:05 -05:00
Scott Lahteine 2d609487ac 👷 FT Motion refactor, minor fix 2024-08-16 14:33:38 -05:00
Scott Lahteine 295f50379f 👷 Add UC elements to axis types 2024-08-16 14:31:51 -05:00
Scott Lahteine ecfff5099a 🎨 Misc. format, cleanup 2024-08-16 00:18:33 -05:00
Scott Lahteine 986344640f 🔧 Minimal configuration with Config.h (#27338) 2024-08-15 23:08:26 -05:00
thinkyhead 69f69606e6 [cron] Bump distribution date (2024-08-16) 2024-08-16 00:23:58 +00:00
sargonphin 2aa2e5487a ️ Improve Homing / Probing Current (#26714)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-08-15 18:30:55 -05:00
John Robertson 23d9020a65 M3 / M4 O for laser/spindle (#26883) 2024-08-15 16:09:41 -05:00
Scott Lahteine 43d9d1ce1b 🩹 Config-related preparations (2) 2024-08-15 15:37:30 -05:00
thinkyhead ed7f3b21c0 [cron] Bump distribution date (2024-08-13) 2024-08-13 00:33:32 +00:00
Scott Lahteine b062a3b226 🎨 FT Motion, axis cleanup 2024-08-12 17:48:41 -05:00
Scott Lahteine 89b0143b09 🔧 Config-related preparations 2024-08-11 20:35:23 -05:00
Scott Lahteine 0790a9d5df 🔧 Fix some LCD probing margins 2024-08-11 20:35:23 -05:00
Scott Lahteine e05ac66561 🔧 Fix extra endstop auto-assignment 2024-08-11 20:35:23 -05:00
Scott Lahteine 3b33f7ec03 🔨 Build script improvements 2024-08-11 20:35:23 -05:00
Scott Lahteine b94c75bcda 🎨 ProUI / MKS UI code cleanup 2024-08-11 20:35:23 -05:00
Scott Lahteine 8dc8906d78 🎨 Conditional probe.h 2024-08-11 20:35:23 -05:00
Keith Bennett ab684dc484 📝 New Discord link (#27330) 2024-08-11 20:02:00 -05:00
Scott Lahteine 37fb26b557 🩹 Fix W axis blocking move
Fixes #27332

Co-Authored-By: thebjtfellow <110046297+thebjtfellow@users.noreply.github.com>
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2024-08-11 20:00:54 -05:00
thinkyhead 7397e5a41d [cron] Bump distribution date (2024-08-12) 2024-08-12 00:25:11 +00:00
Keith Bennett 4a9d380117 🩹 Fix MKS Gen-L V1 PWM pins (#26974)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-08-11 15:45:37 -05:00
thinkyhead 0ec1a54309 [cron] Bump distribution date (2024-08-07) 2024-08-07 00:24:00 +00:00
Bkahl ab6e68c312 🎨 Improve LulzBot FTDI Eve Touch UI (#27275)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-08-06 14:52:17 -05:00
thinkyhead c509603530 [cron] Bump distribution date (2024-08-06) 2024-08-06 00:23:52 +00:00
narno2202 e5ce65c32b 🔧 BIQU MicroProbe + FT_MOTION sanity-check (#27302) 2024-08-05 17:54:18 -05:00
tombrazier 851257c44b 🐛 Fix MPC differential tuning (#27274) 2024-08-05 17:44:15 -05:00
thinkyhead 1662e953fc [cron] Bump distribution date (2024-07-30) 2024-07-30 00:23:59 +00:00
Scott Lahteine dde89795c9 🔨 Rename "BTT" things, MCU-based SKR 2 (#27319)
Co-authored-by: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com>
2024-07-29 13:25:17 -05:00
thinkyhead 6e69ff93ef [cron] Bump distribution date (2024-07-29) 2024-07-29 18:06:59 +00:00
Keith Bennett 01b7d6c413 ️ Hold BTT renaming for later (#27307)
This reverts #27301
2024-07-29 11:25:31 -05:00
Andrew 58398832a1 📝 Tweak G26 O description (#27310)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-29 10:59:12 -05:00
dmitrygribenchuk 29469a0615 🎨 Python style tweaks (#27312) 2024-07-29 10:41:50 -05:00
Andrew b4dd20c0eb 🔨 Use Adafruit NeoPixel 1.12.3 (#27314) 2024-07-29 10:39:21 -05:00
thinkyhead eab13752dd [cron] Bump distribution date (2024-07-27) 2024-07-27 00:23:08 +00:00
Scott Lahteine ad60cdd030 🚸 G42 P as flag (not bool) 2024-07-26 02:40:35 -05:00
Evan Felix 78e111a4d0 🚸 Implement G60 / G61 to spec (#27281)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-26 00:13:52 -05:00
thinkyhead 5558729562 [cron] Bump distribution date (2024-07-26) 2024-07-26 00:23:28 +00:00
Scott Lahteine 2d32f7c377 👷 Smarter Flags<N> templates (#27309) 2024-07-25 15:36:20 -05:00
thinkyhead bcbdac6f6c [cron] Bump distribution date (2024-07-25) 2024-07-25 00:23:35 +00:00
Scott Lahteine acc8bf1c79 👷 Use char in binary send 2024-07-24 03:04:29 -05:00
Scott Lahteine 4f107e9fee 🔨 Suggest gcc14 for macOS Sim 2024-07-24 02:25:56 -05:00
Scott Lahteine 7844f3fa4f 🔨 Use -g2 for macOS Sim build to fix warnings 2024-07-24 01:02:31 -05:00
Keith Bennett 2f3af438ee 🔨 Rename BTT SKR V2.0 PIO envs (#27301) 2024-07-23 21:19:18 -05:00
thinkyhead 4483aa5b45 [cron] Bump distribution date (2024-07-24) 2024-07-24 00:24:31 +00:00
Scott Lahteine 20e6b6315e 📝 Config section reorganization 2024-07-23 17:59:14 -05:00
ellensp ca4248bdd5 🚸 Optional thermistors in Info Menu (#27303) 2024-07-23 16:47:22 -05:00
Scott Lahteine 4a5d8ba87e 👷 Local URL checking script (#26975) 2024-07-23 15:41:29 -05:00
Scott Lahteine 7a5d849857 🔨 No CONFIG_EXAMPLES_DIR in config signature 2024-07-23 15:18:06 -05:00
thinkyhead 95c23e55a4 [cron] Bump distribution date (2024-07-23) 2024-07-23 00:23:49 +00:00
Andrew 94ce0d24d6 👷 Add optimal stepper.set_e_position() (#27293)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-22 15:33:37 -05:00
Scott Lahteine cdea1b8460 👷 ATOMIC_SECTION macros 2024-07-22 14:54:17 -05:00
thinkyhead cc122bec82 [cron] Bump distribution date (2024-07-22) 2024-07-22 06:07:44 +00:00
Keith Bennett 6afaf0034c 🔧 Assert EDGE_STEPPING with TMC drivers (#27292)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-21 20:53:51 -05:00
thinkyhead 7f0d7e760b [cron] Bump distribution date (2024-07-20) 2024-07-20 12:07:55 +00:00
Keith Bennett 69004322f6 👷 Add Simulator CI test (#27288) 2024-07-20 01:47:23 -05:00
thinkyhead 7441094a41 [cron] Bump distribution date (2024-07-19) 2024-07-19 00:24:14 +00:00
Chris 29a5006df9 🧑‍💻 Update HC32 CRITICAL_SECTION macros (#27283)
Fixes #27282
2024-07-17 21:03:35 -05:00
thinkyhead 1aca038daf [cron] Bump distribution date (2024-07-18) 2024-07-18 00:23:29 +00:00
ellensp ce92eb46ec 🔧 Prevent LCD_PINS_EN false pin conflict (#27284) 2024-07-17 18:07:06 -05:00
ellensp c852e9c6a1 🔨 Fix preflight checks order (#27285)
Followup to #27249
2024-07-17 18:01:10 -05:00
ellensp 2b8db0c2e2 🎨 fix endif comment (#27286) 2024-07-17 17:58:55 -05:00
Scott Lahteine 74f297c871 🚸 FT Motion tune menu (#27279)
Co-authored-by: narno2202 <130909513+narno2202@users.noreply.github.com>
2024-07-17 12:05:53 -05:00
thinkyhead 76411392b7 [cron] Bump distribution date (2024-07-17) 2024-07-17 00:23:52 +00:00
Keith Bennett 74c81117c3 🔨 MarlinSimUI updates (#27276) 2024-07-16 14:31:42 -05:00
thinkyhead 6f04d8dc77 [cron] Bump distribution date (2024-07-16) 2024-07-16 00:23:45 +00:00
Scott Lahteine ade05c045e 🚸 Revert FT Motion tune menu 2024-07-15 15:28:03 -05:00
ellensp 5140726c70 🩹 Fix _MAX type warning (#27272) 2024-07-15 14:01:32 -05:00
Scott Lahteine 5334a8f0ed 🚸 Fix UI behavior for G29 with retry (#27146) 2024-07-15 13:59:19 -05:00
Mihai ee99eed3bf 🚸 Improved menu responsiveness with MarlinUI + U8Glib. (#26555)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-15 13:57:25 -05:00
narno2202 9a5f1d2f51 🚸 FT Motion: Linear Advance adjustments (#26785)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-15 13:30:42 -05:00
narno2202 170df9040b 🚸 FT_MOTION Menu available in situ (#26670) 2024-07-15 13:27:10 -05:00
narno2202 f0bc4274f8 🧑‍💻 FT Motion: Individual axis shaping, new buffer management (#26848)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-15 13:13:00 -05:00
thinkyhead 20a704b154 [cron] Bump distribution date (2024-07-15) 2024-07-15 00:24:44 +00:00
ellensp 30a70c480c XTLW boards (#27260) 2024-07-14 12:57:17 -05:00
thinkyhead 1d5e9c7dee [cron] Bump distribution date (2024-07-14) 2024-07-14 06:08:19 +00:00
Scott Lahteine b8ab2d4987 🩹 Fix PINS_EXIST usage 2024-07-13 23:39:27 -05:00
ellensp ce796cec97 🧑‍💻 Fix pins debug / FastIO issues (#27261)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-13 23:33:11 -05:00
thinkyhead ad4de747ad [cron] Bump distribution date (2024-07-13) 2024-07-13 18:05:54 +00:00
Keith Bennett 95c1b7fb31 🔧 USART6 for STM32, expand port range (#27262) 2024-07-13 12:18:47 -05:00
ellensp 29b742cfc4 🔧 Fix MKS Base default 1.4 RGB pins (#27263) 2024-07-13 11:55:40 -05:00
tombrazier 57bda2ff3b 🐛 Fix NUM_ENDSTOP_STATES with Z_MIN_PROBE = Z_MIN (#27190)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-13 11:50:25 -05:00
John Robertson 228179e09b 🩹 Clock-based planner trapezoidal nominal_rate (#26881) 2024-07-13 11:47:46 -05:00
thinkyhead c961f3ab2b [cron] Bump distribution date (2024-07-12) 2024-07-12 00:23:21 +00:00
Scott Lahteine 3469cb9d24 🔧 Fallback STRING_CONFIG_H_AUTHOR 2024-07-11 16:27:52 -05:00
thinkyhead 6c09b83f30 [cron] Bump distribution date (2024-07-11) 2024-07-11 00:23:57 +00:00
ellensp 17a1363f4d 🐛 Fix ERR_EEPROM_NOPROM result (#27255)
Followup to #27199
2024-07-09 21:15:34 -05:00
thinkyhead 115350317c [cron] Bump distribution date (2024-07-10) 2024-07-10 00:23:49 +00:00
Justin Nesselrotte 44c2682168 RS485 support with G-code M485 (#25680)
Co-authored-by: Stephen Hawes <sphawes@gmail.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-09 17:00:14 -05:00
ellensp 8b81aae870 Update preflight-checks.py for windows 2024-07-09 18:55:36 +12:00
thinkyhead 72a2699b10 [cron] Bump distribution date (2024-07-09) 2024-07-09 00:23:05 +00:00
Keith Bennett b7c07f1329 🚸 Fix G33 display precision (3 digits) (#27186) 2024-07-08 19:13:21 -05:00
Vovodroid 2b9a62093a 🚸 Edit IS frequency while moving (#27248) 2024-07-08 19:03:20 -05:00
ellensp 3385b4c280 🔨 Auto-replace BOTH / EITHER in configs (#27249)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-08 18:46:03 -05:00
thinkyhead 7c1f82cd96 [cron] Bump distribution date (2024-07-08) 2024-07-08 18:06:51 +00:00
Roxy-3D 9ebfdc4a86 Update README.md with hotlink to all supported boards 2024-07-08 10:35:41 -05:00
thinkyhead 586313c2fb [cron] Bump distribution date (2024-07-07) 2024-07-07 00:25:40 +00:00
David Buezas 571783fc04 🚸 SD card wake on insert, status screen on remove (#27197)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-06 17:41:02 -05:00
Scott Lahteine 4af5229cee 🧑‍💻 Conditional HAS_LED_POWEROFF_TIMEOUT 2024-07-05 20:08:07 -05:00
thinkyhead e0dcc610da [cron] Bump distribution date (2024-07-06) 2024-07-06 00:22:12 +00:00
Scott Lahteine 4aff10785e 🧑‍💻 Use "enum class" 2024-07-05 18:48:41 -05:00
thinkyhead d0e110d666 [cron] Bump distribution date (2024-07-05) 2024-07-05 06:08:13 +00:00
Vovodroid 10ffb9cb68 FAN_KICKSTART_LINEAR (#27072) 2024-07-04 21:22:16 -05:00
Keith Bennett b303bb1e56 🔧 English as default on MKS H43 (#27218) 2024-07-04 20:57:21 -05:00
Keith Bennett e6a61b182f 🐛 Fix E3S1PRO DGUS builds (#27211)
Partially reverts #26261
2024-07-04 20:37:43 -05:00
Keith Bennett 785b1da021 🐛 Fix YHCB2004 builds (#27210)
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2024-07-04 20:36:17 -05:00
tombrazier a4d20031ec 🐛 Fix backlash intial direction (#27208)
Fix regression from #25791
2024-07-04 20:33:45 -05:00
tombrazier 3c60145792 🩹 Fix "calibration" endstop report (#27207)
Followup to #27204
2024-07-04 20:31:25 -05:00
Keith Bennett f2940adcf1 🔥 Drop BTT Manta XFER environments (#27240)
USB is connected to SoC (CM4/CB1/CB2), not MCU
2024-07-04 19:50:34 -05:00
Keith Bennett b5b9cc0b79 🔥 Drop BOARD_BIGTREE_SKR_V1_2 "renamed" reference (#27230) 2024-07-04 19:48:48 -05:00
ellensp 1d1eb97567 🚸 Update Zonestar OLEDs to SPI (#27220)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-07-04 19:43:17 -05:00
thinkyhead 0103cffcd0 [cron] Bump distribution date (2024-07-02) 2024-07-02 00:23:05 +00:00
Mihai 6fed66dd42 🩹️ Fix judder, optimize planner (#27035) 2024-07-01 13:56:06 -05:00
thinkyhead c81416438d [cron] Bump distribution date (2024-06-30) 2024-06-30 00:25:29 +00:00
Scott Lahteine c95825a0ff 🔧 Simplify sensitive pins (#27219) 2024-06-29 15:50:35 -05:00
David Buezas b6284c9f01 🚸 Skip REINIT_NOISY_LCD for I2C OLED (#27222) 2024-06-29 15:43:08 -05:00
thinkyhead f84a97f51c [cron] Bump distribution date (2024-06-29) 2024-06-29 00:22:24 +00:00
Scott Lahteine 563296fc8b 🩹 LCD_CONTRAST => LCD_CONTRAST_INIT 2024-06-28 12:52:36 -05:00
thinkyhead 13290e798b [cron] Bump distribution date (2024-06-28) 2024-06-28 00:22:46 +00:00
thisiskeithb 96e3dfed46 🩹 Fix/Add Malyan M300 E0_AUTO_FAN_PIN 2024-06-27 19:00:20 -05:00
David Buezas cb6fd130ba ️ Load/init (most) settings after showing boot-screen (#27199)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Peter Ellens <ellensp@users.noreply.github.com>
2024-06-27 18:37:35 -05:00
Scott Lahteine 11f90de873 🩹 Set color 1 on DOGM clear
Followup to `clear_for_drawing`
2024-06-27 18:35:00 -05:00
Keith Bennett 9240ec89d0 Add fail-fast: true default strategy to build test CI (#27215) 2024-06-27 11:50:26 -05:00
thinkyhead 8cf2a41f81 [cron] Bump distribution date (2024-06-27) 2024-06-27 00:22:45 +00:00
Scott Lahteine 1f9fc665ec 🚸 MarlinUI:: clear_for_drawing 2024-06-26 18:27:05 -05:00
Keith Bennett bf1995140a 🔨 TMC2100 is STANDALONE (#27209) 2024-06-26 16:26:42 -05:00
David Buezas 7b21cd5d72 🩹 Don't reinit i2c LCDs (#27194)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-06-26 16:04:58 -05:00
thinkyhead 37fc32d972 [cron] Bump distribution date (2024-06-26) 2024-06-26 06:07:26 +00:00
Ben 9a6d4b5e56 🚸 PLR: Add FR and Flow (#27201)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-06-25 22:34:33 -05:00
thinkyhead 1e0719dac5 [cron] Bump distribution date (2024-06-25) 2024-06-25 00:22:37 +00:00
Jonathan Brazier f2248f79d3 ️ Implement CALIBRATION_GCODE as endstop (#27204) 2024-06-24 14:52:49 -05:00
thinkyhead 60d843b540 [cron] Bump distribution date (2024-06-22) 2024-06-22 06:07:24 +00:00
Keith Bennett 6d7d281559 🔧 Warning for ZV Shaping on CoreQZ (#27200) 2024-06-21 19:38:11 -05:00
thinkyhead b3d462b890 [cron] Bump distribution date (2024-06-20) 2024-06-20 18:07:46 +00:00
Scott Lahteine a7444021c6 🔨 Fatal error for wrong GCC on macOS Native Sim 2024-06-20 12:53:58 -05:00
thinkyhead a93acbd35c [cron] Bump distribution date (2024-06-17) 2024-06-17 00:24:05 +00:00
Vovodroid d978123289 🔧 Nonlinear Extrusion optional Adaptive Smoothing (#27175) 2024-06-16 16:21:57 -05:00
Keith Bennett ee8dada752 ♻️ DISABLE_ENCODER => NO_BACK_MENU_ITEM (#27180) 2024-06-16 16:10:12 -05:00
ellensp 7bc6261d2a 🐛 Mount media early for POWER_LOSS_RECOVERY (#27177) 2024-06-15 20:14:46 -05:00
thinkyhead 013c3bcd82 [cron] Bump distribution date (2024-06-16) 2024-06-16 00:31:38 +00:00
Scott Lahteine 2fc86ad836 🐛 Fix homing when FT Motion exists (#27179) 2024-06-15 19:11:19 -05:00
Mihai 082dc24865 🧑‍💻 Adjust pulse_phase_isr code guards (#27112) 2024-06-15 18:01:36 -05:00
Mihai d7b6acc03d ️ Optimize LPC176x set_pwm_duty (#27178) 2024-06-15 17:55:45 -05:00
thinkyhead a1dc2856de [cron] Bump distribution date (2024-06-15) 2024-06-15 00:22:26 +00:00
Andrew 959be66cc2 🔨 Build scripts cleanup (#27157)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-06-14 16:01:34 -05:00
thinkyhead ae2843940f [cron] Bump distribution date (2024-06-14) 2024-06-14 06:07:52 +00:00
Mihai 611ceedc1d 🐛 Fix step oversampling with NONLINEAR_EXTRUSION (#27171)
Followup to #27113
2024-06-13 23:05:05 -05:00
thinkyhead 38298076d6 [cron] Bump distribution date (2024-06-13) 2024-06-13 18:06:44 +00:00
Nicolas Graziano 1f0b8d6cd8 🚸 AnyCubic Vyper LCD improvements (#27158)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-06-13 11:50:16 -05:00
thinkyhead e0d683baed [cron] Bump distribution date (2024-06-12) 2024-06-12 00:22:43 +00:00
Nicolas Graziano f4f75b6b12 🔨 Rename AnyCubic Vyper binary (#27167)
The vyper board need a file name which begin with 'main_board_'
2024-06-11 14:31:57 -05:00
thinkyhead fb6dc90a85 [cron] Bump distribution date (2024-06-11) 2024-06-11 00:22:36 +00:00
Bob Kuhn b99391c810 🚸🐛 Anycubic Vyper fixes (1) (#26261) 2024-06-10 14:20:03 -05:00
Vovodroid d9fc4f3a99 🚸 Nonlinear Extrusion polynomial Av^2+Bv+C (#27162) 2024-06-10 13:42:28 -05:00
Scott Lahteine daeffbc944 🚸 Prefer friendly Power Off over Auto-unalive 2024-06-10 12:51:21 -05:00
Scott Lahteine 87dde46fb0 🔧 Assume RAMPS_CREALITY is not CR2020 2024-06-10 12:51:21 -05:00
thinkyhead d96c6f867d [cron] Bump distribution date (2024-06-10) 2024-06-10 06:07:31 +00:00
Scott Lahteine 1f2e6d5434 📝 "Boards Manager" 2024-06-09 17:38:55 -05:00
thinkyhead 232b989d50 [cron] Bump distribution date (2024-06-09) 2024-06-09 00:25:46 +00:00
TheRaf974 d38261c908 🔧 Overridable SUICIDE_PIN for RAMPS_CREALITY (#27143) 2024-06-08 16:45:51 -05:00
Ryan P 3075bc3b7b 🚸🐛 SW SPI Mode 3 for U8G on STM32 (#27111) 2024-06-08 16:03:21 -05:00
Scott Lahteine 842d0b1c9f 🎨 Misc. SPI cleanup 2024-06-08 15:55:36 -05:00
Scott Lahteine 042b238dd8 🧑‍💻 USE_SOFTWARE_SPI => SDFAT_USE_SOFTWARE_SPI 2024-06-08 15:55:36 -05:00
Scott Lahteine c30904b631 🧑‍💻 U8G_SPI_USE_MODE_3 for *_MINI_12864 2024-06-08 15:55:36 -05:00
Mihai 225a71f4cd ️ Optimize LPC176x pin toggle (#27149) 2024-06-08 13:33:08 -05:00
ellensp 1d29a56344 🔧 Fix Z_MULTI_ENDSTOPS pin post-process (#27137) 2024-06-08 13:27:13 -05:00
ellensp 320e00267d ✏️ Fix comma typo (#27138) 2024-06-07 20:38:44 -05:00
thinkyhead 9869629b67 [cron] Bump distribution date (2024-06-08) 2024-06-08 00:23:12 +00:00
Scott Lahteine 3da78e85bf 📝 Remove dead video links 2024-06-07 17:25:42 -05:00
thinkyhead 11a4314261 [cron] Bump distribution date (2024-06-06) 2024-06-06 06:07:15 +00:00
Mihai 65c19f82b9 🔧 Minimum Stepper Pulse in Nanoseconds (#27113) 2024-06-05 21:26:09 -05:00
thinkyhead 0169cde8a4 [cron] Bump distribution date (2024-06-03) 2024-06-03 00:23:09 +00:00
InsanityAutomation ab0173b7e6 🚸 ExtUI: Shaping, Probing limits (#26754) 2024-06-02 14:45:19 -05:00
thinkyhead 95f81d2565 [cron] Bump distribution date (2024-05-29) 2024-05-29 00:26:13 +00:00
Scott Lahteine 9c922f0eab 🧑‍💻 Fix test STM32F103RC_btt_USB 2024-05-28 19:05:03 -05:00
Scott Lahteine 35a03d66e5 🔨 Update SAMD51 build deps 2024-05-28 18:49:39 -05:00
Mihai a4a0887fa7 🐛 Fix NONE, ALL, EVAL macro collision (#27132) 2024-05-28 18:22:39 -05:00
thinkyhead e7c9cf3e1d [cron] Bump distribution date (2024-05-27) 2024-05-27 00:22:53 +00:00
ellensp 6710616a09 🩹 Longer3D LK has ONBOARD_SDIO (#27129) 2024-05-26 12:09:18 -05:00
Scott Lahteine 2064c83c66 🚸 Fix SD nav after "one click print" (2) 2024-05-26 12:04:14 -05:00
thinkyhead 2e97ad1f4b [cron] Bump distribution date (2024-05-26) 2024-05-26 12:07:31 +00:00
Scott Lahteine 4f85f88ae3 🚸 Fix SD nav after "one click print" 2024-05-26 02:18:37 -05:00
thinkyhead 181a57ae9b [cron] Bump distribution date (2024-05-24) 2024-05-24 00:22:18 +00:00
Keith Bennett 3ee1248cf2 🩹 Even more Z input shaper followup (#27119)
Followup to #27118
2024-05-23 14:58:22 +12:00
thinkyhead 68c3916d46 [cron] Bump distribution date (2024-05-23) 2024-05-23 00:21:53 +00:00
Keith Bennett e3bbacd8b9 📝 Update Input Shaping comments (#27116)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-22 18:30:44 -05:00
Scott Lahteine f915371248 🧑‍💻 More language cleanup 2024-05-22 17:37:13 -05:00
Andrew ea848aa891 🩹 Z input shaper followup (#27118)
Followup to #27073
2024-05-22 14:07:04 -05:00
Scott Lahteine 5157849c60 🧑‍💻 Remove unused strings, label some 2024-05-22 13:07:33 -05:00
Scott Lahteine ca31f9789e 🩹 Fix LCD getFreeTxBuffer typo 2024-05-21 19:26:18 -05:00
Scott Lahteine 78d3cf1de1 🎨 PGM => _P rename 2024-05-21 19:26:18 -05:00
Scott Lahteine 521e7eafce 🧑‍💻 Clarify media "mounted" 2024-05-21 19:26:18 -05:00
thinkyhead 2d78a80cf6 [cron] Bump distribution date (2024-05-22) 2024-05-22 00:21:43 +00:00
Miguel Risco-Castillo 5f32698da5 Ender-3 V3 board CR4NS200320C13 (#27003) 2024-05-21 15:20:12 -05:00
thinkyhead 1845056014 [cron] Bump distribution date (2024-05-21) 2024-05-21 00:22:16 +00:00
Jason Smith 0b8ec2aa74 🎨 Decimal TMC address (#27028) 2024-05-20 17:16:49 -05:00
ellensp 578bdd4b20 🧑‍💻 Address trailing spaces (#27108) 2024-05-20 00:04:51 -05:00
Jonathan Brazier 6b6865d068 INPUT_SHAPING_Z (#27073) 2024-05-20 00:03:03 -05:00
Andrew 6c018eb770 📝 Update some G-code and other comments (#27034) 2024-05-20 00:01:05 -05:00
ellensp 5561bafbe6 M110 Get Command Line Number (#27090)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-19 23:11:30 -05:00
ellensp 75eee04972 🩹 Return 0 for bad index in Temperature::getHeaterPower (#27037)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-19 23:10:15 -05:00
ellensp ee1d1faa52 🔨 Sim pins / INI cleanup 2024-05-19 23:07:24 -05:00
Chris dbd3e10959 🩹 Solid background for DWIN_MARLINUI text (#27029) 2024-05-19 22:53:45 -05:00
Andrew fde330af5a 🎨 Fix MarlinUI "untyped" string args (#27046) 2024-05-19 21:50:24 -05:00
Keith Bennett e8d953257e 🔨 Warn about Input Shaping + I2S_STEPPER_STREAM (#27051) 2024-05-19 21:45:57 -05:00
Keith Bennett cc86e9ecce Fix CI badge (#27060) 2024-05-19 21:44:22 -05:00
vrooze 5a6db519d6 Ender-3 V2 LCD with SKR 3[EZ] (#27061) 2024-05-19 20:31:53 -05:00
thinkyhead 98d09e5304 [cron] Bump distribution date (2024-05-20) 2024-05-20 00:35:32 +00:00
Vovodroid d87a0ea7f7 🚸 Quickly apply touch screen fan/laser edit (#27064) 2024-05-19 19:32:43 -05:00
Dave Gateman 0e2bd069d4 🩹 Fix cutter power extra '%' (#27105) 2024-05-19 18:53:38 -05:00
ellensp feca9a33d5 SHOW_CUSTOM_BOOTSCREEN for HD44780 (#26793)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-19 18:51:52 -05:00
Scott Lahteine eec1aec071 🐛 Fix multi-byte menu string buffer overrun (#27100) 2024-05-19 18:43:04 -05:00
Scott Lahteine a97d1088f0 🔧 Ensure distinct languages (#27107) 2024-05-19 18:42:07 -05:00
Scott Lahteine a7317de3b4 🔨 Sim needs GLM_ENABLE_EXPERIMENTAL 2024-05-19 14:12:17 -05:00
thinkyhead 06762db050 [cron] Bump distribution date (2024-05-18) 2024-05-18 00:22:00 +00:00
Vovodroid 4f3ebea3a6 🐛 Fix FT_MOTION block reference (#27063) 2024-05-17 16:47:44 -05:00
ellensp fa88e0f054 🔨 Windows Simulator needs -DGLM_ENABLE_EXPERIMENTAL (#27092) 2024-05-17 16:04:36 -05:00
Mihai 2fd7c2b865 ️ Fix motion smoothness (#27013) 2024-05-16 20:48:21 -05:00
jam-berg ef0bd975cf 🩹 Fix Ender 2 Pro EXP1-7 pin (PB15 / LCD_RS) (#27074) 2024-05-16 20:23:17 -05:00
Keith Bennett bdc14ddbd7 ️ Revert DELTA Z endstop homing patch (#27088)
Reverts #26297 f7a3172c20
2024-05-16 20:18:41 -05:00
Mihai 383e6f4646 🐛 Move LASER_POWER_TRAP cruise to cruise block (#27031) 2024-05-16 20:05:27 -05:00
thinkyhead e37415c95b [cron] Bump distribution date (2024-05-17) 2024-05-17 00:22:14 +00:00
Scott Lahteine a33112a4c0 🐛 Reorder FLOAT_SQ
Followup to 5f96dffb
2024-05-15 20:30:14 -05:00
thinkyhead 7e8007f024 [cron] Bump distribution date (2024-05-16) 2024-05-16 00:21:28 +00:00
Chris f320c2a455 🧑‍💻 Define, apply F_CPU on HC32 (#27086)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-15 18:10:04 -05:00
Chris 6eedeaedaf 🐛 Fix HC32 temperature ADC (#27085) 2024-05-15 15:49:40 -05:00
Chris 6b5e19cfc4 🐛 Fix HC32 watchdog timeout (#27084)
by reducing PCLK3 clock
2024-05-15 15:45:52 -05:00
ellensp 3dc437add4 🎨 Apply TERN0/1 for some contexts (#27036) 2024-05-15 15:42:19 -05:00
Scott Lahteine 5f96dffb9b 🧑‍💻 FLOAT_SQ macro 2024-05-15 15:21:39 -05:00
Mihai 6423b8031d ️ Add / enforce min_entry_speed_sqr (#27089) 2024-05-15 15:01:56 -05:00
thinkyhead bbdad79ce5 [cron] Bump distribution date (2024-05-13) 2024-05-13 00:22:55 +00:00
Keith Bennett a2daee8f7a 📝 MPCTEMP is tested (#27075) 2024-05-12 17:39:58 -05:00
ellensp 909e3ad116 🩹 Motor PWM followup (#27087)
Followup to 08fe8a3076
2024-05-12 17:31:02 -05:00
Scott Lahteine 556616c4f0 🧑‍💻 Controller warning as macro 2024-05-12 14:37:27 -05:00
Miguel Risco-Castillo 46e426ce96 📝 Use "based on" for partial ProUI (#26998) 2024-05-12 13:28:38 -05:00
Alexander Thomas Julian f5f6c37c17 🐛 LCD Bed Tramming fixes (#26962)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-12 13:25:14 -05:00
Scott Lahteine 08fe8a3076 🔧 Undef motor current PWM for unused axes 2024-05-12 13:21:32 -05:00
thinkyhead dabcea991f [cron] Bump distribution date (2024-05-12) 2024-05-12 00:24:03 +00:00
Scott Lahteine 4a5bd47b6a 🎨 Apply MUL_TERN 2024-05-11 13:41:15 -05:00
thinkyhead e5742a98df [cron] Bump distribution date (2024-05-11) 2024-05-11 18:06:35 +00:00
Keith Bennett 774cecc3b4 🩹 Fix AT90USB1286 PIO upload (#27070) 2024-05-11 12:03:04 -05:00
Keith Bennett 83b7e32ec4 🩹 Fix Nextion cstr/fstr typo (#27071) 2024-05-11 12:02:17 -05:00
thinkyhead a22155bd96 [cron] Bump distribution date (2024-05-10) 2024-05-10 00:21:41 +00:00
narno2202 1da947f548 ️ FT_MOTION : Core and other refinements (#26720)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Ulendo Alex <alex@ulendo.io>
2024-05-09 16:57:23 -05:00
David Buezas a3960dfa53 🚸 New encoder logic & debounce (#26723)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-09 16:20:57 -05:00
thinkyhead bab1917311 [cron] Bump distribution date (2024-05-07) 2024-05-07 01:00:35 +00:00
Andrew 49348716f5 🩹 Fix printf et.al. expecting F-strings (#27032) 2024-05-06 18:58:00 -05:00
thinkyhead eb781afe7b [cron] Bump distribution date (2024-05-03) 2024-05-03 00:21:23 +00:00
Jason Smith 39f53c3f8c 🧑‍💻Improve make tests-all-local (#27040)
* Sleep 5 seconds between platforms

* Inform users if they need to install pyyaml

* Fix old workflow name

* Skip linux_native on Darwin
2024-05-02 06:36:24 -07:00
thinkyhead b5307aaaad [cron] Bump distribution date (2024-05-02) 2024-05-02 00:21:16 +00:00
Andrew f5cf667c95 🎨 Clarify some string parameters (#26949)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-05-01 15:08:15 -05:00
thinkyhead 737095f852 [cron] Bump distribution date (2024-04-30) 2024-04-30 00:20:48 +00:00
Keith Bennett f56952c9e6 🔧 Assert TMC slave addresses, minor pins cleanup (#26842) 2024-04-28 22:17:02 -07:00
Keith Bennett ca5a7be5e8 🔧 More suppressible warnings (#27009)
* 🔧 Suppressible LCD contrast warning

* 🔧 Suppressible Z_SAFE_HOMING warning

* 🔧 Suppressible user feedback warning
2024-04-28 18:15:07 -07:00
thinkyhead 582c5a36d7 [cron] Bump distribution date (2024-04-29) 2024-04-29 00:21:47 +00:00
Chris a8058729cc 🩹Free debug pins in HC32 HAL (#26985)
implements DISABLE_DEBUG and DISABLE_JTAG in HAL
2024-04-28 15:59:28 -07:00
Keith Bennett a2f024ffe3 🔧 Rework MKS Monster8 pins (#26988) 2024-04-28 15:53:48 -07:00
thinkyhead e1d65cc5e0 [cron] Bump distribution date (2024-04-28) 2024-04-28 00:23:55 +00:00
ellensp 75cda8d191 📝Update comments to match board labeling (#27016) 2024-04-27 13:13:00 -07:00
thinkyhead af8dcc6ee8 [cron] Bump distribution date (2024-04-25) 2024-04-25 00:29:51 +00:00
Scott Lahteine 2270bf41d7 🩹 IA-Creality minor cleanup 2024-04-24 18:09:32 -05:00
Scott Lahteine 489ef6e5e1 🩹 Simple IA-Creality babystep patch
See https://github.com/MarlinFirmware/Marlin/issues/26896#issuecomment-2015630458

Co-Authored-By: ellensp <530024+ellensp@users.noreply.github.com>
2024-04-24 17:58:51 -05:00
InsanityAutomation cecc745844 🚸 Fix duplicate temperature report (#26952) 2024-04-24 17:51:08 -05:00
thinkyhead 5366362e47 [cron] Bump distribution date (2024-04-24) 2024-04-24 00:46:36 +00:00
ellensp a1ecea60fd ✏️ MPCTEMP_START => MPC_STARTED (#27002) 2024-04-23 19:35:11 -05:00
Keith Bennett 882421a03e 🔧 BIQU MicroProbe V2 pull-up warning (#27008) 2024-04-23 19:19:02 -05:00
Jason Smith a36f72e886 🎨 Format pins which fail validation (#27007) 2024-04-23 14:19:14 -07:00
Jason Smith 247e989377 CI - Validate Pins Formatting (#26996) 2024-04-22 21:10:35 -05:00
thinkyhead 91ae676b9b [cron] Bump distribution date (2024-04-23) 2024-04-23 00:21:36 +00:00
Scott Lahteine a955e06259 🎨 Clean up after recent PRs 2024-04-22 18:59:18 -05:00
thinkyhead 31683ce35b [cron] Bump distribution date (2024-04-22) 2024-04-22 00:22:27 +00:00
Jason Smith d773570cd6 🐛 Fix Flags<N> data storage width (#26995)
* Fix Flags and associated unit tests
2024-04-21 00:24:57 -07:00
Jason Smith 556da2b3fc Add additional unit tests for types.h (#26994)
* Add more XYval (and similar) unit tests

* Add  Flags tests, with multiple BUGs identified
2024-04-20 23:59:43 -07:00
Jason Smith 9e19a6efe1 Unit test improvements (#26993)
- Reset config.ini in restore_configs
- Allow running a single configuration of unit tests locally
2024-04-20 23:40:26 -07:00
InsanityAutomation f433b2c433 🔧 Add RAMPS TMC SPI pins when !TMC_USE_SW_SPI (#26960)
* Allows RAMPS to auto assign HW SPI Pins for TMC
2024-04-20 18:27:56 -07:00
Aron List bc0d7d7140 🐛 Fix PID upon entering PID_FUNCTIONAL_RANGE (#26926)
The PID algorithm did not cache the last seen temperature until it entered the PID_FUNCTIONAL_RANGE. This caused an incorrect output power to be calculated temporarily while the algorithm caught up.

This has likely always been a problem for bed and chamber PID. For the hotend this error was introduced in refactoring in commit 54e7b933cd.
2024-04-20 18:18:49 -07:00
thinkyhead 24f8831021 [cron] Bump distribution date (2024-04-21) 2024-04-21 00:23:15 +00:00
Jason Smith 9a8fb80eed 🎨Match unit test folder structure to code (#26990) 2024-04-20 17:00:07 -07:00
Jason Smith ca12459b9c Skip compile tests when editing unit tests (#26991) 2024-04-20 15:55:30 -07:00
InsanityAutomation e1ab911c35 📝Improve Freeze Feature comment (#26959)
* Fix and Improve Freeze Feature comment
2024-04-20 14:58:13 -07:00
ellensp 58d4494365 add ui_api.h include (#26977) 2024-04-20 14:48:31 -07:00
ellensp d502e5beaa 🐛 Fix auto-assignment errors for J and U axis (#26979) 2024-04-20 14:46:48 -07:00
Chris b4a95db7da 🚨Fix buffer overrun warning in UBL (#26984)
to account for null terminator
2024-04-20 14:43:31 -07:00
thinkyhead 02ba6f9f3a [cron] Bump distribution date (2024-04-19) 2024-04-19 00:21:25 +00:00
Andrew dba0010607 🎨 Rename some G-code files (#26981) 2024-04-18 18:04:03 -05:00
I3DBeeTech 90667f6114 🐛 Fix BLACKBEEZMINI fan, info (#26983) 2024-04-18 15:54:17 -05:00
thinkyhead d6961b2626 [cron] Bump distribution date (2024-04-17) 2024-04-17 06:06:51 +00:00
Javlon Sodikov 07ebb8171f 🩹Fix ProUI error when !CASELIGHT_USES_BRIGHTNESS (#26976)
* Fix the compile error with the case light menu

Fix the compile error with the case light menu

* Add failing test

---------

Co-authored-by: Jason Smith <jason.inet@gmail.com>
2024-04-16 22:25:22 -07:00
thinkyhead 245db73929 [cron] Bump distribution date (2024-04-16) 2024-04-16 18:06:16 +00:00
Scott Lahteine 9342dae8f0 📝 Remove dead PDF links 2024-04-16 12:18:26 -05:00
thinkyhead 1f84f50fd8 [cron] Bump distribution date (2024-04-15) 2024-04-15 02:38:10 +00:00
Scott Lahteine 3326c749f8 📝 Minor README changes 2024-04-14 16:36:56 -05:00
Scott Lahteine 0269106066 🎨 Dagoma D6 followup 2024-04-14 16:24:51 -05:00
Sophist 95d38a8e54 Add Dagoma D6 as found in DiscoUltimate v2 TMC (#26874)
* Add Dagoma D6 board as used in their DiscoUltimate v2 TMC.

Taken from the Dagoma fork of Marlin DU_MC branch where it is called FYSETC_DAGOMA_F5 and explicitly confirmed by Dagoma as being the D6:

"the BOARD_FYSETC_DAGOMA_F5 is effectively the definition for the D6"

---------

Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Co-authored-by: Orel <37673727+0r31@users.noreply.github.com>
2024-04-14 13:04:52 -07:00
Chris dca6afc26e 🐛 HC32 - Add SERIAL_DMA, fix SDIO and MEATPACK (#26845)
* fix meatpack on hc32

* add support for SERIAL_DMA on HC32

* add additional checks in HC32 HAL

* migrate HC32 HAL to use app_config.h

* fix memory leak in HC32 sdio HAL
https://github.com/MarlinFirmware/Marlin/pull/26845#issuecomment-1980218771

* hc32: fail if both EMERGENCY_PARSER and SERIAL_DMA are enabled
2024-04-14 11:42:57 -07:00
Jason Smith 19684f23bc Add unit tests for macros.h (#26968) 2024-04-13 17:49:08 -07:00
Keith Bennett 52a561399e ️ Revert unintended README changes (#26967)
* Revert all the changes that went in with the unit test framework
This restored broken links and other changes. Restoring to the prior revision seems the most appropriate action until the intentions of those file changes are known.
---------

Co-authored-by: Jason Smith <jason.inet@gmail.com>
2024-04-13 17:47:16 -07:00
thinkyhead 0683e8a9a3 [cron] Bump distribution date (2024-04-14) 2024-04-14 00:24:15 +00:00
Jason Smith 1bb4a042e2 Unit test improvements (#26965)
* Do not warn about display in unit tests

* Treat warnings as errors in unit tests

* Report actual filenames with unit tests
2024-04-13 14:11:51 -07:00
Jason Smith d10861e478 Add unit testing framework (#26948)
- Add a framework to build and execute unit tests for Marlin.
- Enable unit test execution as part of PR checks.

---------

Co-authored-by: Costas Basdekis <costas.basdekis@gmail.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-04-13 12:06:08 -07:00
Andrew cf7c86d581 🔧Fix M936 in features.ini (#26957) 2024-04-13 11:59:59 -07:00
David Buezas d99e150097 ️Reduce DISPLAY_SLEEP_MINUTES overhead (#26964) 2024-04-13 09:54:25 -07:00
thinkyhead 9e88eb6100 [cron] Bump distribution date (2024-04-13) 2024-04-13 12:06:36 +00:00
Vovodroid 71d9a3e1df 🩹 Fix M413 report (#26846) 2024-04-13 00:04:34 -07:00
InsanityAutomation 6575dcc803 🩹 Reduce Kill Pin Wait (#26945)
Reduce kill pin wait time, and allow override by setting KILL_DELAY
2024-04-12 23:40:59 -07:00
InsanityAutomation 2715e5ba1b 🐛Fix IDEX X2 Direction (#26958)
* Fix IDEX X2 Direction

* Sanity Check IDEX X1_MAX_POS
2024-04-12 23:29:59 -07:00
thinkyhead 9a570b23a3 [cron] Bump distribution date (2024-04-11) 2024-04-11 12:07:54 +00:00
Andrew 1b091ecb87 ✏️Minor style and typo fixups (#26947)
* tweaks from PR, whitespace, wording in pause.h

* Update Marlin/src/feature/pause.h
2024-04-10 23:13:54 -07:00
InsanityAutomation 0bfa253b73 Use getter 2024-04-10 15:15:24 -04:00
thinkyhead a75a5f8b2a [cron] Bump distribution date (2024-04-10) 2024-04-10 06:13:36 +00:00
ellensp 80dd02fbdb 📝 Update RGB565 color picker url (#26951) 2024-04-09 23:02:32 -07:00
Keith Bennett e6755450df 🩹 Fix ESP3D WiFi Support (#26822) 2024-04-09 22:58:13 -07:00
ellensp 9215bf791b 🔨 MarlinSimUI updates (#26955) 2024-04-09 22:50:21 -07:00
thinkyhead 311bfc99f3 [cron] Bump distribution date (2024-04-08) 2024-04-08 00:21:49 +00:00
InsanityAutomation 1117aff777 Merge branch 'MarlinFirmware:bugfix-2.1.x' into ParseSafetyCommandsEvenWithEParser 2024-04-07 18:59:07 -04:00
Keith Bennett a3434de2e6 🩹 Fix MCU check for STM32H7-based BTT Octopus Pro V1 (#26831)
* 🩹 Fix MCU check for STM32H7-based BTT Octopus Pro V1

Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>

* Update Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h

---------

Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2024-04-07 12:05:35 -07:00
Keith Bennett 2bf56b00d4 🔧 Improve BIQU BX pins, allow Z swap (#26871)
* Add a swap Z & E1 option for BIQU BX

Users can add #define BX_SWAP_ZM_E1M to their config instead of opening their printer up & swapping Z & E1 motor cables. Allows G34 to work correctly on early BX printers since both Z motor wires were installed without a standard procedure in place and wires could be swapped from the factory.

* Add BOARD URL, DIAG pin info, update pin comments

* Add WIFISUPPORT defines for documentation purposes

WIFISUPPORT does not need to be enabled (read: shouldn't be enabled). Simply enable an available SERIAL_PORT*, set it to 4, and connect an ESP-01/ESP-01S flashed with luc-github's ESP3D firmware for basic WiFi functionality.

* Sanity check TOUCH_SCREEN_CALIBRATION on GT911 TFTs (BIQU BX TFT70)

Use a sanity check so it's clear which options are valid for TFT_TOUCH_DEVICE_GT911 / BIQU_BX_TFT70.
2024-04-07 10:49:36 -07:00
InsanityAutomation b616b0a67a Update Conditionals_adv.h 2024-04-07 13:24:13 -04:00
InsanityAutomation bca0f55a5e Always parse safety commands at all levels 2024-04-07 13:13:15 -04:00
Andrew Bortz c31d9e717b 🩹Fix ProUI Z probe offset text (#26832) 2024-04-07 09:37:37 -07:00
narno2202 d9d7820b0d 🩹 Set correct LCD serial port for MKS_MONSTER8_V1 (#26879) 2024-04-07 08:52:35 -07:00
sargonphin 9343247e07 🩹Increase range of G34 accuracy target (#26771)
* Allow G34 accuracy down to 0.001mm, previous minimum was 0.01mm.
2024-04-07 08:48:13 -07:00
ellensp 351a1a1332 🔧 Add UART 5 for SKR Mini E3 V3.0 (#26825) 2024-04-06 23:29:19 -07:00
thinkyhead 7e9868d762 [cron] Bump distribution date (2024-04-07) 2024-04-07 06:05:53 +00:00
ellensp d1cf817660 🐛 Fix CREALITY_ENDER2P_V24S4 pins (#26908) 2024-04-06 22:57:42 -07:00
Vovodroid c91771a51e 🩹Disable nonlinear extrusion on unretract (#26824)
* Fixes disable NLE on unretract #26808, which reported blobs at the start of lines during unretract.
2024-04-06 22:41:01 -07:00
ellensp a337a43bfd 🩹 Fix type mismatch when SEGMENT_LEVELED_MOVES disabled (#26819) 2024-04-06 21:47:40 -07:00
Keith Bennett 77f93e0b8c 🩹 Fix Mini 12864 on BTT Kraken (#26918)
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2024-04-06 21:22:25 -07:00
Keith Bennett 7dc7195696 🩹 Fix active extruder indicator (#26834)
* 🩹 No active extruder when any of several incompatible features are enabled
2024-04-06 21:17:00 -07:00
ellensp 56773bd80e 🩹 add onSetMinExtrusionTemp to anycubic_viper (#26933) 2024-04-06 21:11:32 -07:00
thinkyhead 1dec9831d3 [cron] Bump distribution date (2024-04-06) 2024-04-06 06:06:36 +00:00
Jason Smith 390f1f7c69 🐛 Don't apply settings during validation (#26935)
Check the `validating` variable before applying settings for several features.
This specifically avoids settings corruption for BACKLASH_PREVENTION, which has side-effects when first applied using incorrect values.
2024-04-05 17:27:30 -07:00
Jason Smith d30fcb8fff 🐛 Fix bool evalution of XYval and similar types (#26936)
Require explicit cast to get T* pointers from XYval and similar types. This prevents the pointer from being implicitly returned and checked for nullptr when trying to evaluate these structs in boolean expressions.
2024-04-05 17:24:58 -07:00
thinkyhead 17dfe8edc9 [cron] Bump distribution date (2024-04-03) 2024-04-03 00:20:46 +00:00
Scott Lahteine 7b6b6e1c3e 🩹 Revert motion change 2024-04-01 22:20:28 -05:00
Sophist 60f2837a98 🔧 Minor INPUT_SHAPING config fixes (#26882)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-04-01 21:30:04 -05:00
thinkyhead ef5fb390ec [cron] Bump distribution date (2024-04-02) 2024-04-02 00:20:47 +00:00
Andrew 87e94f4563 🚸 Update ProUI Plot graph - part 2 (#26563)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-04-01 15:05:11 -05:00
thinkyhead 017a9032f1 [cron] Bump distribution date (2024-04-01) 2024-04-01 00:23:48 +00:00
Scott Lahteine 466282f322 🩹 Misc. changes from ProUI / ExtUI updates (#26928) 2024-03-31 18:20:37 -05:00
thinkyhead 17594298e1 [cron] Bump distribution date (2024-03-28) 2024-03-28 00:20:53 +00:00
Jordan Stocker 0b9f487ab9 🔨 Fix binary upload firmware path (#26909) 2024-03-27 14:44:03 -05:00
Chris d3e1a92b84 🔨 Fix HC32 preflight (#26912) 2024-03-27 14:39:54 -05:00
Holger Mößinger cd357b0278 🔧🚸 Tweaks for (MiniRambo) CNC (#26892)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-03-27 14:38:08 -05:00
thinkyhead d0d229e380 [cron] Bump distribution date (2024-03-25) 2024-03-25 00:21:58 +00:00
Ikko Eltociear Ashimine eb897e65a1 📝 Fix Cutter.md typo (#26901) 2024-03-24 13:49:25 -05:00
thinkyhead 825ebfd5fe [cron] Bump distribution date (2024-03-24) 2024-03-24 00:23:21 +00:00
John Robertson 3ee3964bec 🐛 Fix ESP32 laser M4 exception (#26884) 2024-03-22 19:57:23 -05:00
Sophist aecfb257e9 🚸 Hide auto-run as needed (#26853) 2024-03-22 19:29:06 -05:00
thinkyhead 896a6a93af [cron] Bump distribution date (2024-03-23) 2024-03-23 00:20:15 +00:00
Holger Mößinger 075f96d2bf ✏️ Fix stepper MS pin typos (#26891) 2024-03-22 16:36:42 -05:00
thinkyhead 05896551f1 [cron] Bump distribution date (2024-03-18) 2024-03-18 00:21:39 +00:00
Manuel McLure ea6a891038 MAX7219_REINIT_ON_POWERUP (#26163) 2024-03-17 14:23:12 -05:00
Giuliano Zaro 983aee5718 🌐 Update Italian language (#26837) 2024-03-16 19:46:22 -05:00
thinkyhead c913020dc2 [cron] Bump distribution date (2024-03-17) 2024-03-17 00:22:34 +00:00
Scott Lahteine a50490b11f 👷 Minor signature.py adjustments 2024-03-16 16:39:47 -05:00
Sophist 4b01c901bc 📝 Fix M201 typos (#26854) 2024-03-16 15:00:16 -05:00
Keith Bennett c1be36bc66 🎨 Add MKS TinyBee silkscreen labels (#26777) 2024-03-16 14:58:53 -05:00
Keith Bennett e0222d3e01 🩹 Fix G35 "Probing Failed" output (#26780) 2024-03-16 14:56:33 -05:00
janenen c0264ae787 🐛 Fix DETECT_BROKEN_ENDSTOP on IDEX (#26790)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-03-16 14:52:14 -05:00
Sophist 3a2c50c199 🩹 Thermistor name fixes (#26857) 2024-03-16 14:09:50 -05:00
Scott Lahteine 3b4adac579 🎨 Trailing ws 2024-03-16 13:55:35 -05:00
ellensp d36b3fbf9d 🧑‍💻 Fix RLE script for infille == outfile (#26795) 2024-03-16 13:37:42 -05:00
Keith Bennett bca40e07e3 📝 Remove Flattr Link (#26796) 2024-03-16 13:34:02 -05:00
thinkyhead 9a1c993719 [cron] Bump distribution date (2024-03-10) 2024-03-10 06:05:40 +00:00
InsanityAutomation 504219817c Redundant PSU Control with EDM (#26751) 2024-03-09 21:22:23 -06:00
thinkyhead 4f2b7271bd [cron] Bump distribution date (2024-03-04) 2024-03-04 00:21:13 +00:00
fredycpu ec6f9dd5c8 🔧 MKS_ROBIN_PRO : I2C EEPROM + MKS Wifi (#26823)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-03-03 12:39:50 -06:00
thinkyhead e6cda9932b [cron] Bump distribution date (2024-03-02) 2024-03-02 06:06:49 +00:00
Keith Bennett b9cfbaa8d4 Update Actions versions (#26814) 2024-03-01 22:34:12 -06:00
ellensp 3fd175af8e 🚸 M115 "KINEMATICS:…" (#26806) 2024-03-01 22:31:42 -06:00
Keith Bennett a9e72b2a2c 🔧 Simpler CREALITY_V422 warning (#26826) 2024-03-01 22:09:12 -06:00
ellensp ecde3a3158 🩹 Fix AVR bootscreen RLE decode (#26827) 2024-03-01 21:58:56 -06:00
DerAndere c8d51c2723 🚸 Enable G92.9 with rotational axes (#26174)
- Supporting axes that can rotate forever.
2024-03-01 21:16:39 -06:00
thinkyhead d609bb4671 [cron] Bump distribution date (2024-02-28) 2024-02-28 06:06:10 +00:00
Scott Lahteine 982b425792 🔥 Drop TMC26X support (#26770) 2024-02-27 20:45:34 -06:00
thinkyhead 9e879a5b1f [cron] Bump distribution date (2024-02-11) 2024-02-11 00:22:45 +00:00
ellensp 9974327d33 extend uart checks 2024-02-11 03:28:37 +13:00
thinkyhead 4eba643ae1 [cron] Bump distribution date (2024-02-10) 2024-02-10 06:17:34 +00:00
Scott Lahteine 8d7be79108 👷 Improve BIGTREE_GTR_V1_0 tests 2024-02-09 19:14:15 -06:00
Scott Lahteine 76b5688304 🚸 Optional encoder multipliers 2024-02-09 19:14:15 -06:00
thinkyhead 1e8fbb7bbb [cron] Bump distribution date (2024-02-09) 2024-02-09 00:20:11 +00:00
Scott Lahteine 20c6a6233b 🧑‍💻 HC32 endstop interrupts for X2/Y2/Z4 2024-02-08 16:49:13 -06:00
Scott Lahteine 1d295f7983 🔥 Clean up SCARA/TPARA 2024-02-07 23:45:51 -06:00
Scott Lahteine 669814d0d4 MARLIN_SMALL_BUILD option (#26775) 2024-02-07 23:40:54 -06:00
Scott Lahteine 4aa48beb37 🚸 Adjust encoder multiplier 2024-02-07 19:48:36 -06:00
thinkyhead 371fb5a256 [cron] Bump distribution date (2024-02-08) 2024-02-08 00:20:32 +00:00
Scott Lahteine 0829a511f0 🧑‍💻 "static_warning" 2024-02-07 18:09:36 -06:00
Scott Lahteine a3c78c4510 🎨 Delete old FTDI Eve bootscreen 2024-02-07 14:01:25 -06:00
Scott Lahteine a3211253a0 🩹 Fix FTDI Eve Touch UI M84 2024-02-07 13:58:49 -06:00
thinkyhead 2c8e7bd5a5 [cron] Bump distribution date (2024-02-07) 2024-02-07 12:07:15 +00:00
ellensp 005d6879d9 🔧 Restore probe XY edit defaults, remove arbitrary Z limit (#26774) 2024-02-07 00:33:54 -06:00
thinkyhead 3dd22349a9 [cron] Bump distribution date (2024-02-06) 2024-02-06 06:06:16 +00:00
Scott Mikutsky e61a84a717 🚸 Keep Filament Change near the top (#26172) 2024-02-05 23:37:29 -06:00
thinkyhead d8e73d3036 [cron] Bump distribution date (2024-02-05) 2024-02-05 00:21:40 +00:00
Robherc b12340b1d5 🔧 Fix extraneous DIAG warnings (#26694) 2024-02-04 16:10:11 -06:00
Scott Lahteine ec46a59539 🧑‍💻 Fix uncrustify config 2024-02-04 16:07:27 -06:00
Keith Bennett 5003681414 🩹 Fix HOTEND_IDLE_TIMEOUT with no heated bed (#26746) 2024-02-04 12:14:49 -06:00
Keith Bennett d9396929aa 🩹 Update BTT GTR v1.0 DIAG jumper/pin (#26764) 2024-02-04 12:13:03 -06:00
Scott Lahteine 1dee4d92c6 🔧 TOUCH_IDLE_SLEEP_MINS => DISPLAY_SLEEP_MINUTES
Follow up to #26517
2024-02-04 12:09:48 -06:00
Smokey Pell 9364cbb4b5 🚸 Tronxy V10 w/ TFT_TRONXY_X5SA + MKS_ROBIN_TFT43 (#26747) 2024-02-04 09:37:32 -06:00
Taylor Talkington 755b661c2d 🔧 Fix USE_Z_MIN conditions (#26762) 2024-02-04 09:03:08 -06:00
thinkyhead 7f4792e47c [cron] Bump distribution date (2024-02-04) 2024-02-04 00:22:42 +00:00
Keith Bennett e6837b2b8d 🩹 Fix STM32 HW Serial 6 (#26763)
Followup to #26328
2024-02-03 17:19:19 -06:00
thinkyhead 9e21330d7a [cron] Bump distribution date (2024-02-03) 2024-02-03 00:20:49 +00:00
Davide Rombolà c476e62a6f 🩹 Fix STM32 HW Serial (#26531)
Followup to #26328
2024-02-01 19:31:39 -06:00
thinkyhead 4c5d7831c1 [cron] Bump distribution date (2024-02-02) 2024-02-02 00:20:22 +00:00
Abdullah YILMAZ 9a5cfb3f26 🌐 Turkish language update (#26739) 2024-01-31 20:11:08 -06:00
InsanityAutomation 5a87bea762 🚸 Fix repeating "Power Off" message (#26755) 2024-01-31 19:24:08 -06:00
thinkyhead d62f45bdc1 [cron] Bump distribution date (2024-02-01) 2024-02-01 00:21:39 +00:00
ellensp f9d5ee04b4 🩹 Patch STM32 serial UUID (#26737)
Followup to #26715

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-31 12:33:42 -06:00
thinkyhead ef04680cc5 [cron] Bump distribution date (2024-01-31) 2024-01-31 06:06:35 +00:00
Keith Bennett 1c6cfc3ffe 🐛 Fix I/J/K chopper timing (#26736)
Followup to #19112
2024-01-30 23:00:02 -06:00
Keith Bennett 0266e7fe53 📝 Biqu => BIQU (#26735) 2024-01-30 22:58:06 -06:00
ellensp 610ea0a9d3 🔨 No strlcpy in Windows (#26748) 2024-01-30 22:56:46 -06:00
thinkyhead 70d942a184 [cron] Bump distribution date (2024-01-30) 2024-01-30 06:06:23 +00:00
Scott Lahteine 5639237e2b 🎨 Misc. cleanup 29-01 2024-01-29 23:10:12 -06:00
thinkyhead 541bd26cd7 [cron] Bump distribution date (2024-01-29) 2024-01-29 00:21:02 +00:00
Keith Bennett 7a4d601f4d 🩹 Temp constraints followup (#26744)
Followup to cb291e8d
2024-01-28 16:13:23 -06:00
thinkyhead bf8675b44a [cron] Bump distribution date (2024-01-28) 2024-01-28 00:22:35 +00:00
Scott Lahteine ebea672240 🐛 Protect EEPROM bytes 916-926
Followup to #26729

Ender-3S1 STM32F401 Bootloader
2024-01-27 11:49:57 -06:00
Scott Lahteine ce8535f01c 🧑‍💻 Fix warning, adjust tests 2024-01-27 11:49:57 -06:00
thinkyhead 0ba4cd2b3b [cron] Bump distribution date (2024-01-27) 2024-01-27 00:19:36 +00:00
Scott Lahteine afc2dd6cab 🎨 Misc. cleanup 25-01 2024-01-25 22:09:19 -06:00
Scott Lahteine 5768b42c39 Add Conditionals_type.h 2024-01-25 22:06:09 -06:00
thinkyhead ee8630c282 [cron] Bump distribution date (2024-01-26) 2024-01-26 00:42:39 +00:00
Miguel Risco-Castillo 01094ea6aa 🔨 EEPROM exclusion zone (#26729)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-25 18:18:49 -06:00
qwertymodo 6c1fd1f69c 🩹 Fix single Neo strip M150 K (#26709)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-25 18:16:32 -06:00
sargonphin 4f65466161 🔧 HYBRID_THRESHOLD sanity checks (#26681) 2024-01-25 18:13:18 -06:00
ellensp 9b3119393f 🩹 Followup to EDITABLE_STEPS_PER_UNIT (#26677)
Followup to #26618
2024-01-25 17:39:09 -06:00
ejhoness 8594e9462c ✏️ Fix draw_dialog.cpp typo (#26684) 2024-01-25 17:37:35 -06:00
Cesar Guillermo Montiel 16acb57b22 Creality v2.4.S4_170 (Ender 2 Pro, HC32F460KCTA) (#26730) 2024-01-25 17:12:49 -06:00
Scott Lahteine 04c8a3138e 🎨 Misc. LCD pins comments 2024-01-25 15:07:48 -06:00
engrenage 38560378fc 🔧 Allow float Z_PROBE_LOW_POINT (#26711) 2024-01-25 14:31:39 -06:00
Scott Lahteine ffbf4a6a90 🩹 Fix IA Creality IDEX case 2024-01-25 14:31:39 -06:00
thinkyhead a215bc2ca3 [cron] Bump distribution date (2024-01-25) 2024-01-25 00:28:09 +00:00
minding-myown-business cbc674ff99 📝 Fix dead LCD link (#26669) 2024-01-24 18:24:25 -06:00
ellensp 97546bf55b 🚸 PLR recover chamber temp (#26696) 2024-01-24 14:33:02 -06:00
Vovodroid ed1391ee5d 🔧 Wrap POWER_LOSS_RETRACT_LEN (#26695) 2024-01-24 14:21:00 -06:00
Keith Bennett 7fbd9ec5f4 🔧 Allow RAMPS FAN1_PIN override (#26725) 2024-01-24 12:55:59 -06:00
Keith Bennett 63989023b8 🔧 Update SKR_MINI_SCREEN_ADAPTER error (#26726) 2024-01-24 12:54:37 -06:00
ellensp e668d5afd7 🔧 STM32 UID followup (#26727)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-24 12:50:48 -06:00
thinkyhead a2228276bb [cron] Bump distribution date (2024-01-24) 2024-01-24 00:22:20 +00:00
Scott Lahteine 3ef192e7c7 🎨 Cosmetic cleanup 23-01 2024-01-23 16:05:41 -06:00
Scott Lahteine 5fea79fd07 🔧 Fix ROTATIONAL_AXIS_GANG
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2024-01-23 16:02:33 -06:00
Scott Lahteine 18e65f5eb4 🩹 Fix _U and other conflicts
Fix #26220
2024-01-23 15:55:13 -06:00
Scott Lahteine 5ed6bf65ba 🔧 Allow for no STOP pin
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2024-01-23 15:44:51 -06:00
DerAndere d79bcef802 🔧 Sanity check Z_CLEARANCE_FOR_HOMING (#26721) 2024-01-23 14:09:31 -06:00
Anson Liu f1a53407e7 🚸 DOGM active extruder indicator (#26152) 2024-01-23 10:24:49 -06:00
Scott Lahteine 4309e6ab76 🧑‍💻 Fix build_all_examples 2024-01-22 23:58:17 -06:00
thinkyhead 0c3d1cf566 [cron] Bump distribution date (2024-01-23) 2024-01-23 00:50:39 +00:00
Scott Lahteine aa7d571486 ♻️ LCD pins migration precursor (#26719)
Preliminary changes for #25650
2024-01-22 17:32:01 -06:00
Scott Lahteine 604d3e8fad 🎨 Move EXIT_M303 2024-01-22 16:38:08 -06:00
Scott Lahteine 22fc07d72b 🧑‍💻 ExtUI::onPlayTone optional duration 2024-01-22 00:04:08 -06:00
Scott Lahteine dd3b5a10a0 Misc. aesthetic adjustments
Co-Authored-By: Andrew <18502096+classicrocker883@users.noreply.github.com>
2024-01-21 22:15:16 -06:00
thinkyhead 416f94f03a [cron] Bump distribution date (2024-01-22) 2024-01-22 00:23:03 +00:00
Keith Bennett 204de723f1 BIQU MicroProbe (#26527) 2024-01-21 06:01:25 -06:00
Vovodroid 80cd89d8f7 🩹 Fix M592 report (#26680) 2024-01-21 05:11:03 -06:00
ellensp 624226c91d 🩹 Fix STM32 CPU serial UUID (#26715)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-21 05:09:36 -06:00
Keith Bennett 3adf73a2cd 🔥 Remove ALLOW_LOW_EJERK (#26712) 2024-01-20 23:47:26 -06:00
thinkyhead eb7b207e4c [cron] Bump distribution date (2024-01-21) 2024-01-21 00:24:10 +00:00
ellensp d7e45367af 🔨 Fix POLAR build (#26687) 2024-01-20 00:24:30 -06:00
thinkyhead 388c7018c4 [cron] Bump distribution date (2024-01-20) 2024-01-20 00:21:13 +00:00
Vovodroid da96607b65 🔧 Adjust DEFAULT_EJERK settings (#26665) 2024-01-19 16:38:25 -06:00
ellensp fb49645b32 📝 Fix Anet pins typo (#26660) 2024-01-19 13:49:35 -06:00
German Borisov 7d751a20b1 Status Screen flow adjustment (#26627) 2024-01-19 13:17:36 -06:00
thinkyhead 9f7d5bbc86 [cron] Bump distribution date (2024-01-19) 2024-01-19 00:22:09 +00:00
Abdullah YILMAZ 0df25b1008 🌐 Update Turkish language (#26676) 2024-01-18 18:00:43 -06:00
engrenage cef623b7d2 🔧 Clarify M600 sanity-check (#26702) 2024-01-18 17:57:46 -06:00
Andrew 12434e78e4 🔨 Improve CMakeLists.txt (#26700) 2024-01-18 17:55:37 -06:00
thinkyhead 2200607989 [cron] Bump distribution date (2024-01-17) 2024-01-17 06:06:41 +00:00
Scott Lahteine c31381183b Minor Orca update
Followup to #26534
2024-01-16 23:15:04 -06:00
thinkyhead 76dce41580 [cron] Bump distribution date (2024-01-16) 2024-01-16 06:06:41 +00:00
Scott Lahteine 1f1ca34ea6 🧑‍💻 Tweak limit_and_warn 2024-01-15 22:22:08 -06:00
Scott Lahteine 8d4ab15748 🧑‍💻 Tweak planner debug 2024-01-15 21:36:15 -06:00
thinkyhead 745577693d [cron] Bump distribution date (2024-01-15) 2024-01-15 00:22:58 +00:00
Scott Lahteine 3019af1c93 🔨 Make / pins-format patches 2024-01-13 18:34:12 -06:00
thinkyhead 8916e6f826 [cron] Bump distribution date (2024-01-14) 2024-01-14 00:24:03 +00:00
Robherc b2fd631d82 🔧 Fix SD connection defaults (#26666)
Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-12 22:03:34 -06:00
thinkyhead cadef64418 [cron] Bump distribution date (2024-01-13) 2024-01-13 00:21:34 +00:00
ThomasToka ab3497161a 🐛 Fix PLR pos/sdpos (#26365)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-11 23:56:45 -06:00
thinkyhead 46f370ae3c [cron] Bump distribution date (2024-01-12) 2024-01-12 00:21:50 +00:00
Scott Lahteine 0f43ac79f6 ️ Revert encoder changes
Reverts #26501
2024-01-10 18:25:17 -06:00
thinkyhead ef92b6c369 [cron] Bump distribution date (2024-01-11) 2024-01-11 00:21:50 +00:00
Scott Lahteine f44f9eb9f8 🎨 Misc. style adjustments 2024-01-10 14:49:28 -06:00
plampix 854f3315af EDITABLE_STEPS_PER_UNIT (#26618)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-10 00:33:54 -06:00
Vovodroid 1d46e67de2 PLR_BED_THRESHOLD (#26649)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-09 23:13:10 -06:00
Scott Lahteine 85ded0b9bd 🩹 Clarify servo µs min/max 2024-01-09 22:41:54 -06:00
Scott Lahteine cb291e8d00 🩹 Fix some temp constraints 2024-01-09 22:41:00 -06:00
ellensp 25caae1e8c 🩹 Fix PID / MPC tune background tasks (#26652)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-09 20:55:20 -06:00
Scott Lahteine 12d7995a18 🎨 Minor temp / UI refactor 2024-01-09 18:45:17 -06:00
thinkyhead 320b7a9ac3 [cron] Bump distribution date (2024-01-10) 2024-01-10 00:21:58 +00:00
Vovodroid a533e9e637 🩹 Fix edit Z jerk step size (#26650)
Followup to #25514

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-09 15:42:08 -06:00
ellensp f6ecdae972 🔧 Base NUM_SERVO_PLUGS on SERVO PINS (#26640)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2024-01-09 15:19:47 -06:00
1976 changed files with 92862 additions and 91851 deletions
+21
View File
@@ -0,0 +1,21 @@
# Build artifacts
buildroot/
*.o
*.a
*.so
*.dylib
*.dll
*.exe
# Web assets
*.min.js
*.min.css
# Generated files
__pycache__/
*.pyc
.DS_Store
# IDE files
.vscode/
.idea/
+4 -4
View File
@@ -38,14 +38,14 @@
"platformio.platformio-ide", "platformio.platformio-ide",
"marlinfirmware.auto-build", "marlinfirmware.auto-build",
"editorconfig.editorconfig" "editorconfig.editorconfig"
], ]
// Use 'forwardPorts' to make a list of ports inside the container available locally. // Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [], // , "forwardPorts": []
// Use 'postCreateCommand' to run commands after the container is created. // Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "pip3 install --user -r requirements.txt", // , "postCreateCommand": "pip3 install --user -r requirements.txt"
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
// "remoteUser": "vscode" // , "remoteUser": "vscode"
} }
+1 -1
View File
@@ -7,7 +7,7 @@ contact_links:
url: https://www.facebook.com/groups/1049718498464482 url: https://www.facebook.com/groups/1049718498464482
about: Please ask and answer questions here. about: Please ask and answer questions here.
- name: 🕹 Marlin on Discord - name: 🕹 Marlin on Discord
url: https://discord.gg/n5NJ59y url: https://discord.com/servers/marlin-firmware-461605380783472640
about: Join the Discord server for support and discussion. about: Join the Discord server for support and discussion.
- name: 🔗 Marlin Discussion Forum - name: 🔗 Marlin Discussion Forum
url: https://reprap.org/forum/list.php?415 url: https://reprap.org/forum/list.php?415
+1 -1
View File
@@ -43,7 +43,7 @@ We have a Message Board and a Facebook group where our knowledgable user communi
If chat is more your speed, you can join the MarlinFirmware Discord server: If chat is more your speed, you can join the MarlinFirmware Discord server:
* Use the link https://discord.gg/n5NJ59y to join up as a General User. * Use the link https://discord.com/servers/marlin-firmware-461605380783472640 to join up as a General User.
* Even though our Discord is pretty active, it may take a while for community members to respond &mdash; please be patient! * Even though our Discord is pretty active, it may take a while for community members to respond &mdash; please be patient!
* Use the `#general` channel for general questions or discussion about Marlin. * Use the `#general` channel for general questions or discussion about Marlin.
* Other channels exist for certain topics or are limited to Patrons. Check the channel list. * Other channels exist for certain topics or are limited to Patrons. Check the channel list.
-40
View File
@@ -1,40 +0,0 @@
#
# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app
#
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 60
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: false
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: [ 'no-locking' ]
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue for
related bugs.
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: true
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings just for `issues` or `pulls`
# issues:
# exemptLabels:
# - help-wanted
# lockLabel: outdated
# pulls:
# daysUntilLock: 30
# Repository to extend settings from
# _extends: repo
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
autolabel: autolabel:
name: Auto Label name: Auto Label
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- name: Auto Label for [BUG] - name: Auto Label for [BUG]
uses: actions/github-script@v7 uses: actions/github-script@v7
+3 -3
View File
@@ -14,12 +14,12 @@ jobs:
name: Bump Distribution Date name: Bump Distribution Date
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- name: Check out bugfix-2.0.x - name: Check out bugfix-2.0.x
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
ref: bugfix-2.0.x ref: bugfix-2.0.x
@@ -39,7 +39,7 @@ jobs:
exit 0 exit 0
- name: Check out bugfix-2.1.x - name: Check out bugfix-2.1.x
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
ref: bugfix-2.1.x ref: bugfix-2.1.x
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
name: PR Bad Target name: PR Bad Target
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- uses: superbrothers/close-pull-request@v3 - uses: superbrothers/close-pull-request@v3
@@ -1,9 +1,9 @@
# #
# test-builds.yml # ci-build-tests.yml
# Do test builds to catch compile errors # Do test builds to catch compile errors
# #
name: CI name: CI - Build Tests
on: on:
pull_request: pull_request:
@@ -14,30 +14,43 @@ on:
- config/** - config/**
- data/** - data/**
- docs/** - docs/**
- test/**
- Marlin/tests/**
- '**/*.md' - '**/*.md'
push: push:
branches: branches:
- bugfix-2.1.x - bugfix-2.1.x
- 2.1.x - 2.1.x
- release-*
paths-ignore: paths-ignore:
- config/** - config/**
- data/** - data/**
- docs/** - docs/**
- test/**
- Marlin/tests/**
- '**/*.md' - '**/*.md'
jobs: jobs:
test_builds: test_builds:
name: Run All Tests name: Build Test
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
env:
CONFIG_BRANCH: ${{ github.base_ref || github.ref_name }}
strategy: strategy:
fail-fast: true
matrix: matrix:
test-platform: test-platform:
# RP2040
- SKR_Pico
# Native # Native
- linux_native - linux_native
- simulator_linux_release
# AVR # AVR
- mega2560 - mega2560
@@ -45,7 +58,7 @@ jobs:
- at90usb1286_dfu - at90usb1286_dfu
# AVR Extended # AVR Extended
- FYSETC_F6 - mega2560ext
- melzi_optiboot - melzi_optiboot
- rambo - rambo
- sanguino1284p - sanguino1284p
@@ -100,11 +113,11 @@ jobs:
# STM32F4 # STM32F4
- ARMED - ARMED
- BIGTREE_BTT002 - BTT_BTT002
- BIGTREE_GTR_V1_0 - BTT_GTR_V1_0
- BIGTREE_SKR_PRO - BTT_SKR_PRO
- FLYF407ZG - FLYF407ZG
- FYSETC_S6 - STM32F446VE_fysetc
- LERDGEK - LERDGEK
- LERDGEX - LERDGEX
- mks_robin_pro2 - mks_robin_pro2
@@ -142,6 +155,12 @@ jobs:
# HC32 # HC32
- HC32F460C_aquila_101 - HC32F460C_aquila_101
# GD32F3
- GD32F303RE_creality_mfl
# GD32F1
- GD32F103RC_aquila_mfl
# LPC176x - Lengthy tests # LPC176x - Lengthy tests
- LPC1768 - LPC1768
- LPC1769 - LPC1769
@@ -152,21 +171,26 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Cache pip - name: Cache pip
uses: actions/cache@v3 uses: actions/cache@v4
with: with:
path: ~/.cache/pip path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} key: ${{ runner.os }}-pip-build-v1
restore-keys: | restore-keys: |
${{ runner.os }}-pip- ${{ runner.os }}-pip-build-
- name: Cache PlatformIO - name: Cache PlatformIO
uses: actions/cache@v3 uses: actions/cache@v4
with: with:
path: ~/.platformio path: |
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} ~/.platformio
.pio/build
.pio/libdeps
key: ${{ runner.os }}-pio-build-v1
restore-keys: |
${{ runner.os }}-pio-build-
- name: Select Python 3.9 - name: Select Python 3.9
uses: actions/setup-python@v4 uses: actions/setup-python@v5
with: with:
python-version: '3.9' python-version: '3.9'
architecture: 'x64' architecture: 'x64'
@@ -177,6 +201,14 @@ jobs:
pio upgrade --dev pio upgrade --dev
pio pkg update --global pio pkg update --global
- name: Install Simulator dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libsdl2-dev
sudo apt-get install libsdl2-net-dev
sudo apt-get install libglm-dev
- name: Run ${{ matrix.test-platform }} Tests - name: Run ${{ matrix.test-platform }} Tests
run: | run: |
make tests-single-ci TEST_TARGET=${{ matrix.test-platform }} make tests-single-ci TEST_TARGET=${{ matrix.test-platform }}
+78
View File
@@ -0,0 +1,78 @@
#
# ci-unit-tests.yml
# Build and execute unit tests to catch functional issues in code
#
name: CI - Unit Tests
on:
pull_request:
branches:
- bugfix-2.1.x
# Cannot be enabled on 2.1.x until it contains the unit test framework
#- 2.1.x
paths-ignore:
- config/**
- data/**
- docs/**
- '**/*.md'
push:
branches:
- bugfix-2.1.x
# Cannot be enabled on 2.1.x until it contains the unit test framework
#- 2.1.x
paths-ignore:
- config/**
- data/**
- docs/**
- '**/*.md'
jobs:
# This runs all unit tests as a single job. While it should be possible to break this up into
# multiple jobs, they currently run quickly and finish long before the compilation tests.
run_unit_tests:
name: Unit Test
# These tests will only be able to run on the bugfix-2.1.x branch, until the next release
# pulls them into additional branches.
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-22.04
steps:
- name: Check out the PR
uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-unit-v1
restore-keys: |
${{ runner.os }}-pip-unit-
- name: Cache PlatformIO
uses: actions/cache@v4
with:
path: |
~/.platformio
.pio/build
.pio/libdeps
key: ${{ runner.os }}-pio-tests-v1
restore-keys: |
${{ runner.os }}-pio-tests-
- name: Select Python 3.9
uses: actions/setup-python@v5
with:
python-version: '3.9'
architecture: 'x64'
- name: Install PlatformIO
run: |
pip install -U platformio
pio upgrade --dev
pio pkg update --global
- name: Run All Unit Tests
run: |
make unit-test-all-local
+48
View File
@@ -0,0 +1,48 @@
#
# ci-validate-boards.yml
# Validate boards.h to make sure it's all set up correctly
#
name: CI - Validate boards.h
# We can do the on: section as two items, one for pull requests and one for pushes...
on:
pull_request:
branches:
- bugfix-2.1.x
paths:
- "Marlin/src/core/boards.h"
push:
branches:
- bugfix-2.1.x
paths:
- "Marlin/src/core/boards.h"
jobs:
validate_pins_files:
name: Validate boards.h
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-22.04
steps:
- name: Check out the PR
uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-validation-v1
restore-keys: |
${{ runner.os }}-pip-validation-
- name: Select Python 3.9
uses: actions/setup-python@v5
with:
python-version: "3.9"
architecture: "x64"
- name: Validate core/boards.h
run: |
make validate-boards -j
+40
View File
@@ -0,0 +1,40 @@
#
# ci-validate-lines.yml
# Validate that all text files are unchanged by linesformat.py
#
name: CI - Validate Source Files
on:
pull_request:
branches:
- bugfix-2.1.x
- 2.1.x
push:
branches:
- bugfix-2.1.x
- 2.1.x
jobs:
validate_source_files:
name: Validate Source Files
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-22.04
steps:
- name: Check out the PR
uses: actions/checkout@v4
- name: Cache node_modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-npm-lines-v1
restore-keys: |
${{ runner.os }}-npm-lines-
- name: Validate text file formatting
run: |
npm install --save-dev prettier
make validate-lines -j
+51
View File
@@ -0,0 +1,51 @@
#
# ci-validate-pins.yml
# Validate that all of the pins files are unchanged by pinsformat.py
#
name: CI - Validate Pins Files
on:
pull_request:
branches:
- bugfix-2.1.x
# Cannot be enabled on 2.1.x until it contains the unit test framework
#- 2.1.x
paths:
- "Marlin/src/pins/*/**"
push:
branches:
- bugfix-2.1.x
# Cannot be enabled on 2.1.x until it contains the unit test framework
#- 2.1.x
paths:
- "Marlin/src/pins/*/**"
jobs:
validate_pins_files:
name: Validate Pins Files
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-22.04
steps:
- name: Check out the PR
uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-validation-v1
restore-keys: |
${{ runner.os }}-pip-validation-
- name: Select Python 3.9
uses: actions/setup-python@v5
with:
python-version: "3.9"
architecture: "x64"
- name: Validate all pins files
run: |
make validate-pins -j
+2 -2
View File
@@ -13,7 +13,7 @@ on:
jobs: jobs:
remove_label: remove_label:
runs-on: ubuntu-latest runs-on: ubuntu-22.04
strategy: strategy:
matrix: matrix:
@@ -32,7 +32,7 @@ jobs:
- "Needs: Work" - "Needs: Work"
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Remove Labels - name: Remove Labels
uses: actions-ecosystem/action-remove-labels@v1 uses: actions-ecosystem/action-remove-labels@v1
with: with:
+2 -2
View File
@@ -14,10 +14,10 @@ jobs:
name: Close Stale Issues name: Close Stale Issues
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- uses: actions/stale@v8 - uses: actions/stale@v9
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: | stale-issue-message: |
+7 -7
View File
@@ -14,18 +14,18 @@ jobs:
name: Lock Closed Issues name: Lock Closed Issues
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- uses: dessant/lock-threads@v2 - uses: dessant/lock-threads@v5
with: with:
github-token: ${{ github.token }} github-token: ${{ github.token }}
process-only: 'issues' process-only: 'issues'
issue-lock-inactive-days: '60' issue-inactive-days: '60'
issue-exclude-created-before: '' exclude-issue-created-before: ''
issue-exclude-labels: 'no-locking' exclude-any-issue-labels: 'no-locking'
issue-lock-labels: '' add-issue-labels: ''
issue-lock-comment: > issue-comment: >
This issue has been automatically locked since there This issue has been automatically locked since there
has not been any recent activity after it was closed. has not been any recent activity after it was closed.
Please open a new issue for related bugs. Please open a new issue for related bugs.
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
name: Unlock Reopened name: Unlock Reopened
if: github.repository == 'MarlinFirmware/Marlin' if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- uses: OSDKDev/unlock-issues@v1.1 - uses: OSDKDev/unlock-issues@v1.1
Executable → Regular
+9
View File
@@ -31,6 +31,11 @@ out-language/
*.gen *.gen
*.sublime-workspace *.sublime-workspace
# npm
node_modules/
package.json
package-lock.json
# OS # OS
applet/ applet/
.DS_Store .DS_Store
@@ -125,6 +130,7 @@ vc-fileutils.settings
# Visual Studio Code # Visual Studio Code
.vscode/* .vscode/*
!.vscode/extensions.json !.vscode/extensions.json
*.code-workspace
# Simulation files # Simulation files
imgui.ini imgui.ini
@@ -168,3 +174,6 @@ __pycache__
tags tags
*.logs *.logs
*.bak *.bak
.aider*
!.aiderignore
.env
+10
View File
@@ -0,0 +1,10 @@
# Prettier Ignore file
*.min.js
web-ui/
buildroot/share/PlatformIO/boards
buildroot/share/PlatformIO/variants
*.sublime-project
*.sublime-syntax
.github
.vscode
launch.json
+16
View File
@@ -0,0 +1,16 @@
/**
* Marlin-specific settings for Zed
*
* For a full list of overridable settings, and general information on folder-specific settings,
* see the documentation: https://zed.dev/docs/configuring-zed#settings-files
*/
{
"languages": {
"C": {
"enable_language_server": false
},
"C++": {
"enable_language_server": false
}
}
}
+123 -21
View File
@@ -2,16 +2,50 @@ SCRIPTS_DIR := buildroot/share/scripts
CONTAINER_RT_BIN := docker CONTAINER_RT_BIN := docker
CONTAINER_RT_OPTS := --rm -v $(PWD):/code -v platformio-cache:/root/.platformio CONTAINER_RT_OPTS := --rm -v $(PWD):/code -v platformio-cache:/root/.platformio
CONTAINER_IMAGE := marlin-dev CONTAINER_IMAGE := marlin-dev
UNIT_TEST_CONFIG ?= default
# Find a Python 3 interpreter
ifeq ($(OS),Windows_NT)
# Windows: use `where` fall back through the three common names
PYTHON := $(shell which python 2>nul || which python3 2>nul || which py 2>nul)
# Windows: Use cmd tools to find pins files
PINS_RAW := $(shell cmd //c "dir /s /b Marlin\src\pins\*.h 2>nul | findstr /r ".*Marlin\\\\src\\\\pins\\\\.*\\\\pins_.*\.h"")
PINS := $(subst \,/,$(PINS_RAW))
else
# POSIX: use `command -v` prefer python3 over python
PYTHON := $(shell command -v python3 2>/dev/null || command -v python 2>/dev/null)
# Unix/Linux: Use find command
PINS := $(shell find Marlin/src/pins -mindepth 2 -name 'pins_*.h')
endif
# Check that the found interpreter is Python 3
# Error if there's no Python 3 available
ifneq ($(strip $(PYTHON)),)
PYTHON_VERSION := $(shell $(PYTHON) -c "import sys; print(sys.version_info[0])" 2>/dev/null)
ifneq ($(PYTHON_VERSION),3)
$(error $(PYTHON) is not Python 3 install a Python3.x interpreter or adjust your PATH)
endif
else
$(error No Python executable found install Python 3.x and make sure it is in your PATH)
endif
help: help:
@echo "Tasks for local development:" @echo "Tasks for local development:"
@echo "* format-pins: Reformat all pins files" @echo "make marlin : Build Marlin for the configured board"
@echo "* tests-single-ci: Run a single test from inside the CI" @echo "make format-pins -j : Reformat all pins files (-j for parallel execution)"
@echo "* tests-single-local: Run a single test locally" @echo "make validate-lines -j : Validate line endings, fails on trailing whitespace, etc."
@echo "* tests-single-local-docker: Run a single test locally, using docker" @echo "make validate-pins -j : Validate all pins files, fails if any require reformatting"
@echo "* tests-all-local: Run all tests locally" @echo "make validate-boards -j : Validate boards.h and pins.h for standards compliance"
@echo "* tests-all-local-docker: Run all tests locally, using docker" @echo "make tests-single-ci : Run a single test from inside the CI"
@echo "* setup-local-docker: Build the local docker image" @echo "make tests-single-local : Run a single test locally"
@echo "make tests-single-local-docker : Run a single test locally, using docker"
@echo "make tests-all-local : Run all tests locally"
@echo "make tests-all-local-docker : Run all tests locally, using docker"
@echo "make unit-test-single-local : Run unit tests for a single config locally"
@echo "make unit-test-single-local-docker : Run unit tests for a single config locally, using docker"
@echo "make unit-test-all-local : Run all code tests locally"
@echo "make unit-test-all-local-docker : Run all code tests locally, using docker"
@echo "make setup-local-docker : Setup local docker"
@echo "" @echo ""
@echo "Options for testing:" @echo "Options for testing:"
@echo " TEST_TARGET Set when running tests-single-*, to select the" @echo " TEST_TARGET Set when running tests-single-*, to select the"
@@ -21,49 +55,117 @@ help:
@echo " run on GitHub CI" @echo " run on GitHub CI"
@echo " ONLY_TEST Limit tests to only those that contain this, or" @echo " ONLY_TEST Limit tests to only those that contain this, or"
@echo " the index of the test (1-based)" @echo " the index of the test (1-based)"
@echo " UNIT_TEST_CONFIG Set the name of the config from the test folder, without"
@echo " the leading number. Default is 'default'". Used with the
@echo " unit-test-single-* tasks"
@echo " VERBOSE_PLATFORMIO If you want the full PIO output, set any value" @echo " VERBOSE_PLATFORMIO If you want the full PIO output, set any value"
@echo " GIT_RESET_HARD Used by CI: reset all local changes. WARNING:" @echo " GIT_RESET_HARD Used by CI: reset all local changes. WARNING:"
@echo " THIS WILL UNDO ANY CHANGES YOU'VE MADE!" @echo " THIS WILL UNDO ANY CHANGES YOU'VE MADE!"
.PHONY: help
marlin:
./buildroot/bin/mftest -a
.PHONY: marlin
clean:
rm -rf .pio/build*
tests-single-ci: tests-single-ci:
export GIT_RESET_HARD=true export GIT_RESET_HARD=true
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) PLATFORMIO_BUILD_FLAGS=-DGITHUB_ACTION $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) PLATFORMIO_BUILD_FLAGS=-DGITHUB_ACTION
.PHONY: tests-single-ci
tests-single-local: tests-single-local:
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local" ; return 1; fi @if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local" ; return 1; fi
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \ export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \ && export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& run_tests . $(TEST_TARGET) "$(ONLY_TEST)" && run_tests . $(TEST_TARGET) "$(ONLY_TEST)"
.PHONY: tests-single-local
tests-single-local-docker: tests-single-local-docker:
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi @if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi @if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
$(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)" $(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)"
.PHONY: tests-single-local-docker
tests-all-local: tests-all-local:
@$(PYTHON) -c "import yaml" 2>/dev/null || (echo 'pyyaml module is not installed. Install it with "$(PYTHON) -m pip install pyyaml"' && exit 1)
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \ export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \ && export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& for TEST_TARGET in $$($(SCRIPTS_DIR)/get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done && for TEST_TARGET in $$($(PYTHON) $(SCRIPTS_DIR)/get_test_targets.py) ; do \
.PHONY: tests-all-local if [ "$$TEST_TARGET" = "linux_native" ] && [ "$$(uname)" = "Darwin" ]; then \
echo "Skipping tests for $$TEST_TARGET on macOS" ; \
continue ; \
fi ; \
echo "Running tests for $$TEST_TARGET" ; \
run_tests . $$TEST_TARGET || exit 1 ; \
sleep 5; \
done
tests-all-local-docker: tests-all-local-docker:
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi @if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) $(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
.PHONY: tests-all-local-docker
unit-test-single-local:
platformio run -t marlin_$(UNIT_TEST_CONFIG) -e linux_native_test
unit-test-single-local-docker:
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make unit-test-single-local UNIT_TEST_CONFIG=$(UNIT_TEST_CONFIG)
unit-test-all-local:
platformio run -t test-marlin -e linux_native_test
unit-test-all-local-docker:
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make unit-test-all-local
USERNAME := $(shell whoami)
USER_ID := $(shell id -u)
GROUP_ID := $(shell id -g)
.PHONY: setup-local-docker setup-local-docker-old
setup-local-docker: setup-local-docker:
$(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) -f docker/Dockerfile . @echo "Building marlin-dev Docker image..."
.PHONY: setup-local-docker $(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) \
--build-arg USERNAME=$(USERNAME) \
--build-arg USER_ID=$(USER_ID) \
--build-arg GROUP_ID=$(GROUP_ID) \
-f docker/Dockerfile .
@echo
@echo "To run all tests in Docker:"
@echo " make tests-all-local-docker"
@echo "To run a single test in Docker:"
@echo " make tests-single-local-docker TEST_TARGET=mega2560"
PINS := $(shell find Marlin/src/pins -mindepth 2 -name '*.h') setup-local-docker-old:
$(CONTAINER_RT_BIN) buildx build -t $(CONTAINER_IMAGE) -f docker/Dockerfile .
.PHONY: $(PINS) .PHONY: $(PINS) format-pins validate-pins
$(PINS): %: $(PINS): %:
@echo "Formatting $@" && node buildroot/share/scripts/pinsformat.js $@ @echo "Formatting pins $@"
@$(PYTHON) $(SCRIPTS_DIR)/pinsformat.py $< $@
format-pins: $(PINS) format-pins: $(PINS)
@echo "Processed $(words $(PINS)) pins files"
validate-pins: format-pins
@echo "Validating pins files"
@git diff --exit-code || (git status && echo "\nError: Pins files are not formatted correctly. Run \"make format-pins\" to fix.\n" && exit 1)
.PHONY: format-lines validate-lines
format-lines:
@echo "Formatting all sources"
@$(PYTHON) $(SCRIPTS_DIR)/linesformat.py buildroot
@$(PYTHON) $(SCRIPTS_DIR)/linesformat.py Marlin
validate-lines:
@echo "Validating text formatting"
@npx prettier --check . --editorconfig --object-wrap preserve
BOARDS_FILE := Marlin/src/core/boards.h
.PHONY: validate-boards
validate-boards:
@echo "Validating boards.h file"
@$(PYTHON) $(SCRIPTS_DIR)/validate_boards.py $(BOARDS_FILE) || (echo "\nError: boards.h file is not valid. Please check and correct it.\n" && exit 1)
+332 -152
View File
@@ -50,7 +50,7 @@
* *
* Calibration Guides: https://reprap.org/wiki/Calibration * Calibration Guides: https://reprap.org/wiki/Calibration
* https://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide * https://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
* https://web.archive.org/web/20220907014303/https://sites.google.com/site/repraplogphase/calibration-of-your-reprap * https://web.archive.org/web/20220907014303/sites.google.com/site/repraplogphase/calibration-of-your-reprap
* https://youtu.be/wAL9d7FgInk * https://youtu.be/wAL9d7FgInk
* https://teachingtechyt.github.io/calibration.html * https://teachingtechyt.github.io/calibration.html
* *
@@ -61,7 +61,7 @@
// @section info // @section info
// Author info of this build printed to the host during boot and M115 // Author info of this build printed to the host during boot and M115
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Original author or contributor.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
// @section machine // @section machine
@@ -71,13 +71,15 @@
#define MOTHERBOARD BOARD_RAMPS_14_EFB #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif #endif
// @section serial
/** /**
* Select the serial port on the board to use for communication with the host. * Select the serial port on the board to use for communication with the host.
* This allows the connection of wireless adapters (for instance) to non-default port pins. * This allows the connection of wireless adapters (for instance) to non-default port pins.
* Serial port -1 is the USB emulated serial port, if available. * Serial port -1 is the USB emulated serial port, if available.
* Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader. * Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
* *
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7] * :[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*/ */
#define SERIAL_PORT 0 #define SERIAL_PORT 0
@@ -99,24 +101,35 @@
/** /**
* Select a secondary serial port on the board to use for communication with the host. * Select a secondary serial port on the board to use for communication with the host.
* Currently Ethernet (-2) is only supported on Teensy 4.1 boards. * Currently Ethernet (-2) is only supported on Teensy 4.1 boards.
* :[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7] * :[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*/ */
//#define SERIAL_PORT_2 -1 //#define SERIAL_PORT_2 -1
//#define BAUDRATE_2 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE //#define BAUDRATE_2 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE
/** /**
* Select a third serial port on the board to use for communication with the host. * Select a third serial port on the board to use for communication with the host.
* Currently only supported for AVR, DUE, LPC1768/9 and STM32/STM32F1 * Currently supported for AVR, DUE, SAMD51, LPC1768/9, STM32/STM32F1/HC32, and Teensy 4.x
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7] * :[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*/ */
//#define SERIAL_PORT_3 1 //#define SERIAL_PORT_3 1
//#define BAUDRATE_3 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE //#define BAUDRATE_3 250000 // :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] Enable to override BAUDRATE
/**
* Select a serial port to communicate with RS485 protocol
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*/
//#define RS485_SERIAL_PORT 1
#ifdef RS485_SERIAL_PORT
//#define M485_PROTOCOL 1 // Check your host for protocol compatibility
//#define RS485_BUS_BUFFER_SIZE 128
#endif
// Enable the Bluetooth serial interface on AT90USB devices // Enable the Bluetooth serial interface on AT90USB devices
//#define BLUETOOTH //#define BLUETOOTH
// Name displayed in the LCD "Ready" message and Info menu // Name displayed in the LCD "Ready" message and Info menu
//#define CUSTOM_MACHINE_NAME "3D Printer" //#define CUSTOM_MACHINE_NAME "3D Printer"
//#define CONFIGURABLE_MACHINE_NAME // Add G-code M550 to set/report the machine name
// Printer's unique ID, used by some programs to differentiate between machines. // Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like https://www.uuidgenerator.net/version4 // Choose your own or use a service like https://www.uuidgenerator.net/version4
@@ -135,9 +148,9 @@
* Options: A4988, A5984, DRV8825, LV8729, TB6560, TB6600, TMC2100, * Options: A4988, A5984, DRV8825, LV8729, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE, * TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE, * TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE, * TMC2240, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC2240', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/ */
#define X_DRIVER_TYPE A4988 #define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988 #define Y_DRIVER_TYPE A4988
@@ -247,6 +260,7 @@
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // A pair of angles for { E0, E1 }. #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // A pair of angles for { E0, E1 }.
// For Dual Servo use two pairs: { { lower, raise }, { lower, raise } } // For Dual Servo use two pairs: { { lower, raise }, { lower, raise } }
#define SWITCHING_NOZZLE_SERVO_DWELL 2500 // Dwell time to wait for servo to make physical move #define SWITCHING_NOZZLE_SERVO_DWELL 2500 // Dwell time to wait for servo to make physical move
#define SWITCHING_NOZZLE_LIFT_TO_PROBE // Lift toolheads out of the way while probing
#endif #endif
// Switch nozzles by bumping the toolhead. Requires EVENT_GCODE_TOOLCHANGE_#. // Switch nozzles by bumping the toolhead. Requires EVENT_GCODE_TOOLCHANGE_#.
@@ -291,6 +305,18 @@
#endif #endif
/**
* Differential Extruder
*
* The X and E steppers work together to create a differential drive system.
* Simple : E steps = X + E ; X steps = X (E drives a loop, X stays the same)
* Balanced: E steps = X + E/2 ; X steps = X - E/2 (Dual loop system)
*/
//#define DIFFERENTIAL_EXTRUDER
#if ENABLED(DIFFERENTIAL_EXTRUDER)
//#define BALANCED_DIFFERENTIAL_EXTRUDER
#endif
/** /**
* Switching Toolhead * Switching Toolhead
* *
@@ -375,14 +401,15 @@
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version) * PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
* PRUSA_MMU2 : Průša MMU2 * PRUSA_MMU2 : Průša MMU2
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5) * PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
* PRUSA_MMU3 : Průša MMU3 (Requires MK3S extruder with motion sensor and MMU firmware version 3.x.x, EXTRUDERS = 5)
* EXTENDABLE_EMU_MMU2 : MMU with configurable number of filaments (ERCF, SMuFF or similar with Průša MMU2 compatible firmware) * EXTENDABLE_EMU_MMU2 : MMU with configurable number of filaments (ERCF, SMuFF or similar with Průša MMU2 compatible firmware)
* EXTENDABLE_EMU_MMU2S : MMUS with configurable number of filaments (ERCF, SMuFF or similar with Průša MMU2 compatible firmware) * EXTENDABLE_EMU_MMU2S : MMUS with configurable number of filaments (ERCF, SMuFF or similar with Průša MMU2 compatible firmware)
* *
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails. * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
* See additional options in Configuration_adv.h. * See additional options in Configuration_adv.h.
* :["PRUSA_MMU1", "PRUSA_MMU2", "PRUSA_MMU2S", "EXTENDABLE_EMU_MMU2", "EXTENDABLE_EMU_MMU2S"] * :["PRUSA_MMU1", "PRUSA_MMU2", "PRUSA_MMU2S", "PRUSA_MMU3", "EXTENDABLE_EMU_MMU2", "EXTENDABLE_EMU_MMU2S"]
*/ */
//#define MMU_MODEL PRUSA_MMU2 //#define MMU_MODEL PRUSA_MMU3
// @section psu control // @section psu control
@@ -401,9 +428,18 @@
//#define PS_OFF_SOUND // Beep 1s when power off //#define PS_OFF_SOUND // Beep 1s when power off
#define PSU_ACTIVE_STATE LOW // Set 'LOW' for ATX, 'HIGH' for X-Box #define PSU_ACTIVE_STATE LOW // Set 'LOW' for ATX, 'HIGH' for X-Box
//#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80 //#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80
//#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power //#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power
//#define LED_POWEROFF_TIMEOUT 10000 // (ms) Turn off LEDs after power-off, with this amount of delay //#define LED_POWEROFF_TIMEOUT 10000 // (ms) Turn off LEDs after power-off, with this amount of delay
//#define PSU_OFF_REDUNDANT // Second pin for redundant power control
//#define PSU_OFF_REDUNDANT_INVERTED // Redundant pin state is the inverse of PSU_ACTIVE_STATE
//#define PS_ON1_PIN 6 // Redundant pin required to enable power in combination with PS_ON_PIN
//#define PS_ON_EDM_PIN 8 // External Device Monitoring pins for external power control relay feedback. Fault on mismatch.
//#define PS_ON1_EDM_PIN 9
#define PS_EDM_RESPONSE 250 // (ms) Time to allow for relay action
//#define POWER_OFF_TIMER // Enable M81 D<seconds> to power off after a delay //#define POWER_OFF_TIMER // Enable M81 D<seconds> to power off after a delay
//#define POWER_OFF_WAIT_FOR_COOLDOWN // Enable M81 S to power off only after cooldown //#define POWER_OFF_WAIT_FOR_COOLDOWN // Enable M81 S to power off only after cooldown
@@ -564,7 +600,7 @@
#define DUMMY_THERMISTOR_998_VALUE 25 #define DUMMY_THERMISTOR_998_VALUE 25
#define DUMMY_THERMISTOR_999_VALUE 100 #define DUMMY_THERMISTOR_999_VALUE 100
// Resistor values when using MAX31865 sensors (-5) on TEMP_SENSOR_0 / 1 // Resistor values when using MAX31865 sensors (-5) on TEMP_SENSOR_0 / 1 / 2 / BED
#if TEMP_SENSOR_IS_MAX_TC(0) #if TEMP_SENSOR_IS_MAX_TC(0)
#define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000) #define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000)
#define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000 #define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000
@@ -577,6 +613,10 @@
#define MAX31865_SENSOR_OHMS_2 100 #define MAX31865_SENSOR_OHMS_2 100
#define MAX31865_CALIBRATION_OHMS_2 430 #define MAX31865_CALIBRATION_OHMS_2 430
#endif #endif
#if TEMP_SENSOR_IS_MAX_TC(BED)
#define MAX31865_SENSOR_OHMS_BED 100
#define MAX31865_CALIBRATION_OHMS_BED 430
#endif
#if HAS_E_TEMP_SENSOR #if HAS_E_TEMP_SENSOR
#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 #define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109
@@ -663,26 +703,28 @@
* MPCTEMP : Predictive Model temperature control. (~1.8K without auto-tune) * MPCTEMP : Predictive Model temperature control. (~1.8K without auto-tune)
*/ */
#define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning #define PIDTEMP // See the PID Tuning Guide at https://reprap.org/wiki/PID_Tuning
//#define MPCTEMP // ** EXPERIMENTAL ** See https://marlinfw.org/docs/features/model_predictive_control.html //#define MPCTEMP // See https://marlinfw.org/docs/features/model_predictive_control.html
#define PID_MAX 255 // Limit hotend current while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current #define PID_MAX 255 // Limit hotend current while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#define PID_K1 0.95 // Smoothing factor within any PID loop #define PID_K1 0.95 // Smoothing factor within any PID loop
#if ENABLED(PIDTEMP) #if ENABLED(PIDTEMP)
//#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to toggle activation. //#define MIN_POWER 0 // Min power to improve PID stability (0..PID_MAX).
// Get the power from the temperature report ('M105' => @:nnn) and try P*2-20 to P*2-10.
//#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to enable/disable.
//#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders) //#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders)
// Set/get with G-code: M301 E[extruder number, 0-2] // Set/get with G-code: M301 E[extruder number, 0-2]
#if ENABLED(PID_PARAMS_PER_HOTEND) #if ENABLED(PID_PARAMS_PER_HOTEND)
// Specify up to one value per hotend here, according to your setup. // Specify up to one value per hotend here, according to your setup.
// If there are fewer values, the last one applies to the remaining hotends. // If there are fewer values, the last one applies to the remaining hotends.
#define DEFAULT_Kp_LIST { 22.20, 22.20 } #define DEFAULT_KP_LIST { 22.20, 22.20 }
#define DEFAULT_Ki_LIST { 1.08, 1.08 } #define DEFAULT_KI_LIST { 1.08, 1.08 }
#define DEFAULT_Kd_LIST { 114.00, 114.00 } #define DEFAULT_KD_LIST { 114.00, 114.00 }
#else #else
#define DEFAULT_Kp 22.20 #define DEFAULT_KP 22.20
#define DEFAULT_Ki 1.08 #define DEFAULT_KI 1.08
#define DEFAULT_Kd 114.00 #define DEFAULT_KD 114.00
#endif #endif
#else #else
#define BANG_MAX 255 // Limit hotend current while in bang-bang mode; 255=full current #define BANG_MAX 255 // Limit hotend current while in bang-bang mode; 255=full current
@@ -694,15 +736,23 @@
* Use a physical model of the hotend to control temperature. When configured correctly this gives * Use a physical model of the hotend to control temperature. When configured correctly this gives
* better responsiveness and stability than PID and removes the need for PID_EXTRUSION_SCALING * better responsiveness and stability than PID and removes the need for PID_EXTRUSION_SCALING
* and PID_FAN_SCALING. Enable MPC_AUTOTUNE and use M306 T to autotune the model. * and PID_FAN_SCALING. Enable MPC_AUTOTUNE and use M306 T to autotune the model.
* @section mpctemp * @section mpc temp
*/ */
#if ENABLED(MPCTEMP) #if ENABLED(MPCTEMP)
#define MPC_AUTOTUNE // Include a method to do MPC auto-tuning (~6.3K bytes of flash) #define MPC_AUTOTUNE // Include a method to do MPC auto-tuning (~6.3K bytes of flash)
#if ENABLED(MPC_AUTOTUNE)
//#define MPC_AUTOTUNE_DEBUG // Enable MPC debug logging (~870 bytes of flash)
#endif
//#define MPC_EDIT_MENU // Add MPC editing to the "Advanced Settings" menu. (~1.3K bytes of flash) //#define MPC_EDIT_MENU // Add MPC editing to the "Advanced Settings" menu. (~1.3K bytes of flash)
//#define MPC_AUTOTUNE_MENU // Add MPC auto-tuning to the "Advanced Settings" menu. (~350 bytes of flash) //#define MPC_AUTOTUNE_MENU // Add MPC auto-tuning to the "Advanced Settings" menu. (~350 bytes of flash)
#define MPC_MAX 255 // (0..255) Current to nozzle while MPC is active. #define MPC_MAX 255 // (0..255) Current to nozzle while MPC is active.
#define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers. #define MPC_HEATER_POWER { 40.0f } // (W) Nominal heat cartridge powers.
//#define MPC_PTC // Hotend power changes with temperature (e.g., PTC heat cartridges).
#if ENABLED(MPC_PTC)
#define MPC_HEATER_ALPHA { 0.0028f } // Temperature coefficient of resistance of the heat cartridges.
#define MPC_HEATER_REFTEMP { 20 } // (°C) Reference temperature for MPC_HEATER_POWER and MPC_HEATER_ALPHA.
#endif
#define MPC_INCLUDE_FAN // Model the fan speed? #define MPC_INCLUDE_FAN // Model the fan speed?
@@ -734,6 +784,7 @@
#define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center at first layer height. #define MPC_TUNING_POS { X_CENTER, Y_CENTER, 1.0f } // (mm) M306 Autotuning position, ideally bed center at first layer height.
#define MPC_TUNING_END_Z 10.0f // (mm) M306 Autotuning final Z position. #define MPC_TUNING_END_Z 10.0f // (mm) M306 Autotuning final Z position.
//#define EVENT_GCODE_AFTER_MPC_TUNE "M84" // G-code to execute after MPC tune finished and Z raised.
#endif #endif
//=========================================================================== //===========================================================================
@@ -765,20 +816,55 @@
//#define PIDTEMPBED //#define PIDTEMPBED
#if ENABLED(PIDTEMPBED) #if ENABLED(PIDTEMPBED)
//#define MIN_BED_POWER 0 //#define MIN_BED_POWER 0 // Min power to improve PID stability (0..MAX_BED_POWER).
//#define PID_BED_DEBUG // Print Bed PID debug data to the serial port. // Get the power from the temperature report ('M105' => B@:nnn) and try P*2-20 to P*2-10.
//#define PID_BED_DEBUG // Print Bed PID debug data to the serial port. Use 'M303 D' to enable/disable.
// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) // 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) // from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
#define DEFAULT_bedKp 10.00 #define DEFAULT_BED_KP 10.00
#define DEFAULT_bedKi .023 #define DEFAULT_BED_KI 0.023
#define DEFAULT_bedKd 305.4 #define DEFAULT_BED_KD 305.4
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#else #else
//#define BED_LIMIT_SWITCHING // Keep the bed temperature within BED_HYSTERESIS of the target //#define BED_LIMIT_SWITCHING // Keep the bed temperature within BED_HYSTERESIS of the target
#endif #endif
/**
* Peltier Bed - Heating and Cooling
*
* A Peltier device transfers heat from one side to the other in proportion to the amount of
* current flowing through the device and the direction of current flow. So the same device
* can both heat and cool.
*
* When "cooling" in addition to rejecting the heat transferred from the hot side to the cold
* side, the dissipated power (voltage * current) must also be rejected. Be sure to set up a
* fan that can be powered in sync with the Peltier unit.
*
* This feature is only set up to run in bang-bang mode because Peltiers don't handle PWM
* well without filter circuitry.
*
* Since existing 3D printers are made to handle relatively high current for the heated bed,
* we can use the heated bed power pins to control the Peltier power using the same G-codes
* as the heated bed (M140, M190, etc.).
*
* A second GPIO pin is required to control current direction.
* Two configurations are possible: Relay and H-Bridge
*
* (At this time only relay is supported. H-bridge requires 4 MOS switches configured in H-Bridge.)
*
* Power is handled by the bang-bang control loop: 0 or 255.
* Cooling applications are more common than heating, so the pin states are commonly:
* LOW = Heating = Relay Energized
* HIGH = Cooling = Relay in "Normal" state
*/
//#define PELTIER_BED
#if ENABLED(PELTIER_BED)
#define PELTIER_DIR_PIN -1 // Relay control pin for Peltier
#define PELTIER_DIR_HEAT_STATE LOW // The relay pin state that causes the Peltier to heat
#endif
// Add 'M190 R T' for more gradual M190 R bed cooling. // Add 'M190 R T' for more gradual M190 R bed cooling.
//#define BED_ANNEALING_GCODE //#define BED_ANNEALING_GCODE
@@ -813,24 +899,26 @@
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current #define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
#if ENABLED(PIDTEMPCHAMBER) #if ENABLED(PIDTEMPCHAMBER)
#define MIN_CHAMBER_POWER 0 //#define MIN_CHAMBER_POWER 0 // Min power to improve PID stability. (0..MAX_CHAMBER_POWER)
//#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port. // Get the power from the temperature report ('M105' => C@:nnn) and try P*2-20 to P*2-10.
//#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port. Use 'M303 D' to enable/disable.
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element // Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
// and placed inside the small Creality printer enclosure tent. // and placed inside the small Creality printer enclosure tent.
// #define DEFAULT_CHAMBER_KP 37.04
#define DEFAULT_chamberKp 37.04 #define DEFAULT_CHAMBER_KI 1.40
#define DEFAULT_chamberKi 1.40 #define DEFAULT_CHAMBER_KD 655.17
#define DEFAULT_chamberKd 655.17
// M309 P37.04 I1.04 D655.17 // M309 P37.04 I1.04 D655.17
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles. // FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
#endif // PIDTEMPCHAMBER #endif // PIDTEMPCHAMBER
// @section pid temp
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER) #if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX //#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
//#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash) //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
@@ -866,7 +954,7 @@
* protect against a broken or disconnected thermistor wire. * protect against a broken or disconnected thermistor wire.
* *
* The issue: If a thermistor falls out, it will report the much lower * The issue: If a thermistor falls out, it will report the much lower
* temperature of the air in the room, and the the firmware will keep * temperature of the air in the room, and the firmware will keep
* the heater on. * the heater on.
* *
* If you get "Thermal Runaway" or "Heating failed" errors the * If you get "Thermal Runaway" or "Heating failed" errors the
@@ -882,7 +970,7 @@
//============================= Mechanical Settings ========================= //============================= Mechanical Settings =========================
//=========================================================================== //===========================================================================
// @section machine // @section kinematics
// Enable one of the options below for CoreXY, CoreXZ, or CoreYZ kinematics, // Enable one of the options below for CoreXY, CoreXZ, or CoreYZ kinematics,
// either in the usual order or reversed // either in the usual order or reversed
@@ -906,6 +994,15 @@
// Enable for a belt style printer with endless "Z" motion // Enable for a belt style printer with endless "Z" motion
//#define BELTPRINTER //#define BELTPRINTER
// Articulated robot (arm). Joints are directly mapped to axes with no kinematics.
//#define ARTICULATED_ROBOT_ARM
// For a hot wire cutter with parallel horizontal axes (X, I) where the heights of the two wire
// ends are controlled by parallel axes (Y, J). Joints are directly mapped to axes (no kinematics).
//#define FOAMCUTTER_XYUV
// @section polargraph
// Enable for Polargraph Kinematics // Enable for Polargraph Kinematics
//#define POLARGRAPH //#define POLARGRAPH
#if ENABLED(POLARGRAPH) #if ENABLED(POLARGRAPH)
@@ -949,9 +1046,6 @@
// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
#define PRINTABLE_RADIUS 140.0 // (mm) #define PRINTABLE_RADIUS 140.0 // (mm)
// Maximum reachable area
#define DELTA_MAX_RADIUS 140.0 // (mm)
// Center-to-center distance of the holes in the diagonal push rods. // Center-to-center distance of the holes in the diagonal push rods.
#define DELTA_DIAGONAL_ROD 250.0 // (mm) #define DELTA_DIAGONAL_ROD 250.0 // (mm)
@@ -971,7 +1065,8 @@
// Delta radius and diagonal rod adjustments // Delta radius and diagonal rod adjustments
//#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 } // (mm) //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 } // (mm)
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 } // (mm) //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 } // (mm)
#endif
#endif // DELTA
// @section scara // @section scara
@@ -1006,9 +1101,6 @@
// Radius around the center where the arm cannot reach // Radius around the center where the arm cannot reach
#define MIDDLE_DEAD_ZONE_R 0 // (mm) #define MIDDLE_DEAD_ZONE_R 0 // (mm)
#define THETA_HOMING_OFFSET 0 // Calculated from Calibration Guide and M360 / M114. See https://www.morgan3dp.com/morgan-calibration-guide/
#define PSI_HOMING_OFFSET 0 // Calculated from Calibration Guide and M364 / M114. See https://www.morgan3dp.com/morgan-calibration-guide/
#elif ENABLED(MP_SCARA) #elif ENABLED(MP_SCARA)
#define SCARA_OFFSET_THETA1 12 // degrees #define SCARA_OFFSET_THETA1 12 // degrees
@@ -1027,24 +1119,40 @@
#define DEFAULT_SEGMENTS_PER_SECOND 200 #define DEFAULT_SEGMENTS_PER_SECOND 200
// Length of inner and outer support arms. Measure arm lengths precisely. // Length of inner and outer support arms. Measure arm lengths precisely.
#define TPARA_LINKAGE_1 120 // (mm) #define TPARA_LINKAGE_1 120 // (mm)
#define TPARA_LINKAGE_2 120 // (mm) #define TPARA_LINKAGE_2 120 // (mm)
// SCARA tower offset (position of Tower relative to bed zero position) // Height of the Shoulder axis (pivot) relative to the tower floor
// This needs to be reasonably accurate as it defines the printbed position in the SCARA space. #define TPARA_SHOULDER_AXIS_HEIGHT 135.0 // (mm)
#define TPARA_OFFSET_X 0 // (mm)
#define TPARA_OFFSET_Y 0 // (mm) // The position of the last linkage relative to the robot arm origin
#define TPARA_OFFSET_Z 0 // (mm) // (intersection of the base axis and floor) when at the home position
#define TPARA_ARM_X_HOME_POS 28.75 // (mm) Measured from shoulder axis to tool holder axis in home position
#define TPARA_ARM_Y_HOME_POS 0 // (mm)
#define TPARA_ARM_Z_HOME_POS 250.00 // (mm) Measured from tool holder axis to the floor
// TPARA Workspace offset relative to the tower (position of workspace origin relative to robot Tower origin )
// This needs to be reasonably accurate as it defines the printbed position in the TPARA space.
#define TPARA_OFFSET_X 127.0 // (mm) to coincide with minimum radius MIDDLE_DEAD_ZONE_R, and W(0,0,0) is reachable
#define TPARA_OFFSET_Y 0.0 // (mm)
#define TPARA_OFFSET_Z 0.0 // (mm)
// TPARA tool connection point offset, relative to the tool moving frame origin which is in the last linkage axis,
// (TCP: tool center/connection point) of the robot,
// the plane of measured offset must be alligned with home position plane
#define TPARA_TCP_OFFSET_X 27.0 // (mm) Tool flange: 27 (distance from pivot to bolt holes), extruder tool: 50.0,
#define TPARA_TCP_OFFSET_Y 0.0 // (mm)
#define TPARA_TCP_OFFSET_Z -65.0 // (mm) Tool flange (bottom): -6 (caution as Z 0 posiion will crash second linkage to the floor, -35 is safe for testing with no tool), extruder tool (depends on extruder): -65.0
#define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly #define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
// Radius around the center where the arm cannot reach // Radius around the center where the arm cannot reach
#define MIDDLE_DEAD_ZONE_R 0 // (mm) // For now use a hardcoded uniform limit, although it should be calculated, or fix a limit for each axis angle
#define MIDDLE_DEAD_ZONE_R 100 // (mm)
// Calculated from Calibration Guide and M360 / M114. See https://www.morgan3dp.com/morgan-calibration-guide/ // Max angle between L1 and L2
#define THETA_HOMING_OFFSET 0 #define TPARA_MAX_L1L2_ANGLE 140.0f // (degrees)
#define PSI_HOMING_OFFSET 0 #endif // AXEL_TPARA
#endif
// @section polar // @section polar
@@ -1099,15 +1207,6 @@
#define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly #define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
#endif #endif
// @section machine
// Articulated robot (arm). Joints are directly mapped to axes with no kinematics.
//#define ARTICULATED_ROBOT_ARM
// For a hot wire cutter with parallel horizontal axes (X, I) where the heights of the two wire
// ends are controlled by parallel axes (Y, J). Joints are directly mapped to axes (no kinematics).
//#define FOAMCUTTER_XYUV
//=========================================================================== //===========================================================================
//============================== Endstop Settings =========================== //============================== Endstop Settings ===========================
//=========================================================================== //===========================================================================
@@ -1231,11 +1330,16 @@
/** /**
* Default Axis Steps Per Unit (linear=steps/mm, rotational=steps/°) * Default Axis Steps Per Unit (linear=steps/mm, rotational=steps/°)
* Override with M92 * Override with M92 (when enabled below)
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/ */
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 } #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 }
/**
* Enable support for M92. Disable to save at least ~530 bytes of flash.
*/
#define EDITABLE_STEPS_PER_UNIT
/** /**
* Default Max Feed Rate (linear=mm/s, rotational=°/s) * Default Max Feed Rate (linear=mm/s, rotational=°/s)
* Override with M203 * Override with M203
@@ -1286,6 +1390,7 @@
#define DEFAULT_XJERK 10.0 #define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0 #define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.3 #define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0
//#define DEFAULT_IJERK 0.3 //#define DEFAULT_IJERK 0.3
//#define DEFAULT_JJERK 0.3 //#define DEFAULT_JJERK 0.3
//#define DEFAULT_KJERK 0.3 //#define DEFAULT_KJERK 0.3
@@ -1301,8 +1406,6 @@
#endif #endif
#endif #endif
#define DEFAULT_EJERK 5.0 // May be used by Linear Advance
/** /**
* Junction Deviation Factor * Junction Deviation Factor
* *
@@ -1325,6 +1428,11 @@
* See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained
*/ */
//#define S_CURVE_ACCELERATION //#define S_CURVE_ACCELERATION
#if ENABLED(S_CURVE_ACCELERATION)
// Define to use 4th instead of 6th order motion curve
//#define S_CURVE_FACTOR 0.25 // Initial and final acceleration factor, ideally 0.1 to 0.4.
// Shouldn't generally require tuning.
#endif
//=========================================================================== //===========================================================================
//============================= Z Probe Options ============================= //============================= Z Probe Options =============================
@@ -1442,6 +1550,17 @@
//#define BD_SENSOR_PROBE_NO_STOP // Probe bed without stopping at each probe point //#define BD_SENSOR_PROBE_NO_STOP // Probe bed without stopping at each probe point
#endif #endif
/**
* BIQU MicroProbe
*
* A lightweight, solenoid-driven probe.
* For information about this sensor https://github.com/bigtreetech/MicroProbe
*
* Also requires PROBE_ENABLE_DISABLE
*/
//#define BIQU_MICROPROBE_V1 // Triggers HIGH
//#define BIQU_MICROPROBE_V2 // Triggers LOW
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN) // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
//#define SOLENOID_PROBE //#define SOLENOID_PROBE
@@ -1465,6 +1584,20 @@
#define PROBE_DEPLOY_FEEDRATE (133*60) // (mm/min) Probe deploy speed #define PROBE_DEPLOY_FEEDRATE (133*60) // (mm/min) Probe deploy speed
#define PROBE_STOW_FEEDRATE (133*60) // (mm/min) Probe stow speed #define PROBE_STOW_FEEDRATE (133*60) // (mm/min) Probe stow speed
/**
* Magnetically Mounted Probe with a Servo mechanism
* Probe Deploy and Stow both follow the same basic sequence:
* - Rotate the SERVO to its Deployed angle
* - Perform XYZ moves to deploy or stow the PROBE
* - Rotate the SERVO to its Stowed angle
*/
//#define MAG_MOUNTED_PROBE_SERVO_NR 0 // Servo Number for this probe
#ifdef MAG_MOUNTED_PROBE_SERVO_NR
#define MAG_MOUNTED_PROBE_SERVO_ANGLES { 90, 0 } // Servo Angles for Deployed, Stowed
#define MAG_MOUNTED_PRE_DEPLOY { PROBE_DEPLOY_FEEDRATE, { 15, 160, 30 } } // Safe position for servo activation
#define MAG_MOUNTED_PRE_STOW { PROBE_DEPLOY_FEEDRATE, { 15, 160, 30 } } // Safe position for servo deactivation
#endif
#define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } } // Move to side Dock & Attach probe #define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } } // Move to side Dock & Attach probe
#define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } } // Move probe off dock #define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } } // Move probe off dock
#define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed #define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed
@@ -1572,18 +1705,21 @@
//#define PROBE_TOOLCHANGE_NO_MOVE // Suppress motion on probe tool-change //#define PROBE_TOOLCHANGE_NO_MOVE // Suppress motion on probe tool-change
#endif #endif
//#define PROBE_WAKEUP_TIME_MS 30 // (ms) Time for the probe to wake up
// Most probes should stay away from the edges of the bed, but // Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area. // with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define PROBING_MARGIN 10 #define PROBING_MARGIN 10
// X and Y axis travel speed (mm/min) between probes // X and Y axis travel speed between probes.
#define XY_PROBE_FEEDRATE (133*60) // Leave undefined to use the average of the current XY homing feedrate.
#define XY_PROBE_FEEDRATE (133*60) // (mm/min)
// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) // Feedrate for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_FEEDRATE_FAST (4*60) #define Z_PROBE_FEEDRATE_FAST (4*60) // (mm/min)
// Feedrate (mm/min) for the "accurate" probe of each point // Feedrate for the "accurate" probe of each point
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 2) #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 2) // (mm/min)
/** /**
* Probe Activation Switch * Probe Activation Switch
@@ -1607,6 +1743,7 @@
#define PROBE_TARE_DELAY 200 // (ms) Delay after tare before #define PROBE_TARE_DELAY 200 // (ms) Delay after tare before
#define PROBE_TARE_STATE HIGH // State to write pin for tare #define PROBE_TARE_STATE HIGH // State to write pin for tare
//#define PROBE_TARE_PIN PA5 // Override default pin //#define PROBE_TARE_PIN PA5 // Override default pin
//#define PROBE_TARE_MENU // Display a menu item to tare the probe
#if ENABLED(PROBE_ACTIVATION_SWITCH) #if ENABLED(PROBE_ACTIVATION_SWITCH)
//#define PROBE_TARE_ONLY_WHILE_INACTIVE // Fail to tare/probe if PROBE_ACTIVATION_SWITCH is active //#define PROBE_TARE_ONLY_WHILE_INACTIVE // Fail to tare/probe if PROBE_ACTIVATION_SWITCH is active
#endif #endif
@@ -1644,8 +1781,8 @@
* probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD. * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
* Only integer values >= 1 are valid here. * Only integer values >= 1 are valid here.
* *
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle. * Example: 'M851 Z-5' with a CLEARANCE of 4 => 9mm from bed to nozzle.
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle. * But: 'M851 Z+1' with a CLEARANCE of 2 => 2mm from bed to nozzle.
*/ */
#define Z_CLEARANCE_DEPLOY_PROBE 10 // (mm) Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 10 // (mm) Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // (mm) Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // (mm) Z Clearance between probe points
@@ -1696,18 +1833,20 @@
#define PROBING_BED_TEMP 50 #define PROBING_BED_TEMP 50
#endif #endif
// @section stepper drivers
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :['LOW', 'HIGH']
#define X_ENABLE_ON 0 #define X_ENABLE_ON LOW
#define Y_ENABLE_ON 0 #define Y_ENABLE_ON LOW
#define Z_ENABLE_ON 0 #define Z_ENABLE_ON LOW
#define E_ENABLE_ON 0 // For all extruders #define E_ENABLE_ON LOW // For all extruders
//#define I_ENABLE_ON 0 //#define I_ENABLE_ON LOW
//#define J_ENABLE_ON 0 //#define J_ENABLE_ON LOW
//#define K_ENABLE_ON 0 //#define K_ENABLE_ON LOW
//#define U_ENABLE_ON 0 //#define U_ENABLE_ON LOW
//#define V_ENABLE_ON 0 //#define V_ENABLE_ON LOW
//#define W_ENABLE_ON 0 //#define W_ENABLE_ON LOW
// Disable axis steppers immediately when they're not being stepped. // Disable axis steppers immediately when they're not being stepped.
// WARNING: When motors turn off there is a chance of losing position accuracy! // WARNING: When motors turn off there is a chance of losing position accuracy!
@@ -1869,6 +2008,8 @@
#endif #endif
/** /**
* @section filament runout sensors
*
* Filament Runout Sensors * Filament Runout Sensors
* Mechanical or opto endstops are used to check for the presence of filament. * Mechanical or opto endstops are used to check for the presence of filament.
* *
@@ -1942,8 +2083,11 @@
//#define FILAMENT_MOTION_SENSOR //#define FILAMENT_MOTION_SENSOR
#if ENABLED(FILAMENT_MOTION_SENSOR) #if ENABLED(FILAMENT_MOTION_SENSOR)
//#define FILAMENT_SWITCH_AND_MOTION //#define FILAMENT_SWITCH_AND_MOTION // Define separate pins below to sense motion
#if ENABLED(FILAMENT_SWITCH_AND_MOTION) #if ENABLED(FILAMENT_SWITCH_AND_MOTION)
#define FILAMENT_MOTION_DISTANCE_MM 3.0 // (mm) Missing distance required to trigger runout
#define NUM_MOTION_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_MOTION#_PIN for each. #define NUM_MOTION_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_MOTION#_PIN for each.
//#define FIL_MOTION1_PIN -1 //#define FIL_MOTION1_PIN -1
@@ -1979,10 +2123,10 @@
//#define FIL_MOTION8_STATE LOW //#define FIL_MOTION8_STATE LOW
//#define FIL_MOTION8_PULLUP //#define FIL_MOTION8_PULLUP
//#define FIL_MOTION8_PULLDOWN //#define FIL_MOTION8_PULLDOWN
#endif #endif // FILAMENT_SWITCH_AND_MOTION
#endif #endif // FILAMENT_MOTION_SENSOR
#endif #endif // FILAMENT_RUNOUT_DISTANCE_MM
#endif #endif // FILAMENT_RUNOUT_SENSOR
//=========================================================================== //===========================================================================
//=============================== Bed Leveling ============================== //=============================== Bed Leveling ==============================
@@ -2028,6 +2172,12 @@
//#define AUTO_BED_LEVELING_UBL //#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING //#define MESH_BED_LEVELING
/**
* Commands to execute at the start of G29 probing,
* after switching to the PROBING_TOOL.
*/
//#define EVENT_GCODE_BEFORE_G29 "M300 P440 S200"
/** /**
* Commands to execute at the end of G29 probing. * Commands to execute at the end of G29 probing.
* Useful to retract or move the Z probe out of the way. * Useful to retract or move the Z probe out of the way.
@@ -2176,7 +2326,7 @@
//=========================================================================== //===========================================================================
#define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. #define GRID_MAX_POINTS_X 3
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS
@@ -2201,7 +2351,7 @@
#if ENABLED(LCD_BED_TRAMMING) #if ENABLED(LCD_BED_TRAMMING)
#define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets #define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
#define BED_TRAMMING_HEIGHT 0.0 // (mm) Z height of nozzle at tramming points #define BED_TRAMMING_HEIGHT 0.0 // (mm) Z height of nozzle at tramming points
#define BED_TRAMMING_Z_HOP 4.0 // (mm) Z height of nozzle between tramming points #define BED_TRAMMING_Z_HOP 4.0 // (mm) Z raise between tramming points
//#define BED_TRAMMING_INCLUDE_CENTER // Move to the center after the last corner //#define BED_TRAMMING_INCLUDE_CENTER // Move to the center after the last corner
//#define BED_TRAMMING_USE_PROBE //#define BED_TRAMMING_USE_PROBE
#if ENABLED(BED_TRAMMING_USE_PROBE) #if ENABLED(BED_TRAMMING_USE_PROBE)
@@ -2265,6 +2415,9 @@
// Homing speeds (linear=mm/min, rotational=°/min) // Homing speeds (linear=mm/min, rotational=°/min)
#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) } #define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) }
// Edit homing feedrates with M210 and MarlinUI menu items
//#define EDITABLE_HOMING_FEEDRATE
// Validate that endstops are triggered on homing moves // Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS #define VALIDATE_HOMING_ENDSTOPS
@@ -2391,9 +2544,9 @@
#define PREHEAT_2_TEMP_CHAMBER 35 #define PREHEAT_2_TEMP_CHAMBER 35
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
// @section motion
/** /**
* @section nozzle park
*
* Nozzle Park * Nozzle Park
* *
* Park the nozzle at the given XYZ position on idle or G27. * Park the nozzle at the given XYZ position on idle or G27.
@@ -2416,6 +2569,8 @@
#endif #endif
/** /**
* @section nozzle clean
*
* Clean Nozzle Feature * Clean Nozzle Feature
* *
* Adds the G12 command to perform a nozzle cleaning process. * Adds the G12 command to perform a nozzle cleaning process.
@@ -2576,9 +2731,24 @@
//#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE //#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE
#endif #endif
//============================================================================= // @section media
//============================= LCD and SD support ============================
//============================================================================= /**
* SD CARD
*
* SD Card support is disabled by default. If your controller has an SD slot,
* you must uncomment the following option or it won't work.
*/
//#define SDSUPPORT
/**
* SD CARD: ENABLE CRC
*
* Use CRC checks and retries on the SD communication.
*/
#if ENABLED(SDSUPPORT)
//#define SD_CHECK_AND_RETRY
#endif
// @section interface // @section interface
@@ -2619,27 +2789,12 @@
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 JAPANESE
/** /**
* Info Screen Style (0:Classic, 1:Průša) * Info Screen Style (0:Classic, 1:Průša, 2:CNC)
* *
* :[0:'Classic', 1:'Průša'] * :[0:'Classic', 1:'Průša', 2:'CNC']
*/ */
#define LCD_INFO_SCREEN_STYLE 0 #define LCD_INFO_SCREEN_STYLE 0
/**
* SD CARD
*
* SD Card support is disabled by default. If your controller has an SD slot,
* you must uncomment the following option or it won't work.
*/
//#define SDSUPPORT
/**
* SD CARD: ENABLE CRC
*
* Use CRC checks and retries on the SD communication.
*/
//#define SD_CHECK_AND_RETRY
/** /**
* LCD Menu Items * LCD Menu Items
* *
@@ -2768,7 +2923,7 @@
// //
// Original RADDS LCD Display+Encoder+SDCardReader // Original RADDS LCD Display+Encoder+SDCardReader
// https://web.archive.org/web/20200719145306/http://doku.radds.org/dokumentation/lcd-display/ // https://web.archive.org/web/20200719145306/doku.radds.org/dokumentation/lcd-display/
// //
//#define RADDS_DISPLAY //#define RADDS_DISPLAY
@@ -2807,13 +2962,15 @@
// //
//#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 //#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602
// /**
// ANET and Tronxy 20x4 Controller * ANET and Tronxy 20x4 Controller
// * LCD2004 display with 5 analog buttons.
//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. *
// This LCD is known to be susceptible to electrical interference * NOTE: Requires ADC_KEYPAD_PIN to be assigned to an analog pin.
// which scrambles the display. Pressing any button clears it up. * This LCD is known to be susceptible to electrical interference which
// This is a LCD2004 display with 5 analog buttons. * scrambles the display. Press any button to clear it up.
*/
//#define ZONESTAR_LCD
// //
// Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. // Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD.
@@ -2834,7 +2991,7 @@
// //
// Elefu RA Board Control Panel // Elefu RA Board Control Panel
// https://web.archive.org/web/20140823033947/http://www.elefu.com/index.php?route=product/product&product_id=53 // https://web.archive.org/web/20140823033947/www.elefu.com/index.php?route=product/product&product_id=53
// //
//#define RA_CONTROL_PANEL //#define RA_CONTROL_PANEL
@@ -2966,7 +3123,7 @@
// //
// Cartesio UI // Cartesio UI
// https://web.archive.org/web/20180605050442/http://mauk.cc/webshop/cartesio-shop/electronics/user-interface // https://web.archive.org/web/20180605050442/mauk.cc/webshop/cartesio-shop/electronics/user-interface
// //
//#define CARTESIO_UI //#define CARTESIO_UI
@@ -3001,7 +3158,7 @@
// //
// FYSETC variant of the MINI12864 graphic controller with SD support // FYSETC variant of the MINI12864 graphic controller with SD support
// https://wiki.fysetc.com/Mini12864_Panel/ // https://wiki.fysetc.com/docs/Mini12864Panel
// //
//#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default //#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default
//#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on) //#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on)
@@ -3022,7 +3179,7 @@
// //
// Factory display for Creality CR-10 / CR-7 / Ender-3 // Factory display for Creality CR-10 / CR-7 / Ender-3
// https://www.aliexpress.com/item/32833148327.html // https://marlinfw.org/docs/hardware/controllers.html#cr10_stockdisplay
// //
// Connect to EXP1 on RAMPS and compatible boards. // Connect to EXP1 on RAMPS and compatible boards.
// //
@@ -3090,14 +3247,14 @@
// //
// Tiny, but very sharp OLED display // Tiny, but very sharp OLED display
// //
//#define MKS_12864OLED // Uses the SH1106 controller (default) //#define MKS_12864OLED // Uses the SH1106 controller
//#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller //#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller
// //
// Zonestar OLED 128×64 Full Graphics Controller // Zonestar OLED 128×64 Full Graphics Controller
// //
//#define ZONESTAR_12864LCD // Graphical (DOGM) with ST7920 controller //#define ZONESTAR_12864LCD // Graphical (DOGM) with ST7920 controller
//#define ZONESTAR_12864OLED // 1.3" OLED with SH1106 controller (default) //#define ZONESTAR_12864OLED // 1.3" OLED with SH1106 controller
//#define ZONESTAR_12864OLED_SSD1306 // 0.96" OLED with SSD1306 controller //#define ZONESTAR_12864OLED_SSD1306 // 0.96" OLED with SSD1306 controller
// //
@@ -3175,7 +3332,7 @@
#endif #endif
// //
// Touch-screen LCD for Malyan M200/M300 printers // LCD for Malyan M200/M300 printers
// //
//#define MALYAN_LCD //#define MALYAN_LCD
@@ -3203,6 +3360,11 @@
// //
//#define ANYCUBIC_LCD_VYPER //#define ANYCUBIC_LCD_VYPER
//
// Sovol SV-06 Resistive Touch Screen
//
//#define SOVOL_SV06_RTS
// //
// 320x240 Nextion 2.8" serial TFT Resistive Touch Screen NX3224T028 // 320x240 Nextion 2.8" serial TFT Resistive Touch Screen NX3224T028
// //
@@ -3341,20 +3503,22 @@
#if ENABLED(TFT_COLOR_UI) #if ENABLED(TFT_COLOR_UI)
/** /**
* TFT Font for Color_UI. Choose one of the following: * TFT Font for Color UI. Choose one of the following:
* *
* NOTOSANS - Default font with anti-aliasing. Supports Latin Extended and non-Latin characters. * NOTOSANS - Default font with anti-aliasing. Supports Latin Extended and non-Latin characters.
* UNIFONT - Lightweight font, no anti-aliasing. Supports Latin Extended and non-Latin characters. * UNIFONT - Lightweight font, no anti-aliasing. Supports Latin Extended and non-Latin characters.
* HELVETICA - Lightweight font, no anti-aliasing. Supports Basic Latin (0x0020-0x007F) and Latin-1 Supplement (0x0080-0x00FF) characters only. * HELVETICA - Lightweight font, no anti-aliasing. Supports Basic Latin (0x0020-0x007F) and Latin-1 Supplement (0x0080-0x00FF) characters only.
* :['NOTOSANS', 'UNIFONT', 'HELVETICA']
*/ */
#define TFT_FONT NOTOSANS #define TFT_FONT NOTOSANS
/** /**
* TFT Theme for Color_UI. Choose one of the following or add a new one to 'Marlin/src/lcd/tft/themes' directory * TFT Theme for Color UI. Choose one of the following or add a new one to 'Marlin/src/lcd/tft/themes' directory
* *
* BLUE_MARLIN - Default theme with 'midnight blue' background * BLUE_MARLIN - Default theme with 'midnight blue' background
* BLACK_MARLIN - Theme with 'black' background * BLACK_MARLIN - Theme with 'black' background
* ANET_BLACK - Theme used for Anet ET4/5 * ANET_BLACK - Theme used for Anet ET4/5
* :['BLUE_MARLIN', 'BLACK_MARLIN', 'ANET_BLACK']
*/ */
#define TFT_THEME BLACK_MARLIN #define TFT_THEME BLACK_MARLIN
@@ -3374,6 +3538,8 @@
* TFT_ROTATE_180, TFT_ROTATE_180_MIRROR_X, TFT_ROTATE_180_MIRROR_Y, * TFT_ROTATE_180, TFT_ROTATE_180_MIRROR_X, TFT_ROTATE_180_MIRROR_Y,
* TFT_ROTATE_270, TFT_ROTATE_270_MIRROR_X, TFT_ROTATE_270_MIRROR_Y, * TFT_ROTATE_270, TFT_ROTATE_270_MIRROR_X, TFT_ROTATE_270_MIRROR_Y,
* TFT_MIRROR_X, TFT_MIRROR_Y, TFT_NO_ROTATION * TFT_MIRROR_X, TFT_MIRROR_Y, TFT_NO_ROTATION
*
* :{ 'TFT_NO_ROTATION':'None', 'TFT_ROTATE_90':'90°', 'TFT_ROTATE_90_MIRROR_X':'90° (Mirror X)', 'TFT_ROTATE_90_MIRROR_Y':'90° (Mirror Y)', 'TFT_ROTATE_180':'180°', 'TFT_ROTATE_180_MIRROR_X':'180° (Mirror X)', 'TFT_ROTATE_180_MIRROR_Y':'180° (Mirror Y)', 'TFT_ROTATE_270':'270°', 'TFT_ROTATE_270_MIRROR_X':'270° (Mirror X)', 'TFT_ROTATE_270_MIRROR_Y':'270° (Mirror Y)', 'TFT_MIRROR_X':'Mirror X', 'TFT_MIRROR_Y':'Mirror Y' }
*/ */
//#define TFT_ROTATION TFT_NO_ROTATION //#define TFT_ROTATION TFT_NO_ROTATION
@@ -3390,6 +3556,11 @@
//#define DWIN_MARLINUI_PORTRAIT // MarlinUI (portrait orientation) //#define DWIN_MARLINUI_PORTRAIT // MarlinUI (portrait orientation)
//#define DWIN_MARLINUI_LANDSCAPE // MarlinUI (landscape orientation) //#define DWIN_MARLINUI_LANDSCAPE // MarlinUI (landscape orientation)
#if ENABLED(DWIN_CREALITY_LCD)
//#define USE_STRING_HEADINGS // Use string headings for Creality UI instead of images
//#define USE_STRING_TITLES // Use string titles for Creality UI instead of images
#endif
// //
// Touch Screen Settings // Touch Screen Settings
// //
@@ -3398,8 +3569,9 @@
#define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens
#define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus
//#define DISABLE_ENCODER // Disable the click encoder, if any #if ANY(TFT_CLASSIC_UI, TFT_COLOR_UI)
//#define TOUCH_IDLE_SLEEP_MINS 5 // (minutes) Display Sleep after a period of inactivity. Set with M255 S. //#define NO_BACK_MENU_ITEM // Don't display a top menu item to go back to the parent menu
#endif
#define TOUCH_SCREEN_CALIBRATION #define TOUCH_SCREEN_CALIBRATION
@@ -3423,7 +3595,9 @@
// https://reprapworld.com/products/electronics/ramps/keypad_v1_0_fully_assembled/ // https://reprapworld.com/products/electronics/ramps/keypad_v1_0_fully_assembled/
// //
//#define REPRAPWORLD_KEYPAD //#define REPRAPWORLD_KEYPAD
//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press #if ENABLED(REPRAPWORLD_KEYPAD)
//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press
#endif
// //
// EasyThreeD ET-4000+ with button input and status LED // EasyThreeD ET-4000+ with button input and status LED
@@ -3440,22 +3614,26 @@
// :[1,2,3,4,5,6,7,8] // :[1,2,3,4,5,6,7,8]
//#define NUM_M106_FANS 1 //#define NUM_M106_FANS 1
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency /**
// which is not as annoying as with the hardware PWM. On the other hand, if this frequency * Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
// is too low, you should also increment SOFT_PWM_SCALE. * which is not as annoying as with the hardware PWM. On the other hand, if this frequency
* is too low, you should also increment SOFT_PWM_SCALE.
*/
//#define FAN_SOFT_PWM //#define FAN_SOFT_PWM
// Incrementing this by 1 will double the software PWM frequency, /**
// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. * Incrementing this by 1 will double the software PWM frequency, affecting heaters, and
// However, control resolution will be halved for each increment; * the fan if FAN_SOFT_PWM is enabled. However, control resolution will be halved for each
// at zero value, there are 128 effective control positions. * increment; at zero value, there are 128 effective control positions.
// :[0,1,2,3,4,5,6,7] * :[0,1,2,3,4,5,6,7]
*/
#define SOFT_PWM_SCALE 0 #define SOFT_PWM_SCALE 0
// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can /**
// be used to mitigate the associated resolution loss. If enabled, * If SOFT_PWM_SCALE is set to a value higher than 0, dithering can be used to mitigate the
// some of the PWM cycles are stretched so on average the desired * associated resolution loss. If enabled, some of the PWM cycles are stretched so on average
// duty cycle is attained. * the desired duty cycle is attained.
*/
//#define SOFT_PWM_DITHER //#define SOFT_PWM_DITHER
// @section extras // @section extras
@@ -3465,9 +3643,11 @@
// @section lights // @section lights
// Temperature status LEDs that display the hotend and bed temperature. /**
// If all hotends, bed temperature, and target temperature are under 54C * Temperature status LEDs that display the hotend and bed temperature.
// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) * If all hotends, bed temperature, and target temperature are under 54C
* the BLUE led is on. Otherwise the RED led is on. (1C hysteresis)
*/
//#define TEMP_STAT_LEDS //#define TEMP_STAT_LEDS
// Support for BlinkM/CyzRgb // Support for BlinkM/CyzRgb
+539 -291
View File
File diff suppressed because it is too large Load Diff
+116 -76
View File
@@ -127,9 +127,9 @@ NEOPIXEL ?= 0
# on GCC versions: # on GCC versions:
# https://www.avrfreaks.net/comment/1789106#comment-1789106 # https://www.avrfreaks.net/comment/1789106#comment-1789106
CC_MAJ:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC__ | cut -f3 -d\ ) CC_MAJ:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC__ | cut -f3 -d' ' )
CC_MIN:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_MINOR__ | cut -f3 -d\ ) CC_MIN:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_MINOR__ | cut -f3 -d' ' )
CC_PATCHLEVEL:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_PATCHLEVEL__ | cut -f3 -d\ ) CC_PATCHLEVEL:=$(shell $(CC) -dM -E - < /dev/null | grep __GNUC_PATCHLEVEL__ | cut -f3 -d' ' )
CC_VER:=$(shell echo $$(( $(CC_MAJ) * 10000 + $(CC_MIN) * 100 + $(CC_PATCHLEVEL) ))) CC_VER:=$(shell echo $$(( $(CC_MAJ) * 10000 + $(CC_MIN) * 100 + $(CC_PATCHLEVEL) )))
ifeq ($(shell test $(CC_VER) -lt 40901 && echo 1),1) ifeq ($(shell test $(CC_VER) -lt 40901 && echo 1),1)
$(warning This GCC version $(CC_VER) is likely broken. Enabling relocation workaround.) $(warning This GCC version $(CC_VER) is likely broken. Enabling relocation workaround.)
@@ -187,6 +187,17 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1033)
# RAMPS Plus 3DYMY (Power outputs: Spindle, Controller Fan) # RAMPS Plus 3DYMY (Power outputs: Spindle, Controller Fan)
else ifeq ($(HARDWARE_MOTHERBOARD),1034) else ifeq ($(HARDWARE_MOTHERBOARD),1034)
# RAMPS 1.6+ (Power outputs: Hotend, Fan, Bed)
else ifeq ($(HARDWARE_MOTHERBOARD),1040)
# RAMPS 1.6+ (Power outputs: Hotend0, Hotend1, Bed)
else ifeq ($(HARDWARE_MOTHERBOARD),1041)
# RAMPS 1.6+ (Power outputs: Hotend, Fan0, Fan1)
else ifeq ($(HARDWARE_MOTHERBOARD),1042)
# RAMPS 1.6+ (Power outputs: Hotend0, Hotend1, Fan)
else ifeq ($(HARDWARE_MOTHERBOARD),1043)
# RAMPS 1.6+ (Power outputs: Spindle, Controller Fan)
else ifeq ($(HARDWARE_MOTHERBOARD),1044)
# #
# RAMPS Derivatives - ATmega1280, ATmega2560 # RAMPS Derivatives - ATmega1280, ATmega2560
# #
@@ -221,79 +232,79 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1112)
else ifeq ($(HARDWARE_MOTHERBOARD),1113) else ifeq ($(HARDWARE_MOTHERBOARD),1113)
# BigTreeTech or BIQU KFB2.0 # BigTreeTech or BIQU KFB2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1114) else ifeq ($(HARDWARE_MOTHERBOARD),1114)
# zrib V2.0 (Chinese RAMPS replica) # Zonestar zrib V2.0 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1115) else ifeq ($(HARDWARE_MOTHERBOARD),1115)
# zrib V5.2 (Chinese RAMPS replica) # Zonestar zrib V5.2 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1116) else ifeq ($(HARDWARE_MOTHERBOARD),1116)
# Felix 2.0+ Electronics Board (RAMPS like) # Zonestar zrib V5.3 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1117) else ifeq ($(HARDWARE_MOTHERBOARD),1117)
# Invent-A-Part RigidBoard # Felix 2.0+ Electronics Board (RAMPS like)
else ifeq ($(HARDWARE_MOTHERBOARD),1118) else ifeq ($(HARDWARE_MOTHERBOARD),1118)
# Invent-A-Part RigidBoard V2 # Invent-A-Part RigidBoard
else ifeq ($(HARDWARE_MOTHERBOARD),1119) else ifeq ($(HARDWARE_MOTHERBOARD),1119)
# Sainsmart 2-in-1 board # Invent-A-Part RigidBoard V2
else ifeq ($(HARDWARE_MOTHERBOARD),1120) else ifeq ($(HARDWARE_MOTHERBOARD),1120)
# Ultimaker # Sainsmart 2-in-1 board
else ifeq ($(HARDWARE_MOTHERBOARD),1121) else ifeq ($(HARDWARE_MOTHERBOARD),1121)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare) # Ultimaker
else ifeq ($(HARDWARE_MOTHERBOARD),1122) else ifeq ($(HARDWARE_MOTHERBOARD),1122)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
else ifeq ($(HARDWARE_MOTHERBOARD),1123)
MCU ?= atmega1280 MCU ?= atmega1280
PROG_MCU ?= m1280 PROG_MCU ?= m1280
# Azteeg X3 # Azteeg X3
else ifeq ($(HARDWARE_MOTHERBOARD),1123)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1124) else ifeq ($(HARDWARE_MOTHERBOARD),1124)
# Ultimainboard 2.x (Uses TEMP_SENSOR 20) # Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1125) else ifeq ($(HARDWARE_MOTHERBOARD),1125)
# Rumba # Ultimainboard 2.x (Uses TEMP_SENSOR 20)
else ifeq ($(HARDWARE_MOTHERBOARD),1126) else ifeq ($(HARDWARE_MOTHERBOARD),1126)
# Raise3D N series Rumba derivative # Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1127) else ifeq ($(HARDWARE_MOTHERBOARD),1127)
# Rapide Lite 200 (v1, low-cost RUMBA clone with drv) # Raise3D N series Rumba derivative
else ifeq ($(HARDWARE_MOTHERBOARD),1128) else ifeq ($(HARDWARE_MOTHERBOARD),1128)
# Formbot T-Rex 2 Plus # Rapide Lite 200 (v1, low-cost RUMBA clone with drv)
else ifeq ($(HARDWARE_MOTHERBOARD),1129) else ifeq ($(HARDWARE_MOTHERBOARD),1129)
# Formbot T-Rex 3 # Formbot T-Rex 2 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1130) else ifeq ($(HARDWARE_MOTHERBOARD),1130)
# Formbot Raptor # Formbot T-Rex 3
else ifeq ($(HARDWARE_MOTHERBOARD),1131) else ifeq ($(HARDWARE_MOTHERBOARD),1131)
# Formbot Raptor 2 # Formbot Raptor
else ifeq ($(HARDWARE_MOTHERBOARD),1132) else ifeq ($(HARDWARE_MOTHERBOARD),1132)
# bq ZUM Mega 3D # Formbot Raptor 2
else ifeq ($(HARDWARE_MOTHERBOARD),1133) else ifeq ($(HARDWARE_MOTHERBOARD),1133)
# MakeBoard Mini v2.1.2 by MicroMake # bq ZUM Mega 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1134) else ifeq ($(HARDWARE_MOTHERBOARD),1134)
# TriGorilla Anycubic version 1.3-based on RAMPS EFB # MakeBoard Mini v2.1.2 by MicroMake
else ifeq ($(HARDWARE_MOTHERBOARD),1135) else ifeq ($(HARDWARE_MOTHERBOARD),1135)
# ... Ver 1.4 # TriGorilla Anycubic version 1.3-based on RAMPS EFB
else ifeq ($(HARDWARE_MOTHERBOARD),1136) else ifeq ($(HARDWARE_MOTHERBOARD),1136)
# ... Rev 1.1 (new servo pin order) # ... Ver 1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1137) else ifeq ($(HARDWARE_MOTHERBOARD),1137)
# Creality: Ender-4, CR-8 # ... Rev 1.1 (new servo pin order)
else ifeq ($(HARDWARE_MOTHERBOARD),1138) else ifeq ($(HARDWARE_MOTHERBOARD),1138)
# Creality: CR10S, CR20, CR-X # Creality: Ender-4, CR-8
else ifeq ($(HARDWARE_MOTHERBOARD),1139) else ifeq ($(HARDWARE_MOTHERBOARD),1139)
# Dagoma F5 # Creality: CR10S, CR20, CR-X
else ifeq ($(HARDWARE_MOTHERBOARD),1140) else ifeq ($(HARDWARE_MOTHERBOARD),1140)
# FYSETC F6 1.3 # Creality CR-10 V2, CR-10 V3
else ifeq ($(HARDWARE_MOTHERBOARD),1141) else ifeq ($(HARDWARE_MOTHERBOARD),1141)
# FYSETC F6 1.4 # Dagoma F5
else ifeq ($(HARDWARE_MOTHERBOARD),1142) else ifeq ($(HARDWARE_MOTHERBOARD),1142)
# Wanhao Duplicator i3 Plus # Dagoma D6 (as found in the Dagoma DiscoUltimate V2 TMC)
else ifeq ($(HARDWARE_MOTHERBOARD),1143) else ifeq ($(HARDWARE_MOTHERBOARD),1143)
# VORON Design # FYSETC F6 1.3
else ifeq ($(HARDWARE_MOTHERBOARD),1144) else ifeq ($(HARDWARE_MOTHERBOARD),1144)
# Tronxy TRONXY-V3-1.0 # FYSETC F6 1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1145) else ifeq ($(HARDWARE_MOTHERBOARD),1145)
# Z-Bolt X Series # Wanhao Duplicator i3 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1146) else ifeq ($(HARDWARE_MOTHERBOARD),1146)
# TT OSCAR # VORON Design
else ifeq ($(HARDWARE_MOTHERBOARD),1147) else ifeq ($(HARDWARE_MOTHERBOARD),1147)
# Overlord/Overlord Pro # Tronxy TRONXY-V3-1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1148) else ifeq ($(HARDWARE_MOTHERBOARD),1148)
# ADIMLab Gantry v1 # Z-Bolt X Series
else ifeq ($(HARDWARE_MOTHERBOARD),1149) else ifeq ($(HARDWARE_MOTHERBOARD),1149)
# ADIMLab Gantry v2 # TT OSCAR
else ifeq ($(HARDWARE_MOTHERBOARD),1150) else ifeq ($(HARDWARE_MOTHERBOARD),1150)
# BIQU Tango V1 # BIQU Tango V1
else ifeq ($(HARDWARE_MOTHERBOARD),1151) else ifeq ($(HARDWARE_MOTHERBOARD),1151)
@@ -307,7 +318,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1154)
else ifeq ($(HARDWARE_MOTHERBOARD),1155) else ifeq ($(HARDWARE_MOTHERBOARD),1155)
# Tenlog D3 Hero IDEX printer # Tenlog D3 Hero IDEX printer
else ifeq ($(HARDWARE_MOTHERBOARD),1156) else ifeq ($(HARDWARE_MOTHERBOARD),1156)
# Tenlog D3,5,6 Pro IDEX printers # Tenlog D3, D5, D6 IDEX Printer
else ifeq ($(HARDWARE_MOTHERBOARD),1157) else ifeq ($(HARDWARE_MOTHERBOARD),1157)
# Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Fan, Bed) # Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Fan, Bed)
else ifeq ($(HARDWARE_MOTHERBOARD),1158) else ifeq ($(HARDWARE_MOTHERBOARD),1158)
@@ -319,10 +330,18 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1160)
else ifeq ($(HARDWARE_MOTHERBOARD),1161) else ifeq ($(HARDWARE_MOTHERBOARD),1161)
# Longer LKx PRO / Alfawise Uxx Pro (PRO version) # Longer LKx PRO / Alfawise Uxx Pro (PRO version)
else ifeq ($(HARDWARE_MOTHERBOARD),1162) else ifeq ($(HARDWARE_MOTHERBOARD),1162)
# Zonestar zrib V5.3 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1163)
# Pxmalion Core I3 # Pxmalion Core I3
else ifeq ($(HARDWARE_MOTHERBOARD),1163)
# Panowin Cutlass (as found in the Panowin F1)
else ifeq ($(HARDWARE_MOTHERBOARD),1164) else ifeq ($(HARDWARE_MOTHERBOARD),1164)
# Kodama Bardo V1.x (as found in the Kodama Trinus)
else ifeq ($(HARDWARE_MOTHERBOARD),1165)
# XTLW MFF V1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1166)
# XTLW MFF V2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1167)
# E3D Rumba BigBox
else ifeq ($(HARDWARE_MOTHERBOARD),1168)
# #
# RAMBo and derivatives # RAMBo and derivatives
@@ -340,7 +359,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1203)
else ifeq ($(HARDWARE_MOTHERBOARD),1204) else ifeq ($(HARDWARE_MOTHERBOARD),1204)
# abee Scoovo X9H # abee Scoovo X9H
else ifeq ($(HARDWARE_MOTHERBOARD),1205) else ifeq ($(HARDWARE_MOTHERBOARD),1205)
# Rambo ThinkerV2 # ThinkerV2
else ifeq ($(HARDWARE_MOTHERBOARD),1206) else ifeq ($(HARDWARE_MOTHERBOARD),1206)
# #
@@ -383,30 +402,42 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1315)
else ifeq ($(HARDWARE_MOTHERBOARD),1316) else ifeq ($(HARDWARE_MOTHERBOARD),1316)
# Geeetech GT2560 Rev B for A10(M/T/D) # Geeetech GT2560 Rev B for A10(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1317) else ifeq ($(HARDWARE_MOTHERBOARD),1317)
# Geeetech GT2560 Rev B for A10(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1318)
# Geeetech GT2560 Rev B for Mecreator2 # Geeetech GT2560 Rev B for Mecreator2
else ifeq ($(HARDWARE_MOTHERBOARD),1318)
# Geeetech GT2560 Rev B for A20(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1319) else ifeq ($(HARDWARE_MOTHERBOARD),1319)
# Geeetech GT2560 Rev B for A20(M/T/D) # Geeetech GT2560 Rev B for A10(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1320) else ifeq ($(HARDWARE_MOTHERBOARD),1320)
# Einstart retrofit
else ifeq ($(HARDWARE_MOTHERBOARD),1321)
# Wanhao 0ne+ i3 Mini
else ifeq ($(HARDWARE_MOTHERBOARD),1322)
# Leapfrog Xeed 2015
else ifeq ($(HARDWARE_MOTHERBOARD),1323)
# PICA Shield (original version)
else ifeq ($(HARDWARE_MOTHERBOARD),1324)
# PICA Shield (rev C or later)
else ifeq ($(HARDWARE_MOTHERBOARD),1325)
# Intamsys 4.0 (Funmat HT)
else ifeq ($(HARDWARE_MOTHERBOARD),1326)
# Malyan M180 Mainboard Version 2 (no display function, direct G-code only)
else ifeq ($(HARDWARE_MOTHERBOARD),1327)
# Geeetech GT2560 Rev B for A20(M/T/D) # Geeetech GT2560 Rev B for A20(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1321)
# Geeetech GT2560 V4.1B for A10(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1322)
# Einstart retrofit
else ifeq ($(HARDWARE_MOTHERBOARD),1323)
# Wanhao 0ne+ i3 Mini
else ifeq ($(HARDWARE_MOTHERBOARD),1324)
# Wanhao D9 MK2
else ifeq ($(HARDWARE_MOTHERBOARD),1325)
# Overlord/Overlord Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1326)
# ADIMLab Gantry v1
else ifeq ($(HARDWARE_MOTHERBOARD),1327)
# ADIMLab Gantry v2
else ifeq ($(HARDWARE_MOTHERBOARD),1328) else ifeq ($(HARDWARE_MOTHERBOARD),1328)
# Mega controller & Protoneer CNC Shield V3.00 # Leapfrog Xeed 2015
else ifeq ($(HARDWARE_MOTHERBOARD),1329) else ifeq ($(HARDWARE_MOTHERBOARD),1329)
# PICA Shield (original version)
else ifeq ($(HARDWARE_MOTHERBOARD),1330)
# PICA Shield (rev C or later)
else ifeq ($(HARDWARE_MOTHERBOARD),1331)
# Intamsys 4.0 (Funmat HT)
else ifeq ($(HARDWARE_MOTHERBOARD),1332)
# Malyan M180 Mainboard Version 2
else ifeq ($(HARDWARE_MOTHERBOARD),1333)
# Mega controller & Protoneer CNC Shield V3.00
else ifeq ($(HARDWARE_MOTHERBOARD),1334)
# WEEDO 62A board (TINA2, Monoprice Cadet, etc.)
else ifeq ($(HARDWARE_MOTHERBOARD),1335)
# #
# ATmega1281, ATmega2561 # ATmega1281, ATmega2561
@@ -440,7 +471,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1502)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p MCU ?= atmega644p
PROG_MCU ?= m644p PROG_MCU ?= m644p
# Melzi V2.0 # Melzi V2
else ifeq ($(HARDWARE_MOTHERBOARD),1503) else ifeq ($(HARDWARE_MOTHERBOARD),1503)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
@@ -450,41 +481,46 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1504)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# Melzi Creality3D board (for CR-10 etc) # Melzi Creality3D (for CR-10 etc)
else ifeq ($(HARDWARE_MOTHERBOARD),1505) else ifeq ($(HARDWARE_MOTHERBOARD),1505)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# Melzi Malyan M150 board # Melzi Creality3D (for Ender-2)
else ifeq ($(HARDWARE_MOTHERBOARD),1506) else ifeq ($(HARDWARE_MOTHERBOARD),1506)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# Tronxy X5S # Melzi Malyan M150
else ifeq ($(HARDWARE_MOTHERBOARD),1507) else ifeq ($(HARDWARE_MOTHERBOARD),1507)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# STB V1.1 # Tronxy X5S
else ifeq ($(HARDWARE_MOTHERBOARD),1508) else ifeq ($(HARDWARE_MOTHERBOARD),1508)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# Azteeg X1 # STB V1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1509) else ifeq ($(HARDWARE_MOTHERBOARD),1509)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# Anet 1.0 (Melzi clone) # Azteeg X1
else ifeq ($(HARDWARE_MOTHERBOARD),1510) else ifeq ($(HARDWARE_MOTHERBOARD),1510)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# ZoneStar ZMIB V2 # Anet 1.0 (Melzi clone)
else ifeq ($(HARDWARE_MOTHERBOARD),1511) else ifeq ($(HARDWARE_MOTHERBOARD),1511)
HARDWARE_VARIANT ?= Sanguino HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p MCU ?= atmega1284p
PROG_MCU ?= m1284p PROG_MCU ?= m1284p
# ZoneStar ZMIB V2
else ifeq ($(HARDWARE_MOTHERBOARD),1512)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# #
# Other ATmega644P, ATmega644, ATmega1284P # Other ATmega644P, ATmega644, ATmega1284P
@@ -595,6 +631,10 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1707)
MCU ?= at90usb1286 MCU ?= at90usb1286
PROG_MCU ?= usb1286 PROG_MCU ?= usb1286
#
# SAM3X8E ARM Cortex-M3
#
# UltiMachine Archim1 (with DRV8825 drivers) # UltiMachine Archim1 (with DRV8825 drivers)
else ifeq ($(HARDWARE_MOTHERBOARD),3023) else ifeq ($(HARDWARE_MOTHERBOARD),3023)
HARDWARE_VARIANT ?= archim HARDWARE_VARIANT ?= archim
@@ -767,10 +807,10 @@ endif
ifeq ($(TMC), 1) ifeq ($(TMC), 1)
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp \ LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp \
CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp \ CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp DRVSTATUS.cpp \
DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp \ GLOBAL_SCALER.cpp SLAVECONF.cpp IOIN.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp \
SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp \ SHORT_CONF.cpp SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp \
TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp TMC2209Stepper.cpp TMC2240Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
endif endif
ifeq ($(RELOC_WORKAROUND), 1) ifeq ($(RELOC_WORKAROUND), 1)
@@ -837,8 +877,8 @@ else ifeq ($(HARDWARE_VARIANT), archim)
endif endif
# Add all the source directories as include directories too # Add all the source directories as include directories too
CINCS = ${addprefix -I ,${VPATH}} CINCS = ${addprefix -I, ${VPATH}}
CXXINCS = ${addprefix -I ,${VPATH}} CXXINCS = ${addprefix -I, ${VPATH}}
# Silence warnings for library code (won't work for .h files, unfortunately) # Silence warnings for library code (won't work for .h files, unfortunately)
LIBWARN = -w -Wno-packed-bitfield-compat LIBWARN = -w -Wno-packed-bitfield-compat
@@ -995,7 +1035,7 @@ extcoff: $(TARGET).elf
$(NM) -n $< > $@ $(NM) -n $< > $@
# Link: create ELF output file from library. # Link: create ELF output file from library.
LDFLAGS+= -Wl,-V
$(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h $(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h
$(Pecho) " CXX $@" $(Pecho) " CXX $@"
$P $(CXX) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX) $P $(CXX) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
+1 -1
View File
@@ -2,7 +2,7 @@
Marlin Firmware Marlin Firmware
(c) 2011-2023 MarlinFirmware (c) 2011-2024 MarlinFirmware
Portions of Marlin are (c) by their respective authors. Portions of Marlin are (c) by their respective authors.
All code complies with GPLv2 and/or GPLv3 All code complies with GPLv2 and/or GPLv3
+10 -3
View File
@@ -41,7 +41,14 @@
* here we define this default string as the date where the latest release * here we define this default string as the date where the latest release
* version was tagged. * version was tagged.
*/ */
//#define STRING_DISTRIBUTION_DATE "2024-01-09" //#define STRING_DISTRIBUTION_DATE "2025-12-02"
/**
* The protocol for communication to the host. Protocol indicates communication
* standards such as the use of ASCII, "echo:" and "error:" line prefixes, etc.
* (Other behaviors are given by the firmware version and capabilities report.)
*/
//#define PROTOCOL_VERSION "1.0"
/** /**
* Defines a generic printer name to be output to the LCD after booting Marlin. * Defines a generic printer name to be output to the LCD after booting Marlin.
@@ -68,8 +75,8 @@
//#define WEBSITE_URL "marlinfw.org" //#define WEBSITE_URL "marlinfw.org"
/** /**
* Set the vendor info the serial USB interface, if changable * Set the vendor info the serial USB interface, if changeable.
* Currently only supported by DUE platform * Currently only supported by DUE platform.
*/ */
//#define USB_DEVICE_VENDOR_ID 0x0000 //#define USB_DEVICE_VENDOR_ID 0x0000
//#define USB_DEVICE_PRODUCT_ID 0x0000 //#define USB_DEVICE_PRODUCT_ID 0x0000
+66 -59
View File
@@ -62,6 +62,11 @@ motherboard = BOARD_RAMPS_14_EFB
serial_port = 0 serial_port = 0
baudrate = 250000 baudrate = 250000
string_config_h_author = "(default from config.ini)"
capabilities_report = on
extended_capabilities_report = on
use_watchdog = on use_watchdog = on
thermal_protection_hotends = on thermal_protection_hotends = on
thermal_protection_hysteresis = 4 thermal_protection_hysteresis = 4
@@ -77,18 +82,25 @@ temp_sensor_0 = 1
temp_hysteresis = 3 temp_hysteresis = 3
heater_0_mintemp = 5 heater_0_mintemp = 5
heater_0_maxtemp = 275 heater_0_maxtemp = 275
preheat_1_temp_hotend = 180
bang_max = 255
pidtemp = on pidtemp = on
pid_k1 = 0.95 pid_k1 = 0.95
pid_max = 255 pid_max = 255
pid_functional_range = 10 pid_functional_range = 20
default_kp = 22.20 default_kp = 22.20
default_ki = 1.08 default_ki = 1.08
default_kd = 114.00 default_kd = 114.00
temp_sensor_bed = 1
bed_check_interval = 5000
bed_mintemp = 5
bed_maxtemp = 150
thermal_protection_bed = on
thermal_protection_bed_hysteresis = 2
thermal_protection_bed_period = 20
x_driver_type = A4988 x_driver_type = A4988
y_driver_type = A4988 y_driver_type = A4988
z_driver_type = A4988 z_driver_type = A4988
@@ -121,10 +133,10 @@ default_max_acceleration = { 3000, 3000, 100, 10000 }
homing_feedrate_mm_m = { (50*60), (50*60), (4*60) } homing_feedrate_mm_m = { (50*60), (50*60), (4*60) }
homing_bump_divisor = { 2, 2, 4 } homing_bump_divisor = { 2, 2, 4 }
x_enable_on = 0 x_enable_on = LOW
y_enable_on = 0 y_enable_on = LOW
z_enable_on = 0 z_enable_on = LOW
e_enable_on = 0 e_enable_on = LOW
invert_x_dir = false invert_x_dir = false
invert_y_dir = true invert_y_dir = true
@@ -136,11 +148,6 @@ step_state_x = HIGH
step_state_y = HIGH step_state_y = HIGH
step_state_z = HIGH step_state_z = HIGH
disable_x = off
disable_y = off
disable_z = off
disable_e = off
proportional_font_ratio = 1.0 proportional_font_ratio = 1.0
default_nominal_filament_dia = 1.75 default_nominal_filament_dia = 1.75
@@ -153,30 +160,33 @@ default_retract_acceleration = 3000
default_minimumfeedrate = 0.0 default_minimumfeedrate = 0.0
default_mintravelfeedrate = 0.0 default_mintravelfeedrate = 0.0
minimum_planner_speed = 0.05
min_steps_per_segment = 6 min_steps_per_segment = 6
default_minsegmenttime = 20000 default_minsegmenttime = 20000
[config:basic] [config:basic]
hotend_overshoot = 15
bed_overshoot = 10 bed_overshoot = 10
max_bed_power = 255
busy_while_heating = on busy_while_heating = on
default_ejerk = 5.0 host_keepalive_feature = on
default_keepalive_interval = 2 default_keepalive_interval = 2
default_leveling_fade_height = 0.0 printjob_timer_autostart = on
disable_other_extruders = on
display_charset_hd44780 = JAPANESE jd_handle_small_segments = on
validate_homing_endstops = on
editable_steps_per_unit = on
eeprom_boot_silent = on eeprom_boot_silent = on
eeprom_chitchat = on eeprom_chitchat = on
endstoppullups = on endstoppullups = on
extrude_maxlength = 200
prevent_cold_extrusion = on
extrude_mintemp = 170 extrude_mintemp = 170
host_keepalive_feature = on prevent_lengthy_extrude = on
hotend_overshoot = 15 extrude_maxlength = 200
jd_handle_small_segments = on
lcd_info_screen_style = 0
lcd_language = en
max_bed_power = 255
mesh_inset = 0
min_software_endstops = on min_software_endstops = on
max_software_endstops = on max_software_endstops = on
min_software_endstop_x = on min_software_endstop_x = on
@@ -185,63 +195,60 @@ min_software_endstop_z = on
max_software_endstop_x = on max_software_endstop_x = on
max_software_endstop_y = on max_software_endstop_y = on
max_software_endstop_z = on max_software_endstop_z = on
preheat_1_fan_speed = 0
preheat_1_label = "PLA" preheat_1_label = "PLA"
preheat_1_temp_hotend = 180
preheat_1_temp_bed = 70 preheat_1_temp_bed = 70
prevent_cold_extrusion = on preheat_1_fan_speed = 0
prevent_lengthy_extrude = on
printjob_timer_autostart = on preheat_2_label = "ABS"
probing_margin = 10 preheat_2_temp_hotend = 240
show_bootscreen = on preheat_2_temp_bed = 110
soft_pwm_scale = 0 preheat_2_fan_speed = 0
string_config_h_author = "(none, default config)"
temp_bed_hysteresis = 3 temp_bed_hysteresis = 3
temp_bed_residency_time = 10 temp_bed_residency_time = 10
temp_bed_window = 1 temp_bed_window = 1
temp_residency_time = 10 temp_residency_time = 10
temp_window = 1 temp_window = 1
validate_homing_endstops = on
xy_probe_feedrate = (133*60)
z_clearance_between_probes = 5
z_clearance_deploy_probe = 10
z_clearance_multi_probe = 5
[config:advanced] [config:advanced]
arc_support = on arc_support = on
min_arc_segment_mm = 0.1
max_arc_segment_mm = 1.0
min_circle_segments = 72
n_arc_correction = 25
auto_report_temperatures = on auto_report_temperatures = on
autotemp = on autotemp = on
autotemp_min = 210
autotemp_max = 250
autotemp_factor = 0.1f
autotemp_oldweight = 0.98 autotemp_oldweight = 0.98
bed_check_interval = 5000
default_stepper_timeout_sec = 120 default_stepper_timeout_sec = 120
default_volumetric_extruder_limit = 0.00
disable_idle_x = on disable_idle_x = on
disable_idle_y = on disable_idle_y = on
disable_idle_z = on disable_idle_z = on
disable_idle_e = on disable_idle_e = on
e0_auto_fan_pin = -1 e0_auto_fan_pin = -1
encoder_100x_steps_per_sec = 80
encoder_10x_steps_per_sec = 30
encoder_rate_multiplier = on
extended_capabilities_report = on
extruder_auto_fan_speed = 255
extruder_auto_fan_temperature = 50
fanmux0_pin = -1
fanmux1_pin = -1
fanmux2_pin = -1
faster_gcode_parser = on faster_gcode_parser = on
debug_flags_gcode = on
homing_bump_mm = { 5, 5, 2 } homing_bump_mm = { 5, 5, 2 }
max_arc_segment_mm = 1.0
min_arc_segment_mm = 0.1
min_circle_segments = 72
n_arc_correction = 25
serial_overrun_protection = on
slowdown = on slowdown = on
slowdown_divisor = 2 slowdown_divisor = 2
temp_sensor_bed = 0 multistepping_limit = 16
thermal_protection_bed_hysteresis = 2
thermocouple_max_errors = 15 serial_overrun_protection = on
tx_buffer_size = 0 tx_buffer_size = 0
watch_temp_increase = 2
watch_temp_period = 40
watch_bed_temp_increase = 2 watch_bed_temp_increase = 2
watch_bed_temp_period = 60 watch_bed_temp_period = 60
watch_temp_increase = 2
watch_temp_period = 20
+7 -2
View File
@@ -81,6 +81,12 @@ void MarlinHAL::init() {
#if HAS_SERVO_3 #if HAS_SERVO_3
OUT_WRITE(SERVO3_PIN, LOW); OUT_WRITE(SERVO3_PIN, LOW);
#endif #endif
#if HAS_SERVO_4
OUT_WRITE(SERVO4_PIN, LOW);
#endif
#if HAS_SERVO_5
OUT_WRITE(SERVO5_PIN, LOW);
#endif
init_pwm_timers(); // Init user timers to default frequency - 1000HZ init_pwm_timers(); // Init user timers to default frequency - 1000HZ
@@ -113,7 +119,6 @@ void MarlinHAL::reboot() {
#if ENABLED(USE_WATCHDOG) #if ENABLED(USE_WATCHDOG)
#include <avr/wdt.h> #include <avr/wdt.h>
#include "../../MarlinCore.h"
// Initialize watchdog with 8s timeout, if possible. Otherwise, make it 4s. // Initialize watchdog with 8s timeout, if possible. Otherwise, make it 4s.
void MarlinHAL::watchdog_init() { void MarlinHAL::watchdog_init() {
@@ -148,7 +153,7 @@ void MarlinHAL::reboot() {
ISR(WDT_vect) { ISR(WDT_vect) {
sei(); // With the interrupt driven serial we need to allow interrupts. sei(); // With the interrupt driven serial we need to allow interrupts.
SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED); SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED);
minkill(); // interrupt-safe final kill and infinite loop marlin.minkill(); // interrupt-safe final kill and infinite loop
} }
#endif #endif
+8 -8
View File
@@ -129,11 +129,11 @@ typedef Servo hal_servo_t;
#endif #endif
#endif #endif
#ifdef MMU2_SERIAL_PORT #ifdef MMU_SERIAL_PORT
#if !WITHIN(MMU2_SERIAL_PORT, 0, 3) #if !WITHIN(MMU_SERIAL_PORT, 0, 3)
#error "MMU2_SERIAL_PORT must be from 0 to 3" #error "MMU_SERIAL_PORT must be from 0 to 3"
#endif #endif
#define MMU2_SERIAL mmuSerial #define MMU_SERIAL mmuSerial
#endif #endif
#ifdef LCD_SERIAL_PORT #ifdef LCD_SERIAL_PORT
@@ -141,7 +141,7 @@ typedef Servo hal_servo_t;
#error "LCD_SERIAL_PORT must be from 0 to 3." #error "LCD_SERIAL_PORT must be from 0 to 3."
#endif #endif
#define LCD_SERIAL lcdSerial #define LCD_SERIAL lcdSerial
#if HAS_DGUS_LCD #if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free() #define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
#endif #endif
#endif #endif
@@ -159,7 +159,7 @@ typedef Servo hal_servo_t;
#define GET_PIN_MAP_INDEX(pin) pin #define GET_PIN_MAP_INDEX(pin) pin
#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) #define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval)
#define HAL_SENSITIVE_PINS 0, 1, #define HAL_SENSITIVE_PINS 0, 1
#ifdef __AVR_AT90USB1286__ #ifdef __AVR_AT90USB1286__
#define JTAG_DISABLE() do{ MCUCR = 0x80; MCUCR = 0x80; }while(0) #define JTAG_DISABLE() do{ MCUCR = 0x80; MCUCR = 0x80; }while(0)
@@ -204,9 +204,9 @@ public:
static void isr_on() { sei(); } static void isr_on() { sei(); }
static void isr_off() { cli(); } static void isr_off() { cli(); }
static void delay_ms(const int ms) { _delay_ms(ms); } static void delay_ms(const int ms) { delay(ms); }
// Tasks, called from idle() // Tasks, called from marlin.idle()
static void idletask() {} static void idletask() {}
// Reset // Reset
-2
View File
@@ -119,7 +119,6 @@ void spiBegin() {
while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ } while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ }
} }
/** begin spi transaction */ /** begin spi transaction */
void spiBeginTransaction(uint32_t spiClock, uint8_t bitOrder, uint8_t dataMode) { void spiBeginTransaction(uint32_t spiClock, uint8_t bitOrder, uint8_t dataMode) {
// Based on Arduino SPI library // Based on Arduino SPI library
@@ -175,7 +174,6 @@ void spiBegin() {
SPSR = clockDiv | 0x01; SPSR = clockDiv | 0x01;
} }
#else // SOFTWARE_SPI || FORCE_SOFT_SPI #else // SOFTWARE_SPI || FORCE_SOFT_SPI
// ------------------------ // ------------------------
+8 -9
View File
@@ -41,7 +41,6 @@
#if !defined(USBCON) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)) #if !defined(USBCON) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H))
#include "MarlinSerial.h" #include "MarlinSerial.h"
#include "../../MarlinCore.h"
#if ENABLED(DIRECT_STEPPING) #if ENABLED(DIRECT_STEPPING)
#include "../../feature/direct_stepping.h" #include "../../feature/direct_stepping.h"
@@ -601,20 +600,20 @@ MSerialT1 customizedSerial1(MSerialT1::HasEmergencyParser);
#endif // SERIAL_PORT_3 #endif // SERIAL_PORT_3
#ifdef MMU2_SERIAL_PORT #ifdef MMU_SERIAL_PORT
ISR(SERIAL_REGNAME(USART, MMU2_SERIAL_PORT, _RX_vect)) { ISR(SERIAL_REGNAME(USART, MMU_SERIAL_PORT, _RX_vect)) {
MarlinSerial<MMU2SerialCfg<MMU2_SERIAL_PORT>>::store_rxd_char(); MarlinSerial<MMU2SerialCfg<MMU_SERIAL_PORT>>::store_rxd_char();
} }
ISR(SERIAL_REGNAME(USART, MMU2_SERIAL_PORT, _UDRE_vect)) { ISR(SERIAL_REGNAME(USART, MMU_SERIAL_PORT, _UDRE_vect)) {
MarlinSerial<MMU2SerialCfg<MMU2_SERIAL_PORT>>::_tx_udr_empty_irq(); MarlinSerial<MMU2SerialCfg<MMU_SERIAL_PORT>>::_tx_udr_empty_irq();
} }
template class MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> >; template class MarlinSerial< MMU2SerialCfg<MMU_SERIAL_PORT> >;
MSerialMMU2 mmuSerial(MSerialMMU2::HasEmergencyParser); MSerialMMU2 mmuSerial(MSerialMMU2::HasEmergencyParser);
#endif // MMU2_SERIAL_PORT #endif // MMU_SERIAL_PORT
#ifdef LCD_SERIAL_PORT #ifdef LCD_SERIAL_PORT
@@ -629,7 +628,7 @@ MSerialT1 customizedSerial1(MSerialT1::HasEmergencyParser);
template class MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> >; template class MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> >;
MSerialLCD lcdSerial(MSerialLCD::HasEmergencyParser); MSerialLCD lcdSerial(MSerialLCD::HasEmergencyParser);
#if HAS_DGUS_LCD #if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
template<typename Cfg> template<typename Cfg>
typename MarlinSerial<Cfg>::ring_buffer_pos_t MarlinSerial<Cfg>::get_tx_buffer_free() { typename MarlinSerial<Cfg>::ring_buffer_pos_t MarlinSerial<Cfg>::get_tx_buffer_free() {
const ring_buffer_pos_t t = tx_buffer.tail, // next byte to send. const ring_buffer_pos_t t = tx_buffer.tail, // next byte to send.
+3 -3
View File
@@ -205,7 +205,7 @@
static ring_buffer_pos_t available(); static ring_buffer_pos_t available();
static void write(const uint8_t c); static void write(const uint8_t c);
static void flushTX(); static void flushTX();
#if HAS_DGUS_LCD #if ANY(HAS_DGUS_LCD, EXTENSIBLE_UI)
static ring_buffer_pos_t get_tx_buffer_free(); static ring_buffer_pos_t get_tx_buffer_free();
#endif #endif
@@ -246,7 +246,7 @@
#endif // !USBCON #endif // !USBCON
#ifdef MMU2_SERIAL_PORT #ifdef MMU_SERIAL_PORT
template <uint8_t serial> template <uint8_t serial>
struct MMU2SerialCfg { struct MMU2SerialCfg {
static constexpr int PORT = serial; static constexpr int PORT = serial;
@@ -260,7 +260,7 @@
static constexpr bool RX_OVERRUNS = false; static constexpr bool RX_OVERRUNS = false;
}; };
typedef Serial1Class< MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> > > MSerialMMU2; typedef Serial1Class< MarlinSerial< MMU2SerialCfg<MMU_SERIAL_PORT> > > MSerialMMU2;
extern MSerialMMU2 mmuSerial; extern MSerialMMU2 mmuSerial;
#endif #endif
-1
View File
@@ -63,7 +63,6 @@
static volatile int8_t Channel[_Nbr_16timers]; // counter for the servo being pulsed for each timer (or -1 if refresh interval) static volatile int8_t Channel[_Nbr_16timers]; // counter for the servo being pulsed for each timer (or -1 if refresh interval)
/************ static functions common to all instances ***********************/ /************ static functions common to all instances ***********************/
static inline void handle_interrupts(const timer16_Sequence_t timer, volatile uint16_t* TCNTn, volatile uint16_t* OCRnA) { static inline void handle_interrupts(const timer16_Sequence_t timer, volatile uint16_t* TCNTn, volatile uint16_t* OCRnA) {
+3 -3
View File
@@ -35,14 +35,14 @@
#ifndef MARLIN_EEPROM_SIZE #ifndef MARLIN_EEPROM_SIZE
#define MARLIN_EEPROM_SIZE size_t(E2END + 1) #define MARLIN_EEPROM_SIZE size_t(E2END + 1)
#endif #endif
size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; } size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE - eeprom_exclude_size; }
bool PersistentStore::access_start() { return true; } bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() { return true; } bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0; uint16_t written = 0;
while (size--) { while (size--) {
uint8_t * const p = (uint8_t * const)pos; uint8_t * const p = (uint8_t * const)REAL_EEPROM_ADDR(pos);
uint8_t v = *value; uint8_t v = *value;
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed! if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
eeprom_write_byte(p, v); eeprom_write_byte(p, v);
@@ -61,7 +61,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) { bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do { do {
uint8_t c = eeprom_read_byte((uint8_t*)pos); const uint8_t c = eeprom_read_byte((uint8_t*)REAL_EEPROM_ADDR(pos));
if (writing) *value = c; if (writing) *value = c;
crc16(crc, &c, 1); crc16(crc, &c, 1);
pos++; pos++;
+8 -1
View File
@@ -91,7 +91,6 @@ void endstop_ISR() { endstops.update(); }
#endif #endif
// Install Pin change interrupt for a pin. Can be called multiple times. // Install Pin change interrupt for a pin. Can be called multiple times.
void pciSetup(const int8_t pin) { void pciSetup(const int8_t pin) {
if (digitalPinHasPCICR(pin)) { if (digitalPinHasPCICR(pin)) {
@@ -346,6 +345,14 @@ void setup_endstop_interrupts() {
pciSetup(Z_MIN_PROBE_PIN); pciSetup(Z_MIN_PROBE_PIN);
#endif #endif
#endif #endif
#if USE_CALIBRATION
#if (digitalPinToInterrupt(CALIBRATION_PIN) != NOT_AN_INTERRUPT)
_ATTACH(CALIBRATION_PIN);
#else
static_assert(digitalPinHasPCICR(CALIBRATION_PIN), "CALIBRATION_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(CALIBRATION_PIN);
#endif
#endif
// If we arrive here without raising an assertion, each pin has either an EXT-interrupt or a PCI. // If we arrive here without raising an assertion, each pin has either an EXT-interrupt or a PCI.
} }
+1 -1
View File
@@ -150,7 +150,7 @@ void MarlinHAL::set_pwm_frequency(const pin_t pin, const uint16_t f_desired) {
else { else {
if (p == 32 || p == 128) continue; // Skip TIMER2 specific prescalers when not TIMER2 if (p == 32 || p == 128) continue; // Skip TIMER2 specific prescalers when not TIMER2
const uint16_t rft = (F_CPU) / (p * f_desired); const uint16_t rft = (F_CPU) / (p * f_desired);
DEBUG_ECHOLNPGM("(Not Timer 2) F_CPU=" STRINGIFY(F_CPU), " prescaler=", p, " f_desired=", f_desired); DEBUG_ECHOLNPGM("(Not Timer 2) F_CPU=", STRINGIFY(F_CPU), " prescaler=", p, " f_desired=", f_desired);
res_fast_temp = rft - 1; res_fast_temp = rft - 1;
res_pc_temp = rft / 2; res_pc_temp = rft / 2;
} }
+3 -3
View File
@@ -241,7 +241,7 @@ uint8_t extDigitalRead(const int8_t pin) {
* *
* DC values -1.0 to 1.0. Negative duty cycle inverts the pulse. * DC values -1.0 to 1.0. Negative duty cycle inverts the pulse.
*/ */
uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb, const float dcc) { uint16_t set_pwm_frequency_hz(const float hz, const float dca, const float dcb, const float dcc) {
float count = 0; float count = 0;
if (hz > 0 && (dca || dcb || dcc)) { if (hz > 0 && (dca || dcb || dcc)) {
count = float(F_CPU) / hz; // 1x prescaler, TOP for 16MHz base freq. count = float(F_CPU) / hz; // 1x prescaler, TOP for 16MHz base freq.
@@ -254,7 +254,7 @@ uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb
else { prescaler = 1; SET_CS(5, PRESCALER_1); } else { prescaler = 1; SET_CS(5, PRESCALER_1); }
count /= float(prescaler); count /= float(prescaler);
const float pwm_top = round(count); // Get the rounded count const float pwm_top = roundf(count); // Get the rounded count
ICR5 = (uint16_t)pwm_top - 1; // Subtract 1 for TOP ICR5 = (uint16_t)pwm_top - 1; // Subtract 1 for TOP
OCR5A = pwm_top * ABS(dca); // Update and scale DCs OCR5A = pwm_top * ABS(dca); // Update and scale DCs
@@ -280,7 +280,7 @@ uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb
SET_CS(5, PRESCALER_64); // 16MHz / 64 = 250kHz SET_CS(5, PRESCALER_64); // 16MHz / 64 = 250kHz
OCR5A = OCR5B = OCR5C = 0; OCR5A = OCR5B = OCR5C = 0;
} }
return round(count); return roundf(count);
} }
#endif #endif
-3
View File
@@ -28,9 +28,6 @@
* 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 * 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
* 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 * 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
* Analog Input : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 * Analog Input : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"
-3
View File
@@ -26,9 +26,6 @@
* *
* 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 * 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
* 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 * 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
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"
-3
View File
@@ -26,9 +26,6 @@
* *
* Logical Pin: 08 09 10 11 12 13 14 15 16 17 18 19 20 21 00 01 02 03 04 05 06 07 * Logical Pin: 08 09 10 11 12 13 14 15 16 17 18 19 20 21 00 01 02 03 04 05 06 07
* Port: B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 * Port: B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"
-3
View File
@@ -26,9 +26,6 @@
* *
* 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 * 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
* 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 * 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
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
/** ATMega644 /** ATMega644
+7 -11
View File
@@ -26,10 +26,7 @@
* *
* 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 * 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
* 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 * 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
* The logical pins 46 and 47 are not supported by Teensyduino, but are supported below as E2 and E3 * Logical pins 46-47 aren't supported by Teensyduino, but are supported below as E2 and E3
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"
@@ -366,8 +363,11 @@
#define AIO7_PWM 0 #define AIO7_PWM 0
#define AIO7_DDR DDRF #define AIO7_DDR DDRF
//-- Begin not supported by Teensyduino //-- 46-47 are not supported by Teensyduino
//-- don't use Arduino functions on these pins pinMode/digitalWrite/etc //-- Don't use Arduino functions (pinMode, digitalWrite, etc.) on these pins
#define PIN_E2 46
#define PIN_E3 47
#define DIO46_PIN PINE2 #define DIO46_PIN PINE2
#define DIO46_RPORT PINE #define DIO46_RPORT PINE
#define DIO46_WPORT PORTE #define DIO46_WPORT PORTE
@@ -380,10 +380,7 @@
#define DIO47_PWM 0 #define DIO47_PWM 0
#define DIO47_DDR DDRE #define DIO47_DDR DDRE
#define TEENSY_E2 46 //--
#define TEENSY_E3 47
//-- end not supported by Teensyduino
#undef PA0 #undef PA0
#define PA0_PIN PINA0 #define PA0_PIN PINA0
@@ -679,7 +676,6 @@
#define PF7_PWM 0 #define PF7_PWM 0
#define PF7_DDR DDRF #define PF7_DDR DDRF
/** /**
* Some of the pin mapping functions of the Teensduino extension to the Arduino IDE * Some of the pin mapping functions of the Teensduino extension to the Arduino IDE
* do not function the same as the other Arduino extensions. * do not function the same as the other Arduino extensions.
@@ -0,0 +1,22 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once
+1 -1
View File
@@ -95,7 +95,7 @@
/** /**
* The Trinamic library includes SoftwareSerial.h, leading to a compile error. * The Trinamic library includes SoftwareSerial.h, leading to a compile error.
*/ */
#if ALL(HAS_TRINAMIC_CONFIG, ENDSTOP_INTERRUPTS_FEATURE) #if ALL(HAS_TMC_SW_SERIAL, ENDSTOP_INTERRUPTS_FEATURE)
#error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."
#endif #endif
+49 -36
View File
@@ -22,7 +22,23 @@
#pragma once #pragma once
/** /**
* PWM print routines for Atmel 8 bit AVR CPUs * Pins Debugging for Atmel 8 bit AVR CPUs
*
* - NUMBER_PINS_TOTAL
* - MULTI_NAME_PAD
* - getPinByIndex(index)
* - printPinNameByIndex(index)
* - getPinIsDigitalByIndex(index)
* - digitalPinToAnalogIndex(pin)
* - getValidPinMode(pin)
* - isValidPin(pin)
* - isAnalogPin(pin)
* - digitalRead_mod(pin)
* - pwm_status(pin)
* - printPinPWM(pin)
* - printPinPort(pin)
* - printPinNumber(pin)
* - printPinAnalog(pin)
*/ */
#include "../../inc/MarlinConfig.h" #include "../../inc/MarlinConfig.h"
@@ -39,44 +55,44 @@
#include "pinsDebug_Teensyduino.h" #include "pinsDebug_Teensyduino.h"
// Can't use the "digitalPinToPort" function from the Teensyduino type IDEs // Can't use the "digitalPinToPort" function from the Teensyduino type IDEs
// portModeRegister takes a different argument // portModeRegister takes a different argument
#define digitalPinToTimer_DEBUG(p) digitalPinToTimer(p) #define digitalPinToTimer_DEBUG(P) digitalPinToTimer(P)
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask(p) #define digitalPinToBitMask_DEBUG(P) digitalPinToBitMask(P)
#define digitalPinToPort_DEBUG(p) digitalPinToPort(p) #define digitalPinToPort_DEBUG(P) digitalPinToPort(P)
#define GET_PINMODE(pin) (*portModeRegister(pin) & digitalPinToBitMask_DEBUG(pin)) #define getValidPinMode(P) (*portModeRegister(P) & digitalPinToBitMask_DEBUG(P))
#elif AVR_ATmega2560_FAMILY_PLUS_70 // So we can access/display all the pins on boards using more than 70 #elif AVR_ATmega2560_FAMILY_PLUS_70 // So we can access/display all the pins on boards using more than 70
#include "pinsDebug_plus_70.h" #include "pinsDebug_plus_70.h"
#define digitalPinToTimer_DEBUG(p) digitalPinToTimer_plus_70(p) #define digitalPinToTimer_DEBUG(P) digitalPinToTimer_plus_70(P)
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask_plus_70(p) #define digitalPinToBitMask_DEBUG(P) digitalPinToBitMask_plus_70(P)
#define digitalPinToPort_DEBUG(p) digitalPinToPort_plus_70(p) #define digitalPinToPort_DEBUG(P) digitalPinToPort_plus_70(P)
bool GET_PINMODE(int8_t pin) {return *portModeRegister(digitalPinToPort_DEBUG(pin)) & digitalPinToBitMask_DEBUG(pin); } bool getValidPinMode(pin_t pin) {return *portModeRegister(digitalPinToPort_DEBUG(pin)) & digitalPinToBitMask_DEBUG(pin); }
#else #else
#define digitalPinToTimer_DEBUG(p) digitalPinToTimer(p) #define digitalPinToTimer_DEBUG(P) digitalPinToTimer(P)
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask(p) #define digitalPinToBitMask_DEBUG(P) digitalPinToBitMask(P)
#define digitalPinToPort_DEBUG(p) digitalPinToPort(p) #define digitalPinToPort_DEBUG(P) digitalPinToPort(P)
bool GET_PINMODE(int8_t pin) {return *portModeRegister(digitalPinToPort_DEBUG(pin)) & digitalPinToBitMask_DEBUG(pin); } bool getValidPinMode(pin_t pin) {return *portModeRegister(digitalPinToPort_DEBUG(pin)) & digitalPinToBitMask_DEBUG(pin); }
#define GET_ARRAY_PIN(p) pgm_read_byte(&pin_array[p].pin) #define getPinByIndex(x) pgm_read_byte(&pin_array[x].pin)
#endif #endif
#define VALID_PIN(pin) (pin >= 0 && pin < NUM_DIGITAL_PINS ? 1 : 0) #define isValidPin(P) (P >= 0 && P < NUMBER_PINS_TOTAL)
#if AVR_ATmega1284_FAMILY #if AVR_ATmega1284_FAMILY
#define IS_ANALOG(P) WITHIN(P, analogInputToDigitalPin(7), analogInputToDigitalPin(0)) #define isAnalogPin(P) WITHIN(P, analogInputToDigitalPin(7), analogInputToDigitalPin(0))
#define DIGITAL_PIN_TO_ANALOG_PIN(P) int(IS_ANALOG(P) ? (P) - analogInputToDigitalPin(7) : -1) #define digitalPinToAnalogIndex(P) int(isAnalogPin(P) ? (P) - analogInputToDigitalPin(7) : -1)
#else #else
#define _ANALOG1(P) WITHIN(P, analogInputToDigitalPin(0), analogInputToDigitalPin(7)) #define _ANALOG1(P) WITHIN(P, analogInputToDigitalPin(0), analogInputToDigitalPin(7))
#define _ANALOG2(P) WITHIN(P, analogInputToDigitalPin(8), analogInputToDigitalPin(15)) #define _ANALOG2(P) WITHIN(P, analogInputToDigitalPin(8), analogInputToDigitalPin(15))
#define IS_ANALOG(P) (_ANALOG1(P) || _ANALOG2(P)) #define isAnalogPin(P) (_ANALOG1(P) || _ANALOG2(P))
#define DIGITAL_PIN_TO_ANALOG_PIN(P) int(_ANALOG1(P) ? (P) - analogInputToDigitalPin(0) : _ANALOG2(P) ? (P) - analogInputToDigitalPin(8) + 8 : -1) #define digitalPinToAnalogIndex(P) int(_ANALOG1(P) ? (P) - analogInputToDigitalPin(0) : _ANALOG2(P) ? (P) - analogInputToDigitalPin(8) + 8 : -1)
#endif #endif
#define GET_ARRAY_PIN(p) pgm_read_byte(&pin_array[p].pin) #define getPinByIndex(x) pgm_read_byte(&pin_array[x].pin)
#define MULTI_NAME_PAD 26 // space needed to be pretty if not first name assigned to a pin #define MULTI_NAME_PAD 26 // space needed to be pretty if not first name assigned to a pin
void PRINT_ARRAY_NAME(uint8_t x) { void printPinNameByIndex(const uint8_t index) {
PGM_P const name_mem_pointer = (PGM_P)pgm_read_ptr(&pin_array[x].name); PGM_P const name_mem_pointer = (PGM_P)pgm_read_ptr(&pin_array[index].name);
for (uint8_t y = 0; y < MAX_NAME_LENGTH; ++y) { for (uint8_t y = 0; y < MAX_NAME_LENGTH; ++y) {
char temp_char = pgm_read_byte(name_mem_pointer + y); char temp_char = pgm_read_byte(name_mem_pointer + y);
if (temp_char != 0) if (temp_char != 0)
@@ -88,7 +104,7 @@ void PRINT_ARRAY_NAME(uint8_t x) {
} }
} }
#define GET_ARRAY_IS_DIGITAL(x) pgm_read_byte(&pin_array[x].is_digital) #define getPinIsDigitalByIndex(x) pgm_read_byte(&pin_array[x].is_digital)
#if defined(__AVR_ATmega1284P__) // 1284 IDE extensions set this to the number of #if defined(__AVR_ATmega1284P__) // 1284 IDE extensions set this to the number of
#undef NUM_DIGITAL_PINS // digital only pins while all other CPUs have it #undef NUM_DIGITAL_PINS // digital only pins while all other CPUs have it
@@ -109,7 +125,7 @@ void PRINT_ARRAY_NAME(uint8_t x) {
* Print a pin's PWM status. * Print a pin's PWM status.
* Return true if it's currently a PWM pin. * Return true if it's currently a PWM pin.
*/ */
bool pwm_status(uint8_t pin) { bool pwm_status(const uint8_t pin) {
char buffer[20]; // for the sprintf statements char buffer[20]; // for the sprintf statements
switch (digitalPinToTimer_DEBUG(pin)) { switch (digitalPinToTimer_DEBUG(pin)) {
@@ -163,7 +179,6 @@ bool pwm_status(uint8_t pin) {
SERIAL_ECHO_SP(2); SERIAL_ECHO_SP(2);
} // pwm_status } // pwm_status
const volatile uint8_t* const PWM_other[][3] PROGMEM = { const volatile uint8_t* const PWM_other[][3] PROGMEM = {
{ &TCCR0A, &TCCR0B, &TIMSK0 }, { &TCCR0A, &TCCR0B, &TIMSK0 },
{ &TCCR1A, &TCCR1B, &TIMSK1 }, { &TCCR1A, &TCCR1B, &TIMSK1 },
@@ -181,7 +196,6 @@ const volatile uint8_t* const PWM_other[][3] PROGMEM = {
#endif #endif
}; };
const volatile uint8_t* const PWM_OCR[][3] PROGMEM = { const volatile uint8_t* const PWM_OCR[][3] PROGMEM = {
#ifdef TIMER0A #ifdef TIMER0A
@@ -217,7 +231,6 @@ const volatile uint8_t* const PWM_OCR[][3] PROGMEM = {
#endif #endif
}; };
#define TCCR_A(T) pgm_read_word(&PWM_other[T][0]) #define TCCR_A(T) pgm_read_word(&PWM_other[T][0])
#define TCCR_B(T) pgm_read_word(&PWM_other[T][1]) #define TCCR_B(T) pgm_read_word(&PWM_other[T][1])
#define TIMSK(T) pgm_read_word(&PWM_other[T][2]) #define TIMSK(T) pgm_read_word(&PWM_other[T][2])
@@ -279,7 +292,7 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
if (TEST(*TMSK, TOIE)) err_prob_interrupt(); if (TEST(*TMSK, TOIE)) err_prob_interrupt();
} }
void pwm_details(uint8_t pin) { void printPinPWM(const uint8_t pin) {
switch (digitalPinToTimer_DEBUG(pin)) { switch (digitalPinToTimer_DEBUG(pin)) {
#if ABTEST(0) #if ABTEST(0)
@@ -350,7 +363,7 @@ void pwm_details(uint8_t pin) {
#else #else
UNUSED(print_is_also_tied); UNUSED(print_is_also_tied);
#endif #endif
} // pwm_details } // printPinPWM
#ifndef digitalRead_mod // Use Teensyduino's version of digitalRead - it doesn't disable the PWMs #ifndef digitalRead_mod // Use Teensyduino's version of digitalRead - it doesn't disable the PWMs
int digitalRead_mod(const pin_t pin) { // same as digitalRead except the PWM stop section has been removed int digitalRead_mod(const pin_t pin) { // same as digitalRead except the PWM stop section has been removed
@@ -359,21 +372,21 @@ void pwm_details(uint8_t pin) {
} }
#endif #endif
void print_port(const pin_t pin) { // print port number void printPinPort(const pin_t pin) { // print port number
#ifdef digitalPinToPort_DEBUG #ifdef digitalPinToPort_DEBUG
uint8_t x; uint8_t x;
SERIAL_ECHOPGM(" Port: "); SERIAL_ECHOPGM(" Port: ");
#if AVR_AT90USB1286_FAMILY #if AVR_AT90USB1286_FAMILY
x = (pin == 46 || pin == 47) ? 'E' : digitalPinToPort_DEBUG(pin) + 64; x = (pin == PIN_E2 || pin == PIN_E3) ? 'E' : 'A' + digitalPinToPort_DEBUG(pin) - 1;
#else #else
x = digitalPinToPort_DEBUG(pin) + 64; x = 'A' + digitalPinToPort_DEBUG(pin) - 1;
#endif #endif
SERIAL_CHAR(x); SERIAL_CHAR(x);
#if AVR_AT90USB1286_FAMILY #if AVR_AT90USB1286_FAMILY
if (pin == 46) if (pin == PIN_E2)
x = '2'; x = '2';
else if (pin == 47) else if (pin == PIN_E3)
x = '3'; x = '3';
else { else {
uint8_t temp = digitalPinToBitMask_DEBUG(pin); uint8_t temp = digitalPinToBitMask_DEBUG(pin);
@@ -389,7 +402,7 @@ void print_port(const pin_t pin) { // print port number
#endif #endif
} }
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%3d "), p); SERIAL_ECHO(buffer); }while(0) #define printPinNumber(P) do{ sprintf_P(buffer, PSTR("%3d "), P); SERIAL_ECHO(buffer); }while(0)
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0) #define printPinAnalog(P) do{ sprintf_P(buffer, PSTR(" (A%2d) "), digitalPinToAnalogIndex(P)); SERIAL_ECHO(buffer); }while(0)
#undef ABTEST #undef ABTEST
+1 -1
View File
@@ -102,7 +102,7 @@ const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
// digitalPinToBitMask(pin) is OK // digitalPinToBitMask(pin) is OK
#define digitalRead_mod(p) extDigitalRead(p) // Teensyduino's version of digitalRead doesn't #define digitalRead_mod(P) extDigitalRead(P) // Teensyduino's version of digitalRead doesn't
// disable the PWMs so we can use it as is // disable the PWMs so we can use it as is
// portModeRegister(pin) is OK // portModeRegister(pin) is OK
+252 -252
View File
@@ -48,92 +48,92 @@
const uint8_t PROGMEM digital_pin_to_port_PGM_plus_70[] = { const uint8_t PROGMEM digital_pin_to_port_PGM_plus_70[] = {
// PORTLIST // PORTLIST
// ------------------------ // ------------------------
PE , // PE 0 ** 0 ** USART0_RX PE, // PE 0 ** 0 ** USART0_RX
PE , // PE 1 ** 1 ** USART0_TX PE, // PE 1 ** 1 ** USART0_TX
PE , // PE 4 ** 2 ** PWM2 PE, // PE 4 ** 2 ** PWM2
PE , // PE 5 ** 3 ** PWM3 PE, // PE 5 ** 3 ** PWM3
PG , // PG 5 ** 4 ** PWM4 PG, // PG 5 ** 4 ** PWM4
PE , // PE 3 ** 5 ** PWM5 PE, // PE 3 ** 5 ** PWM5
PH , // PH 3 ** 6 ** PWM6 PH, // PH 3 ** 6 ** PWM6
PH , // PH 4 ** 7 ** PWM7 PH, // PH 4 ** 7 ** PWM7
PH , // PH 5 ** 8 ** PWM8 PH, // PH 5 ** 8 ** PWM8
PH , // PH 6 ** 9 ** PWM9 PH, // PH 6 ** 9 ** PWM9
PB , // PB 4 ** 10 ** PWM10 PB, // PB 4 ** 10 ** PWM10
PB , // PB 5 ** 11 ** PWM11 PB, // PB 5 ** 11 ** PWM11
PB , // PB 6 ** 12 ** PWM12 PB, // PB 6 ** 12 ** PWM12
PB , // PB 7 ** 13 ** PWM13 PB, // PB 7 ** 13 ** PWM13
PJ , // PJ 1 ** 14 ** USART3_TX PJ, // PJ 1 ** 14 ** USART3_TX
PJ , // PJ 0 ** 15 ** USART3_RX PJ, // PJ 0 ** 15 ** USART3_RX
PH , // PH 1 ** 16 ** USART2_TX PH, // PH 1 ** 16 ** USART2_TX
PH , // PH 0 ** 17 ** USART2_RX PH, // PH 0 ** 17 ** USART2_RX
PD , // PD 3 ** 18 ** USART1_TX PD, // PD 3 ** 18 ** USART1_TX
PD , // PD 2 ** 19 ** USART1_RX PD, // PD 2 ** 19 ** USART1_RX
PD , // PD 1 ** 20 ** I2C_SDA PD, // PD 1 ** 20 ** I2C_SDA
PD , // PD 0 ** 21 ** I2C_SCL PD, // PD 0 ** 21 ** I2C_SCL
PA , // PA 0 ** 22 ** D22 PA, // PA 0 ** 22 ** D22
PA , // PA 1 ** 23 ** D23 PA, // PA 1 ** 23 ** D23
PA , // PA 2 ** 24 ** D24 PA, // PA 2 ** 24 ** D24
PA , // PA 3 ** 25 ** D25 PA, // PA 3 ** 25 ** D25
PA , // PA 4 ** 26 ** D26 PA, // PA 4 ** 26 ** D26
PA , // PA 5 ** 27 ** D27 PA, // PA 5 ** 27 ** D27
PA , // PA 6 ** 28 ** D28 PA, // PA 6 ** 28 ** D28
PA , // PA 7 ** 29 ** D29 PA, // PA 7 ** 29 ** D29
PC , // PC 7 ** 30 ** D30 PC, // PC 7 ** 30 ** D30
PC , // PC 6 ** 31 ** D31 PC, // PC 6 ** 31 ** D31
PC , // PC 5 ** 32 ** D32 PC, // PC 5 ** 32 ** D32
PC , // PC 4 ** 33 ** D33 PC, // PC 4 ** 33 ** D33
PC , // PC 3 ** 34 ** D34 PC, // PC 3 ** 34 ** D34
PC , // PC 2 ** 35 ** D35 PC, // PC 2 ** 35 ** D35
PC , // PC 1 ** 36 ** D36 PC, // PC 1 ** 36 ** D36
PC , // PC 0 ** 37 ** D37 PC, // PC 0 ** 37 ** D37
PD , // PD 7 ** 38 ** D38 PD, // PD 7 ** 38 ** D38
PG , // PG 2 ** 39 ** D39 PG, // PG 2 ** 39 ** D39
PG , // PG 1 ** 40 ** D40 PG, // PG 1 ** 40 ** D40
PG , // PG 0 ** 41 ** D41 PG, // PG 0 ** 41 ** D41
PL , // PL 7 ** 42 ** D42 PL, // PL 7 ** 42 ** D42
PL , // PL 6 ** 43 ** D43 PL, // PL 6 ** 43 ** D43
PL , // PL 5 ** 44 ** D44 PL, // PL 5 ** 44 ** D44
PL , // PL 4 ** 45 ** D45 PL, // PL 4 ** 45 ** D45
PL , // PL 3 ** 46 ** D46 PL, // PL 3 ** 46 ** D46
PL , // PL 2 ** 47 ** D47 PL, // PL 2 ** 47 ** D47
PL , // PL 1 ** 48 ** D48 PL, // PL 1 ** 48 ** D48
PL , // PL 0 ** 49 ** D49 PL, // PL 0 ** 49 ** D49
PB , // PB 3 ** 50 ** SPI_MISO PB, // PB 3 ** 50 ** SPI_MISO
PB , // PB 2 ** 51 ** SPI_MOSI PB, // PB 2 ** 51 ** SPI_MOSI
PB , // PB 1 ** 52 ** SPI_SCK PB, // PB 1 ** 52 ** SPI_SCK
PB , // PB 0 ** 53 ** SPI_SS PB, // PB 0 ** 53 ** SPI_SS
PF , // PF 0 ** 54 ** A0 PF, // PF 0 ** 54 ** A0
PF , // PF 1 ** 55 ** A1 PF, // PF 1 ** 55 ** A1
PF , // PF 2 ** 56 ** A2 PF, // PF 2 ** 56 ** A2
PF , // PF 3 ** 57 ** A3 PF, // PF 3 ** 57 ** A3
PF , // PF 4 ** 58 ** A4 PF, // PF 4 ** 58 ** A4
PF , // PF 5 ** 59 ** A5 PF, // PF 5 ** 59 ** A5
PF , // PF 6 ** 60 ** A6 PF, // PF 6 ** 60 ** A6
PF , // PF 7 ** 61 ** A7 PF, // PF 7 ** 61 ** A7
PK , // PK 0 ** 62 ** A8 PK, // PK 0 ** 62 ** A8
PK , // PK 1 ** 63 ** A9 PK, // PK 1 ** 63 ** A9
PK , // PK 2 ** 64 ** A10 PK, // PK 2 ** 64 ** A10
PK , // PK 3 ** 65 ** A11 PK, // PK 3 ** 65 ** A11
PK , // PK 4 ** 66 ** A12 PK, // PK 4 ** 66 ** A12
PK , // PK 5 ** 67 ** A13 PK, // PK 5 ** 67 ** A13
PK , // PK 6 ** 68 ** A14 PK, // PK 6 ** 68 ** A14
PK , // PK 7 ** 69 ** A15 PK, // PK 7 ** 69 ** A15
PG , // PG 4 ** 70 ** PG, // PG 4 ** 70 **
PG , // PG 3 ** 71 ** PG, // PG 3 ** 71 **
PJ , // PJ 2 ** 72 ** PJ, // PJ 2 ** 72 **
PJ , // PJ 3 ** 73 ** PJ, // PJ 3 ** 73 **
PJ , // PJ 7 ** 74 ** PJ, // PJ 7 ** 74 **
PJ , // PJ 4 ** 75 ** PJ, // PJ 4 ** 75 **
PJ , // PJ 5 ** 76 ** PJ, // PJ 5 ** 76 **
PJ , // PJ 6 ** 77 ** PJ, // PJ 6 ** 77 **
PE , // PE 2 ** 78 ** PE, // PE 2 ** 78 **
PE , // PE 6 ** 79 ** PE, // PE 6 ** 79 **
PE , // PE 7 ** 80 ** PE, // PE 7 ** 80 **
PD , // PD 4 ** 81 ** PD, // PD 4 ** 81 **
PD , // PD 5 ** 82 ** PD, // PD 5 ** 82 **
PD , // PD 6 ** 83 ** PD, // PD 6 ** 83 **
PH , // PH 2 ** 84 ** PH, // PH 2 ** 84 **
PH , // PH 7 ** 85 ** PH, // PH 7 ** 85 **
}; };
#define digitalPinToPort_plus_70(P) ( pgm_read_byte( digital_pin_to_port_PGM_plus_70 + (P) ) ) #define digitalPinToPort_plus_70(P) ( pgm_read_byte( digital_pin_to_port_PGM_plus_70 + (P) ) )
@@ -141,92 +141,92 @@ const uint8_t PROGMEM digital_pin_to_port_PGM_plus_70[] = {
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM_plus_70[] = { const uint8_t PROGMEM digital_pin_to_bit_mask_PGM_plus_70[] = {
// PIN IN PORT // PIN IN PORT
// ------------------------ // ------------------------
_BV( 0 ) , // PE 0 ** 0 ** USART0_RX _BV( 0 ), // PE 0 ** 0 ** USART0_RX
_BV( 1 ) , // PE 1 ** 1 ** USART0_TX _BV( 1 ), // PE 1 ** 1 ** USART0_TX
_BV( 4 ) , // PE 4 ** 2 ** PWM2 _BV( 4 ), // PE 4 ** 2 ** PWM2
_BV( 5 ) , // PE 5 ** 3 ** PWM3 _BV( 5 ), // PE 5 ** 3 ** PWM3
_BV( 5 ) , // PG 5 ** 4 ** PWM4 _BV( 5 ), // PG 5 ** 4 ** PWM4
_BV( 3 ) , // PE 3 ** 5 ** PWM5 _BV( 3 ), // PE 3 ** 5 ** PWM5
_BV( 3 ) , // PH 3 ** 6 ** PWM6 _BV( 3 ), // PH 3 ** 6 ** PWM6
_BV( 4 ) , // PH 4 ** 7 ** PWM7 _BV( 4 ), // PH 4 ** 7 ** PWM7
_BV( 5 ) , // PH 5 ** 8 ** PWM8 _BV( 5 ), // PH 5 ** 8 ** PWM8
_BV( 6 ) , // PH 6 ** 9 ** PWM9 _BV( 6 ), // PH 6 ** 9 ** PWM9
_BV( 4 ) , // PB 4 ** 10 ** PWM10 _BV( 4 ), // PB 4 ** 10 ** PWM10
_BV( 5 ) , // PB 5 ** 11 ** PWM11 _BV( 5 ), // PB 5 ** 11 ** PWM11
_BV( 6 ) , // PB 6 ** 12 ** PWM12 _BV( 6 ), // PB 6 ** 12 ** PWM12
_BV( 7 ) , // PB 7 ** 13 ** PWM13 _BV( 7 ), // PB 7 ** 13 ** PWM13
_BV( 1 ) , // PJ 1 ** 14 ** USART3_TX _BV( 1 ), // PJ 1 ** 14 ** USART3_TX
_BV( 0 ) , // PJ 0 ** 15 ** USART3_RX _BV( 0 ), // PJ 0 ** 15 ** USART3_RX
_BV( 1 ) , // PH 1 ** 16 ** USART2_TX _BV( 1 ), // PH 1 ** 16 ** USART2_TX
_BV( 0 ) , // PH 0 ** 17 ** USART2_RX _BV( 0 ), // PH 0 ** 17 ** USART2_RX
_BV( 3 ) , // PD 3 ** 18 ** USART1_TX _BV( 3 ), // PD 3 ** 18 ** USART1_TX
_BV( 2 ) , // PD 2 ** 19 ** USART1_RX _BV( 2 ), // PD 2 ** 19 ** USART1_RX
_BV( 1 ) , // PD 1 ** 20 ** I2C_SDA _BV( 1 ), // PD 1 ** 20 ** I2C_SDA
_BV( 0 ) , // PD 0 ** 21 ** I2C_SCL _BV( 0 ), // PD 0 ** 21 ** I2C_SCL
_BV( 0 ) , // PA 0 ** 22 ** D22 _BV( 0 ), // PA 0 ** 22 ** D22
_BV( 1 ) , // PA 1 ** 23 ** D23 _BV( 1 ), // PA 1 ** 23 ** D23
_BV( 2 ) , // PA 2 ** 24 ** D24 _BV( 2 ), // PA 2 ** 24 ** D24
_BV( 3 ) , // PA 3 ** 25 ** D25 _BV( 3 ), // PA 3 ** 25 ** D25
_BV( 4 ) , // PA 4 ** 26 ** D26 _BV( 4 ), // PA 4 ** 26 ** D26
_BV( 5 ) , // PA 5 ** 27 ** D27 _BV( 5 ), // PA 5 ** 27 ** D27
_BV( 6 ) , // PA 6 ** 28 ** D28 _BV( 6 ), // PA 6 ** 28 ** D28
_BV( 7 ) , // PA 7 ** 29 ** D29 _BV( 7 ), // PA 7 ** 29 ** D29
_BV( 7 ) , // PC 7 ** 30 ** D30 _BV( 7 ), // PC 7 ** 30 ** D30
_BV( 6 ) , // PC 6 ** 31 ** D31 _BV( 6 ), // PC 6 ** 31 ** D31
_BV( 5 ) , // PC 5 ** 32 ** D32 _BV( 5 ), // PC 5 ** 32 ** D32
_BV( 4 ) , // PC 4 ** 33 ** D33 _BV( 4 ), // PC 4 ** 33 ** D33
_BV( 3 ) , // PC 3 ** 34 ** D34 _BV( 3 ), // PC 3 ** 34 ** D34
_BV( 2 ) , // PC 2 ** 35 ** D35 _BV( 2 ), // PC 2 ** 35 ** D35
_BV( 1 ) , // PC 1 ** 36 ** D36 _BV( 1 ), // PC 1 ** 36 ** D36
_BV( 0 ) , // PC 0 ** 37 ** D37 _BV( 0 ), // PC 0 ** 37 ** D37
_BV( 7 ) , // PD 7 ** 38 ** D38 _BV( 7 ), // PD 7 ** 38 ** D38
_BV( 2 ) , // PG 2 ** 39 ** D39 _BV( 2 ), // PG 2 ** 39 ** D39
_BV( 1 ) , // PG 1 ** 40 ** D40 _BV( 1 ), // PG 1 ** 40 ** D40
_BV( 0 ) , // PG 0 ** 41 ** D41 _BV( 0 ), // PG 0 ** 41 ** D41
_BV( 7 ) , // PL 7 ** 42 ** D42 _BV( 7 ), // PL 7 ** 42 ** D42
_BV( 6 ) , // PL 6 ** 43 ** D43 _BV( 6 ), // PL 6 ** 43 ** D43
_BV( 5 ) , // PL 5 ** 44 ** D44 _BV( 5 ), // PL 5 ** 44 ** D44
_BV( 4 ) , // PL 4 ** 45 ** D45 _BV( 4 ), // PL 4 ** 45 ** D45
_BV( 3 ) , // PL 3 ** 46 ** D46 _BV( 3 ), // PL 3 ** 46 ** D46
_BV( 2 ) , // PL 2 ** 47 ** D47 _BV( 2 ), // PL 2 ** 47 ** D47
_BV( 1 ) , // PL 1 ** 48 ** D48 _BV( 1 ), // PL 1 ** 48 ** D48
_BV( 0 ) , // PL 0 ** 49 ** D49 _BV( 0 ), // PL 0 ** 49 ** D49
_BV( 3 ) , // PB 3 ** 50 ** SPI_MISO _BV( 3 ), // PB 3 ** 50 ** SPI_MISO
_BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI _BV( 2 ), // PB 2 ** 51 ** SPI_MOSI
_BV( 1 ) , // PB 1 ** 52 ** SPI_SCK _BV( 1 ), // PB 1 ** 52 ** SPI_SCK
_BV( 0 ) , // PB 0 ** 53 ** SPI_SS _BV( 0 ), // PB 0 ** 53 ** SPI_SS
_BV( 0 ) , // PF 0 ** 54 ** A0 _BV( 0 ), // PF 0 ** 54 ** A0
_BV( 1 ) , // PF 1 ** 55 ** A1 _BV( 1 ), // PF 1 ** 55 ** A1
_BV( 2 ) , // PF 2 ** 56 ** A2 _BV( 2 ), // PF 2 ** 56 ** A2
_BV( 3 ) , // PF 3 ** 57 ** A3 _BV( 3 ), // PF 3 ** 57 ** A3
_BV( 4 ) , // PF 4 ** 58 ** A4 _BV( 4 ), // PF 4 ** 58 ** A4
_BV( 5 ) , // PF 5 ** 59 ** A5 _BV( 5 ), // PF 5 ** 59 ** A5
_BV( 6 ) , // PF 6 ** 60 ** A6 _BV( 6 ), // PF 6 ** 60 ** A6
_BV( 7 ) , // PF 7 ** 61 ** A7 _BV( 7 ), // PF 7 ** 61 ** A7
_BV( 0 ) , // PK 0 ** 62 ** A8 _BV( 0 ), // PK 0 ** 62 ** A8
_BV( 1 ) , // PK 1 ** 63 ** A9 _BV( 1 ), // PK 1 ** 63 ** A9
_BV( 2 ) , // PK 2 ** 64 ** A10 _BV( 2 ), // PK 2 ** 64 ** A10
_BV( 3 ) , // PK 3 ** 65 ** A11 _BV( 3 ), // PK 3 ** 65 ** A11
_BV( 4 ) , // PK 4 ** 66 ** A12 _BV( 4 ), // PK 4 ** 66 ** A12
_BV( 5 ) , // PK 5 ** 67 ** A13 _BV( 5 ), // PK 5 ** 67 ** A13
_BV( 6 ) , // PK 6 ** 68 ** A14 _BV( 6 ), // PK 6 ** 68 ** A14
_BV( 7 ) , // PK 7 ** 69 ** A15 _BV( 7 ), // PK 7 ** 69 ** A15
_BV( 4 ) , // PG 4 ** 70 ** _BV( 4 ), // PG 4 ** 70 **
_BV( 3 ) , // PG 3 ** 71 ** _BV( 3 ), // PG 3 ** 71 **
_BV( 2 ) , // PJ 2 ** 72 ** _BV( 2 ), // PJ 2 ** 72 **
_BV( 3 ) , // PJ 3 ** 73 ** _BV( 3 ), // PJ 3 ** 73 **
_BV( 7 ) , // PJ 7 ** 74 ** _BV( 7 ), // PJ 7 ** 74 **
_BV( 4 ) , // PJ 4 ** 75 ** _BV( 4 ), // PJ 4 ** 75 **
_BV( 5 ) , // PJ 5 ** 76 ** _BV( 5 ), // PJ 5 ** 76 **
_BV( 6 ) , // PJ 6 ** 77 ** _BV( 6 ), // PJ 6 ** 77 **
_BV( 2 ) , // PE 2 ** 78 ** _BV( 2 ), // PE 2 ** 78 **
_BV( 6 ) , // PE 6 ** 79 ** _BV( 6 ), // PE 6 ** 79 **
_BV( 7 ) , // PE 7 ** 80 ** _BV( 7 ), // PE 7 ** 80 **
_BV( 4 ) , // PD 4 ** 81 ** _BV( 4 ), // PD 4 ** 81 **
_BV( 5 ) , // PD 5 ** 82 ** _BV( 5 ), // PD 5 ** 82 **
_BV( 6 ) , // PD 6 ** 83 ** _BV( 6 ), // PD 6 ** 83 **
_BV( 2 ) , // PH 2 ** 84 ** _BV( 2 ), // PH 2 ** 84 **
_BV( 7 ) , // PH 7 ** 85 ** _BV( 7 ), // PH 7 ** 85 **
}; };
#define digitalPinToBitMask_plus_70(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM_plus_70 + (P) ) ) #define digitalPinToBitMask_plus_70(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM_plus_70 + (P) ) )
@@ -234,86 +234,86 @@ const uint8_t PROGMEM digital_pin_to_bit_mask_PGM_plus_70[] = {
const uint8_t PROGMEM digital_pin_to_timer_PGM_plus_70[] = { const uint8_t PROGMEM digital_pin_to_timer_PGM_plus_70[] = {
// TIMERS // TIMERS
// ------------------------ // ------------------------
NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX NOT_ON_TIMER, // PE 0 ** 0 ** USART0_RX
NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX NOT_ON_TIMER, // PE 1 ** 1 ** USART0_TX
TIMER3B , // PE 4 ** 2 ** PWM2 TIMER3B, // PE 4 ** 2 ** PWM2
TIMER3C , // PE 5 ** 3 ** PWM3 TIMER3C, // PE 5 ** 3 ** PWM3
TIMER0B , // PG 5 ** 4 ** PWM4 TIMER0B, // PG 5 ** 4 ** PWM4
TIMER3A , // PE 3 ** 5 ** PWM5 TIMER3A, // PE 3 ** 5 ** PWM5
TIMER4A , // PH 3 ** 6 ** PWM6 TIMER4A, // PH 3 ** 6 ** PWM6
TIMER4B , // PH 4 ** 7 ** PWM7 TIMER4B, // PH 4 ** 7 ** PWM7
TIMER4C , // PH 5 ** 8 ** PWM8 TIMER4C, // PH 5 ** 8 ** PWM8
TIMER2B , // PH 6 ** 9 ** PWM9 TIMER2B, // PH 6 ** 9 ** PWM9
TIMER2A , // PB 4 ** 10 ** PWM10 TIMER2A, // PB 4 ** 10 ** PWM10
TIMER1A , // PB 5 ** 11 ** PWM11 TIMER1A, // PB 5 ** 11 ** PWM11
TIMER1B , // PB 6 ** 12 ** PWM12 TIMER1B, // PB 6 ** 12 ** PWM12
TIMER0A , // PB 7 ** 13 ** PWM13 TIMER0A, // PB 7 ** 13 ** PWM13
NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX NOT_ON_TIMER, // PJ 1 ** 14 ** USART3_TX
NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX NOT_ON_TIMER, // PJ 0 ** 15 ** USART3_RX
NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX NOT_ON_TIMER, // PH 1 ** 16 ** USART2_TX
NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX NOT_ON_TIMER, // PH 0 ** 17 ** USART2_RX
NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX NOT_ON_TIMER, // PD 3 ** 18 ** USART1_TX
NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX NOT_ON_TIMER, // PD 2 ** 19 ** USART1_RX
NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA NOT_ON_TIMER, // PD 1 ** 20 ** I2C_SDA
NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL NOT_ON_TIMER, // PD 0 ** 21 ** I2C_SCL
NOT_ON_TIMER , // PA 0 ** 22 ** D22 NOT_ON_TIMER, // PA 0 ** 22 ** D22
NOT_ON_TIMER , // PA 1 ** 23 ** D23 NOT_ON_TIMER, // PA 1 ** 23 ** D23
NOT_ON_TIMER , // PA 2 ** 24 ** D24 NOT_ON_TIMER, // PA 2 ** 24 ** D24
NOT_ON_TIMER , // PA 3 ** 25 ** D25 NOT_ON_TIMER, // PA 3 ** 25 ** D25
NOT_ON_TIMER , // PA 4 ** 26 ** D26 NOT_ON_TIMER, // PA 4 ** 26 ** D26
NOT_ON_TIMER , // PA 5 ** 27 ** D27 NOT_ON_TIMER, // PA 5 ** 27 ** D27
NOT_ON_TIMER , // PA 6 ** 28 ** D28 NOT_ON_TIMER, // PA 6 ** 28 ** D28
NOT_ON_TIMER , // PA 7 ** 29 ** D29 NOT_ON_TIMER, // PA 7 ** 29 ** D29
NOT_ON_TIMER , // PC 7 ** 30 ** D30 NOT_ON_TIMER, // PC 7 ** 30 ** D30
NOT_ON_TIMER , // PC 6 ** 31 ** D31 NOT_ON_TIMER, // PC 6 ** 31 ** D31
NOT_ON_TIMER , // PC 5 ** 32 ** D32 NOT_ON_TIMER, // PC 5 ** 32 ** D32
NOT_ON_TIMER , // PC 4 ** 33 ** D33 NOT_ON_TIMER, // PC 4 ** 33 ** D33
NOT_ON_TIMER , // PC 3 ** 34 ** D34 NOT_ON_TIMER, // PC 3 ** 34 ** D34
NOT_ON_TIMER , // PC 2 ** 35 ** D35 NOT_ON_TIMER, // PC 2 ** 35 ** D35
NOT_ON_TIMER , // PC 1 ** 36 ** D36 NOT_ON_TIMER, // PC 1 ** 36 ** D36
NOT_ON_TIMER , // PC 0 ** 37 ** D37 NOT_ON_TIMER, // PC 0 ** 37 ** D37
NOT_ON_TIMER , // PD 7 ** 38 ** D38 NOT_ON_TIMER, // PD 7 ** 38 ** D38
NOT_ON_TIMER , // PG 2 ** 39 ** D39 NOT_ON_TIMER, // PG 2 ** 39 ** D39
NOT_ON_TIMER , // PG 1 ** 40 ** D40 NOT_ON_TIMER, // PG 1 ** 40 ** D40
NOT_ON_TIMER , // PG 0 ** 41 ** D41 NOT_ON_TIMER, // PG 0 ** 41 ** D41
NOT_ON_TIMER , // PL 7 ** 42 ** D42 NOT_ON_TIMER, // PL 7 ** 42 ** D42
NOT_ON_TIMER , // PL 6 ** 43 ** D43 NOT_ON_TIMER, // PL 6 ** 43 ** D43
TIMER5C , // PL 5 ** 44 ** D44 TIMER5C, // PL 5 ** 44 ** D44
TIMER5B , // PL 4 ** 45 ** D45 TIMER5B, // PL 4 ** 45 ** D45
TIMER5A , // PL 3 ** 46 ** D46 TIMER5A, // PL 3 ** 46 ** D46
NOT_ON_TIMER , // PL 2 ** 47 ** D47 NOT_ON_TIMER, // PL 2 ** 47 ** D47
NOT_ON_TIMER , // PL 1 ** 48 ** D48 NOT_ON_TIMER, // PL 1 ** 48 ** D48
NOT_ON_TIMER , // PL 0 ** 49 ** D49 NOT_ON_TIMER, // PL 0 ** 49 ** D49
NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO NOT_ON_TIMER, // PB 3 ** 50 ** SPI_MISO
NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI NOT_ON_TIMER, // PB 2 ** 51 ** SPI_MOSI
NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK NOT_ON_TIMER, // PB 1 ** 52 ** SPI_SCK
NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS NOT_ON_TIMER, // PB 0 ** 53 ** SPI_SS
NOT_ON_TIMER , // PF 0 ** 54 ** A0 NOT_ON_TIMER, // PF 0 ** 54 ** A0
NOT_ON_TIMER , // PF 1 ** 55 ** A1 NOT_ON_TIMER, // PF 1 ** 55 ** A1
NOT_ON_TIMER , // PF 2 ** 56 ** A2 NOT_ON_TIMER, // PF 2 ** 56 ** A2
NOT_ON_TIMER , // PF 3 ** 57 ** A3 NOT_ON_TIMER, // PF 3 ** 57 ** A3
NOT_ON_TIMER , // PF 4 ** 58 ** A4 NOT_ON_TIMER, // PF 4 ** 58 ** A4
NOT_ON_TIMER , // PF 5 ** 59 ** A5 NOT_ON_TIMER, // PF 5 ** 59 ** A5
NOT_ON_TIMER , // PF 6 ** 60 ** A6 NOT_ON_TIMER, // PF 6 ** 60 ** A6
NOT_ON_TIMER , // PF 7 ** 61 ** A7 NOT_ON_TIMER, // PF 7 ** 61 ** A7
NOT_ON_TIMER , // PK 0 ** 62 ** A8 NOT_ON_TIMER, // PK 0 ** 62 ** A8
NOT_ON_TIMER , // PK 1 ** 63 ** A9 NOT_ON_TIMER, // PK 1 ** 63 ** A9
NOT_ON_TIMER , // PK 2 ** 64 ** A10 NOT_ON_TIMER, // PK 2 ** 64 ** A10
NOT_ON_TIMER , // PK 3 ** 65 ** A11 NOT_ON_TIMER, // PK 3 ** 65 ** A11
NOT_ON_TIMER , // PK 4 ** 66 ** A12 NOT_ON_TIMER, // PK 4 ** 66 ** A12
NOT_ON_TIMER , // PK 5 ** 67 ** A13 NOT_ON_TIMER, // PK 5 ** 67 ** A13
NOT_ON_TIMER , // PK 6 ** 68 ** A14 NOT_ON_TIMER, // PK 6 ** 68 ** A14
NOT_ON_TIMER , // PK 7 ** 69 ** A15 NOT_ON_TIMER, // PK 7 ** 69 ** A15
NOT_ON_TIMER , // PG 4 ** 70 ** NOT_ON_TIMER, // PG 4 ** 70 **
NOT_ON_TIMER , // PG 3 ** 71 ** NOT_ON_TIMER, // PG 3 ** 71 **
NOT_ON_TIMER , // PJ 2 ** 72 ** NOT_ON_TIMER, // PJ 2 ** 72 **
NOT_ON_TIMER , // PJ 3 ** 73 ** NOT_ON_TIMER, // PJ 3 ** 73 **
NOT_ON_TIMER , // PJ 7 ** 74 ** NOT_ON_TIMER, // PJ 7 ** 74 **
NOT_ON_TIMER , // PJ 4 ** 75 ** NOT_ON_TIMER, // PJ 4 ** 75 **
NOT_ON_TIMER , // PJ 5 ** 76 ** NOT_ON_TIMER, // PJ 5 ** 76 **
NOT_ON_TIMER , // PJ 6 ** 77 ** NOT_ON_TIMER, // PJ 6 ** 77 **
NOT_ON_TIMER , // PE 2 ** 78 ** NOT_ON_TIMER, // PE 2 ** 78 **
NOT_ON_TIMER , // PE 6 ** 79 ** NOT_ON_TIMER, // PE 6 ** 79 **
}; };
#define digitalPinToTimer_plus_70(P) ( pgm_read_byte( digital_pin_to_timer_PGM_plus_70 + (P) ) ) #define digitalPinToTimer_plus_70(P) ( pgm_read_byte( digital_pin_to_timer_PGM_plus_70 + (P) ) )
+4 -4
View File
@@ -93,15 +93,15 @@ namespace AVRHelpers {
typedef T type; typedef T type;
}; };
template <typename T> template <typename T>
struct voltype <T, 1u> { struct voltype <T, 1U> {
typedef uint8_t type; typedef uint8_t type;
}; };
template <typename T> template <typename T>
struct voltype <T, 2u> { struct voltype <T, 2U> {
typedef uint16_t type; typedef uint16_t type;
}; };
template <typename T> template <typename T>
struct voltype <T, 4u> { struct voltype <T, 4U> {
typedef uint32_t type; typedef uint32_t type;
}; };
@@ -2007,7 +2007,7 @@ inline void _ATmega_resetperipherals() {
#if defined(__AVR_TRM01__) || defined(__AVR_TRM02__) || defined(__AVR_TRM03__) || defined(__AVR_TRM05__) #if defined(__AVR_TRM01__) || defined(__AVR_TRM02__) || defined(__AVR_TRM03__) || defined(__AVR_TRM05__)
_EEAR._EEAR = 0; _EEAR._EEAR = 0;
dwrite(_EEDR, (uint8_t)0u); dwrite(_EEDR, (uint8_t)0U);
#endif #endif
#if defined(__AVR_TRM01__) || defined(__AVR_TRM02__) || defined(__AVR_TRM03__) || defined(__AVR_TRM04__) || defined(__AVR_TRM05__) #if defined(__AVR_TRM01__) || defined(__AVR_TRM02__) || defined(__AVR_TRM03__) || defined(__AVR_TRM04__) || defined(__AVR_TRM05__)
+24 -26
View File
@@ -23,43 +23,41 @@
/** /**
* Define SPI Pins: SCK, MISO, MOSI, SS * Define SPI Pins: SCK, MISO, MOSI, SS
* Platform pins have parentheses, e.g., "(53)", so we cannot use them.
*/ */
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__) #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__)
#define AVR_SCK_PIN 13 #define _PIN_SPI_SCK 13
#define AVR_MISO_PIN 12 #define _PIN_SPI_MISO 12
#define AVR_MOSI_PIN 11 #define _PIN_SPI_MOSI 11
#define AVR_SS_PIN 10 #define _PIN_SPI_SS 10
#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__) #elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)
#define AVR_SCK_PIN 7 #define _PIN_SPI_SCK 7
#define AVR_MISO_PIN 6 #define _PIN_SPI_MISO 6
#define AVR_MOSI_PIN 5 #define _PIN_SPI_MOSI 5
#define AVR_SS_PIN 4 #define _PIN_SPI_SS 4
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) #elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define AVR_SCK_PIN 52 #define _PIN_SPI_SCK 52
#define AVR_MISO_PIN 50 #define _PIN_SPI_MISO 50
#define AVR_MOSI_PIN 51 #define _PIN_SPI_MOSI 51
#define AVR_SS_PIN 53 #define _PIN_SPI_SS 53
#elif defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) #elif defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__)
#define AVR_SCK_PIN 21 #define _PIN_SPI_SCK 21
#define AVR_MISO_PIN 23 #define _PIN_SPI_MISO 23
#define AVR_MOSI_PIN 22 #define _PIN_SPI_MOSI 22
#define AVR_SS_PIN 20 #define _PIN_SPI_SS 20
#elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) #elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
#define AVR_SCK_PIN 10 #define _PIN_SPI_SCK 10
#define AVR_MISO_PIN 12 #define _PIN_SPI_MISO 12
#define AVR_MOSI_PIN 11 #define _PIN_SPI_MOSI 11
#define AVR_SS_PIN 16 #define _PIN_SPI_SS 16
#endif #endif
#ifndef SD_SCK_PIN #ifndef SD_SCK_PIN
#define SD_SCK_PIN AVR_SCK_PIN #define SD_SCK_PIN _PIN_SPI_SCK
#endif #endif
#ifndef SD_MISO_PIN #ifndef SD_MISO_PIN
#define SD_MISO_PIN AVR_MISO_PIN #define SD_MISO_PIN _PIN_SPI_MISO
#endif #endif
#ifndef SD_MOSI_PIN #ifndef SD_MOSI_PIN
#define SD_MOSI_PIN AVR_MOSI_PIN #define SD_MOSI_PIN _PIN_SPI_MOSI
#endif
#ifndef SD_SS_PIN
#define SD_SS_PIN AVR_SS_PIN
#endif #endif
+10 -10
View File
@@ -28,7 +28,7 @@
// ------------------------ // ------------------------
typedef uint16_t hal_timer_t; typedef uint16_t hal_timer_t;
#define HAL_TIMER_TYPE_MAX 0xFFFF #define HAL_TIMER_TYPE_MAX 0xFFFFU
// ------------------------ // ------------------------
// Defines // Defines
@@ -46,15 +46,15 @@ typedef uint16_t hal_timer_t;
#define MF_TIMER_TEMP 0 #define MF_TIMER_TEMP 0
#endif #endif
#define TEMP_TIMER_FREQUENCY (((F_CPU) + 0x2000) / 0x4000) #define TEMP_TIMER_FREQUENCY (((F_CPU) + 0x2000) / 0x4000)
#define STEPPER_TIMER_RATE HAL_TIMER_RATE #define STEPPER_TIMER_RATE HAL_TIMER_RATE
#define STEPPER_TIMER_PRESCALE 8 #define STEPPER_TIMER_PRESCALE 8
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) #define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000UL)
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE #define PULSE_TIMER_RATE STEPPER_TIMER_RATE // (Hz) Frequency of Pulse Timer
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE #define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US #define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define ENABLE_STEPPER_DRIVER_INTERRUPT() SBI(TIMSK1, OCIE1A) #define ENABLE_STEPPER_DRIVER_INTERRUPT() SBI(TIMSK1, OCIE1A)
#define DISABLE_STEPPER_DRIVER_INTERRUPT() CBI(TIMSK1, OCIE1A) #define DISABLE_STEPPER_DRIVER_INTERRUPT() CBI(TIMSK1, OCIE1A)
@@ -111,8 +111,8 @@ FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t) {
* (otherwise, characters will be lost due to UART overflow). * (otherwise, characters will be lost due to UART overflow).
* Then: Stepper, Endstops, Temperature, and -finally- all others. * Then: Stepper, Endstops, Temperature, and -finally- all others.
*/ */
#define HAL_timer_isr_prologue(T) NOOP inline void HAL_timer_isr_prologue(const uint8_t) {}
#define HAL_timer_isr_epilogue(T) NOOP inline void HAL_timer_isr_epilogue(const uint8_t) {}
#ifndef HAL_STEP_TIMER_ISR #ifndef HAL_STEP_TIMER_ISR
@@ -55,12 +55,12 @@
#if defined(ARDUINO) && !defined(ARDUINO_ARCH_STM32) && !defined(ARDUINO_ARCH_SAM) #if defined(ARDUINO) && !defined(ARDUINO_ARCH_STM32) && !defined(ARDUINO_ARCH_SAM)
#include "../../inc/MarlinConfigPre.h" #include "../../../inc/MarlinConfigPre.h"
#if HAS_MARLINUI_U8GLIB #if HAS_MARLINUI_U8GLIB
#include "../shared/Marduino.h" #include "../../shared/Marduino.h"
#include "../shared/Delay.h" #include "../../shared/Delay.h"
#include <U8glib-HAL.h> #include <U8glib-HAL.h>
@@ -120,8 +120,7 @@ void u8g_spiSend_sw_AVR_mode_3(uint8_t val) {
U8G_ATOMIC_END(); U8G_ATOMIC_END();
} }
#if U8G_SPI_USE_MODE_3
#if ENABLED(FYSETC_MINI_12864)
#define SPISEND_SW_AVR u8g_spiSend_sw_AVR_mode_3 #define SPISEND_SW_AVR u8g_spiSend_sw_AVR_mode_3
#else #else
#define SPISEND_SW_AVR u8g_spiSend_sw_AVR_mode_0 #define SPISEND_SW_AVR u8g_spiSend_sw_AVR_mode_0
@@ -144,9 +143,9 @@ uint8_t u8g_com_HAL_AVR_sw_sp_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
break; break;
case U8G_COM_MSG_CHIP_SELECT: case U8G_COM_MSG_CHIP_SELECT:
#if ENABLED(FYSETC_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0 #if U8G_SPI_USE_MODE_3 // LCD SPI is running mode 3 while SD card is running mode 0
if (arg_val) { // SCK idle state needs to be set to the proper idle state before if (arg_val) { // SCK idle state needs to be set to the proper idle state before
// the next chip select goes active // the next chip select goes active
u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active
u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW);
} }
+15 -11
View File
@@ -27,7 +27,6 @@
#ifdef ARDUINO_ARCH_SAM #ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h" #include "../../inc/MarlinConfig.h"
#include "../../MarlinCore.h"
#include <Wire.h> #include <Wire.h>
#include "usb/usb_task.h" #include "usb/usb_task.h"
@@ -48,7 +47,7 @@ uint16_t MarlinHAL::adc_result;
void MarlinHAL::init() { void MarlinHAL::init() {
#if HAS_MEDIA #if HAS_MEDIA
OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up OUT_WRITE(SD_SS_PIN, HIGH); // Try to set SDSS inactive before any other SPI users start up
#endif #endif
usb_task_init(); // Initialize the USB stack usb_task_init(); // Initialize the USB stack
TERN_(POSTMORTEM_DEBUGGING, install_min_serial()); // Install the min serial handler TERN_(POSTMORTEM_DEBUGGING, install_min_serial()); // Install the min serial handler
@@ -102,6 +101,10 @@ void watchdogSetup() {
#if ENABLED(USE_WATCHDOG) #if ENABLED(USE_WATCHDOG)
#ifndef WATCHDOG_PIO_RESET
#define WATCHDOG_PIO_RESET
#endif
// 4 seconds timeout // 4 seconds timeout
uint32_t timeout = TERN(WATCHDOG_DURATION_8S, 8000, 4000); uint32_t timeout = TERN(WATCHDOG_DURATION_8S, 8000, 4000);
@@ -115,15 +118,16 @@ void watchdogSetup() {
timeout = 0xFFF; timeout = 0xFFF;
// We want to enable the watchdog with the specified timeout // We want to enable the watchdog with the specified timeout
uint32_t value = uint32_t value = (0
WDT_MR_WDV(timeout) | // With the specified timeout | WDT_MR_WDV(timeout) // With the specified timeout
WDT_MR_WDD(timeout) | // and no invalid write window | WDT_MR_WDD(timeout) // and no invalid write window
#if !(SAMV70 || SAMV71 || SAME70 || SAMS70) #if NONE(WATCHDOG_PIO_RESET, SAMV70, SAMV71, SAME70, SAMS70)
WDT_MR_WDRPROC | // WDT fault resets processor only - We want | WDT_MR_WDRPROC // WDT fault resets processor only with this flag.
// to keep PIO controller state // Omit to also reset the PIO controller.
#endif #endif
WDT_MR_WDDBGHLT | // WDT stops in debug state. | WDT_MR_WDDBGHLT // WDT stops in debug state.
WDT_MR_WDIDLEHLT; // WDT stops in idle state. | WDT_MR_WDIDLEHLT // WDT stops in idle state.
);
#if ENABLED(WATCHDOG_RESET_MANUAL) #if ENABLED(WATCHDOG_RESET_MANUAL)
// We enable the watchdog timer, but only for the interrupt. // We enable the watchdog timer, but only for the interrupt.
+5 -63
View File
@@ -35,67 +35,9 @@
#include <stdint.h> #include <stdint.h>
#include "../../core/serial_hook.h" //
// Serial Ports
// ------------------------ //
// Serial ports
// ------------------------
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
typedef ForwardSerial1Class< decltype(Serial1) > DefaultSerial2;
typedef ForwardSerial1Class< decltype(Serial2) > DefaultSerial3;
typedef ForwardSerial1Class< decltype(Serial3) > DefaultSerial4;
extern DefaultSerial1 MSerial0;
extern DefaultSerial2 MSerial1;
extern DefaultSerial3 MSerial2;
extern DefaultSerial4 MSerial3;
#define _MSERIAL(X) MSerial##X
#define MSERIAL(X) _MSERIAL(X)
#if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL1 customizedSerial1
#elif WITHIN(SERIAL_PORT, 0, 3)
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#error "The required SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL2 customizedSerial2
#elif WITHIN(SERIAL_PORT_2, 0, 3)
#define MYSERIAL2 MSERIAL(SERIAL_PORT_2)
#else
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
#endif
#endif
#ifdef SERIAL_PORT_3
#if SERIAL_PORT_3 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL3 customizedSerial3
#elif WITHIN(SERIAL_PORT_3, 0, 3)
#define MYSERIAL3 MSERIAL(SERIAL_PORT_3)
#else
#error "SERIAL_PORT_3 must be from 0 to 3, or -1 for USB Serial."
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if WITHIN(MMU2_SERIAL_PORT, 0, 3)
#define MMU2_SERIAL MSERIAL(MMU2_SERIAL_PORT)
#else
#error "MMU2_SERIAL_PORT must be from 0 to 3."
#endif
#endif
#ifdef LCD_SERIAL_PORT
#if WITHIN(LCD_SERIAL_PORT, 0, 3)
#define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT)
#else
#error "LCD_SERIAL_PORT must be from 0 to 3."
#endif
#endif
#include "MarlinSerial.h" #include "MarlinSerial.h"
#include "MarlinSerialUSB.h" #include "MarlinSerialUSB.h"
@@ -127,7 +69,7 @@ typedef Servo hal_servo_t;
#define HAL_ADC_RESOLUTION 10 #define HAL_ADC_RESOLUTION 10
#ifndef analogInputToDigitalPin #ifndef analogInputToDigitalPin
#define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1) #define analogInputToDigitalPin(p) pin_t((p < 12U) ? (p) + 54U : -1)
#endif #endif
// //
@@ -190,7 +132,7 @@ public:
static void delay_ms(const int ms) { delay(ms); } static void delay_ms(const int ms) { delay(ms); }
// Tasks, called from idle() // Tasks, called from marlin.idle()
static void idletask(); static void idletask();
// Reset // Reset
+11 -12
View File
@@ -42,7 +42,7 @@
// Public functions // Public functions
// ------------------------ // ------------------------
#if ANY(DUE_SOFTWARE_SPI, FORCE_SOFT_SPI) #if ANY(SOFTWARE_SPI, FORCE_SOFT_SPI)
// ------------------------ // ------------------------
// Software SPI // Software SPI
@@ -208,8 +208,8 @@
A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */ A("str %[sck_mask],[%[sck_port],#0x4]") /* CODR */
A("bfi %[bin],%[work],#0,#1") /* Store read bit as the bit 0 */ A("bfi %[bin],%[work],#0,#1") /* Store read bit as the bit 0 */
: [bin]"+r"(bin), : [bin]"+r"( bin ),
[work]"+r"(work) [work]"+r"( work )
: [bitband_miso_port]"r"( BITBAND_MISO_PORT ), : [bitband_miso_port]"r"( BITBAND_MISO_PORT ),
[sck_mask]"r"( SCK_MASK ), [sck_mask]"r"( SCK_MASK ),
[sck_port]"r"( SCK_PORT_PLUS30 ) [sck_port]"r"( SCK_PORT_PLUS30 )
@@ -350,7 +350,7 @@
static void spiRxBlock0(uint8_t *ptr, uint32_t todo) { static void spiRxBlock0(uint8_t *ptr, uint32_t todo) {
uint32_t bin = 0; uint32_t bin = 0;
uint32_t work = 0; uint32_t work = 0;
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */ uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS(((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */ uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN); uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
@@ -412,10 +412,10 @@
A("strb.w %[bin], [%[ptr]], #1") /* Store read value into buffer, increment buffer pointer */ A("strb.w %[bin], [%[ptr]], #1") /* Store read value into buffer, increment buffer pointer */
A("bne.n loop%=") /* Repeat until done */ A("bne.n loop%=") /* Repeat until done */
: [ptr]"+r"(ptr), : [ptr]"+r"( ptr ),
[todo]"+r"(todo), [todo]"+r"( todo ),
[bin]"+r"(bin), [bin]"+r"( bin ),
[work]"+r"(work) [work]"+r"( work )
: [bitband_miso_port]"r"( BITBAND_MISO_PORT ), : [bitband_miso_port]"r"( BITBAND_MISO_PORT ),
[sck_mask]"r"( SCK_MASK ), [sck_mask]"r"( SCK_MASK ),
[sck_port]"r"( SCK_PORT_PLUS30 ) [sck_port]"r"( SCK_PORT_PLUS30 )
@@ -600,9 +600,8 @@
OUT_WRITE(SPI_EEPROM1_CS_PIN, HIGH); OUT_WRITE(SPI_EEPROM1_CS_PIN, HIGH);
OUT_WRITE(SPI_EEPROM2_CS_PIN, HIGH); OUT_WRITE(SPI_EEPROM2_CS_PIN, HIGH);
OUT_WRITE(SPI_FLASH_CS_PIN, HIGH); OUT_WRITE(SPI_FLASH_CS_PIN, HIGH);
WRITE(SD_SS_PIN, HIGH); OUT_WRITE(SD_SS_PIN, HIGH);
WRITE(SD_SS_PIN, LOW);
OUT_WRITE(SDSS, LOW);
PIO_Configure( PIO_Configure(
g_APinDescription[SPI_PIN].pPort, g_APinDescription[SPI_PIN].pPort,
@@ -767,7 +766,7 @@
// Disable PIO on A26 and A27 // Disable PIO on A26 and A27
REG_PIOA_PDR = 0x0C000000; REG_PIOA_PDR = 0x0C000000;
OUT_WRITE(SDSS, HIGH); OUT_WRITE(SD_SS_PIN, HIGH);
// Reset SPI0 (from sam lib) // Reset SPI0 (from sam lib)
SPI0->SPI_CR = SPI_CR_SPIDIS; SPI0->SPI_CR = SPI_CR_SPIDIS;
-2
View File
@@ -31,7 +31,6 @@
#include "MarlinSerial.h" #include "MarlinSerial.h"
#include "InterruptVectors.h" #include "InterruptVectors.h"
#include "../../MarlinCore.h"
template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_r MarlinSerial<Cfg>::rx_buffer = { 0, 0, { 0 } }; template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_r MarlinSerial<Cfg>::rx_buffer = { 0, 0, { 0 } };
template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_t MarlinSerial<Cfg>::tx_buffer = { 0 }; template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_t MarlinSerial<Cfg>::tx_buffer = { 0 };
@@ -474,7 +473,6 @@ void MarlinSerial<Cfg>::flushTX() {
} }
} }
// If not using the USB port as serial port // If not using the USB port as serial port
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0 #if defined(SERIAL_PORT) && SERIAL_PORT >= 0
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >; template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
+15
View File
@@ -33,6 +33,21 @@
#include "../../core/types.h" #include "../../core/types.h"
#include "../../core/serial_hook.h" #include "../../core/serial_hook.h"
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
typedef ForwardSerial1Class< decltype(Serial1) > DefaultSerial2;
typedef ForwardSerial1Class< decltype(Serial2) > DefaultSerial3;
typedef ForwardSerial1Class< decltype(Serial3) > DefaultSerial4;
extern DefaultSerial1 MSerial0;
extern DefaultSerial2 MSerial1;
extern DefaultSerial3 MSerial2;
extern DefaultSerial4 MSerial3;
#define SERIAL_INDEX_MIN 0
#define SERIAL_INDEX_MAX 3
#define EP_SERIAL_PORT(N) customizedSerial##N
#define USB_SERIAL_PORT(N) customizedSerial##N
#include "../shared/serial_ports.h"
// Define constants and variables for buffering incoming serial data. We're // Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the // using a ring buffer (I think), in which rx_buffer_head is the index of the
// location to which to write the next incoming character and rx_buffer_tail // location to which to write the next incoming character and rx_buffer_tail
+1 -1
View File
@@ -50,7 +50,7 @@
static Flags<_Nbr_16timers> DisablePending; // ISR should disable the timer at the next timer reset static Flags<_Nbr_16timers> DisablePending; // ISR should disable the timer at the next timer reset
// ------------------------ // ------------------------
/// Interrupt handler for the TC0 channel 1. // Interrupt handler for the TC0 channel 1.
// ------------------------ // ------------------------
void Servo_Handler(const timer16_Sequence_t, Tc*, const uint8_t); void Servo_Handler(const timer16_Sequence_t, Tc*, const uint8_t);
@@ -21,7 +21,7 @@
*/ */
#ifdef ARDUINO_ARCH_SAM #ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h" #include "../../../inc/MarlinConfig.h"
#if ENABLED(FLASH_EEPROM_EMULATION) #if ENABLED(FLASH_EEPROM_EMULATION)
@@ -132,7 +132,7 @@ static uint8_t buffer[256] = {0}, // The RAM buffer to accumulate writes
curGroup = 0xFF; // Current FLASH group curGroup = 0xFF; // Current FLASH group
#define DEBUG_OUT ENABLED(EE_EMU_DEBUG) #define DEBUG_OUT ENABLED(EE_EMU_DEBUG)
#include "../../core/debug_out.h" #include "../../../core/debug_out.h"
static void ee_Dump(const int page, const void *data) { static void ee_Dump(const int page, const void *data) {
@@ -291,7 +291,7 @@ static bool ee_PageWrite(uint16_t page, const void *data) {
uint32_t *p1 = (uint32_t*)addrflash; uint32_t *p1 = (uint32_t*)addrflash;
uint32_t *p2 = (uint32_t*)data; uint32_t *p2 = (uint32_t*)data;
int count = 0; int count = 0;
for (i =0; i<PageSize >> 2; i++) { for (i = 0; i < PageSize >> 2; i++) {
if (p1[i] != p2[i]) { if (p1[i] != p2[i]) {
uint32_t delta = p1[i] ^ p2[i]; uint32_t delta = p1[i] ^ p2[i];
while (delta) { while (delta) {
@@ -953,19 +953,19 @@ static void ee_Init() {
/* PersistentStore -----------------------------------------------------------*/ /* PersistentStore -----------------------------------------------------------*/
#include "../shared/eeprom_api.h" #include "../../shared/eeprom_api.h"
#ifndef MARLIN_EEPROM_SIZE #ifndef MARLIN_EEPROM_SIZE
#define MARLIN_EEPROM_SIZE 0x1000 // 4KB #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
#endif #endif
size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; } size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE - eeprom_exclude_size; }
bool PersistentStore::access_start() { ee_Init(); return true; } bool PersistentStore::access_start() { ee_Init(); return true; }
bool PersistentStore::access_finish() { ee_Flush(); return true; } bool PersistentStore::access_finish() { ee_Flush(); return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0; uint16_t written = 0;
while (size--) { while (size--) {
uint8_t * const p = (uint8_t * const)pos; uint8_t * const p = (uint8_t * const)REAL_EEPROM_ADDR(pos);
uint8_t v = *value; uint8_t v = *value;
if (v != ee_Read(uint32_t(p))) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed! if (v != ee_Read(uint32_t(p))) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
ee_Write(uint32_t(p), v); ee_Write(uint32_t(p), v);
@@ -984,7 +984,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) { bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do { do {
uint8_t c = ee_Read(uint32_t(pos)); uint8_t c = ee_Read(uint32_t(REAL_EEPROM_ADDR(pos)));
if (writing) *value = c; if (writing) *value = c;
crc16(crc, &c, 1); crc16(crc, &c, 1);
pos++; pos++;
@@ -21,7 +21,7 @@
*/ */
#ifdef ARDUINO_ARCH_SAM #ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h" #include "../../../inc/MarlinConfig.h"
#if USE_WIRED_EEPROM #if USE_WIRED_EEPROM
@@ -30,20 +30,20 @@
* with simple implementations supplied by Marlin. * with simple implementations supplied by Marlin.
*/ */
#include "../shared/eeprom_if.h" #include "../../shared/eeprom_if.h"
#include "../shared/eeprom_api.h" #include "../../shared/eeprom_api.h"
#ifndef MARLIN_EEPROM_SIZE #ifndef MARLIN_EEPROM_SIZE
#error "MARLIN_EEPROM_SIZE is required for I2C / SPI EEPROM." #error "MARLIN_EEPROM_SIZE is required for I2C / SPI EEPROM."
#endif #endif
size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; } size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE - eeprom_exclude_size; }
bool PersistentStore::access_start() { eeprom_init(); return true; } bool PersistentStore::access_start() { eeprom_init(); return true; }
bool PersistentStore::access_finish() { return true; } bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0; uint16_t written = 0;
while (size--) { while (size--) {
uint8_t * const p = (uint8_t * const)pos; uint8_t * const p = (uint8_t * const)REAL_EEPROM_ADDR(pos);
uint8_t v = *value; uint8_t v = *value;
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed! if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
eeprom_write_byte(p, v); eeprom_write_byte(p, v);
@@ -62,7 +62,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) { bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do { do {
uint8_t c = eeprom_read_byte((uint8_t*)pos); const uint8_t c = eeprom_read_byte((uint8_t*)REAL_EEPROM_ADDR(pos));
if (writing) *value = c; if (writing) *value = c;
crc16(crc, &c, 1); crc16(crc, &c, 1);
pos++; pos++;
+1
View File
@@ -64,6 +64,7 @@ void setup_endstop_interrupts() {
TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN));
TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN));
TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN));
TERN_(USE_CALIBRATION, _ATTACH(CALIBRATION_PIN));
TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN));
TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN));
TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN));
+15 -13
View File
@@ -40,11 +40,12 @@
* Some jitter in the Vref signal is OK so the interrupt priority is left at its default value. * Some jitter in the Vref signal is OK so the interrupt priority is left at its default value.
*/ */
#include "../../../inc/MarlinConfig.h" #include "../../../inc/MarlinConfigPre.h"
#if MB(PRINTRBOARD_G2) #if MB(PRINTRBOARD_G2)
#include "G2_PWM.h" #include "G2_PWM.h"
#include "../../../module/stepper.h"
#if PIN_EXISTS(MOTOR_CURRENT_PWM_X) #if PIN_EXISTS(MOTOR_CURRENT_PWM_X)
#define G2_PWM_X 1 #define G2_PWM_X 1
@@ -56,16 +57,12 @@
#else #else
#define G2_PWM_Y 0 #define G2_PWM_Y 0
#endif #endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z) #if HAS_MOTOR_CURRENT_PWM_Z
#define G2_PWM_Z 1 #define G2_PWM_Z 1
#else #else
#define G2_PWM_Z 0 #define G2_PWM_Z 0
#endif #endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E) #define G2_PWM_E HAS_MOTOR_CURRENT_PWM_E
#define G2_PWM_E 1
#else
#define G2_PWM_E 0
#endif
#define G2_MASK_X(V) (G2_PWM_X * (V)) #define G2_MASK_X(V) (G2_PWM_X * (V))
#define G2_MASK_Y(V) (G2_PWM_Y * (V)) #define G2_MASK_Y(V) (G2_PWM_Y * (V))
#define G2_MASK_Z(V) (G2_PWM_Z * (V)) #define G2_MASK_Z(V) (G2_PWM_Z * (V))
@@ -80,17 +77,22 @@ PWM_map ISR_table[NUM_PWMS] = PWM_MAP_INIT;
void Stepper::digipot_init() { void Stepper::digipot_init() {
#if PIN_EXISTS(MOTOR_CURRENT_PWM_X) #if G2_PWM_X
OUT_WRITE(MOTOR_CURRENT_PWM_X_PIN, 0); // init pins OUT_WRITE(MOTOR_CURRENT_PWM_X_PIN, LOW); // init pins
#endif #endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Y) #if G2_PWM_Y
OUT_WRITE(MOTOR_CURRENT_PWM_Y_PIN, 0); OUT_WRITE(MOTOR_CURRENT_PWM_Y_PIN, LOW);
#endif #endif
#if G2_PWM_Z #if G2_PWM_Z
OUT_WRITE(MOTOR_CURRENT_PWM_Z_PIN, 0); OUT_WRITE(MOTOR_CURRENT_PWM_Z_PIN, LOW);
#endif #endif
#if G2_PWM_E #if G2_PWM_E
OUT_WRITE(MOTOR_CURRENT_PWM_E_PIN, 0); #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
OUT_WRITE(MOTOR_CURRENT_PWM_E_PIN, LOW);
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E0)
OUT_WRITE(MOTOR_CURRENT_PWM_E0_PIN, LOW);
#endif
#endif #endif
#define WPKEY (0x50574D << 8) // “PWM” in ASCII #define WPKEY (0x50574D << 8) // “PWM” in ASCII
+1 -5
View File
@@ -26,10 +26,7 @@
* PR #7500. It is hardwired for the PRINTRBOARD_G2 Motor Current needs. * PR #7500. It is hardwired for the PRINTRBOARD_G2 Motor Current needs.
*/ */
#include "../../../inc/MarlinConfigPre.h" #include <stdint.h>
#include "../../../module/stepper.h"
//C:\Users\bobku\Documents\GitHub\Marlin-Bob-2\Marlin\src\module\stepper.h
//C:\Users\bobku\Documents\GitHub\Marlin-Bob-2\Marlin\src\HAL\HAL_DUE\G2_PWM.h
#define PWM_PERIOD_US 100 // base repetition rate in micro seconds #define PWM_PERIOD_US 100 // base repetition rate in micro seconds
@@ -49,7 +46,6 @@ extern volatile uint32_t *SODR_A, *SODR_B, *CODR_A, *CODR_B;
#define PWM_MAP_INIT_ROW(IO,ZZ) { ZZ == 'A' ? SODR_A : SODR_B, ZZ == 'A' ? CODR_A : CODR_B, 1 << _PIN(IO) } #define PWM_MAP_INIT_ROW(IO,ZZ) { ZZ == 'A' ? SODR_A : SODR_B, ZZ == 'A' ? CODR_A : CODR_B, 1 << _PIN(IO) }
#define PWM_MAP_INIT { PWM_MAP_INIT_ROW(MOTOR_CURRENT_PWM_X_PIN, 'B'), \ #define PWM_MAP_INIT { PWM_MAP_INIT_ROW(MOTOR_CURRENT_PWM_X_PIN, 'B'), \
PWM_MAP_INIT_ROW(MOTOR_CURRENT_PWM_Y_PIN, 'B'), \ PWM_MAP_INIT_ROW(MOTOR_CURRENT_PWM_Y_PIN, 'B'), \
PWM_MAP_INIT_ROW(MOTOR_CURRENT_PWM_Z_PIN, 'B'), \ PWM_MAP_INIT_ROW(MOTOR_CURRENT_PWM_Z_PIN, 'B'), \
-1
View File
@@ -168,7 +168,6 @@ const G2_PinDescription G2_g_APinDescription[] = {
{ PIOB, PIO_PB21, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 52 { PIOB, PIO_PB21, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 52
{ PIOB, PIO_PB14, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 53 { PIOB, PIO_PB14, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 53
// 54 .. 65 - Analog pins // 54 .. 65 - Analog pins
// ---------------------- // ----------------------
{ PIOA, PIO_PA16X1_AD7, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC0, ADC7, NOT_ON_PWM, NOT_ON_TIMER }, // AD0 { PIOA, PIO_PA16X1_AD7, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC0, ADC7, NOT_ON_PWM, NOT_ON_TIMER }, // AD0
@@ -0,0 +1,22 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once
+6 -7
View File
@@ -68,16 +68,15 @@
* Usually the hardware SPI pins are only available to the LCD. This makes the DUE hard SPI used at the same time * Usually the hardware SPI pins are only available to the LCD. This makes the DUE hard SPI used at the same time
* as the TMC2130 soft SPI the most common setup. * as the TMC2130 soft SPI the most common setup.
*/ */
#define _IS_HW_SPI(P) (defined(TMC_SPI_##P) && (TMC_SPI_##P == SD_MOSI_PIN || TMC_SPI_##P == SD_MISO_PIN || TMC_SPI_##P == SD_SCK_PIN))
#if HAS_MEDIA && HAS_DRIVER(TMC2130) #if HAS_MEDIA && HAS_DRIVER(TMC2130)
#if ENABLED(TMC_USE_SW_SPI) #define _IS_HW_SPI(P) (defined(TMC_SPI_##P) && (TMC_SPI_##P == SD_MOSI_PIN || TMC_SPI_##P == SD_MISO_PIN || TMC_SPI_##P == SD_SCK_PIN))
#if DISABLED(DUE_SOFTWARE_SPI) && (_IS_HW_SPI(MOSI) || _IS_HW_SPI(MISO) || _IS_HW_SPI(SCK)) #if DISABLED(SOFTWARE_SPI) && ENABLED(TMC_USE_SW_SPI) && (_IS_HW_SPI(MOSI) || _IS_HW_SPI(MISO) || _IS_HW_SPI(SCK))
#error "DUE hardware SPI is required but is incompatible with TMC2130 software SPI. Either disable TMC_USE_SW_SPI or use separate pins for the two SPIs." #error "DUE hardware SPI is required but is incompatible with TMC2130 software SPI. Either disable TMC_USE_SW_SPI or use separate pins for the two SPIs."
#endif #endif
#elif ENABLED(DUE_SOFTWARE_SPI) #if ENABLED(SOFTWARE_SPI) && DISABLED(TMC_USE_SW_SPI)
#error "DUE software SPI is required but is incompatible with TMC2130 hardware SPI. Enable TMC_USE_SW_SPI to fix." #error "DUE software SPI is required but is incompatible with TMC2130 hardware SPI. Enable TMC_USE_SW_SPI to fix."
#endif #endif
#undef _IS_HW_SPI
#endif #endif
#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
+32 -19
View File
@@ -19,13 +19,26 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
* *
*/ */
#pragma once
/** /**
* Support routines for Due * Pins Debugging for DUE
*/ *
* - NUMBER_PINS_TOTAL
/** * - MULTI_NAME_PAD
* Translation of routines & variables used by pinsDebug.h * - getPinByIndex(index)
* - printPinNameByIndex(index)
* - getPinIsDigitalByIndex(index)
* - digitalPinToAnalogIndex(pin)
* - getValidPinMode(pin)
* - isValidPin(pin)
* - isAnalogPin(pin)
* - digitalRead_mod(pin)
* - pwm_status(pin)
* - printPinPWM(pin)
* - printPinPort(pin)
* - printPinNumber(pin)
* - printPinAnalog(pin)
*/ */
#include "../shared/Marduino.h" #include "../shared/Marduino.h"
@@ -63,20 +76,20 @@
#define NUMBER_PINS_TOTAL PINS_COUNT #define NUMBER_PINS_TOTAL PINS_COUNT
#define digitalRead_mod(p) extDigitalRead(p) // AVR digitalRead disabled PWM before it read the pin #define digitalRead_mod(P) extDigitalRead(P) // AVR digitalRead disabled PWM before it read the pin
#define PRINT_ARRAY_NAME(x) do{ sprintf_P(buffer, PSTR("%-" STRINGIFY(MAX_NAME_LENGTH) "s"), pin_array[x].name); SERIAL_ECHO(buffer); }while(0) #define printPinNameByIndex(x) do{ sprintf_P(buffer, PSTR("%-" STRINGIFY(MAX_NAME_LENGTH) "s"), pin_array[x].name); SERIAL_ECHO(buffer); }while(0)
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%02d"), p); SERIAL_ECHO(buffer); }while(0) #define printPinNumber(P) do{ sprintf_P(buffer, PSTR("%02d"), P); SERIAL_ECHO(buffer); }while(0)
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0) #define printPinAnalog(P) do{ sprintf_P(buffer, PSTR(" (A%2d) "), digitalPinToAnalogIndex(P)); SERIAL_ECHO(buffer); }while(0)
#define GET_ARRAY_PIN(p) pin_array[p].pin #define getPinByIndex(x) pin_array[x].pin
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital #define getPinIsDigitalByIndex(x) pin_array[x].is_digital
#define VALID_PIN(pin) (pin >= 0 && pin < int8_t(NUMBER_PINS_TOTAL)) #define isValidPin(P) (P >= 0 && P < pin_t(NUMBER_PINS_TOTAL))
#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0)) #define digitalPinToAnalogIndex(P) int(P - analogInputToDigitalPin(0))
#define IS_ANALOG(P) WITHIN(P, char(analogInputToDigitalPin(0)), char(analogInputToDigitalPin(NUM_ANALOG_INPUTS - 1))) #define isAnalogPin(P) WITHIN(P, pin_t(analogInputToDigitalPin(0)), pin_t(analogInputToDigitalPin(NUM_ANALOG_INPUTS - 1)))
#define pwm_status(pin) (((g_pinStatus[pin] & 0xF) == PIN_STATUS_PWM) && \ #define pwm_status(P) (((g_pinStatus[P] & 0xF) == PIN_STATUS_PWM) && \
((g_APinDescription[pin].ulPinAttribute & PIN_ATTR_PWM) == PIN_ATTR_PWM)) ((g_APinDescription[P].ulPinAttribute & PIN_ATTR_PWM) == PIN_ATTR_PWM))
#define MULTI_NAME_PAD 14 // space needed to be pretty if not first name assigned to a pin #define MULTI_NAME_PAD 14 // space needed to be pretty if not first name assigned to a pin
bool GET_PINMODE(int8_t pin) { // 1: output, 0: input bool getValidPinMode(const pin_t pin) { // 1: output, 0: input
volatile Pio* port = g_APinDescription[pin].pPort; volatile Pio* port = g_APinDescription[pin].pPort;
uint32_t mask = g_APinDescription[pin].ulPin; uint32_t mask = g_APinDescription[pin].ulPin;
uint8_t pin_status = g_pinStatus[pin] & 0xF; uint8_t pin_status = g_pinStatus[pin] & 0xF;
@@ -85,14 +98,14 @@ bool GET_PINMODE(int8_t pin) { // 1: output, 0: input
|| pwm_status(pin)); || pwm_status(pin));
} }
void pwm_details(int32_t pin) { void printPinPWM(const int32_t pin) {
if (pwm_status(pin)) { if (pwm_status(pin)) {
uint32_t chan = g_APinDescription[pin].ulPWMChannel; uint32_t chan = g_APinDescription[pin].ulPWMChannel;
SERIAL_ECHOPGM("PWM = ", PWM_INTERFACE->PWM_CH_NUM[chan].PWM_CDTY); SERIAL_ECHOPGM("PWM = ", PWM_INTERFACE->PWM_CH_NUM[chan].PWM_CDTY);
} }
} }
void print_port(const pin_t) {} void printPinPort(const pin_t) {}
/** /**
* DUE Board pin | PORT | Label * DUE Board pin | PORT | Label
+32 -35
View File
@@ -24,41 +24,38 @@
/** /**
* Define SPI Pins: SCK, MISO, MOSI, SS * Define SPI Pins: SCK, MISO, MOSI, SS
* *
* Available chip select pins for HW SPI are 4 10 52 77 * Available chip select pins for HW SPI are 4 10 52 77 87
*/ */
#if SDSS == 4 || SDSS == 10 || SDSS == 52 || SDSS == 77 || SDSS == 87 #if SD_SS_PIN == 4 || SD_SS_PIN == 10 || SD_SS_PIN == 52 || SD_SS_PIN == 77 || SD_SS_PIN == 87
#if SDSS == 4 #define SD_SCK_PIN 76
#define SPI_PIN 87 #define SD_MISO_PIN 74
#define SPI_CHAN 1 #define SD_MOSI_PIN 75
#elif SDSS == 10
#define SPI_PIN 77
#define SPI_CHAN 0
#elif SDSS == 52
#define SPI_PIN 86
#define SPI_CHAN 2
#elif SDSS == 77
#define SPI_PIN 77
#define SPI_CHAN 0
#else
#define SPI_PIN 87
#define SPI_CHAN 1
#endif
#define SD_SCK_PIN 76
#define SD_MISO_PIN 74
#define SD_MOSI_PIN 75
#else
// defaults
#define DUE_SOFTWARE_SPI
#ifndef SD_SCK_PIN
#define SD_SCK_PIN 52
#endif
#ifndef SD_MISO_PIN
#define SD_MISO_PIN 50
#endif
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN 51
#endif
#endif #endif
/* A.28, A.29, B.21, C.26, C.29 */ #if SD_SS_PIN == 4
#define SD_SS_PIN SDSS #define SPI_PIN 87
#define SPI_CHAN 1
#elif SD_SS_PIN == 10
#define SPI_PIN 77
#define SPI_CHAN 0
#elif SD_SS_PIN == 52
#define SPI_PIN 86
#define SPI_CHAN 2
#elif SD_SS_PIN == 77
#define SPI_PIN 77
#define SPI_CHAN 0
#elif SD_SS_PIN == 87
#define SPI_PIN 87
#define SPI_CHAN 1
#else
#define SOFTWARE_SPI
#ifndef SD_SCK_PIN
#define SD_SCK_PIN 52
#endif
#ifndef SD_MISO_PIN
#define SD_MISO_PIN 50
#endif
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN 51
#endif
#endif
+9 -9
View File
@@ -34,7 +34,7 @@
#define FORCE_INLINE __attribute__((always_inline)) inline #define FORCE_INLINE __attribute__((always_inline)) inline
typedef uint32_t hal_timer_t; typedef uint32_t hal_timer_t;
#define HAL_TIMER_TYPE_MAX 0xFFFFFFFF #define HAL_TIMER_TYPE_MAX 0xFFFFFFFFUL
#define HAL_TIMER_PRESCALER 2 #define HAL_TIMER_PRESCALER 2
#define HAL_TIMER_RATE ((F_CPU) / (HAL_TIMER_PRESCALER)) // frequency of timers peripherals #define HAL_TIMER_RATE ((F_CPU) / (HAL_TIMER_PRESCALER)) // frequency of timers peripherals
@@ -52,19 +52,19 @@ typedef uint32_t hal_timer_t;
#define MF_TIMER_TONE 6 // index of timer to use for beeper tones #define MF_TIMER_TONE 6 // index of timer to use for beeper tones
#endif #endif
#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency #define TEMP_TIMER_FREQUENCY 1000 // (Hz) Temperature ISR frequency
#define STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE) #define STEPPER_TIMER_RATE HAL_TIMER_RATE // (Hz) Frequency of Stepper Timer ISR (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs #define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000UL) // (MHz) Stepper Timer ticks per µs
#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / STEPPER_TIMER_TICKS_PER_US) #define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / STEPPER_TIMER_TICKS_PER_US)
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer #define PULSE_TIMER_RATE STEPPER_TIMER_RATE // (Hz) Frequency of Pulse Timer
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US #define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(MF_TIMER_STEP) #define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(MF_TIMER_STEP)
#define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(MF_TIMER_STEP) #define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(MF_TIMER_STEP)
#define STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(MF_TIMER_STEP) #define STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(MF_TIMER_STEP)
#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(MF_TIMER_TEMP) #define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(MF_TIMER_TEMP)
#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(MF_TIMER_TEMP) #define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(MF_TIMER_TEMP)
@@ -127,4 +127,4 @@ FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) {
pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_SR; pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_SR;
} }
#define HAL_timer_isr_epilogue(T) NOOP inline void HAL_timer_isr_epilogue(const uint8_t) {}
@@ -66,7 +66,7 @@
#include <U8glib-HAL.h> #include <U8glib-HAL.h>
#if ENABLED(FYSETC_MINI_12864) #if U8G_SPI_USE_MODE_3
#define SPISEND_SW_DUE u8g_spiSend_sw_DUE_mode_3 #define SPISEND_SW_DUE u8g_spiSend_sw_DUE_mode_3
#else #else
#define SPISEND_SW_DUE u8g_spiSend_sw_DUE_mode_0 #define SPISEND_SW_DUE u8g_spiSend_sw_DUE_mode_0
@@ -96,15 +96,15 @@ uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
break; break;
case U8G_COM_MSG_CHIP_SELECT: case U8G_COM_MSG_CHIP_SELECT:
#if ENABLED(FYSETC_MINI_12864) // LCD SPI is running mode 3 while SD card is running mode 0 #if U8G_SPI_USE_MODE_3 // LCD SPI is running mode 3 while SD card is running mode 0
if (arg_val) { // SCK idle state needs to be set to the proper idle state before if (arg_val) { // SCK idle state needs to be set to the proper idle state before
// the next chip select goes active // the next chip select goes active
u8g_SetPILevel_DUE(u8g, U8G_PI_SCK, 1); //set SCK to mode 3 idle state before CS goes active u8g_SetPILevel_DUE(u8g, U8G_PI_SCK, 1); // Set SCK to mode 3 idle state before CS goes active
u8g_SetPILevel_DUE(u8g, U8G_PI_CS, LOW); u8g_SetPILevel_DUE(u8g, U8G_PI_CS, LOW);
} }
else { else {
u8g_SetPILevel_DUE(u8g, U8G_PI_CS, HIGH); u8g_SetPILevel_DUE(u8g, U8G_PI_CS, HIGH);
u8g_SetPILevel_DUE(u8g, U8G_PI_SCK, 0); //set SCK to mode 0 idle state after CS goes inactive u8g_SetPILevel_DUE(u8g, U8G_PI_SCK, 0); // Set SCK to mode 0 idle state after CS goes inactive
} }
#else #else
u8g_SetPILevel_DUE(u8g, U8G_PI_CS, !arg_val); u8g_SetPILevel_DUE(u8g, U8G_PI_CS, !arg_val);
+1 -1
View File
@@ -11,7 +11,7 @@ if pioutil.is_pio_build():
if current_OS == 'Windows': if current_OS == 'Windows':
Import("env") env = pioutil.env
# Use bossac.exe on Windows # Use bossac.exe on Windows
env.Replace( env.Replace(
-11
View File
@@ -142,7 +142,6 @@
*/ */
#define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) #define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack())
/** /**
* \brief Set aligned boundary. * \brief Set aligned boundary.
*/ */
@@ -283,7 +282,6 @@ typedef double F64; //!< 64-bit floating-point number.
typedef uint32_t iram_size_t; typedef uint32_t iram_size_t;
//! @} //! @}
/*! \name Status Types /*! \name Status Types
*/ */
//! @{ //! @{
@@ -291,7 +289,6 @@ typedef bool Status_bool_t; //!< Boolean status.
typedef U8 Status_t; //!< 8-bit-coded status. typedef U8 Status_t; //!< 8-bit-coded status.
//! @} //! @}
/*! \name Aliasing Aggregate Types /*! \name Aliasing Aggregate Types
*/ */
//! @{ //! @{
@@ -462,7 +459,6 @@ typedef struct
#endif #endif
//! @} //! @}
#ifndef __ASSEMBLY__ // not for assembling. #ifndef __ASSEMBLY__ // not for assembling.
//! \name Optimization Control //! \name Optimization Control
@@ -581,7 +577,6 @@ typedef struct
//! @} //! @}
/*! \name Zero-Bit Counting /*! \name Zero-Bit Counting
* *
* Under GCC, __builtin_clz and __builtin_ctz behave like macros when * Under GCC, __builtin_clz and __builtin_ctz behave like macros when
@@ -692,7 +687,6 @@ typedef struct
//! @} //! @}
/*! \name Bit Reversing /*! \name Bit Reversing
*/ */
//! @{ //! @{
@@ -732,7 +726,6 @@ typedef struct
//! @} //! @}
/*! \name Alignment /*! \name Alignment
*/ */
//! @{ //! @{
@@ -798,7 +791,6 @@ typedef struct
*/ */
#define Long_call(addr) ((*(void (*)(void))(addr))()) #define Long_call(addr) ((*(void (*)(void))(addr))())
/*! \name MCU Endianism Handling /*! \name MCU Endianism Handling
* ARM is MCU little endianism. * ARM is MCU little endianism.
*/ */
@@ -868,7 +860,6 @@ typedef struct
#define CPU_TO_BE32(x) swap32(x) #define CPU_TO_BE32(x) swap32(x)
//! @} //! @}
/*! \name Endianism Conversion /*! \name Endianism Conversion
* *
* The same considerations as for clz and ctz apply here but GCC's * The same considerations as for clz and ctz apply here but GCC's
@@ -955,7 +946,6 @@ typedef struct
//! @} //! @}
/*! \name Target Abstraction /*! \name Target Abstraction
*/ */
//! @{ //! @{
@@ -997,7 +987,6 @@ typedef U8 Byte; //!< 8-bit unsigned integer.
#endif // #ifndef __ASSEMBLY__ #endif // #ifndef __ASSEMBLY__
#ifdef __ICCARM__ #ifdef __ICCARM__
#define SHORTENUM __packed #define SHORTENUM __packed
#elif defined(__GNUC__) #elif defined(__GNUC__)
-2
View File
@@ -81,7 +81,6 @@
#define LUN_0_NAME "\"SD/MMC Card\"" #define LUN_0_NAME "\"SD/MMC Card\""
//! @} //! @}
/*! \name Actions Associated with Memory Accesses /*! \name Actions Associated with Memory Accesses
* *
* Write here the action to associate with each memory access. * Write here the action to associate with each memory access.
@@ -112,5 +111,4 @@
#define GLOBAL_WR_PROTECT false //!< Management of a global write protection. #define GLOBAL_WR_PROTECT false //!< Management of a global write protection.
//! @} //! @}
#endif // _CONF_ACCESS_H_ #endif // _CONF_ACCESS_H_
-1
View File
@@ -96,5 +96,4 @@
// - UPLL frequency: 480MHz // - UPLL frequency: 480MHz
// - USB clock: 480 / 1 = 480MHz // - USB clock: 480 / 1 = 480MHz
#endif /* CONF_CLOCK_H_INCLUDED */ #endif /* CONF_CLOCK_H_INCLUDED */
-4
View File
@@ -88,7 +88,6 @@
#endif #endif
//@} //@}
/** /**
* USB Device Callbacks definitions (Optional) * USB Device Callbacks definitions (Optional)
* @{ * @{
@@ -150,7 +149,6 @@
//@} //@}
/** /**
* USB Interface Configuration * USB Interface Configuration
* @{ * @{
@@ -210,7 +208,6 @@
//@} //@}
//@} //@}
/** /**
* Configuration of MSC interface * Configuration of MSC interface
* @{ * @{
@@ -245,7 +242,6 @@
//@} //@}
/** /**
* Description of Composite Device * Description of Composite Device
* @{ * @{
+2 -30
View File
@@ -63,12 +63,11 @@
#include "compiler.h" #include "compiler.h"
#include "preprocessor.h" #include "preprocessor.h"
#ifdef FREERTOS_USED #ifdef FREERTOS_USED
#include "FreeRTOS.h" #include <FreeRTOS.h>
#include "semphr.h" #include <semphr.h>
#endif #endif
#include "ctrl_access.h" #include "ctrl_access.h"
//_____ D E F I N I T I O N S ______________________________________________ //_____ D E F I N I T I O N S ______________________________________________
#ifdef FREERTOS_USED #ifdef FREERTOS_USED
@@ -112,7 +111,6 @@ static xSemaphoreHandle ctrl_access_semphr = NULL;
#endif // FREERTOS_USED #endif // FREERTOS_USED
#if MAX_LUN #if MAX_LUN
/*! \brief Initializes an entry of the LUN descriptor table. /*! \brief Initializes an entry of the LUN descriptor table.
@@ -242,17 +240,14 @@ static const struct
#endif #endif
#if GLOBAL_WR_PROTECT == true #if GLOBAL_WR_PROTECT == true
bool g_wr_protect; bool g_wr_protect;
#endif #endif
/*! \name Control Interface /*! \name Control Interface
*/ */
//! @{ //! @{
#ifdef FREERTOS_USED #ifdef FREERTOS_USED
bool ctrl_access_init(void) bool ctrl_access_init(void)
@@ -270,7 +265,6 @@ bool ctrl_access_init(void)
return true; return true;
} }
/*! \brief Locks accesses to LUNs. /*! \brief Locks accesses to LUNs.
* *
* \return \c true if the access was successfully locked, else \c false. * \return \c true if the access was successfully locked, else \c false.
@@ -288,7 +282,6 @@ static bool ctrl_access_lock(void)
#endif // FREERTOS_USED #endif // FREERTOS_USED
U8 get_nb_lun(void) U8 get_nb_lun(void)
{ {
#if MEM_USB == ENABLE #if MEM_USB == ENABLE
@@ -309,13 +302,11 @@ U8 get_nb_lun(void)
#endif #endif
} }
U8 get_cur_lun(void) U8 get_cur_lun(void)
{ {
return LUN_ID_0; return LUN_ID_0;
} }
Ctrl_status mem_test_unit_ready(U8 lun) Ctrl_status mem_test_unit_ready(U8 lun)
{ {
Ctrl_status status; Ctrl_status status;
@@ -337,7 +328,6 @@ Ctrl_status mem_test_unit_ready(U8 lun)
return status; return status;
} }
Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector) Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector)
{ {
Ctrl_status status; Ctrl_status status;
@@ -359,7 +349,6 @@ Ctrl_status mem_read_capacity(U8 lun, U32 *u32_nb_sector)
return status; return status;
} }
U8 mem_sector_size(U8 lun) U8 mem_sector_size(U8 lun)
{ {
U8 sector_size; U8 sector_size;
@@ -381,7 +370,6 @@ U8 mem_sector_size(U8 lun)
return sector_size; return sector_size;
} }
bool mem_unload(U8 lun, bool unload) bool mem_unload(U8 lun, bool unload)
{ {
bool unloaded; bool unloaded;
@@ -433,7 +421,6 @@ bool mem_wr_protect(U8 lun)
return wr_protect; return wr_protect;
} }
bool mem_removal(U8 lun) bool mem_removal(U8 lun)
{ {
bool removal; bool removal;
@@ -458,7 +445,6 @@ bool mem_removal(U8 lun)
return removal; return removal;
} }
const char *mem_name(U8 lun) const char *mem_name(U8 lun)
{ {
#if MAX_LUN==0 #if MAX_LUN==0
@@ -475,17 +461,14 @@ const char *mem_name(U8 lun)
#endif #endif
} }
//! @} //! @}
#if ACCESS_USB == true #if ACCESS_USB == true
/*! \name MEM <-> USB Interface /*! \name MEM <-> USB Interface
*/ */
//! @{ //! @{
Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector) Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector)
{ {
Ctrl_status status; Ctrl_status status;
@@ -505,7 +488,6 @@ Ctrl_status memory_2_usb(U8 lun, U32 addr, U16 nb_sector)
return status; return status;
} }
Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector) Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector)
{ {
Ctrl_status status; Ctrl_status status;
@@ -525,19 +507,16 @@ Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector)
return status; return status;
} }
//! @} //! @}
#endif // ACCESS_USB == true #endif // ACCESS_USB == true
#if ACCESS_MEM_TO_RAM == true #if ACCESS_MEM_TO_RAM == true
/*! \name MEM <-> RAM Interface /*! \name MEM <-> RAM Interface
*/ */
//! @{ //! @{
Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram) Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram)
{ {
Ctrl_status status; Ctrl_status status;
@@ -564,7 +543,6 @@ Ctrl_status memory_2_ram(U8 lun, U32 addr, void *ram)
return status; return status;
} }
Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram) Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram)
{ {
Ctrl_status status; Ctrl_status status;
@@ -591,19 +569,16 @@ Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram)
return status; return status;
} }
//! @} //! @}
#endif // ACCESS_MEM_TO_RAM == true #endif // ACCESS_MEM_TO_RAM == true
#if ACCESS_STREAM == true #if ACCESS_STREAM == true
/*! \name Streaming MEM <-> MEM Interface /*! \name Streaming MEM <-> MEM Interface
*/ */
//! @{ //! @{
#if ACCESS_MEM_TO_MEM == true #if ACCESS_MEM_TO_MEM == true
#include "fat.h" #include "fat.h"
@@ -625,21 +600,18 @@ Ctrl_status stream_mem_to_mem(U8 src_lun, U32 src_addr, U8 dest_lun, U32 dest_ad
#endif // ACCESS_MEM_TO_MEM == true #endif // ACCESS_MEM_TO_MEM == true
Ctrl_status stream_state(U8 id) Ctrl_status stream_state(U8 id)
{ {
UNUSED(id); UNUSED(id);
return CTRL_GOOD; return CTRL_GOOD;
} }
U16 stream_stop(U8 id) U16 stream_stop(U8 id)
{ {
UNUSED(id); UNUSED(id);
return 0; return 0;
} }
//! @} //! @}
#endif // ACCESS_STREAM #endif // ACCESS_STREAM
-9
View File
@@ -56,7 +56,6 @@
* Support and FAQ: visit <a href="https://www.atmel.com/design-support/">Atmel Support</a> * Support and FAQ: visit <a href="https://www.atmel.com/design-support/">Atmel Support</a>
*/ */
#ifndef _CTRL_ACCESS_H_ #ifndef _CTRL_ACCESS_H_
#define _CTRL_ACCESS_H_ #define _CTRL_ACCESS_H_
@@ -89,7 +88,6 @@ typedef enum
CTRL_BUSY = FAIL + 2 //!< Memory not initialized or changed. CTRL_BUSY = FAIL + 2 //!< Memory not initialized or changed.
} Ctrl_status; } Ctrl_status;
// FYI: Each Logical Unit Number (LUN) corresponds to a memory. // FYI: Each Logical Unit Number (LUN) corresponds to a memory.
// Check LUN defines. // Check LUN defines.
@@ -136,7 +134,6 @@ typedef enum
#define LUN_ID_USB (MAX_LUN) //!< First dynamic LUN (USB host mass storage). #define LUN_ID_USB (MAX_LUN) //!< First dynamic LUN (USB host mass storage).
//! @} //! @}
// Include LUN header files. // Include LUN header files.
#if LUN_0 == ENABLE #if LUN_0 == ENABLE
#include LUN_0_INCLUDE #include LUN_0_INCLUDE
@@ -166,13 +163,11 @@ typedef enum
#include LUN_USB_INCLUDE #include LUN_USB_INCLUDE
#endif #endif
// Check the configuration of write protection in conf_access.h. // Check the configuration of write protection in conf_access.h.
#ifndef GLOBAL_WR_PROTECT #ifndef GLOBAL_WR_PROTECT
#error GLOBAL_WR_PROTECT must be defined as true or false in conf_access.h #error GLOBAL_WR_PROTECT must be defined as true or false in conf_access.h
#endif #endif
#if GLOBAL_WR_PROTECT == true #if GLOBAL_WR_PROTECT == true
//! Write protect. //! Write protect.
@@ -180,7 +175,6 @@ extern bool g_wr_protect;
#endif #endif
/*! \name Control Interface /*! \name Control Interface
*/ */
//! @{ //! @{
@@ -279,7 +273,6 @@ extern const char *mem_name(U8 lun);
//! @} //! @}
#if ACCESS_USB == true #if ACCESS_USB == true
/*! \name MEM <-> USB Interface /*! \name MEM <-> USB Interface
@@ -310,7 +303,6 @@ extern Ctrl_status usb_2_memory(U8 lun, U32 addr, U16 nb_sector);
#endif // ACCESS_USB == true #endif // ACCESS_USB == true
#if ACCESS_MEM_TO_RAM == true #if ACCESS_MEM_TO_RAM == true
/*! \name MEM <-> RAM Interface /*! \name MEM <-> RAM Interface
@@ -341,7 +333,6 @@ extern Ctrl_status ram_2_memory(U8 lun, U32 addr, const void *ram);
#endif // ACCESS_MEM_TO_RAM == true #endif // ACCESS_MEM_TO_RAM == true
#if ACCESS_STREAM == true #if ACCESS_STREAM == true
/*! \name Streaming MEM <-> MEM Interface /*! \name Streaming MEM <-> MEM Interface
-1
View File
@@ -57,7 +57,6 @@
#include "preprocessor.h" #include "preprocessor.h"
//! Maximal number of repetitions supported by MREPEAT. //! Maximal number of repetitions supported by MREPEAT.
#define MREPEAT_LIMIT 256 #define MREPEAT_LIMIT 256
-2
View File
@@ -128,7 +128,6 @@ static inline void osc_enable(uint32_t ul_id) {
pmc_switch_sclk_to_32kxtal(PMC_OSC_BYPASS); pmc_switch_sclk_to_32kxtal(PMC_OSC_BYPASS);
break; break;
case OSC_MAINCK_4M_RC: case OSC_MAINCK_4M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz);
break; break;
@@ -141,7 +140,6 @@ static inline void osc_enable(uint32_t ul_id) {
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz);
break; break;
case OSC_MAINCK_XTAL: case OSC_MAINCK_XTAL:
pmc_switch_mainck_to_xtal(PMC_OSC_XTAL/*, pmc_switch_mainck_to_xtal(PMC_OSC_XTAL/*,
pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US, pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US,
-1
View File
@@ -51,5 +51,4 @@
#include "stringz.h" #include "stringz.h"
#include "mrepeat.h" #include "mrepeat.h"
#endif // _PREPROCESSOR_H_ #endif // _PREPROCESSOR_H_
-1
View File
@@ -86,7 +86,6 @@ enum scsi_sbc_mode {
SCSI_MS_MODE_CACHING = 0x08, //!< Caching mode page SCSI_MS_MODE_CACHING = 0x08, //!< Caching mode page
}; };
//! \name SBC-2 Device-Specific Parameter //! \name SBC-2 Device-Specific Parameter
//@{ //@{
#define SCSI_MS_SBC_WP 0x80 //!< Write Protected #define SCSI_MS_SBC_WP 0x80 //!< Write Protected
+23 -24
View File
@@ -18,30 +18,29 @@ extern "C" {
void sd_mmc_spi_mem_init() { void sd_mmc_spi_mem_init() {
} }
Ctrl_status sd_mmc_spi_test_unit_ready() { inline bool media_ready() {
#ifdef DISABLE_DUE_SD_MMC return card.isMounted() && card.isInserted() && !card.isFileOpen() && !card.isStillPrinting();
return CTRL_NO_PRESENT;
#endif
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
return CTRL_GOOD;
}
// NOTE: This function is defined as returning the address of the last block
// in the card, which is cardSize() - 1
Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector) {
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
*nb_sector = card.diskIODriver()->cardSize() - 1;
return CTRL_GOOD;
} }
bool sd_mmc_spi_unload(bool) { return true; } bool sd_mmc_spi_unload(bool) { return true; }
bool sd_mmc_spi_wr_protect() { return false; } bool sd_mmc_spi_wr_protect() { return false; }
bool sd_mmc_spi_removal() { bool sd_mmc_spi_removal() { return !media_ready(); }
return (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted());
Ctrl_status sd_mmc_spi_test_unit_ready() {
#if ENABLED(DISABLE_DUE_SD_MMC)
return CTRL_NO_PRESENT;
#endif
return sd_mmc_spi_removal() ? CTRL_NO_PRESENT : CTRL_GOOD;
}
// NOTE: This function is defined as returning the address of the last block
// in the card, which is cardSize() - 1
Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector) {
if (sd_mmc_spi_removal()) return CTRL_NO_PRESENT;
*nb_sector = card.diskIODriver()->cardSize() - 1;
return CTRL_GOOD;
} }
#if ACCESS_USB == true #if ACCESS_USB == true
@@ -58,11 +57,11 @@ uint8_t sector_buf[SD_MMC_BLOCK_SIZE];
// #define DEBUG_MMC // #define DEBUG_MMC
Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) { Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
#ifdef DISABLE_DUE_SD_MMC #if ENABLED(DISABLE_DUE_SD_MMC)
return CTRL_NO_PRESENT; return CTRL_NO_PRESENT;
#endif #endif
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT; if (sd_mmc_spi_removal()) return CTRL_NO_PRESENT;
#ifdef DEBUG_MMC #ifdef DEBUG_MMC
{ {
@@ -98,11 +97,11 @@ Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
} }
Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) { Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
#ifdef DISABLE_DUE_SD_MMC #if ENABLED(DISABLE_DUE_SD_MMC)
return CTRL_NO_PRESENT; return CTRL_NO_PRESENT;
#endif #endif
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT; if (sd_mmc_spi_removal()) return CTRL_NO_PRESENT;
#ifdef DEBUG_MMC #ifdef DEBUG_MMC
{ {
+8 -13
View File
@@ -45,7 +45,6 @@
* Support and FAQ: visit <a href="https://www.atmel.com/design-support/">Atmel Support</a> * Support and FAQ: visit <a href="https://www.atmel.com/design-support/">Atmel Support</a>
*/ */
#ifndef _SD_MMC_SPI_MEM_H_ #ifndef _SD_MMC_SPI_MEM_H_
#define _SD_MMC_SPI_MEM_H_ #define _SD_MMC_SPI_MEM_H_
@@ -63,22 +62,19 @@
#error sd_mmc_spi_mem.h is #included although SD_MMC_SPI_MEM is disabled #error sd_mmc_spi_mem.h is #included although SD_MMC_SPI_MEM is disabled
#endif #endif
#include "ctrl_access.h" #include "ctrl_access.h"
//_____ D E F I N I T I O N S ______________________________________________ //_____ D E F I N I T I O N S ______________________________________________
#define SD_MMC_REMOVED 0 #define SD_MMC_REMOVED 0
#define SD_MMC_INSERTED 1 #define SD_MMC_INSERTED 1
#define SD_MMC_REMOVING 2 #define SD_MMC_REMOVING 2
//---- CONTROL FUNCTIONS ---- //---- CONTROL FUNCTIONS ----
//! //!
//! @brief This function initializes the hw/sw resources required to drive the SD_MMC_SPI. //! @brief This function initializes the hw/sw resources required to drive the SD_MMC_SPI.
//!/ //!/
extern void sd_mmc_spi_mem_init(void); void sd_mmc_spi_mem_init();
//! //!
//! @brief This function tests the state of the SD_MMC memory and sends it to the Host. //! @brief This function tests the state of the SD_MMC memory and sends it to the Host.
@@ -91,7 +87,7 @@ extern void sd_mmc_spi_mem_init(void);
//! Media not present -> CTRL_NO_PRESENT //! Media not present -> CTRL_NO_PRESENT
//! Media has changed -> CTRL_BUSY //! Media has changed -> CTRL_BUSY
//!/ //!/
extern Ctrl_status sd_mmc_spi_test_unit_ready(void); Ctrl_status sd_mmc_spi_test_unit_ready();
//! //!
//! @brief This function gives the address of the last valid sector. //! @brief This function gives the address of the last valid sector.
@@ -102,7 +98,7 @@ extern Ctrl_status sd_mmc_spi_test_unit_ready(void);
//! Media ready -> CTRL_GOOD //! Media ready -> CTRL_GOOD
//! Media not present -> CTRL_NO_PRESENT //! Media not present -> CTRL_NO_PRESENT
//!/ //!/
extern Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector); Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector);
/*! \brief Unload/Load the SD/MMC card selected /*! \brief Unload/Load the SD/MMC card selected
* *
@@ -113,7 +109,7 @@ extern Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector);
* *
* \return \c true if unload/load done success. * \return \c true if unload/load done success.
*/ */
extern bool sd_mmc_spi_unload(bool unload); bool sd_mmc_spi_unload(bool unload);
//! //!
//! @brief This function returns the write protected status of the memory. //! @brief This function returns the write protected status of the memory.
@@ -124,15 +120,14 @@ extern bool sd_mmc_spi_unload(bool unload);
//! //!
//! @return false -> the memory is not write-protected (always) //! @return false -> the memory is not write-protected (always)
//!/ //!/
extern bool sd_mmc_spi_wr_protect(void); bool sd_mmc_spi_wr_protect();
//! //!
//! @brief This function tells if the memory has been removed or not. //! @brief This function tells if the memory has been removed or not.
//! //!
//! @return false -> The memory isn't removed //! @return false -> The memory isn't removed
//! //!
extern bool sd_mmc_spi_removal(void); bool sd_mmc_spi_removal();
//---- ACCESS DATA FUNCTIONS ---- //---- ACCESS DATA FUNCTIONS ----
@@ -152,7 +147,7 @@ extern bool sd_mmc_spi_removal(void);
//! It is ready -> CTRL_GOOD //! It is ready -> CTRL_GOOD
//! A error occur -> CTRL_FAIL //! A error occur -> CTRL_FAIL
//! //!
extern Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector); Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector);
//! This function initializes the SD/MMC memory for a write operation //! This function initializes the SD/MMC memory for a write operation
//! //!
@@ -166,7 +161,7 @@ extern Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector);
//! It is ready -> CTRL_GOOD //! It is ready -> CTRL_GOOD
//! An error occurs -> CTRL_FAIL //! An error occurs -> CTRL_FAIL
//! //!
extern Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector); Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector);
#endif // #if ACCESS_USB == true #endif // #if ACCESS_USB == true
-1
View File
@@ -212,7 +212,6 @@ extern "C" {
#define CONFIG_USBCLK_DIV #define CONFIG_USBCLK_DIV
#endif #endif
extern void sysclk_enable_usb(void); extern void sysclk_enable_usb(void);
extern void sysclk_disable_usb(void); extern void sysclk_disable_usb(void);
-1
View File
@@ -83,7 +83,6 @@ static usb_iface_desc_t UDC_DESC_STORAGE *udc_ptr_iface;
//! @} //! @}
//! \name Internal structure to store the USB device main strings //! \name Internal structure to store the USB device main strings
//! @{ //! @{
+1 -3
View File
@@ -229,7 +229,7 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* - USB Device Controller (UDC) provides USB chapter 9 compliance * - USB Device Controller (UDC) provides USB chapter 9 compliance
* - USB Device Interface (UDI) provides USB Class compliance * - USB Device Interface (UDI) provides USB Class compliance
* - USB Device Driver (UDD) provides USB Driver for each Atmel MCU * - USB Device Driver (UDD) provides USB Driver for each Atmel MCU
*
* Many USB Device applications can be implemented on Atmel MCU. * Many USB Device applications can be implemented on Atmel MCU.
* Atmel provides many application notes for different applications: * Atmel provides many application notes for different applications:
* - AVR4900, provides general information about Device Stack * - AVR4900, provides general information about Device Stack
@@ -685,6 +685,4 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
} \endcode } \endcode
*/ */
#endif // _UDC_H_ #endif // _UDC_H_
-1
View File
@@ -213,7 +213,6 @@ void udd_send_remotewakeup(void);
*/ */
void udd_set_setup_payload( uint8_t *payload, uint16_t payload_size ); void udd_set_setup_payload( uint8_t *payload, uint16_t payload_size );
/** /**
* \name Endpoint Management * \name Endpoint Management
* *
-10
View File
@@ -457,7 +457,6 @@ void udi_cdc_data_sof_notify(void)
#endif #endif
} }
// ------------------------ // ------------------------
//------- Internal routines to control serial line //------- Internal routines to control serial line
@@ -520,7 +519,6 @@ static void udi_cdc_ctrl_state_change(uint8_t port, bool b_set, le16_t bit_mask)
udi_cdc_ctrl_state_notify(port, ep_comm); udi_cdc_ctrl_state_notify(port, ep_comm);
} }
static void udi_cdc_ctrl_state_notify(uint8_t port, udd_ep_id_t ep) static void udi_cdc_ctrl_state_notify(uint8_t port, udd_ep_id_t ep)
{ {
#if UDI_CDC_PORT_NB == 1 // To optimize code #if UDI_CDC_PORT_NB == 1 // To optimize code
@@ -542,7 +540,6 @@ static void udi_cdc_ctrl_state_notify(uint8_t port, udd_ep_id_t ep)
} }
} }
static void udi_cdc_serial_state_msg_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep) static void udi_cdc_serial_state_msg_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep)
{ {
uint8_t port; uint8_t port;
@@ -578,11 +575,9 @@ static void udi_cdc_serial_state_msg_sent(udd_ep_status_t status, iram_size_t n,
udi_cdc_ctrl_state_notify(port, ep); udi_cdc_ctrl_state_notify(port, ep);
} }
// ------------------------ // ------------------------
//------- Internal routines to process data transfer //------- Internal routines to process data transfer
static bool udi_cdc_rx_start(uint8_t port) static bool udi_cdc_rx_start(uint8_t port)
{ {
irqflags_t flags; irqflags_t flags;
@@ -632,7 +627,6 @@ static bool udi_cdc_rx_start(uint8_t port)
udi_cdc_data_received); udi_cdc_data_received);
} }
static void udi_cdc_data_received(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep) static void udi_cdc_data_received(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep)
{ {
uint8_t buf_sel_trans; uint8_t buf_sel_trans;
@@ -668,7 +662,6 @@ static void udi_cdc_data_received(udd_ep_status_t status, iram_size_t n, udd_ep_
udi_cdc_rx_start(port); udi_cdc_rx_start(port);
} }
static void udi_cdc_data_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep) static void udi_cdc_data_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep)
{ {
uint8_t port; uint8_t port;
@@ -700,7 +693,6 @@ static void udi_cdc_data_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t
udi_cdc_tx_send(port); udi_cdc_tx_send(port);
} }
static void udi_cdc_tx_send(uint8_t port) static void udi_cdc_tx_send(uint8_t port)
{ {
irqflags_t flags; irqflags_t flags;
@@ -780,11 +772,9 @@ static void udi_cdc_tx_send(uint8_t port)
udi_cdc_data_sent); udi_cdc_data_sent);
} }
// ------------------------ // ------------------------
//------- Application interface //------- Application interface
//------- Application interface //------- Application interface
void udi_cdc_ctrl_signal_dcd(bool b_set) void udi_cdc_ctrl_signal_dcd(bool b_set)
-2
View File
@@ -106,7 +106,6 @@ typedef struct {
usb_ep_desc_t ep_notify; usb_ep_desc_t ep_notify;
} udi_cdc_comm_desc_t; } udi_cdc_comm_desc_t;
/** /**
* \brief Data Class interface descriptor * \brief Data Class interface descriptor
* *
@@ -121,7 +120,6 @@ typedef struct {
usb_ep_desc_t ep_out; usb_ep_desc_t ep_out;
} udi_cdc_data_desc_t; } udi_cdc_data_desc_t;
//! CDC communication endpoints size for all speeds //! CDC communication endpoints size for all speeds
#define UDI_CDC_COMM_EP_SIZE 64 #define UDI_CDC_COMM_EP_SIZE 64
//! CDC data endpoints size for FS speed (8B, 16B, 32B, 64B) //! CDC data endpoints size for FS speed (8B, 16B, 32B, 64B)
-1
View File
@@ -109,7 +109,6 @@ UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc = {
.bNumConfigurations = 1 .bNumConfigurations = 1
}; };
#ifdef USB_DEVICE_HS_SUPPORT #ifdef USB_DEVICE_HS_SUPPORT
//! USB Device Qualifier Descriptor for HS //! USB Device Qualifier Descriptor for HS
COMPILER_WORD_ALIGNED COMPILER_WORD_ALIGNED
@@ -93,7 +93,6 @@ UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc = {
.bNumConfigurations = 1 .bNumConfigurations = 1
}; };
#ifdef USB_DEVICE_HS_SUPPORT #ifdef USB_DEVICE_HS_SUPPORT
//! USB Device Qualifier Descriptor for HS //! USB Device Qualifier Descriptor for HS
COMPILER_WORD_ALIGNED COMPILER_WORD_ALIGNED
@@ -147,7 +146,6 @@ UDC_DESC_STORAGE udc_desc_t udc_desc_hs = {
}; };
#endif #endif
/** /**
* \name UDC structures which contains all USB Device definitions * \name UDC structures which contains all USB Device definitions
*/ */
-6
View File
@@ -86,7 +86,6 @@ UDC_DESC_STORAGE udi_api_t udi_api_msc = {
}; };
//@} //@}
/** /**
* \ingroup udi_msc_group * \ingroup udi_msc_group
* \defgroup udi_msc_group_internal Implementation of UDI MSC * \defgroup udi_msc_group_internal Implementation of UDI MSC
@@ -137,7 +136,6 @@ volatile bool udi_msc_b_reset_trans = true;
//@} //@}
/** /**
* \name Internal routines * \name Internal routines
*/ */
@@ -190,7 +188,6 @@ static void udi_msc_cbw_received(udd_ep_status_t status,
static bool udi_msc_cbw_validate(uint32_t alloc_len, uint8_t dir_flag); static bool udi_msc_cbw_validate(uint32_t alloc_len, uint8_t dir_flag);
//@} //@}
/** /**
* \name Routines to process small data packet * \name Routines to process small data packet
*/ */
@@ -217,7 +214,6 @@ static void udi_msc_data_sent(udd_ep_status_t status, iram_size_t nb_sent,
udd_ep_id_t ep); udd_ep_id_t ep);
//@} //@}
/** /**
* \name Routines to process CSW packet * \name Routines to process CSW packet
*/ */
@@ -250,7 +246,6 @@ static void udi_msc_csw_sent(udd_ep_status_t status, iram_size_t nb_sent,
udd_ep_id_t ep); udd_ep_id_t ep);
//@} //@}
/** /**
* \name Routines manage sense data * \name Routines manage sense data
*/ */
@@ -307,7 +302,6 @@ static void udi_msc_sense_fail_cdb_invalid(void);
static void udi_msc_sense_command_invalid(void); static void udi_msc_sense_command_invalid(void);
//@} //@}
/** /**
* \name Routines manage SCSI Commands * \name Routines manage SCSI Commands
*/ */
+3 -48
View File
@@ -293,7 +293,6 @@ do { \
# endif # endif
#endif #endif
/** /**
* \name Power management routine. * \name Power management routine.
*/ */
@@ -310,7 +309,6 @@ static bool udd_b_idle;
//! State of sleep manager //! State of sleep manager
static bool udd_b_sleep_initialized = false; static bool udd_b_sleep_initialized = false;
/*! \brief Authorize or not the CPU powerdown mode /*! \brief Authorize or not the CPU powerdown mode
* *
* \param b_enable true to authorize idle mode * \param b_enable true to authorize idle mode
@@ -338,7 +336,6 @@ static void udd_sleep_mode(bool b_idle)
//@} //@}
/** /**
* \name Control endpoint low level management routine. * \name Control endpoint low level management routine.
* *
@@ -410,7 +407,6 @@ static void udd_ctrl_send_zlp_out(void);
//! \brief Call callback associated to setup request //! \brief Call callback associated to setup request
static void udd_ctrl_endofrequest(void); static void udd_ctrl_endofrequest(void);
/** /**
* \brief Main interrupt routine for control endpoint * \brief Main interrupt routine for control endpoint
* *
@@ -422,7 +418,6 @@ static bool udd_ctrl_interrupt(void);
//@} //@}
/** /**
* \name Management of bulk/interrupt/isochronous endpoints * \name Management of bulk/interrupt/isochronous endpoints
* *
@@ -460,7 +455,6 @@ typedef struct {
uint8_t stall_requested:1; uint8_t stall_requested:1;
} udd_ep_job_t; } udd_ep_job_t;
//! Array to register a job on bulk/interrupt/isochronous endpoint //! Array to register a job on bulk/interrupt/isochronous endpoint
static udd_ep_job_t udd_ep_job[USB_DEVICE_MAX_EP]; static udd_ep_job_t udd_ep_job[USB_DEVICE_MAX_EP];
@@ -522,7 +516,6 @@ static bool udd_ep_interrupt(void);
#endif // (0!=USB_DEVICE_MAX_EP) #endif // (0!=USB_DEVICE_MAX_EP)
//@} //@}
// ------------------------ // ------------------------
//--- INTERNAL ROUTINES TO MANAGED GLOBAL EVENTS //--- INTERNAL ROUTINES TO MANAGED GLOBAL EVENTS
@@ -530,7 +523,7 @@ static bool udd_ep_interrupt(void);
* \internal * \internal
* \brief Function called by UOTGHS interrupt to manage USB Device interrupts * \brief Function called by UOTGHS interrupt to manage USB Device interrupts
* *
* USB Device interrupt events are splited in three parts: * USB Device interrupt events are split in three parts:
* - USB line events (SOF, reset, suspend, resume, wakeup) * - USB line events (SOF, reset, suspend, resume, wakeup)
* - control endpoint events (setup reception, end of data transfer, underflow, overflow, stall) * - control endpoint events (setup reception, end of data transfer, underflow, overflow, stall)
* - bulk/interrupt/isochronous endpoints events (end of data transfer) * - bulk/interrupt/isochronous endpoints events (end of data transfer)
@@ -671,13 +664,11 @@ udd_interrupt_sof_end:
return; return;
} }
bool udd_include_vbus_monitoring(void) bool udd_include_vbus_monitoring(void)
{ {
return true; return true;
} }
void udd_enable(void) void udd_enable(void)
{ {
irqflags_t flags; irqflags_t flags;
@@ -764,7 +755,6 @@ void udd_enable(void)
cpu_irq_restore(flags); cpu_irq_restore(flags);
} }
void udd_disable(void) void udd_disable(void)
{ {
irqflags_t flags; irqflags_t flags;
@@ -866,7 +856,6 @@ void udd_attach(void)
cpu_irq_restore(flags); cpu_irq_restore(flags);
} }
void udd_detach(void) void udd_detach(void)
{ {
otg_unfreeze_clock(); otg_unfreeze_clock();
@@ -883,7 +872,6 @@ void udd_detach(void)
udd_sleep_mode(false); udd_sleep_mode(false);
} }
bool udd_is_high_speed(void) bool udd_is_high_speed(void)
{ {
#ifdef USB_DEVICE_HS_SUPPORT #ifdef USB_DEVICE_HS_SUPPORT
@@ -893,7 +881,6 @@ bool udd_is_high_speed(void)
#endif #endif
} }
void udd_set_address(uint8_t address) void udd_set_address(uint8_t address)
{ {
udd_disable_address(); udd_disable_address();
@@ -901,13 +888,11 @@ void udd_set_address(uint8_t address)
udd_enable_address(); udd_enable_address();
} }
uint8_t udd_getaddress(void) uint8_t udd_getaddress(void)
{ {
return udd_get_configured_address(); return udd_get_configured_address();
} }
uint16_t udd_get_frame_number(void) uint16_t udd_get_frame_number(void)
{ {
return udd_frame_number(); return udd_frame_number();
@@ -930,14 +915,12 @@ void udd_send_remotewakeup(void)
} }
} }
void udd_set_setup_payload(uint8_t *payload, uint16_t payload_size) void udd_set_setup_payload(uint8_t *payload, uint16_t payload_size)
{ {
udd_g_ctrlreq.payload = payload; udd_g_ctrlreq.payload = payload;
udd_g_ctrlreq.payload_size = payload_size; udd_g_ctrlreq.payload_size = payload_size;
} }
#if (0 != USB_DEVICE_MAX_EP) #if (0 != USB_DEVICE_MAX_EP)
bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes, bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes,
uint16_t MaxEndpointSize) uint16_t MaxEndpointSize)
@@ -1061,7 +1044,6 @@ bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes,
return true; return true;
} }
void udd_ep_free(udd_ep_id_t ep) void udd_ep_free(udd_ep_id_t ep)
{ {
uint8_t ep_index = ep & USB_EP_ADDR_MASK; uint8_t ep_index = ep & USB_EP_ADDR_MASK;
@@ -1074,14 +1056,12 @@ void udd_ep_free(udd_ep_id_t ep)
udd_ep_job[ep_index - 1].stall_requested = false; udd_ep_job[ep_index - 1].stall_requested = false;
} }
bool udd_ep_is_halted(udd_ep_id_t ep) bool udd_ep_is_halted(udd_ep_id_t ep)
{ {
uint8_t ep_index = ep & USB_EP_ADDR_MASK; uint8_t ep_index = ep & USB_EP_ADDR_MASK;
return Is_udd_endpoint_stall_requested(ep_index); return Is_udd_endpoint_stall_requested(ep_index);
} }
bool udd_ep_set_halt(udd_ep_id_t ep) bool udd_ep_set_halt(udd_ep_id_t ep)
{ {
uint8_t ep_index = ep & USB_EP_ADDR_MASK; uint8_t ep_index = ep & USB_EP_ADDR_MASK;
@@ -1122,7 +1102,6 @@ bool udd_ep_set_halt(udd_ep_id_t ep)
return true; return true;
} }
bool udd_ep_clear_halt(udd_ep_id_t ep) bool udd_ep_clear_halt(udd_ep_id_t ep)
{ {
uint8_t ep_index = ep & USB_EP_ADDR_MASK; uint8_t ep_index = ep & USB_EP_ADDR_MASK;
@@ -1163,7 +1142,6 @@ bool udd_ep_clear_halt(udd_ep_id_t ep)
return true; return true;
} }
bool udd_ep_run(udd_ep_id_t ep, bool b_shortpacket, bool udd_ep_run(udd_ep_id_t ep, bool b_shortpacket,
uint8_t * buf, iram_size_t buf_size, uint8_t * buf, iram_size_t buf_size,
udd_callback_trans_t callback) udd_callback_trans_t callback)
@@ -1230,7 +1208,6 @@ bool udd_ep_run(udd_ep_id_t ep, bool b_shortpacket,
#endif #endif
} }
void udd_ep_abort(udd_ep_id_t ep) void udd_ep_abort(udd_ep_id_t ep)
{ {
uint8_t ep_index = ep & USB_EP_ADDR_MASK; uint8_t ep_index = ep & USB_EP_ADDR_MASK;
@@ -1259,7 +1236,6 @@ void udd_ep_abort(udd_ep_id_t ep)
udd_ep_abort_job(ep); udd_ep_abort_job(ep);
} }
bool udd_ep_wait_stall_clear(udd_ep_id_t ep, bool udd_ep_wait_stall_clear(udd_ep_id_t ep,
udd_callback_halt_cleared_t callback) udd_callback_halt_cleared_t callback)
{ {
@@ -1294,7 +1270,6 @@ bool udd_ep_wait_stall_clear(udd_ep_id_t ep,
} }
#endif // (0 != USB_DEVICE_MAX_EP) #endif // (0 != USB_DEVICE_MAX_EP)
#ifdef USB_DEVICE_HS_SUPPORT #ifdef USB_DEVICE_HS_SUPPORT
void udd_test_mode_j(void) void udd_test_mode_j(void)
@@ -1303,20 +1278,17 @@ void udd_test_mode_j(void)
udd_enable_hs_test_mode_j(); udd_enable_hs_test_mode_j();
} }
void udd_test_mode_k(void) void udd_test_mode_k(void)
{ {
udd_enable_hs_test_mode(); udd_enable_hs_test_mode();
udd_enable_hs_test_mode_k(); udd_enable_hs_test_mode_k();
} }
void udd_test_mode_se0_nak(void) void udd_test_mode_se0_nak(void)
{ {
udd_enable_hs_test_mode(); udd_enable_hs_test_mode();
} }
void udd_test_mode_packet(void) void udd_test_mode_packet(void)
{ {
uint8_t i; uint8_t i;
@@ -1360,8 +1332,6 @@ void udd_test_mode_packet(void)
} }
#endif // USB_DEVICE_HS_SUPPORT #endif // USB_DEVICE_HS_SUPPORT
// ------------------------ // ------------------------
//--- INTERNAL ROUTINES TO MANAGED THE CONTROL ENDPOINT //--- INTERNAL ROUTINES TO MANAGED THE CONTROL ENDPOINT
@@ -1411,7 +1381,6 @@ static void udd_ctrl_init(void)
udd_ep_control_state = UDD_EPCTRL_SETUP; udd_ep_control_state = UDD_EPCTRL_SETUP;
} }
static void udd_ctrl_setup_received(void) static void udd_ctrl_setup_received(void)
{ {
irqflags_t flags; irqflags_t flags;
@@ -1473,7 +1442,6 @@ static void udd_ctrl_setup_received(void)
} }
} }
static void udd_ctrl_in_sent(void) static void udd_ctrl_in_sent(void)
{ {
static bool b_shortpacket = false; static bool b_shortpacket = false;
@@ -1557,7 +1525,6 @@ static void udd_ctrl_in_sent(void)
cpu_irq_restore(flags); cpu_irq_restore(flags);
} }
static void udd_ctrl_out_received(void) static void udd_ctrl_out_received(void)
{ {
irqflags_t flags; irqflags_t flags;
@@ -1600,7 +1567,7 @@ static void udd_ctrl_out_received(void)
udd_ctrl_payload_buf_cnt))) { udd_ctrl_payload_buf_cnt))) {
// End of reception because it is a short packet // End of reception because it is a short packet
// Before send ZLP, call intermediate callback // Before send ZLP, call intermediate callback
// in case of data receiv generate a stall // in case of data receive generate a stall
udd_g_ctrlreq.payload_size = udd_ctrl_payload_buf_cnt; udd_g_ctrlreq.payload_size = udd_ctrl_payload_buf_cnt;
if (NULL != udd_g_ctrlreq.over_under_run) { if (NULL != udd_g_ctrlreq.over_under_run) {
if (!udd_g_ctrlreq.over_under_run()) { if (!udd_g_ctrlreq.over_under_run()) {
@@ -1648,7 +1615,6 @@ static void udd_ctrl_out_received(void)
cpu_irq_restore(flags); cpu_irq_restore(flags);
} }
static void udd_ctrl_underflow(void) static void udd_ctrl_underflow(void)
{ {
if (Is_udd_out_received(0)) if (Is_udd_out_received(0))
@@ -1665,7 +1631,6 @@ static void udd_ctrl_underflow(void)
} }
} }
static void udd_ctrl_overflow(void) static void udd_ctrl_overflow(void)
{ {
if (Is_udd_in_send(0)) if (Is_udd_in_send(0))
@@ -1681,7 +1646,6 @@ static void udd_ctrl_overflow(void)
} }
} }
static void udd_ctrl_stall_data(void) static void udd_ctrl_stall_data(void)
{ {
// Stall all packets on IN & OUT control endpoint // Stall all packets on IN & OUT control endpoint
@@ -1689,7 +1653,6 @@ static void udd_ctrl_stall_data(void)
udd_enable_stall_handshake(0); udd_enable_stall_handshake(0);
} }
static void udd_ctrl_send_zlp_in(void) static void udd_ctrl_send_zlp_in(void)
{ {
irqflags_t flags; irqflags_t flags;
@@ -1707,7 +1670,6 @@ static void udd_ctrl_send_zlp_in(void)
cpu_irq_restore(flags); cpu_irq_restore(flags);
} }
static void udd_ctrl_send_zlp_out(void) static void udd_ctrl_send_zlp_out(void)
{ {
irqflags_t flags; irqflags_t flags;
@@ -1723,7 +1685,6 @@ static void udd_ctrl_send_zlp_out(void)
cpu_irq_restore(flags); cpu_irq_restore(flags);
} }
static void udd_ctrl_endofrequest(void) static void udd_ctrl_endofrequest(void)
{ {
// If a callback is registered then call it // If a callback is registered then call it
@@ -1732,7 +1693,6 @@ static void udd_ctrl_endofrequest(void)
} }
} }
static bool udd_ctrl_interrupt(void) static bool udd_ctrl_interrupt(void)
{ {
@@ -1783,7 +1743,6 @@ static bool udd_ctrl_interrupt(void)
return false; return false;
} }
// ------------------------ // ------------------------
//--- INTERNAL ROUTINES TO MANAGED THE BULK/INTERRUPT/ISOCHRONOUS ENDPOINTS //--- INTERNAL ROUTINES TO MANAGED THE BULK/INTERRUPT/ISOCHRONOUS ENDPOINTS
@@ -1798,7 +1757,6 @@ static void udd_ep_job_table_reset(void)
} }
} }
static void udd_ep_job_table_kill(void) static void udd_ep_job_table_kill(void)
{ {
uint8_t i; uint8_t i;
@@ -1809,7 +1767,6 @@ static void udd_ep_job_table_kill(void)
} }
} }
static void udd_ep_abort_job(udd_ep_id_t ep) static void udd_ep_abort_job(udd_ep_id_t ep)
{ {
ep &= USB_EP_ADDR_MASK; ep &= USB_EP_ADDR_MASK;
@@ -1818,7 +1775,6 @@ static void udd_ep_abort_job(udd_ep_id_t ep)
udd_ep_finish_job(&udd_ep_job[ep - 1], true, ep); udd_ep_finish_job(&udd_ep_job[ep - 1], true, ep);
} }
static void udd_ep_finish_job(udd_ep_job_t * ptr_job, bool b_abort, uint8_t ep_num) static void udd_ep_finish_job(udd_ep_job_t * ptr_job, bool b_abort, uint8_t ep_num)
{ {
if (ptr_job->busy == false) { if (ptr_job->busy == false) {
@@ -1852,7 +1808,7 @@ static void udd_ep_trans_done(udd_ep_id_t ep)
} }
if (ptr_job->buf_cnt != ptr_job->buf_size) { if (ptr_job->buf_cnt != ptr_job->buf_size) {
// Need to send or receiv other data // Need to send or receive other data
next_trans = ptr_job->buf_size - ptr_job->buf_cnt; next_trans = ptr_job->buf_size - ptr_job->buf_cnt;
if (UDD_ENDPOINT_MAX_TRANS < next_trans) { if (UDD_ENDPOINT_MAX_TRANS < next_trans) {
@@ -1889,7 +1845,6 @@ static void udd_ep_trans_done(udd_ep_id_t ep)
udd_dma_ctrl |= UOTGHS_DEVDMACONTROL_END_BUFFIT | udd_dma_ctrl |= UOTGHS_DEVDMACONTROL_END_BUFFIT |
UOTGHS_DEVDMACONTROL_CHANN_ENB; UOTGHS_DEVDMACONTROL_CHANN_ENB;
// Disable IRQs to have a short sequence // Disable IRQs to have a short sequence
// between read of EOT_STA and DMA enable // between read of EOT_STA and DMA enable
flags = cpu_irq_save(); flags = cpu_irq_save();
@@ -129,7 +129,6 @@ extern "C" {
#define Is_udd_vbus_transition() (Tst_bits(UOTGHS->UOTGHS_SR, UOTGHS_SR_VBUSTI)) #define Is_udd_vbus_transition() (Tst_bits(UOTGHS->UOTGHS_SR, UOTGHS_SR_VBUSTI))
//! @} //! @}
//! @name UOTGHS device attach control //! @name UOTGHS device attach control
//! These macros manage the UOTGHS Device attach. //! These macros manage the UOTGHS Device attach.
//! @{ //! @{
@@ -141,7 +140,6 @@ extern "C" {
#define Is_udd_detached() (Tst_bits(UOTGHS->UOTGHS_DEVCTRL, UOTGHS_DEVCTRL_DETACH)) #define Is_udd_detached() (Tst_bits(UOTGHS->UOTGHS_DEVCTRL, UOTGHS_DEVCTRL_DETACH))
//! @} //! @}
//! @name UOTGHS device bus events control //! @name UOTGHS device bus events control
//! These macros manage the UOTGHS Device bus events. //! These macros manage the UOTGHS Device bus events.
//! @{ //! @{
@@ -246,7 +244,6 @@ extern "C" {
#define udd_get_configured_address() (Rd_bitfield(UOTGHS->UOTGHS_DEVCTRL, UOTGHS_DEVCTRL_UADD_Msk)) #define udd_get_configured_address() (Rd_bitfield(UOTGHS->UOTGHS_DEVCTRL, UOTGHS_DEVCTRL_UADD_Msk))
//! @} //! @}
//! @name UOTGHS Device endpoint drivers //! @name UOTGHS Device endpoint drivers
//! These macros manage the common features of the endpoints. //! These macros manage the common features of the endpoints.
//! @{ //! @{
@@ -330,7 +327,6 @@ extern "C" {
#define udd_data_toggle(ep) (Rd_bitfield(UOTGHS_ARRAY(UOTGHS_DEVEPTISR[0], ep), UOTGHS_DEVEPTISR_DTSEQ_Msk)) #define udd_data_toggle(ep) (Rd_bitfield(UOTGHS_ARRAY(UOTGHS_DEVEPTISR[0], ep), UOTGHS_DEVEPTISR_DTSEQ_Msk))
//! @} //! @}
//! @name UOTGHS Device control endpoint //! @name UOTGHS Device control endpoint
//! These macros control the endpoints. //! These macros control the endpoints.
//! @{ //! @{
@@ -530,7 +526,6 @@ extern "C" {
//! Tests if IN sending interrupt is enabled //! Tests if IN sending interrupt is enabled
#define Is_udd_in_send_interrupt_enabled(ep) (Tst_bits(UOTGHS_ARRAY(UOTGHS_DEVEPTIMR[0], ep), UOTGHS_DEVEPTIMR_TXINE)) #define Is_udd_in_send_interrupt_enabled(ep) (Tst_bits(UOTGHS_ARRAY(UOTGHS_DEVEPTIMR[0], ep), UOTGHS_DEVEPTIMR_TXINE))
//! Get 64-, 32-, 16- or 8-bit access to FIFO data register of selected endpoint. //! Get 64-, 32-, 16- or 8-bit access to FIFO data register of selected endpoint.
//! @param ep Endpoint of which to access FIFO data register //! @param ep Endpoint of which to access FIFO data register
//! @param scale Data scale in bits: 64, 32, 16 or 8 //! @param scale Data scale in bits: 64, 32, 16 or 8
@@ -652,7 +647,6 @@ typedef struct {
//! @} //! @}
//! @} //! @}
/// @cond 0 /// @cond 0
/**INDENT-OFF**/ /**INDENT-OFF**/
#ifdef __cplusplus #ifdef __cplusplus
-2
View File
@@ -53,7 +53,6 @@
extern "C" { extern "C" {
#endif #endif
//! \ingroup usb_group //! \ingroup usb_group
//! \defgroup otg_group UOTGHS OTG Driver //! \defgroup otg_group UOTGHS OTG Driver
//! UOTGHS low-level driver for OTG features //! UOTGHS low-level driver for OTG features
@@ -74,7 +73,6 @@ bool otg_dual_enable(void);
*/ */
void otg_dual_disable(void); void otg_dual_disable(void);
//! @name UOTGHS OTG ID pin management //! @name UOTGHS OTG ID pin management
//! The ID pin come from the USB OTG connector (A and B receptable) and //! The ID pin come from the USB OTG connector (A and B receptable) and
//! allows to select the USB mode host or device. //! allows to select the USB mode host or device.
-4
View File
@@ -374,7 +374,6 @@ typedef struct {
uint8_t bNumDeviceCaps; uint8_t bNumDeviceCaps;
} usb_dev_bos_desc_t; } usb_dev_bos_desc_t;
/** /**
* \brief USB Device Capabilities - USB 2.0 Extension Descriptor structure * \brief USB Device Capabilities - USB 2.0 Extension Descriptor structure
* *
@@ -411,7 +410,6 @@ typedef struct {
uint8_t iFunction; //!< Index of string descriptor uint8_t iFunction; //!< Index of string descriptor
} usb_association_desc_t; } usb_association_desc_t;
/** /**
* \brief Standard USB configuration descriptor structure * \brief Standard USB configuration descriptor structure
*/ */
@@ -426,7 +424,6 @@ typedef struct {
uint8_t bMaxPower; uint8_t bMaxPower;
} usb_conf_desc_t; } usb_conf_desc_t;
#define USB_CONFIG_ATTR_MUST_SET (1 << 7) //!< Must always be set #define USB_CONFIG_ATTR_MUST_SET (1 << 7) //!< Must always be set
#define USB_CONFIG_ATTR_BUS_POWERED (0 << 6) //!< Bus-powered #define USB_CONFIG_ATTR_BUS_POWERED (0 << 6) //!< Bus-powered
#define USB_CONFIG_ATTR_SELF_POWERED (1 << 6) //!< Self-powered #define USB_CONFIG_ATTR_SELF_POWERED (1 << 6) //!< Self-powered
@@ -475,7 +472,6 @@ typedef struct {
uint8_t bInterval; uint8_t bInterval;
} usb_ep_desc_t; } usb_ep_desc_t;
/** /**
* \brief A standard USB string descriptor structure * \brief A standard USB string descriptor structure
*/ */
@@ -168,7 +168,6 @@ COMPILER_PACK_SET(1)
//! \name USB CDC Descriptors //! \name USB CDC Descriptors
//@{ //@{
//! CDC Header Functional Descriptor //! CDC Header Functional Descriptor
typedef struct { typedef struct {
uint8_t bFunctionLength; uint8_t bFunctionLength;
@@ -203,7 +202,6 @@ typedef struct {
uint8_t bSlaveInterface0; uint8_t bSlaveInterface0;
} usb_cdc_union_desc_t; } usb_cdc_union_desc_t;
//! \name USB CDC Call Management Capabilities //! \name USB CDC Call Management Capabilities
//@{ //@{
//! Device handles call management itself //! Device handles call management itself
@@ -278,7 +276,6 @@ typedef struct {
//@} //@}
//@} //@}
//! \name USB CDC notification message //! \name USB CDC notification message
//@{ //@{
@@ -47,7 +47,6 @@
#ifndef _USB_PROTOCOL_MSC_H_ #ifndef _USB_PROTOCOL_MSC_H_
#define _USB_PROTOCOL_MSC_H_ #define _USB_PROTOCOL_MSC_H_
/** /**
* \ingroup usb_protocol_group * \ingroup usb_protocol_group
* \defgroup usb_msc_protocol USB Mass Storage Class (MSC) protocol definitions * \defgroup usb_msc_protocol USB Mass Storage Class (MSC) protocol definitions
@@ -89,7 +88,6 @@
#define MSC_PROTOCOL_BULK 0x50 //!< Bulk-only #define MSC_PROTOCOL_BULK 0x50 //!< Bulk-only
//@} //@}
/** /**
* \brief MSC USB requests (bRequest) * \brief MSC USB requests (bRequest)
*/ */
@@ -98,7 +96,6 @@ enum usb_reqid_msc {
USB_REQ_MSC_GET_MAX_LUN = 0xFE //!< Get Max LUN USB_REQ_MSC_GET_MAX_LUN = 0xFE //!< Get Max LUN
}; };
COMPILER_PACK_SET(1) COMPILER_PACK_SET(1)
/** /**
@@ -122,7 +119,6 @@ struct usb_msc_cbw {
#define USB_CBW_LEN_MASK 0x1F //!< Valid bits in bCBWCBLength #define USB_CBW_LEN_MASK 0x1F //!< Valid bits in bCBWCBLength
//@} //@}
/** /**
* \name A Command Status Wrapper (CSW). * \name A Command Status Wrapper (CSW).
*/ */
+20 -20
View File
@@ -34,13 +34,13 @@
#if ENABLED(WIFISUPPORT) #if ENABLED(WIFISUPPORT)
#include <ESPAsyncWebServer.h> #include <ESPAsyncWebServer.h>
#include "wifi.h" #include "wifi/wifi.h"
#if ENABLED(OTASUPPORT) #if ENABLED(OTASUPPORT)
#include "ota.h" #include "wifi/ota.h"
#endif #endif
#if ENABLED(WEBSUPPORT) #if ENABLED(WEBSUPPORT)
#include "spiffs.h" #include "wifi/spiffs.h"
#include "web.h" #include "wifi/web.h"
#endif #endif
#endif #endif
@@ -175,8 +175,6 @@ uint8_t MarlinHAL::get_reset_source() { return rtc_get_reset_reason(1); }
void MarlinHAL::reboot() { ESP.restart(); } void MarlinHAL::reboot() { ESP.restart(); }
void _delay_ms(const int ms) { delay(ms); }
// return free memory between end of heap (or end bss) and whatever is current // return free memory between end of heap (or end bss) and whatever is current
int MarlinHAL::freeMemory() { return ESP.getFreeHeap(); } int MarlinHAL::freeMemory() { return ESP.getFreeHeap(); }
@@ -209,16 +207,17 @@ int MarlinHAL::freeMemory() { return ESP.getFreeHeap(); }
// ADC // ADC
// ------------------------ // ------------------------
#define ADC1_CHANNEL(pin) ADC1_GPIO ## pin ## _CHANNEL // https://docs.espressif.com/projects/esp-idf/en/release-v4.4/esp32/api-reference/peripherals/adc.html
adc1_channel_t get_channel(int pin) { adc1_channel_t get_channel(int pin) {
switch (pin) { switch (pin) {
case 39: return ADC1_CHANNEL(39); case 39: return ADC1_CHANNEL_3;
case 36: return ADC1_CHANNEL(36); case 36: return ADC1_CHANNEL_0;
case 35: return ADC1_CHANNEL(35); case 35: return ADC1_CHANNEL_7;
case 34: return ADC1_CHANNEL(34); case 34: return ADC1_CHANNEL_6;
case 33: return ADC1_CHANNEL(33); case 33: return ADC1_CHANNEL_5;
case 32: return ADC1_CHANNEL(32); case 32: return ADC1_CHANNEL_4;
case 37: return ADC1_CHANNEL_1;
case 38: return ADC1_CHANNEL_2;
} }
return ADC1_CHANNEL_MAX; return ADC1_CHANNEL_MAX;
} }
@@ -243,12 +242,13 @@ void MarlinHAL::adc_init() {
TERN_(HAS_TEMP_ADC_5, adc1_set_attenuation(get_channel(TEMP_5_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_5, adc1_set_attenuation(get_channel(TEMP_5_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_6, adc2_set_attenuation(get_channel(TEMP_6_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_6, adc2_set_attenuation(get_channel(TEMP_6_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_7, adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_7, adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db));
TERN_(HAS_HEATED_BED, adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_BED, adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_CHAMBER, adc1_set_attenuation(get_channel(TEMP_CHAMBER_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_CHAMBER, adc1_set_attenuation(get_channel(TEMP_CHAMBER_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_PROBE, adc1_set_attenuation(get_channel(TEMP_PROBE_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_PROBE, adc1_set_attenuation(get_channel(TEMP_PROBE_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_COOLER, adc1_set_attenuation(get_channel(TEMP_COOLER_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_COOLER, adc1_set_attenuation(get_channel(TEMP_COOLER_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_BOARD, adc1_set_attenuation(get_channel(TEMP_BOARD_PIN), ADC_ATTEN_11db)); TERN_(HAS_TEMP_ADC_BOARD, adc1_set_attenuation(get_channel(TEMP_BOARD_PIN), ADC_ATTEN_11db));
TERN_(FILAMENT_WIDTH_SENSOR, adc1_set_attenuation(get_channel(FILWIDTH_PIN), ADC_ATTEN_11db)); TERN_(HAS_FILWIDTH_ADC, adc1_set_attenuation(get_channel(FILWIDTH_PIN), ADC_ATTEN_11db));
TERN_(HAS_FILWIDTH2_ADC, adc1_set_attenuation(get_channel(FILWIDTH2_PIN), ADC_ATTEN_11db));
// Note that adc2 is shared with the WiFi module, which has higher priority, so the conversion may fail. // Note that adc2 is shared with the WiFi module, which has higher priority, so the conversion may fail.
// That's why we're not setting it up here. // That's why we're not setting it up here.
+8 -10
View File
@@ -37,11 +37,11 @@
#include "i2s.h" #include "i2s.h"
#if ENABLED(WIFISUPPORT) #if ENABLED(WIFISUPPORT)
#include "WebSocketSerial.h" #include "wifi/WebSocketSerial.h"
#endif #endif
#if ENABLED(ESP3D_WIFISUPPORT) #if ENABLED(ESP3D_WIFISUPPORT)
#include "esp3dlib.h" #include <esp3dlib.h>
#endif #endif
#include "FlushableHardwareSerial.h" #include "FlushableHardwareSerial.h"
@@ -64,10 +64,10 @@
#define CRITICAL_SECTION_END() portEXIT_CRITICAL(&hal.spinlock) #define CRITICAL_SECTION_END() portEXIT_CRITICAL(&hal.spinlock)
#define HAL_CAN_SET_PWM_FREQ // This HAL supports PWM Frequency adjustment #define HAL_CAN_SET_PWM_FREQ // This HAL supports PWM Frequency adjustment
#define PWM_FREQUENCY 1000u // Default PWM frequency when set_pwm_duty() is called without set_pwm_frequency() #define PWM_FREQUENCY 1000U // Default PWM frequency when set_pwm_duty() is called without set_pwm_frequency()
#define PWM_RESOLUTION 10u // Default PWM bit resolution #define PWM_RESOLUTION 10U // Default PWM bit resolution
#define CHANNEL_MAX_NUM 15u // max PWM channel # to allocate (7 to only use low speed, 15 to use low & high) #define CHANNEL_MAX_NUM 15U // max PWM channel # to allocate (7 to only use low speed, 15 to use low & high)
#define MAX_PWM_IOPIN 33u // hardware pwm pins < 34 #define MAX_PWM_IOPIN 33U // hardware pwm pins < 34
#ifndef MAX_EXPANDER_BITS #ifndef MAX_EXPANDER_BITS
#define MAX_EXPANDER_BITS 32 // I2S expander bit width (max 32) #define MAX_EXPANDER_BITS 32 // I2S expander bit width (max 32)
#endif #endif
@@ -165,8 +165,6 @@ int freeMemory();
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
void _delay_ms(const int ms);
// ------------------------ // ------------------------
// MarlinHAL Class // MarlinHAL Class
// ------------------------ // ------------------------
@@ -194,9 +192,9 @@ public:
static void isr_on() { if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock); } static void isr_on() { if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock); }
static void isr_off() { portENTER_CRITICAL(&spinlock); } static void isr_off() { portENTER_CRITICAL(&spinlock); }
static void delay_ms(const int ms) { _delay_ms(ms); } static void delay_ms(const int ms) { delay(ms); }
// Tasks, called from idle() // Tasks, called from marlin.idle()
static void idletask(); static void idletask();
// Reset // Reset
+1 -1
View File
@@ -35,7 +35,7 @@ Servo::Servo() {}
int8_t Servo::attach(const int inPin) { int8_t Servo::attach(const int inPin) {
if (inPin > 0) pin = inPin; if (inPin > 0) pin = inPin;
channel = get_pwm_channel(pin, 50u, 16u); channel = get_pwm_channel(pin, 50U, 16U);
return channel; // -1 if no PWM avail. return channel; // -1 if no PWM avail.
} }

Some files were not shown because too many files have changed in this diff Show More