Compare commits

...

2769 Commits

Author SHA1 Message Date
InsanityAutomation 1549a256d2 Add FatBoy config 2024-01-06 13:35:08 -05:00
InsanityAutomation 832e1ca0e7 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2024-01-01 14:03:46 -05:00
Scott Lahteine 3b6f1bff8b 🧑‍💻 Update pinsformat 2024-01-01 00:57:02 -06:00
Scott Lahteine 1d615717e8 🧑‍💻 Python version of pins formatting script 2024-01-01 00:22:38 -06:00
thinkyhead 99c570212d [cron] Bump distribution date (2024-01-01) 2024-01-01 00:24:20 +00:00
nagubash 13e82fa44a 🔨 Fix formatting issue in Makefile (#26599) 2023-12-31 15:03:04 -06:00
narno2202 95878df30d 🐛 Fix homing with FT_MOTION (#26595) 2023-12-31 15:00:57 -06:00
ellensp 5d1ede08aa CTC_A10S_A13 (#26514) 2023-12-31 03:54:26 -06:00
thinkyhead 2203505182 [cron] Bump distribution date (2023-12-31) 2023-12-31 00:23:28 +00:00
ellensp 06dc7f4f52 🔧 Fix, extend FAN / AUTOFAN confict check (#26591)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-30 05:18:42 -06:00
Scott Lahteine e6f1b074df 🩹 Restore usleep for native / sim 2023-12-30 05:08:32 -06:00
thinkyhead f605c045e3 [cron] Bump distribution date (2023-12-30) 2023-12-30 00:20:29 +00:00
Keith Bennett 2d97f082e5 BigTreeTech Manta M8P V2.0 (STM32H723ZE) (#26578) 2023-12-28 22:50:52 -06:00
narno2202 ba91fa09b7 ️ Optimize FT_MOTION (#26557) 2023-12-28 22:41:34 -06:00
Keith Bennett 1aeee2cd1f 🔧 TriGorilla Pro default to ONBOARD_SDIO (#26586) 2023-12-28 20:10:45 -06:00
thinkyhead 4e23e52a89 [cron] Bump distribution date (2023-12-29) 2023-12-29 00:17:32 +00:00
Keith Bennett 88cf3cb1e0 📌 Specify U8glib-HAL@0.5.4 (#26582) 2023-12-28 18:07:52 -06:00
Keith Bennett 59d26e463a 🔨 Newer Platform & Toolchain for STM32G0 (#26585) 2023-12-28 17:38:19 -06:00
thinkyhead cc641d796d [cron] Bump distribution date (2023-12-28) 2023-12-28 00:21:10 +00:00
Scott Lahteine 9d324f7b1f 🎨 Remove unused usleep 2023-12-27 15:16:58 -06:00
Scott Lahteine 654e7a84ff 🩹 Minor MKS UI fix 2023-12-27 15:16:21 -06:00
Scott Lahteine d903a5ef43 Initial support for HC32 U8G LCD (#26568)
Co-authored-by: Chris <52449218+shadow578@users.noreply.github.com>
2023-12-27 01:27:43 -06:00
Scott Lahteine 15f26b4021 🧑‍💻 AS_CHAR => C (#26569) 2023-12-27 01:25:51 -06:00
Taylor Talkington 10d80eb894 📝 Docs: Binary File Transfer (BFT) Protocol (#26570) 2023-12-27 01:24:16 -06:00
Scott Lahteine 858954baad 🧑‍💻 Update Uncrustify config 2023-12-27 01:17:14 -06:00
thinkyhead 3840663410 [cron] Bump distribution date (2023-12-27) 2023-12-27 00:28:24 +00:00
Scott Lahteine bd36644d85 🧑‍💻 Move U8G defines to HALs 2023-12-26 17:53:49 -06:00
Keith Bennett c485f513d7 BigTreeTech Kraken V1.0 (STM32H723ZG) (#26565)
Co-authored-by: bigtreetech <38851044+bigtreetech@users.noreply.github.com>
2023-12-26 17:45:42 -06:00
Keith Bennett 06b9e40042 🧑‍💻 Use MAX31865 flag (#26574)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-26 17:43:06 -06:00
Scott Lahteine 7603023928 🔨 Apply signature.py help 2023-12-25 20:58:38 -06:00
thinkyhead dbf81f40de [cron] Bump distribution date (2023-12-26) 2023-12-26 00:20:41 +00:00
Dennis bb557e5195 🩹 Fix string buffer warning (#26550)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-24 21:40:20 -06:00
Keith Bennett 89fdfcfaf9 🩹 Fix MARKFORGED_INVERSE typos (#26558)
Followup to #26516
2023-12-24 21:37:20 -06:00
Scott Lahteine d9a388bab8 🩹 Fix some serial chars 2023-12-24 21:31:54 -06:00
thinkyhead b44e68e2ab [cron] Bump distribution date (2023-12-25) 2023-12-25 00:21:58 +00:00
Scott Lahteine 0f09554929 🧑‍💻 DWIN icon updates, etc. 2023-12-24 15:25:43 -06:00
ellensp 18b0dbb501 🐛 Creality Free Runs fixups (#26562)
Followup to #25636, #26533

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-24 12:07:00 -06:00
thinkyhead fa8d2bd108 [cron] Bump distribution date (2023-12-24) 2023-12-24 00:23:04 +00:00
Scott Lahteine d1ebaba71d 🔨 Remove signature.py debug 2023-12-23 16:27:13 -06:00
Skopus 71e0275a4c Orca 3D Modular Controller (#26534) 2023-12-23 04:24:19 -06:00
Scott Lahteine 205b0a679e 🎨 Whitespace in the rightplace 2023-12-23 04:19:23 -06:00
Mihai 3029a6b1aa 🩹 Jerk correction for LIN_ADVANCE + CLASSIC_JERK (#26551)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-23 01:45:37 -06:00
thinkyhead 342048b1df [cron] Bump distribution date (2023-12-23) 2023-12-23 00:20:19 +00:00
Scott Lahteine ec060f979f 📝 Clean up variant labels 2023-12-22 17:47:29 -06:00
Andrew 56ac5d03ed 🚸 Update ProUI Plot graph (#26539) 2023-12-22 12:57:06 -06:00
Scott Lahteine ec7ab5a277 🔨 Build flag tweaks 2023-12-21 22:35:51 -06:00
Scott Lahteine 2c5468ce33 🎨 Planner indent 2023-12-21 22:34:19 -06:00
thinkyhead dbdb2ecdf7 [cron] Bump distribution date (2023-12-22) 2023-12-22 00:21:13 +00:00
Scott Lahteine c18294d83c 🔧 Optional FAN_INVERTING 2023-12-21 15:30:03 -06:00
Scott Lahteine 401ba6613b 🔧 Up to 12 PWM fans 2023-12-21 15:25:48 -06:00
thinkyhead 19617b79db [cron] Bump distribution date (2023-12-21) 2023-12-21 06:06:34 +00:00
Scott Lahteine eeacf76cfd 🔧 config.ini / JSON dump by @section (#26556) 2023-12-20 22:07:59 -06:00
thinkyhead 738584d342 [cron] Bump distribution date (2023-12-20) 2023-12-20 06:06:01 +00:00
Scott Lahteine f69effd2eb 🚸 Just "warn" on SD fail 2023-12-19 20:57:32 -06:00
narno2202 67d7562609 🐛️ FT_MOTION improvements (#26074)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-19 20:01:11 -06:00
thinkyhead 0ede16cd5a [cron] Bump distribution date (2023-12-18) 2023-12-18 00:22:22 +00:00
geijt 4a89ef6273 Fix Creality E3 "Free-runs" (#26533)
Followup to #25636
2023-12-17 16:33:46 -06:00
thinkyhead 145ab7b1ec [cron] Bump distribution date (2023-12-16) 2023-12-16 06:05:48 +00:00
Scott Lahteine 3f9c2f89fc 🔧 Fix IDEX home check
Followup to #25780
2023-12-15 23:40:26 -06:00
Scott Lahteine 00298e6681 🔧 Update fan 0 conflict check
Followup to #25568
2023-12-15 20:23:59 -06:00
thinkyhead 68ab7f6bb7 [cron] Bump distribution date (2023-12-15) 2023-12-15 00:21:58 +00:00
Bob Kuhn 7ab63cde62 Creality E3 Free-runs Silent Motherboard (#25636) 2023-12-14 17:37:40 -06:00
Mihai b90133813a 🐛 Fix planner jerk limits (#26529)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-14 14:16:15 -06:00
Scott Lahteine 75da3555ee 🔧 Update CLASSIC_JERK conditionals 2023-12-14 10:06:14 -06:00
thinkyhead 8bce9dec90 [cron] Bump distribution date (2023-12-14) 2023-12-14 00:21:11 +00:00
jesterhead82 fef74398e4 MARKFORGED_INVERSE (#26516) 2023-12-13 01:44:11 -06:00
thinkyhead 775c6bb20e [cron] Bump distribution date (2023-12-13) 2023-12-13 06:12:17 +00:00
Andrew 06710e54de EDITABLE_DISPLAY_TIMEOUT (#26517)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-12 23:33:03 -06:00
thinkyhead 81cfa23882 [cron] Bump distribution date (2023-12-12) 2023-12-12 06:09:34 +00:00
ellensp f3fd9e28f5 🐛 Fix MKS TS35 with BTT SKR 1.3/1.4 (#26176) 2023-12-11 19:30:28 -06:00
rondlh b94a335493 SERIAL_DMA (for some STM32Fx) (#26328) 2023-12-11 18:48:02 -06:00
thinkyhead 01aa87c307 [cron] Bump distribution date (2023-12-10) 2023-12-10 00:23:34 +00:00
mikemerryguy 473817f2f4 🚸 Adjust Progress / Completion (#26466)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-09 01:38:31 -06:00
David Buezas a1c3a2b03a 🚸 Encoder improvements (#26501) 2023-12-09 00:48:57 -06:00
Scott Lahteine bdfe4a108c 🩹 Fix UBL debug output 2023-12-08 23:18:53 -06:00
thinkyhead 10fe229aad [cron] Bump distribution date (2023-12-09) 2023-12-09 00:20:55 +00:00
Scott Lahteine dfec58e5dc ️ Use strlcpy with buffer size (#26513) 2023-12-08 00:47:18 -06:00
thinkyhead 6c04cf40f4 [cron] Bump distribution date (2023-12-08) 2023-12-08 06:06:47 +00:00
Keith Bennett fe7203ee55 🔨 Use PIO versioning (including HC32) (#26512) 2023-12-07 22:35:34 -06:00
thinkyhead 483b8dcc05 [cron] Bump distribution date (2023-12-06) 2023-12-06 06:06:45 +00:00
Andrew a41e16ffee Voxelab Aquila N32 (via Maple) (#26470)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-05 23:11:41 -06:00
studiodyne 425af4240b 🐛 Fix tool-change E prime (#26494)
Followup to #17248
2023-12-05 23:05:48 -06:00
thinkyhead 4a4c1db606 [cron] Bump distribution date (2023-12-05) 2023-12-05 06:06:24 +00:00
ellensp 2b1375c8ea 🐛 Fix thermistor 14 & 60 constexprness (#26499) 2023-12-04 23:27:58 -06:00
Alexander Gavrilenko 065440891b 🚸 UI refresh for some events (#26487) 2023-12-04 22:46:39 -06:00
ellensp d58168a03f 🩹 Fix a NeoPixel override (#26492) 2023-12-04 22:19:02 -06:00
ellensp 8cf936ccb1 🩹 Fix ftostrX3sign (#26497) 2023-12-04 21:35:12 -06:00
David Buezas d5d45e85e4 DOUBLE_LCD_FRAMERATE (#26500) 2023-12-04 21:31:34 -06:00
thinkyhead 0d4f41fb6d [cron] Bump distribution date (2023-12-04) 2023-12-04 00:22:06 +00:00
Scott Lahteine 1c1c473910 Fix auto-label action comments 2023-12-03 01:22:14 -06:00
Scott Lahteine dde878db04 Use actions/github-script@v7 2023-12-03 00:32:28 -06:00
Keith Bennett 1a42c38e0e 🩹 Replace more DEBUG_ECHOF (#26495)
Followup to #25928
2023-12-03 00:03:46 -06:00
thinkyhead e695c473af [cron] Bump distribution date (2023-12-03) 2023-12-03 00:23:05 +00:00
Scott Lahteine bd6eb83250 🩹 Fix some minor issues 2023-12-01 21:47:25 -06:00
Andrew c484228c56 Fix some action labels (#26490)
Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-01 21:18:24 -06:00
thinkyhead f265fb5943 [cron] Bump distribution date (2023-12-02) 2023-12-02 00:20:23 +00:00
ellensp b17d3d3e9c 🧑‍💻 More num-to-string digits / precisions (#26343)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-12-01 09:25:57 -06:00
Scott Lahteine c53844ff91 Temporary CI Tests for 2.1.x 2023-12-01 04:45:55 -06:00
Scott Lahteine e393c7fa0e Temporarily allow PR against 2.1.x 2023-11-30 20:51:55 -06:00
thinkyhead b55678a7d0 [cron] Bump distribution date (2023-12-01) 2023-12-01 00:23:41 +00:00
Erkan Ozgur Yilmaz fe8266b591 🚸 Fix BLTouch HSMode deploy (#26311) 2023-11-30 16:52:11 -06:00
Scott Lahteine 3d8e3c3c9a 🐛 Touch fixes (#26455) 2023-11-30 16:25:11 -06:00
thinkyhead 61349dc6d3 [cron] Bump distribution date (2023-11-30) 2023-11-30 00:21:18 +00:00
Scott Lahteine 95821b07b1 Auto-label older open [BUG] issues 2023-11-29 16:46:58 -06:00
Scott Lahteine d62ee95d28 🔨 Update config/schema scripts (#26483) 2023-11-29 14:24:20 -06:00
Scott Lahteine b962014087 Label bug reports 2023-11-29 14:19:30 -06:00
Scott Lahteine 921198e81c 🧑‍💻 More SAMD51 ADCs 2023-11-28 21:13:29 -06:00
thinkyhead 3457952854 [cron] Bump distribution date (2023-11-29) 2023-11-29 00:27:28 +00:00
mikemerryguy f4228cc4c1 XY_AFTER_HOMING, EVENT_GCODE_AFTER_HOMING (#26469)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-28 17:55:21 -06:00
ellensp dabcd65903 🚸 Fix ProUI hostui.notify('finished') (#26478) 2023-11-28 16:23:18 -06:00
thinkyhead 8fa4f5a40f [cron] Bump distribution date (2023-11-28) 2023-11-28 12:08:12 +00:00
Keith Bennett b95aa36b01 📝 Community Reporting redux (#26368) 2023-11-28 00:46:21 -06:00
I3DBeeTech 7a96a082b7 BlackBeezMini 3D by I3DBEE (#26406)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
2023-11-28 00:43:17 -06:00
Andrew b78f0012e9 📝 Fix comment dates (#26472) 2023-11-28 00:10:18 -06:00
thinkyhead e958b6da9e [cron] Bump distribution date (2023-11-27) 2023-11-27 00:23:10 +00:00
Chris 86338ca835 HAL for HC32F460 (#26414) 2023-11-26 17:58:56 -06:00
Scott Lahteine 8a110b80bf Use Python 3.9 for CI 2023-11-26 14:39:43 -06:00
Scott Lahteine 9a12f06f19 🎨 Update file headers
Marlin is collectively © by the Organization, with individual contributors having © on their original work as documented in the commit history.
2023-11-26 12:52:17 -06:00
ellensp 7d334775d0 Update MinSerial.cpp
Add missing commas
2023-11-26 23:05:50 +13:00
David Buezas 0a86a5f39c MAX Thermocouples for Heated Bed (#26441)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-25 19:55:51 -06:00
thinkyhead e7cf0e12ea [cron] Bump distribution date (2023-11-26) 2023-11-26 00:27:32 +00:00
ellensp e41df97c42 🔧 Pins for FYSETC Spider King 4.07 (#26461) 2023-11-25 17:15:38 -06:00
Andrew 20a26d5053 🧑‍💻 Use ftpl for item strings (#26462) 2023-11-25 16:46:42 -06:00
Keith Bennett 924d7769ec BD_SENSOR_PROBE_NO_STOP (#26353) 2023-11-25 16:31:53 -06:00
Jason Smith 8ff937c7d8 🐛 Fix PANDA ZHU missing #endif (#26460) 2023-11-24 23:26:02 -08:00
ellensp ae695e8309 👽️ Update Teensy 4.0/4.1 Serial (#26457) 2023-11-24 21:27:55 -06:00
thinkyhead e98e307d17 [cron] Bump distribution date (2023-11-25) 2023-11-25 00:20:09 +00:00
Vovodroid bd872a7a98 🔧 Configurable FR/Flow edit ranges (#26446)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-24 13:03:06 -06:00
thinkyhead fd3de02a37 [cron] Bump distribution date (2023-11-24) 2023-11-24 00:20:39 +00:00
Jason Smith 1bee537a09 🧑‍💻 Add sim launch example for Windows (#26456) 2023-11-23 10:17:41 -08:00
Scott Lahteine ded942a4e4 🐛 Fix expand_u8str_P string substitution
Fixes #26424
2023-11-22 22:18:53 -06:00
Scott Lahteine bf61e52390 ️ Tiny string optimization 2023-11-22 21:06:47 -06:00
Erkan Ozgur Yilmaz 2d9262cc5a ️ Fix MMU2 sscanf bug, optimize (#26449)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-22 20:39:40 -06:00
thinkyhead 993cc9463e [cron] Bump distribution date (2023-11-23) 2023-11-23 00:21:17 +00:00
Andrew c2376d62e2 🩹 Fix JyersUI/ProUI narrowing (#26453)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-22 02:40:50 -06:00
Andrew f3473495d0 🚸 Fixes for ProUI popup, abort (#26308) 2023-11-22 02:19:29 -06:00
Andrew c5b267162c 🌐 Regenerate Russian font data (#26428) 2023-11-22 02:07:44 -06:00
Scott Lahteine 8322848c35 Smarter use_example_configs 2023-11-22 01:35:46 -06:00
thinkyhead 61cb98dc0f [cron] Bump distribution date (2023-11-22) 2023-11-22 00:21:52 +00:00
Scott Lahteine 2b1666fcb0 ✏️ GT2560_V41b followup 2023-11-21 14:07:39 -06:00
ellensp 6ae2cde663 🐛Fix GT2560_V41b Z2 pin (#26370)
* Update pins_GT2560_V41b.h

Fix Z2_STOP_PIN

* use mega2560ext

when board has pins > D69

* Allow overrides, consistent with other pins in this file

---------

Co-authored-by: Jason Smith <jason.inet@gmail.com>
2023-11-21 09:43:08 -08:00
Andrew cc8f7c83da 🚸 Fix, clean up ProUI (#26434)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-21 03:57:31 -06:00
Jason Smith 20445b8e83 🧑‍💻 Update pins formatter script (#26450) 2023-11-21 03:42:44 -06:00
thinkyhead 12881d5576 [cron] Bump distribution date (2023-11-21) 2023-11-21 00:21:26 +00:00
Keith Bennett b88cb86069 BTT Octopus Pro V1.0.1 (STM32H723ZE) (#26159) 2023-11-20 11:55:27 -08:00
Scott Lahteine 3d3be15665 🔨 Fix Ender-5 S1 env 2023-11-20 02:18:53 -06:00
Keith Bennett 0142783836 🚸 Fix more MarlinUI title centering (#26440)
Followup to #26339
2023-11-20 01:24:32 -06:00
Andrew 006768ab58 🚸 Fix MarlinUI axis move / UBL strings (#26439)
Followup to #26344
2023-11-20 01:23:07 -06:00
Scott Lahteine 376673df28 🚸 Minor touch calibration improvement (#26445) 2023-11-20 00:53:35 -06:00
thinkyhead f830756356 [cron] Bump distribution date (2023-11-20) 2023-11-20 00:21:38 +00:00
Keith Bennett 1fceb7c580 🔥 Remove VAkE 403D part deux (#26443)
Followup to #25969
2023-11-19 15:57:03 -06:00
Jason Smith 5287cfbb59 🐛 Fix rotational AxisFlags (#26444)
Followup to #26438
2023-11-19 15:23:20 -06:00
Scott Lahteine f345f60f73 🔨 Similar board name errors 2023-11-18 23:49:59 -06:00
thinkyhead e2c8015199 [cron] Bump distribution date (2023-11-19) 2023-11-19 00:22:58 +00:00
Scott Lahteine aed577271f 🔨 Rotational move items (#26438) 2023-11-17 22:39:00 -06:00
thinkyhead f50ca52c57 [cron] Bump distribution date (2023-11-18) 2023-11-18 00:20:36 +00:00
ellensp 36e66bdd9f 🔧 Define MarlinUI axis moves with lists (#26344)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-17 14:11:59 -06:00
EvilGremlin 19869d3a7d 🔨 Creality STM32F401RC w/out bootloader (#26373) 2023-11-16 19:57:00 -06:00
thinkyhead c8118c3a58 [cron] Bump distribution date (2023-11-17) 2023-11-17 00:20:53 +00:00
Scott Lahteine 7fe07dc4ce 🩹 Fix runout state in menu (#26394)
Fixes #26386
2023-11-16 16:05:31 -06:00
thinkyhead 3e8a5b6151 [cron] Bump distribution date (2023-11-15) 2023-11-15 00:20:46 +00:00
ellensp 28bc19720a 🐛 Put I2C init ahead of LCD init (#26409) 2023-11-14 02:33:15 -06:00
ellensp a8cb89b3da 🐛 Fix BTT SKR Mini E3 pins (#26410) 2023-11-14 02:31:13 -06:00
Keith Bennett df2251e23e 🔨 Fix PINS_DEBUGGING for some STM32H7 (#26416) 2023-11-14 02:29:07 -06:00
Andrew 31154278b3 🔨 Fix legacy auto_build.py (#26427) 2023-11-14 02:27:05 -06:00
Keith Bennett 613b4105a2 🔨 Fix updated build script (#26423)
Followup to #26265

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-14 01:52:22 -06:00
Scott Lahteine 10e06e1970 🧑‍💻 Prevent mixed bitmap encoding
Followup to #26419
2023-11-14 01:23:46 -06:00
Andrew c751dcfcf9 🎨 Python ; cleanup (#26426) 2023-11-13 23:48:01 -06:00
Scott Lahteine 178938d957 ️ Extend bitmap compression
Followup to #26419
2023-11-13 23:43:57 -06:00
thinkyhead a8313c3b7e [cron] Bump distribution date (2023-11-14) 2023-11-14 00:20:32 +00:00
Scott Lahteine dc26531207 COMPACT_CUSTOM_BOOTSCREEN (#26419) 2023-11-13 17:24:15 -06:00
Scott Lahteine c74e6ad868 🔨 Use classic ld on macOS 2023-11-13 04:29:01 -06:00
thinkyhead a62eec4ae3 [cron] Bump distribution date (2023-11-13) 2023-11-13 00:21:11 +00:00
ellensp 235ad4dd9d 🚸 Fix DOGM centering (#26415) 2023-11-12 00:25:51 -06:00
thinkyhead d06923d0e7 [cron] Bump distribution date (2023-11-12) 2023-11-12 06:05:50 +00:00
Luiz Eduardo Carneiro 7f59b65fc8 MINGDA D2 D301 v1.0 (#26340) 2023-11-11 20:44:45 -06:00
Vovodroid 884a3249fe BED_ANNEALING_GCODE (#26341)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-11 20:40:49 -06:00
Vladimir Sitnikov d159ec5c90 🔨 Specific package versions (#26265)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-11 20:13:23 -06:00
Scott Lahteine 7c43f4e696 Fix opt_add in tests 2023-11-11 20:10:11 -06:00
ellensp 7c8ea8e0e0 🧑‍💻 Fix M808 debug (#26367) 2023-11-11 20:02:53 -06:00
thinkyhead 573eae8d95 [cron] Bump distribution date (2023-11-11) 2023-11-11 00:19:53 +00:00
ellensp bf0acc9611 🐛 SKR Pro boards have DIAG pins (#26399)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-09 20:30:41 -06:00
thinkyhead ddc310fc4b [cron] Bump distribution date (2023-11-10) 2023-11-10 00:20:21 +00:00
Keith Bennett 10782c770d 🩹 Probe XY Offset followup (#26397)
Followup to #26267
2023-11-09 17:44:02 -06:00
Andrew b2758208c7 G27 P3 / P4 (#26401)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-09 16:34:48 -06:00
Scott Lahteine bf5612c0ed 🧑‍💻 Use __FLT_MAX__ for HUGE_VALF 2023-11-09 16:05:11 -06:00
InsanityAutomation 83bdfeb5cb Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-11-08 09:39:42 -05:00
thinkyhead 9a6c2635ee [cron] Bump distribution date (2023-11-07) 2023-11-07 00:20:29 +00:00
Scott Lahteine 3341683db2 🧑‍💻 Use FLT_MAX for HUGE_VALF 2023-11-05 21:30:04 -06:00
thinkyhead 0bdbf52bc6 [cron] Bump distribution date (2023-11-06) 2023-11-06 00:21:03 +00:00
Scott Lahteine e4e85e39b3 Get LCD/Controller in bug report 2023-11-05 15:01:12 -06:00
Scott Lahteine 0621594442 Update stale / close durations 2023-11-05 14:55:06 -06:00
Scott Lahteine dba613fadd 🔨 Fix test of env['PROGNAME']
Fixes #26386
2023-11-05 12:30:02 -06:00
thinkyhead 5ac4ebad78 [cron] Bump distribution date (2023-11-05) 2023-11-05 12:06:43 +00:00
Vladimir Sitnikov cb044d989c Probe XY Offset value limits (#26267)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-11-05 01:46:57 -05:00
thinkyhead 0d42196d11 [cron] Bump distribution date (2023-11-04) 2023-11-04 06:05:47 +00:00
tombrazier cac742009c 🐛 Fix Backlash Compensation layer shift (#26392) 2023-11-03 23:12:33 -05:00
Scott Lahteine 76f938309e 🔨 Minor schema.py updates 2023-11-01 15:36:26 -05:00
thinkyhead 24cf29b6a8 [cron] Bump distribution date (2023-11-01) 2023-11-01 01:19:48 +00:00
Chris 41a6f2bc8d 🧑‍💻 Improve POSTMORTEM_DEBUGGING (#26374)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-31 19:10:37 -05:00
Giuliano Zaro e0767f8675 🌐 Fix long Italian string (#26378) 2023-10-31 19:03:28 -05:00
Giuliano Zaro 5523c12cfd 🩹 Fix MarlinUI UTF-8 chars (#26381) 2023-10-31 19:02:11 -05:00
thinkyhead a6c8afc5a9 [cron] Bump distribution date (2023-10-29) 2023-10-29 00:21:30 +00:00
Vladimir Sitnikov cb8df74a9c 🚸 Move Debug menu down (#26266) 2023-10-27 20:01:04 -05:00
Vladimir Sitnikov 050439ccba 🧑‍💻 Update .editorconfig settings (#26264)
Fixes #26219
2023-10-27 19:46:09 -05:00
thinkyhead 6907df0bd6 [cron] Bump distribution date (2023-10-28) 2023-10-28 00:18:59 +00:00
Giuliano Zaro 5a259a7266 🌐 Update Italian language (#26208) 2023-10-27 17:18:15 -05:00
ellensp b082f1a2b8 ️ Faster COMPACT_MARLIN_BOOT_LOGO (rle16) (#26153) 2023-10-27 17:15:23 -05:00
tombrazier c666b492c4 🔥 Automatic minimum planner junction speed (#26198) 2023-10-27 17:06:04 -05:00
tombrazier aa0671fb32 🩹 Fix Input Shaping max_isr_rate with Distinct E factors (#26167) 2023-10-27 16:10:02 -05:00
thinkyhead f82d0109e4 [cron] Bump distribution date (2023-10-27) 2023-10-27 00:19:27 +00:00
Scott Lahteine 2a88e76002 🧑‍💻 Misc. LCD / string updates 2023-10-25 19:41:32 -05:00
thinkyhead b25f523aca [cron] Bump distribution date (2023-10-26) 2023-10-26 00:23:31 +00:00
Scott Lahteine 046439a5a1 🧑‍💻 Echo by default in dev mode 2023-10-25 14:27:22 -05:00
thinkyhead bcd07c2c91 [cron] Bump distribution date (2023-10-24) 2023-10-24 00:19:54 +00:00
Scott Lahteine e9b04ada1d 🩹 Fix PLR debug with NO_VOLUMETRICS 2023-10-23 19:00:44 -05:00
Scott Lahteine ff5eb5de29 🩹 No GET_TEXT with DGUS_TFT
Followup to #26164
2023-10-23 19:00:44 -05:00
Scott Lahteine fd62c42faa 🩹 No GET_TEXT with DGUS_TFT
Followup to #26164
2023-10-23 17:07:04 -05:00
thinkyhead 089d075c8f [cron] Bump distribution date (2023-10-23) 2023-10-23 00:20:43 +00:00
Scott Lahteine 45a6e9614e 📝 Community Reporting 2023-10-22 18:39:22 -05:00
Marcio T 9e6d0ea610 🩹 Fix FTDI Eve Touch UI meshGetter, etc. (#26342)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-22 17:22:16 -05:00
Keith Bennett c345087b41 🔨 Add MKS Eagle FD Envs (#26346) 2023-10-22 15:46:34 -05:00
Keith Bennett 8de007021a 🧑‍💻 Don't Recommend DevContainer (#26348) 2023-10-22 15:44:29 -05:00
Scott Lahteine f72588595b 🚸 SD refresh UI update with NO_SD_DETECT (#26366)
Co-authored-by: Sascha <k.puligheddu@alice.it>
2023-10-22 15:17:30 -05:00
Keith Bennett 797ea5efa7 🚸 Fix MarlinUI expanded label alignment (#26339)
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-22 15:15:38 -05:00
ellensp 156e7c1c54 🐛 Fix TFT compile, K8400 pins (#26359) 2023-10-22 14:25:28 -05:00
thinkyhead b8b1aa345c [cron] Bump distribution date (2023-10-21) 2023-10-21 00:19:15 +00:00
Scott Lahteine b0ece8f8df 🧑‍💻 MarlinUI menu tweaks
Changes in prep for #26339
2023-10-20 17:25:47 -05:00
studiodyne 4b0b00c8da Tool Migration-specific settings (#26244)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-19 20:23:23 -05:00
Andrew 6d3122d4e8 🚸 Misc. JyersUI tweaks (#26228)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-19 20:22:04 -05:00
ellensp 0f27e38eb9 🎨 Update GT2560 V41b (#26351) 2023-10-19 19:34:22 -05:00
thinkyhead 6156050024 [cron] Bump distribution date (2023-10-20) 2023-10-20 00:20:00 +00:00
Andrew cacbe005b5 🩹 Fix ProUI G-code preview (#26213) 2023-10-19 18:01:43 -05:00
thinkyhead caca5636ce [cron] Bump distribution date (2023-10-15) 2023-10-15 06:05:56 +00:00
Marcio T 6a35ab6557 Z_PROBE_ERROR_TOLERANCE (expose) (#26229)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-14 23:54:54 -05:00
thinkyhead 87de4c134b [cron] Bump distribution date (2023-10-13) 2023-10-13 18:06:12 +00:00
Scott Lahteine 7944628400 🧑‍💻 IA Creality optional code 2023-10-13 09:48:14 -05:00
thinkyhead 251a84b741 [cron] Bump distribution date (2023-10-12) 2023-10-12 18:20:54 +00:00
Scott Lahteine d695e5f7bc 🔧 Misc. probe opts 2023-10-12 13:03:02 -05:00
Scott Lahteine 4744997c16 📝 GCode => G-Code 2023-10-12 12:14:57 -05:00
Scott Lahteine 5bd39ba73f 🧑‍💻 FxdTiCtrl => FTMotion redux 2023-10-12 12:14:53 -05:00
Marcio T 7f887f2342 🚸 Update FTDI Eve / CocoaPress UI (#26233) 2023-10-12 11:14:58 -05:00
Scott Lahteine e7e77d9612 🧑‍💻 FxdTiCtrl => FTMotion 2023-10-12 10:12:35 -05:00
Scott Lahteine a7a3abb9bf 📝 Macro comments 2023-10-12 09:21:00 -05:00
thinkyhead 6f68da5be4 [cron] Bump distribution date (2023-10-11) 2023-10-11 06:06:33 +00:00
Andrew Bortz e9b9d634c4 Nonlinear Extrusion Control (M592) (#26127) 2023-10-10 22:24:48 -05:00
thinkyhead 6d301a282e [cron] Bump distribution date (2023-10-10) 2023-10-10 00:19:51 +00:00
studiodyne 61591fd233 🐛 Fix tool-change E prime (#26237)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-09 17:50:09 -05:00
Marcella Cavalcanti e97d82f77b FYSETC Cheetah v3.0 (#26314) 2023-10-09 16:55:44 -05:00
Keith Bennett b58d5dabf8 🔧 BTT_MINI_12864_V1 => BTT_MINI_12864 (#26160) 2023-10-08 20:07:09 -05:00
Dipl.-Ing. Raoul Rubien, BSc 047bce0cdd 🔧 More angles for 2x Servo Switching Nozzle (#26303)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-08 19:22:40 -05:00
thinkyhead c81e217334 [cron] Bump distribution date (2023-10-09) 2023-10-09 00:20:31 +00:00
Scott Lahteine 9cd341c2c3 🩹 Patches for MSC SD (#26332) 2023-10-08 18:09:49 -05:00
Scott Lahteine f0ad1e9b70 🧑‍💻 Update dev scripts 2023-10-08 16:49:18 -05:00
Scott Lahteine 414b1f8327 🩹 Serial warning followup
Followup to #26306
2023-10-08 16:49:18 -05:00
Erkan Ozgur Yilmaz e68320ee2b 🐛 Fix MMU late init (#26331) 2023-10-08 15:39:46 -05:00
ellensp 7fa643a11e 🔨 Specify LPC toolchain 1.100301.220327 (#26249) 2023-10-08 15:16:28 -05:00
thinkyhead 375e724dee [cron] Bump distribution date (2023-10-08) 2023-10-08 00:21:49 +00:00
Keith Bennett 6c0f4bbafd CI test for STM32G0 (#26327) 2023-10-07 01:21:41 -05:00
Orel 4cab75115f 🩹 Fix G33 output (#26299)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-07 01:10:22 -05:00
Scott Lahteine 014609ad87 🔧 Move some config options 2023-10-07 00:29:34 -05:00
Bob Kuhn f7a3172c20 🐛 Fix DELTA Z when not using probe for homing (#26297) 2023-10-06 23:53:52 -05:00
Bob Kuhn b799f7d1f3 🔧 Forbid UBL Hilbert Curve on DELTA (#26296) 2023-10-06 23:45:32 -05:00
Vladimir Sitnikov f3851408fe 🔧 No TMC_HOME_PHASE on tandem steppers (#26310)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-06 23:44:27 -05:00
Scott Lahteine 03cf2b577b misc. formatting, grid condition 2023-10-06 21:55:57 -05:00
Vovodroid b3b6f23320 🧑‍💻 Tweak an 'if' block (#26300) 2023-10-06 20:03:02 -05:00
Piotr Piatkowski 821ba43131 🩹 Fix Endstop Test debug menu (#26326) 2023-10-06 19:56:10 -05:00
thinkyhead 31bf73b89b [cron] Bump distribution date (2023-10-07) 2023-10-07 00:19:28 +00:00
Scott Lahteine 229ea71421 📝 Update dgus_e3s1pro comment 2023-10-06 19:02:34 -05:00
Scott Lahteine f085e2ca93 🩹 Remove extraneous 'inline'
See #26085
2023-10-06 17:20:08 -05:00
Keith Bennett db98f06110 🚸 Warning alerts for non-fatal errors (#26306)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-10-06 17:09:58 -05:00
Scott Lahteine bbb5aacc48 📝 Update config sections 2023-10-06 16:12:23 -05:00
Scott Lahteine 91ab18d1d2 📝 Some settings units 2023-10-06 16:08:30 -05:00
thinkyhead 273cbc6871 [cron] Bump distribution date (2023-10-05) 2023-10-05 06:06:14 +00:00
EvilGremlin 596d1ff104 🩹 Fix TFT string code (#26292) 2023-10-04 23:47:23 -05:00
thinkyhead 896492442c [cron] Bump distribution date (2023-10-04) 2023-10-04 00:36:20 +00:00
Keith Bennett b9e58cd3ea 🔧 BigTreeTech Manta M4P is v2.1 (#26226) 2023-10-03 15:23:40 -05:00
ellensp d961dbae8d 🔧 Fix SanityCheck typo (#26223) 2023-10-03 15:21:53 -05:00
Scott Lahteine be031e1850 📝 More ExtUI documentation 2023-10-03 15:20:35 -05:00
Scott Lahteine 15dfbabc9c 🔧 Temp report precision option (#26253) 2023-10-03 14:52:04 -05:00
kisslorand 102de7dac3 🚸 More precision in G30 output (#26255) 2023-10-03 14:50:33 -05:00
kisslorand 7338a2fec8 🚸 Use SERIAL_FLOAT_PRECISION for SERIAL_ECHO(float) (#26254) 2023-10-03 14:48:52 -05:00
thinkyhead d56136f06c [cron] Bump distribution date (2023-09-30) 2023-09-30 00:19:06 +00:00
ellensp 34a0c9d143 📝 Update BTT SKR Mini E3 v3.0 comments (#26318) 2023-09-29 18:12:29 -05:00
thinkyhead 11f98adcce [cron] Bump distribution date (2023-08-26) 2023-08-26 00:22:53 +00:00
jaysuk 209fadd2e6 Mellow Fly E3 V2 (STM32F407VG) (#26081) 2023-08-25 18:43:57 -05:00
Andrew 8fa6a4da2e 🚸 Fixes for ProUI, JyersUI, backlight, etc. (#26086)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-25 18:33:49 -05:00
Scott Lahteine 4613f85bb7 🧑‍💻 Encapsulate ProUI G-code preview 2023-08-25 13:33:33 -05:00
thinkyhead e1121a4cd0 [cron] Bump distribution date (2023-08-25) 2023-08-25 00:19:03 +00:00
lukasradek 20fec98f70 🧑‍💻 Adjust LCD string draw (#26154) 2023-08-24 12:41:30 -05:00
thinkyhead adfc787a45 [cron] Bump distribution date (2023-08-24) 2023-08-24 00:18:43 +00:00
Scott Lahteine 86be9a85d0 📝 Thermistor info updates (#26202) 2023-08-23 13:44:40 -05:00
thinkyhead f6de698fc8 [cron] Bump distribution date (2023-08-23) 2023-08-23 00:25:27 +00:00
Anson Liu edc7379546 G-code 'T' report current tool (#26151)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-22 19:21:41 -05:00
Scott Lahteine ab8af7fa9c 🔧 Allow arbitrary BLOCK_BUFFER_SIZE 2023-08-22 19:16:35 -05:00
Keith Bennett fb74caebb5 🔧 Fix Linear Leveling grid size sanity check (#26199) 2023-08-22 18:40:59 -05:00
Scott Lahteine 88cdf487b4 🚸 Avoid LCD messages starting with "Error:" (#26164) 2023-08-22 17:36:53 -05:00
narno2202 be91eaed2c 🩹 Fix FT Motion menu Back item (#26175) 2023-08-22 17:13:53 -05:00
thinkyhead b5a08c2518 [cron] Bump distribution date (2023-08-22) 2023-08-22 00:18:52 +00:00
Scott Lahteine b02ea02dbb Fix unused test 2023-08-21 16:52:26 -05:00
Yuri D'Elia d69ce77503 🐛 Fixes for G2/G3 arcs (#26170) 2023-08-21 14:39:49 -05:00
thinkyhead d1803ec044 [cron] Bump distribution date (2023-08-21) 2023-08-21 00:19:10 +00:00
Scott Lahteine f2665e597f 🎨 FTDI cleanup 2023-08-20 13:47:43 -05:00
thinkyhead db5ead4230 [cron] Bump distribution date (2023-08-20) 2023-08-20 00:19:51 +00:00
GHGiampy f7d5188b2f 🐛 Fixes for ProUI, build rename (#26177)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-19 15:53:45 -05:00
thinkyhead 1d17c34e12 [cron] Bump distribution date (2023-08-18) 2023-08-18 00:18:38 +00:00
Vovodroid 49ead19d00 🔧 Reversible file alpha sorting (#26130)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-17 18:13:10 -05:00
thinkyhead 7e7dcb8692 [cron] Bump distribution date (2023-08-16) 2023-08-16 06:08:59 +00:00
Scott Lahteine cf50240e82 📝 Update INO (c) 2023-08-15 21:03:42 -05:00
thinkyhead 79f6d9bdac [cron] Bump distribution date (2023-08-14) 2023-08-14 00:19:27 +00:00
Martin Turski 6af6060aa0 🔧 Configurable SD card retry/timeout (#25340)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-13 15:57:38 -05:00
thinkyhead 2bac7835e8 [cron] Bump distribution date (2023-08-08) 2023-08-08 00:22:24 +00:00
EvilGremlin fd41757aef 🐛 Fix MKS Robin Mini servo timer (#26150) 2023-08-07 16:54:27 -05:00
Giuliano Zaro f338f65bdf 🚸 Adjust ColorUI chamber bmp (#26149) 2023-08-07 16:51:22 -05:00
Miguel Risco-Castillo 867f5e9069 🚸 UI Sound off/on with M300 E<0|1> (#26142) 2023-08-07 16:16:33 -05:00
Miguel Risco-Castillo 88f5e2c639 🐛 Fix UBL probe_entire_mesh skips points (#26141)
Fixes #26132
2023-08-07 16:11:12 -05:00
Keith Bennett ca0209b868 🔨 Fix USB FD env names (#26131) 2023-08-07 16:00:50 -05:00
Ari-SSO 4f691e622f 🩹 PROBING_TOOL followup (#26122)
Followup to #24411

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-07 04:35:22 -05:00
Scott Lahteine fecadaca82 🔧 Clarify WIFISUPPORT (#26097) 2023-08-07 04:24:04 -05:00
Aleks 709def5e7b 🩹 Fix M3 uninitialized warning (#26091) 2023-08-07 04:09:26 -05:00
narno2202 a5e4b4bd7d 🚸 FT_MOTION menu updates (#26083) 2023-08-07 03:30:24 -05:00
thinkyhead a817794444 [cron] Bump distribution date (2023-08-07) 2023-08-07 06:51:07 +00:00
Mark ffef8f1b29 🚸 BD Sensor Z axis stop height (#26015) 2023-08-06 23:33:20 -05:00
Bart Meijer 205a679959 ️ SAMD21 LCD uses HW SPI with media (#26012) 2023-08-06 23:12:30 -05:00
lukasradek b956001d81 🚸 Update LCD Manual Leveling display (#26088) 2023-08-06 22:08:35 -05:00
Keith Bennett 1dd3c9e73f 📝 STM32G0B0 SKR Mini E3 V3.0 / Manta M4P (#26087) 2023-08-06 22:04:11 -05:00
Scott Lahteine 8d74a63e4b 📝 Update a config comment 2023-08-06 21:04:40 -05:00
thinkyhead 27fd97a8bb [cron] Bump distribution date (2023-08-06) 2023-08-06 00:21:12 +00:00
magicmaker3 4d89db5209 MM-JOKER (ESP32) board (#25897) 2023-08-05 18:10:49 -05:00
Pagliarulo Onofrio f66323ecfb Geeetech GT2560 V4.1B board (#25888) 2023-08-05 00:03:10 -05:00
Giuliano Zaro 863198a73f VOLUMETRIC_EXTRUDER_LIMIT_MAX (#25884) 2023-08-04 23:56:40 -05:00
Scott Lahteine ad112b4d3d 🐛 Fix case TRRunaway 2023-08-04 23:49:38 -05:00
thinkyhead c088081c00 [cron] Bump distribution date (2023-08-05) 2023-08-05 00:54:22 +00:00
Alexey D. Filimonov 06d46a0ef9 AUTO_POWER_SPINDLE_LASER (#25739) 2023-08-04 19:07:56 -05:00
Scott Lahteine 27e68a61fa 🧑‍💻 Update some SDSUPPORT 2023-08-04 18:29:52 -05:00
Dmitry Pogrebnyak 4e31fa66e2 STATUS_HEAT_POWER (#25268) 2023-08-04 14:59:17 -05:00
InsanityAutomation 6128d61186 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-08-04 09:47:12 -04:00
thinkyhead 87231b625f [cron] Bump distribution date (2023-08-04) 2023-08-04 06:06:04 +00:00
Martin Turski 3baa318ec7 🧑‍💻 Option to reset AVR pin states (#25364)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-03 22:56:40 -05:00
Martin Turski 820d2b58b3 🚸 Option to report temperature on error (#25341)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-08-03 21:40:38 -05:00
thinkyhead fe4819a9c1 [cron] Bump distribution date (2023-08-03) 2023-08-03 08:45:07 +00:00
Scott Lahteine 8ae19e45d6 🔨 Prevent variant overwrite
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-08-03 01:28:23 -05:00
ellensp aaa590855a 📝 E3S1PRO is T5L (#26143) 2023-08-02 22:55:29 -05:00
thinkyhead a629471ed7 [cron] Bump distribution date (2023-08-02) 2023-08-02 06:06:02 +00:00
Scott Lahteine bed26734a2 🔧 More endstops refactoring (#25758) 2023-08-01 23:03:06 -05:00
thinkyhead 5da7143fe5 [cron] Bump distribution date (2023-07-30) 2023-07-30 00:24:18 +00:00
ellensp 2c9bc872e7 🔧 Check AVR Rx/Tx conflict w/ LCD_EN (#26069) 2023-07-29 18:34:16 -05:00
ellensp abd1896ce2 🔧 STM32 support 9 UARTs (#26072) 2023-07-29 18:30:56 -05:00
thinkyhead 347a7dc71e [cron] Bump distribution date (2023-07-29) 2023-07-29 00:21:43 +00:00
Scott Lahteine ae9f2710f0 🔨 Old renamed AVRs 2023-07-28 16:53:01 -05:00
Scott Lahteine 2a82ca87b0 🩹 Fix ProUI compile without Advanced Pause 2023-07-27 23:03:36 -05:00
thinkyhead 6f8178598f [cron] Bump distribution date (2023-07-28) 2023-07-28 00:21:36 +00:00
Scott Lahteine 6cc4dd10bc 🐛 Fix hotend idle timeout checks 2023-07-27 17:20:09 -05:00
lukasradek d036097bca 🚸 Fix HD44780 EDIT_ITEM position (#26073) 2023-07-27 16:08:21 -05:00
thinkyhead 6ba50aa6ea [cron] Bump distribution date (2023-07-27) 2023-07-27 00:21:22 +00:00
Giuliano Zaro fdad658e5f 🐛 Fix runout extra length (#26082)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: justvlade <7622616+justvlade@users.noreply.github.com>
2023-07-26 18:38:59 -05:00
InsanityAutomation 6657c44cc7 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-07-26 11:52:43 -04:00
thinkyhead 79be07f9a4 [cron] Bump distribution date (2023-07-24) 2023-07-24 06:06:23 +00:00
ellensp 5bcaae62f2 ️ Compact RGB565 TFT boot images (#26011)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-07-23 22:31:39 -05:00
thinkyhead e451dec674 [cron] Bump distribution date (2023-07-22) 2023-07-22 06:05:47 +00:00
ellensp 6379d4dbca 🩹 Suppress G33 string warning (#26095) 2023-07-21 22:05:04 -05:00
thinkyhead 91c6a7180d [cron] Bump distribution date (2023-07-21) 2023-07-21 06:06:24 +00:00
Scott Lahteine 9135e3f7d3 🚸 Revert M206 Home Offset behavior (#25996) 2023-07-20 21:10:03 -05:00
Scott Lahteine a0e3dea8b8 🚸 ColorUI Touch Calibrate in CW order 2023-07-20 20:28:45 -05:00
thinkyhead 6bc42300a1 [cron] Bump distribution date (2023-07-20) 2023-07-20 06:06:07 +00:00
Scott Lahteine 45193b4a1d 🔥 Always use ISR for BABYSTEPPING (#26035) 2023-07-19 21:12:32 -05:00
thinkyhead 885e9cc057 [cron] Bump distribution date (2023-07-18) 2023-07-18 00:41:02 +00:00
Alexander Gavrilenko 244de2458a 🧑‍💻 Improve TFT Color UI layout / theme (#26077)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-07-17 02:53:36 -05:00
thinkyhead 4d6e5c12b3 [cron] Bump distribution date (2023-07-17) 2023-07-17 06:20:28 +00:00
Scott Lahteine a5d47f84ae 🎨 Rename Helvetica 14 (2) 2023-07-17 01:01:36 -05:00
Scott Lahteine 5fd0247239 🎨 Rename Helvetica 14 (1) 2023-07-17 01:01:14 -05:00
Scott Lahteine 821d77fe4c 🎨 Misc. comment open 2023-07-16 23:44:03 -05:00
Keith Bennett fef772ef29 🩹 Fix SPI TFT build on SKR V2 & V3/EZ (#26041)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-07-16 23:32:16 -05:00
Scott Mikutsky 3815157214 🐛 Ensure BLTouch deploy in HS Mode (#26033) 2023-07-16 23:29:56 -05:00
thinkyhead 810c1693ac [cron] Bump distribution date (2023-07-16) 2023-07-16 06:08:45 +00:00
Andrew fc2272c4b4 🩹 Fix, clean up ProUI, JyersUI (#26078)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-07-15 20:10:42 -05:00
tombrazier 45f7ebb92b 🩹 Fix Input Shaping "enable" for SHAPING_FREQ_[XY] == 0 (#26075) 2023-07-15 20:06:21 -05:00
thinkyhead 28f69a052c [cron] Bump distribution date (2023-07-15) 2023-07-15 00:26:39 +00:00
Keith Bennett ef3054d1a8 BTT Octopus Pro V1.1 (STM32H723ZE) (#26043) 2023-07-14 18:24:17 -05:00
thinkyhead bcf61cc91c [cron] Bump distribution date (2023-07-06) 2023-07-06 00:27:11 +00:00
Giuliano Zaro 57d26f7e4f 🩹 Fix HOST_STATUS_NOTIFICATIONS compile (#26040) 2023-07-05 01:21:54 -05:00
thinkyhead 67a9a7e66f [cron] Bump distribution date (2023-07-05) 2023-07-04 20:30:07 -05:00
Scott Lahteine 16f19b2c1f 🩹 Fix ProUI tramming 2023-07-04 20:30:07 -05:00
Scott Lahteine ed4e22b548 🧑‍💻 print_pos => print_xyz 2023-07-04 18:44:14 -05:00
Keith Bennett 929497d527 📝 Update config URLs (#26049) 2023-07-04 16:07:56 -05:00
Keith Bennett f479f8377d 🎨 Clean up TFT Colors (#26050) 2023-07-04 15:25:26 -05:00
thinkyhead 1feb70c91b [cron] Bump distribution date (2023-07-04) 2023-07-04 15:17:53 -05:00
Scott Lahteine 179260878f 🎨 Misc. fixes and formatting 2023-07-04 15:17:53 -05:00
thinkyhead 7b8a2180ff [cron] Bump distribution date (2023-07-03) 2023-07-03 00:25:59 +00:00
Alexander Gavrilenko 3ea87ad54c SPI TFT / Touchscreen for STM32H7 (#25784)
Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-07-01 20:16:12 -05:00
Scott Lahteine c483fe76c7 🩹 Fix ProUI _remain_time
Followup to #25982
2023-07-01 20:01:45 -05:00
Scott Lahteine b50add4694 🔨 Wrapper for GCC < 8 2023-07-01 19:54:39 -05:00
thinkyhead 275642b297 [cron] Bump distribution date (2023-07-02) 2023-07-02 00:31:20 +00:00
Scott Lahteine 38e92b522b 📝 mm/m => mm/min 2023-07-01 18:56:53 -05:00
Scott Lahteine 7f5b0b4008 🩹 Define drawTrinamicConfigMenu
Followup to #25982
2023-07-01 18:26:51 -05:00
Scott Lahteine 60f74f3cb3 🔨 Suppress truncation warning 2023-07-01 18:20:32 -05:00
Scott Lahteine 1a241e6e86 🐛 Fix M105 (MString append TS) and EEPROM ver
Followup to #24390
2023-07-01 17:51:13 -05:00
Scott Lahteine 4985acafad 🐛 Prevent MString infinite recursion (#26037)
Followup to #24390
2023-07-01 04:33:53 -05:00
Anson Liu f9c8703e77 🩹 Fix missing include cycles.h (#25927) 2023-07-01 02:19:16 -05:00
Christophe Huriaux b77e2a5020 Ender 3 S1 Pro/Plus stock touchscreen (#25905)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-06-30 23:06:08 -05:00
thinkyhead f766a90f5f [cron] Bump distribution date (2023-07-01) 2023-07-01 00:53:49 +00:00
Scott Lahteine 0878b99b2c 🌐 Language Import/Export (#25889) 2023-06-30 19:21:56 -05:00
Keith Bennett 1bc155e810 🎨 Simplify BTT Octopus Max EZ LCD Pins (#26019) 2023-06-30 19:21:37 -05:00
Scott Lahteine f14f1be168 🎨 Standardize naming (ProUI) (#25982) 2023-06-30 19:16:00 -05:00
thinkyhead 7247acdece [cron] Bump distribution date (2023-06-30) 2023-06-30 00:24:45 +00:00
narno2202 7b23fd3548 🐛 Fix FT Motion runout in progress (#26020) 2023-06-29 17:06:05 -05:00
Keith Bennett d9349caeee ️ Ethernet Buffer for Input Shaping on LPC (#26027) 2023-06-29 15:27:25 -05:00
Andrew 97e15812fa 🔨 Makefile + 256K Creality Maple + Heater IDs (#26018) 2023-06-29 12:21:14 -05:00
Krzysztof Błażewicz cb12114a7e 🩹 Fix JyersUI typos (#26029)
Followup to #24390
2023-06-29 02:18:32 -05:00
thinkyhead aee8e15fd2 [cron] Bump distribution date (2023-06-29) 2023-06-29 00:25:22 +00:00
Giuliano Zaro 6474773555 🐛 Fix AD4985 with 5V input, add AD595 3.3V warning (#26021)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-06-28 17:06:50 -05:00
Krzysztof Błażewicz be18edd604 🚸 JyersUI MPC menu (#26017)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-06-27 22:51:47 -05:00
Scott Lahteine bbfaf7474c 🎨 CrealityDWIN => JyersDWIN (#26026) 2023-06-27 21:44:42 -05:00
Scott Lahteine 46b5753f56 🎨 Indent temp structs 2023-06-27 20:34:01 -05:00
thinkyhead a5ac50fcbf [cron] Bump distribution date (2023-06-28) 2023-06-28 00:25:35 +00:00
Scott Lahteine 574dd34c49 ♻️ String helper class (#24390) 2023-06-27 13:19:36 -05:00
thinkyhead 4a734e4de4 [cron] Bump distribution date (2023-06-26) 2023-06-26 00:26:36 +00:00
Katelyn Schiesser 402c4ef5d3 🚸 M86-M87 Hotend Idle Timeout (#25015)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-06-25 17:32:56 -05:00
thinkyhead 0138aff890 [cron] Bump distribution date (2023-06-25) 2023-06-25 12:07:25 +00:00
Scott Lahteine f281fb473d 🎨 Minor code cleanup 2023-06-25 01:31:07 -05:00
thinkyhead a256e47b9c [cron] Bump distribution date (2023-06-24) 2023-06-24 12:07:28 +00:00
Scott Lahteine 9bf95418a7 🐛 Fix TFT_LTDC::writeReg
Followup to #25939
2023-06-24 02:57:58 -05:00
InsanityAutomation 52c37ee699 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-06-23 09:26:59 -04:00
thinkyhead 60f591f3b6 [cron] Bump distribution date (2023-06-23) 2023-06-23 12:11:03 +00:00
Miguel Risco-Castillo 858916d628 🚸 Update DWIN ProUI (#26003) 2023-06-23 04:57:22 -05:00
mjbogusz 2218bab542 🚸 Color UI remaining time (#24843) 2023-06-23 04:56:34 -05:00
narno2202 a58e530f92 🩹 Fix 'M493 S12' (#26007) 2023-06-23 04:52:10 -05:00
Scott Lahteine 1fbeac7b52 🎨 Adjust TFT code/comments 2023-06-23 01:59:11 -05:00
thinkyhead 18ccc40443 [cron] Bump distribution date (2023-06-22) 2023-06-22 12:06:59 +00:00
Scott Lahteine 8c9172cf5d 🍻 Fixed-Time Motion integration (#25719) 2023-06-22 02:54:21 -05:00
thinkyhead 2dc76689ea [cron] Bump distribution date (2023-06-20) 2023-06-20 00:21:56 +00:00
Scott Lahteine 91401d7e5f 🔧 Move non-DUE conditions 2023-06-19 15:07:23 -05:00
Keith Bennett 733209f9a2 🔧 MPC adjustments (#25986) 2023-06-19 00:12:50 -05:00
thinkyhead d79b42c710 [cron] Bump distribution date (2023-06-19) 2023-06-19 00:24:00 +00:00
Mark 441416728c 🚸 Bed distance sensor improvements (#25847) 2023-06-18 04:18:08 -05:00
Andrew dd1792bdfc 🔨 Update CMakeLists.txt (#25983) 2023-06-17 23:19:28 -05:00
thinkyhead 927b3cc41a [cron] Bump distribution date (2023-06-18) 2023-06-18 00:25:52 +00:00
ellensp c180a99c79 📝 Update BTT SKR V3 board comments (#25973) 2023-06-17 16:44:49 -05:00
Giuliano Zaro a3df3d40ee 🐛 Fix G2/G3 limiting_speed (#25988) 2023-06-17 15:55:02 -05:00
discip 1e5c279da3 🔨 Fix marlin_STM32H723VG mcu value (#25991)
Followup to #25921
2023-06-17 15:53:03 -05:00
EvilGremlin 5b8b8e005b 🔧 BLTOUCH_HS_MODE hex value check (#25992) 2023-06-17 15:49:22 -05:00
Scott Lahteine 238951a966 🎨 More more lowercase (partial ProUI)
Followup to #25939
2023-06-16 22:26:32 -05:00
thinkyhead 78b342661a [cron] Bump distribution date (2023-06-17) 2023-06-17 00:22:04 +00:00
Scott Lahteine 41a5fbb16a 🎨 More lowercase
Followup to #25939
2023-06-16 18:13:46 -05:00
thinkyhead eca80db9b6 [cron] Bump distribution date (2023-06-16) 2023-06-16 00:24:24 +00:00
ellensp 8261af3010 BTT RAMPS 1.6+ (#25970) 2023-06-14 19:57:15 -05:00
Keith Bennett 9728d79ade 📝 Document Manta E3 EZ / E3V2 LCD custom wiring (#25976) 2023-06-14 19:43:24 -05:00
Keith Bennett 067091458a 🎨 Group STM32G0 pins includes (#25977) 2023-06-14 19:41:43 -05:00
Scott Lahteine 166ed28995 🎨 Lowercase followup
Followup to #25939
2023-06-14 19:37:54 -05:00
thinkyhead 5cfe3af0ef [cron] Bump distribution date (2023-06-15) 2023-06-15 00:26:48 +00:00
Scott Lahteine d26955bde6 🔧 Sanity check IA_CREALITY mesh size 2023-06-14 19:06:30 -05:00
Scott Lahteine c3694f1c03 🎨 Lowercase methods, functions, data members (#25939)
For: TFT, DGUS, MarlinUI, Anycubic, JyersUI, CrealityUI
2023-06-14 17:24:50 -05:00
thinkyhead 1726ba5bda [cron] Bump distribution date (2023-06-13) 2023-06-13 00:23:25 +00:00
Keith Bennett aa2f4051bb 🔥 Remove VAkE 403D (#25969) 2023-06-12 16:39:49 -05:00
Scott Lahteine 2ef71c6eba ♻️ Simplify SERIAL_ECHO (#25928)
Since this increases AVR code size, try to optimize further.
2023-06-12 16:38:14 -05:00
thinkyhead d9d2dae883 [cron] Bump distribution date (2023-06-12) 2023-06-12 00:25:11 +00:00
Keith Bennett bea1a914be 🔨 SKR Mini E3 v3.0.1 XFER (#25955) 2023-06-11 16:49:37 -05:00
thinkyhead 85067e14b5 [cron] Bump distribution date (2023-06-11) 2023-06-11 00:29:06 +00:00
Keith Bennett 00ab015de7 🔨 Firmware rename followup (#25966)
Followup to #25957
2023-06-10 19:20:50 -05:00
thinkyhead b5d3d0141f [cron] Bump distribution date (2023-06-10) 2023-06-10 00:22:22 +00:00
ellensp 3706c16729 🐛 Fix dummy thermistors 998-999 (#25956) 2023-06-09 02:59:23 -05:00
Scott Lahteine 0ed46406d1 🔨 Simpler distinct firmware rename (#25957) 2023-06-09 02:56:25 -05:00
Bart Meijer 82ddd55a1a 🩹 Conditional u8g for SAMD21 (#25947) 2023-06-08 21:55:26 -05:00
Miguel Risco-Castillo 34e23bcf95 🐛 Fix _MINMAX_TEST typo (#25954) 2023-06-08 20:47:35 -05:00
thinkyhead f3cda01b95 [cron] Bump distribution date (2023-06-09) 2023-06-09 00:30:56 +00:00
Scott Lahteine 2a79aad2dd 🔨 Fix serial port #error text 2023-06-08 19:22:52 -05:00
Scott Lahteine bbbd6045cb 🔨 Update STM32Hxx boards/variants
Followup to #25934
2023-06-08 19:22:52 -05:00
Dmitry Plastinin 683916e17a 🚸 Portrait TS35 move axis screen (#25945) 2023-06-07 23:14:34 -05:00
Scott Lahteine 9360e13cdd 🚸 General TFT cleanup 2023-06-07 22:46:25 -05:00
Keith Bennett 9d830d7207 🔨 Clean up some BTT envs, etc. (#25934)
Followup to #25921

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-06-07 22:16:30 -05:00
Scott Lahteine 54a82b4337 🚸 Fix TFT menu positioning (#25942)
Co-authored-by: Ed <751406+helakejr@users.noreply.github.com>
2023-06-07 20:58:55 -05:00
Scott Lahteine d1e995670d 🔧 Z-MIN as CREALITY V25 S1 probe 2023-06-07 20:29:39 -05:00
thinkyhead 10947a463b [cron] Bump distribution date (2023-06-08) 2023-06-08 00:23:27 +00:00
Keith Bennett e8f5f9d732 🔨 Teensy 4.1 pins env check (#25937) 2023-06-07 03:03:35 -05:00
Giuliano Zaro 984f9fe7d6 🌐 Update Italian language (#25940) 2023-06-07 03:01:07 -05:00
thinkyhead 322d5dc29c [cron] Bump distribution date (2023-06-07) 2023-06-07 00:25:18 +00:00
Scott Lahteine 8f1d80b0ba 🧑‍💻 Use Flags<> for runout (#25938) 2023-06-06 15:30:28 -05:00
Scott Lahteine 35016633d8 🩹 Conditional include probe.h 2023-06-06 02:58:28 -05:00
Scott Lahteine 4b8e4ef38e ️ Mixer label in PROGMEM 2023-06-05 23:56:22 -05:00
Scott Lahteine 17cc5fa872 🧑‍💻 Suppress narrowing warnings
Followup to #25924
2023-06-05 21:09:08 -05:00
Scott Lahteine a6b32a5a91 🧑‍💻 Bypass error in build_example 2023-06-05 20:39:20 -05:00
Scott Lahteine e116a99eda 🩹 Fix JyersUI corner pos
Followup to #25631
2023-06-05 20:24:12 -05:00
thinkyhead bfd6be3799 [cron] Bump distribution date (2023-06-06) 2023-06-06 00:24:34 +00:00
Scott Lahteine 6a29d5d5af 🧑‍💻 Fix mfconfig trailing space 2023-06-05 17:25:42 -05:00
Scott Lahteine fbc5bd0d04 🩹 Wrap HAS_DISPLAY for if()
Followup to #24877
2023-06-05 16:24:20 -05:00
Scott Lahteine 7680fe2b59 🧑‍💻 Dir change is AxisBits
Followup to #25761
2023-06-05 16:01:32 -05:00
Scott Lahteine 70288c6c4f 🎨 Detab C/C++ 2023-06-05 01:02:56 -05:00
Roi Rodríguez Huertas 3b681f7b74 🔧 TMC Driver axis baud for Soft Serial (#25664) 2023-06-05 00:13:57 -05:00
thinkyhead 6e8035e5aa [cron] Bump distribution date (2023-06-05) 2023-06-05 00:24:02 +00:00
kisslorand f8423f9da0 🩹 Fix D576 buffer underrun reporting (#25931) 2023-06-04 04:49:27 -05:00
Andrew 1a2816284c ✏️ Fix LCD contrast typo (#25929) 2023-06-04 04:20:07 -05:00
thinkyhead f8c5152369 [cron] Bump distribution date (2023-06-04) 2023-06-04 00:27:30 +00:00
Giuliano Zaro 6136e48df5 🐛 Fix M25/M125 for LCDs with ui.resume_print (#24877) 2023-06-03 16:09:29 -05:00
Manuel McLure b8655ca0ed 🔧 BTT SKR 3 has onboard endstop pullups (#24876) 2023-06-03 15:39:41 -05:00
Scott Lahteine ba08dcfb76 🧑‍💻 Fix narrowing conversions (#25924) 2023-06-03 04:40:07 -05:00
Keith Bennett ac954b57f7 🩹 Endstop hit state followup (#25885)
Followup to #25574
2023-06-02 22:50:45 -05:00
ellensp 739f1027f8 🔨 STM32H723VG (1024KB) (#25921) 2023-06-02 22:47:57 -05:00
ellensp a6b56d171d 🎨 Lowercase followup (#25923)
Followup to #25914
2023-06-02 22:37:29 -05:00
thinkyhead ad0d700a3e [cron] Bump distribution date (2023-06-03) 2023-06-03 00:22:16 +00:00
Scott Lahteine 86c811660e 🧑‍💻 Remove LOOP macros (#25917) 2023-06-02 14:30:34 -05:00
Scott Lahteine 2691167afe 🧑‍💻 Dump BOTH and EITHER macros (#25908) 2023-06-02 14:26:02 -05:00
Scott Lahteine 32be4065ef 🧑‍💻 numtostr use functions 2023-06-02 14:22:29 -05:00
Scott Lahteine bc385122e9 🎨 Lowercase method / data member names (#25914) 2023-06-02 13:34:13 -05:00
Scott Lahteine e45eddfd6c 🔨 Fix pins debugging for Simulator 2023-06-02 12:46:23 -05:00
alextrical 5004159550 🔨 Clarify env error (#25915) 2023-06-02 11:32:43 -05:00
Scott Lahteine d9659d3177 📝 M122 comment 2023-06-01 22:58:17 -05:00
thinkyhead 2de2185d97 [cron] Bump distribution date (2023-06-02) 2023-06-02 01:38:48 +00:00
I3DBeeTech 49134a9467 🔧 Update LCD with NeoPixel Contrast (#25893) 2023-06-01 18:28:34 -05:00
Scott Lahteine 6044cb9955 🌐 Remove unused strings 2023-06-01 17:39:08 -05:00
EvilGremlin ded810cebf 🌐 Update Russian translation (#25840) 2023-06-01 17:35:42 -05:00
Scott Lahteine 9e0dcd4a2b 🧑‍💻 ExtUI::onLevelingStart/Done for all leveling (#25913) 2023-06-01 16:53:02 -05:00
Scott Lahteine ad23b8c559 🚸 Probe Wizard display fix 2023-06-01 14:54:23 -05:00
Keith Bennett 3999d67e51 🔧 Default has Heated Bed (#25895)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-06-01 14:44:19 -05:00
thinkyhead 67f0d6ae5e [cron] Bump distribution date (2023-05-30) 2023-05-30 00:33:07 +00:00
Scott Lahteine 47616c7dfa 🔨 Install 'heatshrink' if needed (#25896) 2023-05-29 19:00:09 -05:00
DejitaruJin d926d4dea4 🩹 Fix and improve GT2560 pins (#25890)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-28 20:22:00 -05:00
thinkyhead b4ba3dd7f3 [cron] Bump distribution date (2023-05-29) 2023-05-29 00:21:30 +00:00
Keith Bennett 0b4500155e 🩹 Update KEDI / GODI LCD_PINS_EN pin (#25886) 2023-05-28 15:29:36 -05:00
thinkyhead ef93b401c3 [cron] Bump distribution date (2023-05-27) 2023-05-27 00:22:42 +00:00
Scott Lahteine 154e48ba22 🎨 Misc. spacing 2023-05-26 18:59:12 -05:00
Scott Lahteine f73fe76b6c 🌐 Language export to CSV 2023-05-26 18:17:37 -05:00
thinkyhead d20ce5ff0a [cron] Bump distribution date (2023-05-26) 2023-05-26 00:21:31 +00:00
EvilGremlin a3eace117c 🧑‍💻 Improve missing translations script (#25841)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-25 02:32:04 -05:00
Scott Lahteine 772e19aab9 EP_BABYSTEPPING (#25869) 2023-05-24 22:10:40 -05:00
Scott Lahteine 1a4e208c69 🩹 Fix card.ls call (in easythreed_ui)
Fix regression in #24679
2023-05-24 21:24:31 -05:00
thinkyhead e2a7249907 [cron] Bump distribution date (2023-05-25) 2023-05-25 00:20:08 +00:00
ellensp eb439b93a5 🩹 Fix ESP32 compile error (#25873) 2023-05-24 02:58:11 -05:00
Scott Lahteine 317450af32 🧑‍💻 Updated toolchain for ststm32@~14.1.0 (#25846) 2023-05-24 02:53:12 -05:00
Scott Lahteine 37d0f49a82 🧑‍💻 Misc. ExtUI LCD cleanup (#25872) 2023-05-24 01:05:55 -05:00
thinkyhead 9036cec562 [cron] Bump distribution date (2023-05-24) 2023-05-24 00:21:21 +00:00
Scott Lahteine e7a5d4d416 Update checkout actions 2023-05-23 03:15:02 -05:00
thinkyhead e82ec734d9 [cron] Bump distribution date (2023-05-23) 2023-05-23 00:21:34 +00:00
alextrical 9ceecefae2 🔨 Fix BTT EBB42 V1.1 compile with -flto (#25849) 2023-05-21 20:38:28 -05:00
thinkyhead 8cd2b0976a [cron] Bump distribution date (2023-05-22) 2023-05-22 00:27:46 +00:00
Scott Lahteine ae3b00db74 🧑‍💻 Fall back to SPI0 with YHCB2004 (#25856) 2023-05-21 17:35:41 -05:00
Andrew d22ce55cd5 🩹 Fix ProUI Manual Mesh / UBL Viewer (#25858) 2023-05-21 17:34:19 -05:00
Scott Lahteine ea63ac8f4d 🩹 Fix TFT LVGL compile error (#25865)
Fixes regression from #24302
2023-05-21 08:38:42 -05:00
thinkyhead 06b1f85514 [cron] Bump distribution date (2023-05-21) 2023-05-21 00:23:00 +00:00
Scott Lahteine 5ed307ceb8 📝 MKS TinyBee pins header 2023-05-20 04:28:33 -05:00
Scott Lahteine 5bc84bf08c 🚸 Improve EEPROM validation (#25860) 2023-05-19 23:30:48 -05:00
thinkyhead 26dfbd0660 [cron] Bump distribution date (2023-05-20) 2023-05-20 00:19:33 +00:00
Scott Lahteine 7d5bd4dfbc 🎨 Cutter pins cleanup 2023-05-19 06:54:48 -05:00
thinkyhead 48c14f1109 [cron] Bump distribution date (2023-05-19) 2023-05-19 00:20:49 +00:00
Scott Lahteine 7249c3c46f 🩹 M493 report followup 2023-05-18 15:48:10 -05:00
I3DBeeTech a886906f01 I3DBEEZ9 board (#25614) 2023-05-18 03:23:29 -05:00
Scott Lahteine 74a6f5961b 🔨 Fix Windows path backslash treated as escape
Co-Authored-By: Luc <8822552+luc-github@users.noreply.github.com>
2023-05-18 03:10:26 -05:00
thinkyhead 51fbe03016 [cron] Bump distribution date (2023-05-18) 2023-05-18 06:06:02 +00:00
Krzysztof Błażewicz b2f372b20f 🚸 Unify edit limits for some E3V2 LCDs (#25045)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-18 00:38:21 -05:00
thinkyhead 3b2341fb61 [cron] Bump distribution date (2023-05-17) 2023-05-17 00:22:49 +00:00
ellensp 3136435c19 🐛 Fix MKS Robin Nano 1.3 F4 pin collision (#25838) 2023-05-16 13:50:57 -05:00
Scott Lahteine 060ddf5e95 🚸 Support Bed Leveling Mesh > 16x16
Co-Authored-By: raTmole <ratmole@users.noreply.github.com>
2023-05-16 02:54:52 -05:00
Giuliano Zaro df078cac92 🔧 TMC Config Inheritance followup (#25783) 2023-05-16 02:46:19 -05:00
Scott Lahteine ed66f498eb 🚸 Fixed-Time Motion EEPROM and Menu (#25835) 2023-05-16 02:46:19 -05:00
Scott Lahteine fadd60441e 🩹 Improve edit menu rounding 2023-05-16 01:32:36 -05:00
Scott Lahteine 25ddde0394 🧑‍💻 Change Marlin DIR bits: 1=Forward, 0=Reverse (#25791) 2023-05-15 22:00:15 -05:00
lukasradek 48496dfec1 ✏️ Fix pin debug ternary (#25832) 2023-05-15 20:49:45 -05:00
Scott Lahteine 6e5f41fe6b 🧑‍💻 Serial ternary args, etc. 2023-05-15 19:50:36 -05:00
thinkyhead dd184cf3c2 [cron] Bump distribution date (2023-05-16) 2023-05-16 00:20:38 +00:00
Andrew 99e38c40be 🩹 Ensure pin_is_protected is defined (#25829) 2023-05-15 16:24:36 -05:00
Scott Lahteine 46e8b9cad9 🔧 Disable FT Motion by default 2023-05-15 00:03:53 -05:00
ellensp 2e24637bd6 "One Click" Print newest file (#25781)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-14 20:48:55 -05:00
Scott Lahteine d17d86d6a5 🧑‍💻 M43 updates 2023-05-14 19:49:57 -05:00
Scott Lahteine b364e44716 📌 TH3D EZBoard SD_DETECT_PIN 27 2023-05-14 19:48:10 -05:00
thinkyhead 1c5426d4af [cron] Bump distribution date (2023-05-15) 2023-05-15 00:22:01 +00:00
ellensp e66cd41654 🐛 Safe Delay for ProUI startup animation (#25827) 2023-05-14 16:47:19 -05:00
Scott Lahteine 5201869a55 🧑‍💻 IA RTS refactor 2023-05-13 21:44:38 -05:00
thinkyhead 18e63ad880 [cron] Bump distribution date (2023-05-14) 2023-05-13 21:44:30 -05:00
Scott Lahteine 4a2db0f706 🧑‍💻 ftdi_language 2023-05-13 19:30:52 -05:00
Scott Lahteine f97a813a2a NUM_REDUNDANT_FANS too 2023-05-13 18:09:48 -05:00
Scott Lahteine 4e1bfc4e0d 🎨 Misc. tweaks to HALs 2023-05-13 18:00:21 -05:00
Vert 5859ff0280 NUM_REDUNDANT_FANS (#25808)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-13 16:51:12 -05:00
ellensp 40aa398285 🐛 Fix large edit value to encoder conversion (#25812) 2023-05-13 16:43:57 -05:00
Giuliano Zaro e89e67fde0 🧑‍💻 Assume Auto Fans < HOTENDS (#25815) 2023-05-13 16:36:23 -05:00
Giuliano Zaro de78b60252 🩹 Remove extraneous MPC temp check (#25816) 2023-05-13 16:31:31 -05:00
Giuliano Zaro 30c3daf031 🔧 No DISABLE_OTHER_EXTRUDERS if < 2 steppers (#25818) 2023-05-13 16:28:17 -05:00
Alexey D. Filimonov d5fdbb89ea 🚸 TFT optional axes/extruder (#25624)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-13 16:25:36 -05:00
Giuliano Zaro 06aed792c0 🩹 MMU2 unload followup (#25825)
Followup to #20147
2023-05-13 16:23:23 -05:00
Scott Lahteine 18005cb91e 🧑‍💻 Constexpr types.h operators (#25811) 2023-05-13 16:12:59 -05:00
Scott Lahteine e41dc273c9 🔧 Update config.ini and script 2023-05-12 20:30:49 -05:00
thinkyhead e7de3b92c9 [cron] Bump distribution date (2023-05-13) 2023-05-13 00:19:22 +00:00
Scott Lahteine 79b0f31585 🔨 Use 'build_src_filter' (#25810) 2023-05-11 19:39:30 -05:00
thinkyhead 5f89ef99e9 [cron] Bump distribution date (2023-05-12) 2023-05-12 00:25:57 +00:00
StevilKnevil 01f5bd3330 🚸 Improved MPCTEMP autotune (#25503) 2023-05-11 19:09:02 -05:00
Muhammad Arslan 8fb9b5804e Blackpill-based custom board (#25152)
Co-authored-by: striker <striker@gmail.com>
2023-05-11 08:18:24 -05:00
thinkyhead a07b7161e9 [cron] Bump distribution date (2023-05-11) 2023-05-11 00:20:08 +00:00
Chris Bagwell 7707cbf338 🔧 Fix SHAPING_MIN_FREQ check (#25358) 2023-05-10 05:59:28 -05:00
Scott Lahteine 03bb28c277 🎨 Misc. temperature cleanup 2023-05-10 04:25:14 -05:00
ellensp 9cf1a8891f 🩹 Optional X followup (#25804) 2023-05-10 04:19:05 -05:00
Scott Lahteine 53b79f5f70 🩹 No const on return type 2023-05-10 04:05:52 -05:00
thinkyhead 21e3e535a6 [cron] Bump distribution date (2023-05-10) 2023-05-10 00:20:07 +00:00
Giuliano Zaro a6404aca45 🔧 Move SOFT_PWM_SCALE fallback to cpp (#25800)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-09 15:52:59 -05:00
ellensp d52d26b4ef 🔧 Update multi-stepper axis conditionals (#25798)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-09 15:37:34 -05:00
Skopus 3a8809c1a7 KEDI (STM32F1) and GODI (ESP32) boards (#25796) 2023-05-09 15:31:17 -05:00
ellensp 1f9bfc5c74 🚸 Optional X-Axis (#25418)
Co-authored-by: alextrical <35117191+alextrical@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-09 13:59:25 -05:00
thinkyhead 3e9848f49c [cron] Bump distribution date (2023-05-09) 2023-05-09 00:27:27 +00:00
Scott Lahteine 70efb515b1 🧑‍💻 PI => M_PI 2023-05-08 18:53:44 -05:00
Scott Lahteine 08207fd086 🧑‍💻 Extend AxisBits 2023-05-08 18:53:44 -05:00
Scott Lahteine c6ea99f4be 🐛 Fix babystep corrupting DIR
Followup to 2538a7c4
2023-05-08 18:53:44 -05:00
ellensp f80e706fad 🔨 MKS Robin2 PIO Env (#25792) 2023-05-08 06:54:46 -05:00
thinkyhead 2ee7ed084b [cron] Bump distribution date (2023-05-08) 2023-05-08 06:06:01 +00:00
Scott Lahteine 1f5b886d12 🩹 Creality F401 Followup
Followup to #25773
2023-05-07 22:06:52 -05:00
Scott Lahteine f207177098 🐛 Fix Babystepping for CoreXZ
Fixes #19988
2023-05-07 21:48:04 -05:00
Scott Lahteine d3ee4eecdf 🩹 Use AxisBits methods 2023-05-07 21:48:04 -05:00
thinkyhead d36f43d80b [cron] Bump distribution date (2023-05-07) 2023-05-07 00:38:13 +00:00
Scott Lahteine 99a9e265b0 🩹 Endstops prelim. followup 2023-05-06 19:15:39 -05:00
Scott Lahteine 12d8108fc6 🚸 Faster default Marlin feedrate 2023-05-06 17:37:54 -05:00
Scott Lahteine d93aa0c384 🐛 Apply direction bits at startup 2023-05-06 17:06:15 -05:00
Scott Lahteine 4528fde7f9 🔧 Apply bootscreen settings to ProUI 2023-05-06 14:57:25 -05:00
Scott Lahteine 97d8a68949 🩹 FT Motion prelim followup 2023-05-06 14:52:58 -05:00
Scott Lahteine 53d06be226 🧑‍💻 Endstops preliminary followup
Followup to #25780
2023-05-06 02:34:58 -05:00
Scott Lahteine af4ba2b1ce 🐛 Minor Fixed-Time Motion patches 2023-05-05 23:58:54 -05:00
Scott Lahteine 40895cbcbb 🔧 Allow TMC_BAUD_RATE override 2023-05-05 20:52:17 -05:00
Scott Lahteine 85325f585a 🧑‍💻 Endstops preliminary work (#25780) 2023-05-05 19:37:13 -05:00
Scott Lahteine 9b883704bc 🚸 Reorder some Menu Items 2023-05-05 19:31:18 -05:00
thinkyhead 2e06e05d7c [cron] Bump distribution date (2023-05-06) 2023-05-06 00:19:16 +00:00
Dmitry Plastinin 9cc16f87e2 🚸 TS35 portrait display (#25629) 2023-05-05 16:05:30 -05:00
Scott Lahteine f8570257f9 🐛 AxisBits union fix 2023-05-05 15:37:27 -05:00
Scott Lahteine 664b35b77c 🧑‍💻 Replace axis_bits_t with AxisBits class (#25761) 2023-05-05 03:03:33 -05:00
Scott Lahteine 2538a7c4d6 🧑‍💻 Move DIR inverting to *_DIR_WRITE 2023-05-05 02:55:03 -05:00
Scott Lahteine 1234e6af52 🧑‍💻 Axis relative flags type 2023-05-05 02:49:21 -05:00
Scott Lahteine 573bc7344b 🎨 NORM_E_DIR => FWD_E_DIR 2023-05-05 02:44:16 -05:00
Scott Lahteine 5abb594f01 🔧 TMC Config Inheritance 2023-05-05 02:27:35 -05:00
Scott Lahteine 673e6d5380 🧑‍💻 Split up stepper.h header 2023-05-05 02:27:35 -05:00
Giuliano Zaro 4e2b5b2523 🩹 Fix Extensible MMU for >8 colors (#25772)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-04 21:30:51 -05:00
thinkyhead e5dfb44fe0 [cron] Bump distribution date (2023-05-05) 2023-05-05 00:19:55 +00:00
Thomas Niccolo Reyes 001d1fd7cb 🚸 Improve MMU2 unload (like original MMU2S) (#20147)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-04 18:09:36 -05:00
Scott Lahteine 6bf789d93f 🎨 Move G28O inside ProUI 2023-05-04 18:05:56 -05:00
thinkyhead cfbd8a2e36 [cron] Bump distribution date (2023-05-04) 2023-05-04 00:20:30 +00:00
Keith Bennett 7642bfbf8b 🐛 Fix TFT Touch Calibration overrides (#25579)
…and other misc. display-related updates

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-03 16:19:32 -05:00
thinkyhead dbed3f1c41 [cron] Bump distribution date (2023-05-03) 2023-05-03 00:20:18 +00:00
Scott Lahteine e1f6435d44 Creality STM32F401RE board (e.g., Ender-5 S1) (#25773) 2023-05-02 17:59:27 -05:00
plampix 21ea9bf50f 🐛 Fix minimal M115, Cap:PROGRESS:0 (#25769)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-05-02 16:50:07 -05:00
ellensp 137ea43422 Creality Ender-2 (Melzi) (#25754) 2023-05-02 16:16:19 -05:00
plampix 9aa69cbc85 Fix G12 Nozzle Clean (#25766)
Followup to #25666
2023-05-02 00:01:44 -05:00
Scott Lahteine 61f0dd2271 🩹 Fix _CAN_HOME for new endstop flags 2023-05-01 22:18:22 -05:00
Scott Lahteine 207535af9d 🔨 Fix Multi-Language Menu criteria 2023-05-01 22:18:22 -05:00
Scott Lahteine 4812ed5053 🎨 Misc. code cleanup 2023-05-01 22:18:22 -05:00
thinkyhead f89fa4cec7 [cron] Bump distribution date (2023-05-02) 2023-05-02 00:24:02 +00:00
Scott Lahteine b042567f76 🩹 Fix TFT sanity error 2023-05-01 18:15:31 -05:00
Scott Mikutsky 4bed8a89db 🐛 Fix STM32 USB disconnect behavior (#25762) 2023-05-01 01:10:46 -05:00
Scott Lahteine 006a9e514b 🩹 NOZZLE_CLEAN_PATTERN_* Followup
Followup to #25666
2023-04-30 23:10:44 -05:00
Scott Lahteine 55cbe15b81 🔧 Remove config.ini obsolete options 2023-04-30 19:40:20 -05:00
thinkyhead 35dd6a3f77 [cron] Bump distribution date (2023-05-01) 2023-05-01 00:22:20 +00:00
Scott Lahteine 9773160639 🔧 Character display has boot screen 2023-04-30 18:32:48 -05:00
Scott Lahteine f246e0d0e4 🔧 Fix X2/Y2 axis pins check 2023-04-30 18:13:59 -05:00
Scott Lahteine 4937a64bcc 🧑‍💻 Use NUM_AXIS_ARRAY 2023-04-30 18:13:59 -05:00
ellensp b88ab391bb 🐛 Fix Ender-2 Stock LCD on MELZI_CREALITY (#25759) 2023-04-30 17:09:54 -05:00
Davide Rombolà 3b50b6aeb1 🔧 Allow BLTOUCH_HS_EXTRA_CLEARANCE == 0 (#25760) 2023-04-30 16:36:47 -05:00
Scott Lahteine ec6bc15d1b 🐛 Fix FT Motion reversed Z 2023-04-29 20:10:33 -05:00
thinkyhead 5aef2c0afa [cron] Bump distribution date (2023-04-30) 2023-04-30 00:22:44 +00:00
Scott Lahteine 4c033c3e47 🧑‍💻 Tweak homing debug 2023-04-29 12:34:56 -05:00
thinkyhead f9db5ab965 [cron] Bump distribution date (2023-04-29) 2023-04-29 00:20:26 +00:00
James Pearson c5a2e41647 🐛 Probe behavior corrections (#25631)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: David Fries <2767875+dfries@users.noreply.github.com>
2023-04-28 17:30:15 -05:00
Scott Lahteine 7d95928cbb 🐛 Fix auto pullup/down settings
Followup to #25748
2023-04-28 13:44:40 -05:00
Scott Lahteine a872232b15 🔧 Move MMU section 2023-04-28 11:03:38 -05:00
Scott Lahteine 6323de309f 🔨 Fix LPC faux pins
Followup to #25332
2023-04-28 11:03:34 -05:00
thinkyhead 0e2c5b45ec [cron] Bump distribution date (2023-04-28) 2023-04-28 00:21:29 +00:00
TheSnowfield 959f7308e7 AUTO_REPORT_REAL_POSITION option for M154 (#25738) 2023-04-27 07:37:11 -05:00
Martin Turski 9a7d9e6995 🧑‍💻 Optimize PlatformIO source filtering (#25332)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-27 07:05:24 -05:00
Scott Lahteine 774861b15d 🔧 Endstops followup 2023-04-26 20:04:01 -05:00
thinkyhead 04a25ab496 [cron] Bump distribution date (2023-04-27) 2023-04-27 00:22:32 +00:00
Scott Lahteine 467ab74523 🧑‍💻 Simplify endstops config (#25748) 2023-04-26 14:56:23 -05:00
Scott Lahteine 358a54ecdc 🔨 Servo Timer 1 with STM32F103RC_fysetc (#25741) 2023-04-26 14:39:56 -05:00
Giuliano Zaro 79b455575b 🔧 Thermistor 100 : SoC sensor (#25745)
Followup to #25642
2023-04-26 14:38:39 -05:00
Scott Lahteine d364babbc0 🧑‍💻 Change HAL_PATH macro for easier HAL relocation (#25743) 2023-04-26 14:29:21 -05:00
Scott Lahteine 1771d7ab64 Skip change alerts in CI test 2023-04-26 13:51:33 -05:00
Scott Lahteine 68f74784a3 🎨 Misc. fixes, cleanup 2023-04-26 13:50:45 -05:00
Scott Lahteine 08edb6282f 🔧 Extra axis endstop defaults 2023-04-26 03:00:53 -05:00
thinkyhead a4cc9b60fd [cron] Bump distribution date (2023-04-26) 2023-04-26 00:21:12 +00:00
Giuliano Zaro f5a905a641 TEMP_SENSOR_SOC (#25642)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-24 23:41:26 -05:00
Scott Lahteine d1738e946a 🔧 Fix LCD_SERIAL_PORT config 2023-04-24 23:41:26 -05:00
Anson Liu 650e6fc426 🔨 Prevent SlowSoftWire + Wire name conflict (#25707) 2023-04-24 21:07:12 -05:00
thinkyhead c034819cf8 [cron] Bump distribution date (2023-04-25) 2023-04-25 00:20:57 +00:00
InsanityAutomation 134958a535 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-04-24 13:25:58 -04:00
Scott Lahteine 077a620e21 📝 Developer note in boards.h 2023-04-24 05:24:40 -05:00
Scott Lahteine 2954bf2697 🌐 Replace '=' with '{' for substitution 2023-04-24 00:28:16 -05:00
Nick 743903b96f 🩹 Fix Anycubic PlayTune (#25735)
Followup to #25690

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-23 19:50:39 -05:00
thinkyhead 02a14d31b2 [cron] Bump distribution date (2023-04-24) 2023-04-24 00:21:28 +00:00
plampix df4f80622e NOZZLE_CLEAN_PATTERN_* (#25666)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-23 18:12:47 -05:00
ellensp 9902097d91 🔨 Gather GD32, suppress redundant #error (#25665)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-23 18:11:02 -05:00
Scott Lahteine 10ed5ab01c 🚸 Improve PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED (#25681) 2023-04-23 03:17:55 -05:00
Scott Lahteine 166935641a 🔧 Split followup 2023-04-23 03:00:56 -05:00
Scott Lahteine aaf55a21ad 🩹 Fix UBL safe measure move with extra axes
Followup to 7e79fc5b
2023-04-23 02:07:42 -05:00
Scott Lahteine 69f8da4682 🔧 Split Changes.h from SanityCheck.h (#25732) 2023-04-23 01:58:01 -05:00
Scott Lahteine f0f7ec8882 🧑‍💻 Stepper::set_directions() => apply_directions() 2023-04-23 00:47:44 -05:00
Scott Lahteine 921591d2b8 🧑‍💻 SDIO_SUPPORT => ONBOARD_SDIO 2023-04-22 23:15:31 -05:00
Scott Lahteine 5664c02d07 🧑‍💻 Generalize SDSUPPORT as HAS_MEDIA
In preparation for single- and multi-volume refactoring.
2023-04-22 22:43:09 -05:00
Jason Smith ce85b98db4 🩹 Relocate Fan conditionals, sanity-checks (#25731)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-22 22:27:01 -05:00
thinkyhead 95cfc98fe4 [cron] Bump distribution date (2023-04-23) 2023-04-23 00:22:56 +00:00
ellensp 5d8d38a911 🩹 Status / Host Prompt followup (#25720)
Followup to #25679

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-22 15:59:51 -05:00
thinkyhead 31173394b8 [cron] Bump distribution date (2023-04-22) 2023-04-22 12:06:22 +00:00
ellensp c8ed7950f4 🔧 Permit extrude without hotend (#25709)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-22 04:09:17 -05:00
Alexey D. Filimonov 89ccede139 🎨 Clean up TFT Color UI display items (#25712)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-22 04:06:19 -05:00
ellensp fba1f83855 🩹 Fix Anycubic PlayTune (#25728)
Followup to #25690
2023-04-22 04:02:51 -05:00
Nomis-97 726de7e821 🐛 Fix MKS Gen-L MOSFETs (#25717) 2023-04-22 03:16:19 -05:00
Scott Lahteine 4233e4864f 🚸 MarlinUI Endstop Test Screen, and more (#25667) 2023-04-22 01:56:10 -05:00
thinkyhead 98277f2c1c [cron] Bump distribution date (2023-04-21) 2023-04-21 00:20:12 +00:00
Scott Lahteine ded9ffa1e7 🧑‍💻 Apply INVERT_DIR to SET_STEP_DIR 2023-04-20 17:35:20 -05:00
Scott Lahteine 335ba32a0e 🩹 Fix Core Kinematics BABYSTEP_XY 2023-04-20 17:31:49 -05:00
Keith Bennett 91cce2a7b3 Panowin Cutlass / Bardo (F1 / Trinus) (#25663) 2023-04-19 21:42:05 -05:00
Keith Bennett de7726ca01 🚸 Permit G38 with Core (#25713) 2023-04-19 19:21:53 -05:00
thinkyhead c087ad04d3 [cron] Bump distribution date (2023-04-20) 2023-04-20 00:20:18 +00:00
Keith Bennett 4ac9cfba4f 🔧 Check renamed LIN_ADVANCE_K (#25710) 2023-04-19 16:53:11 -05:00
Jay Robson fad1dcefbc 🐛 Fix G38 with Z, support 9 axes (#25691)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-19 15:58:42 -05:00
ellensp 19b4ae862b 🩹 Correctly add JSON to mc.zip (#25706) 2023-04-18 19:50:11 -05:00
thinkyhead 5e2e00306e [cron] Bump distribution date (2023-04-19) 2023-04-19 00:22:13 +00:00
Giuliano Zaro 158c4de4f6 🩹 Bail on 'mc.zip' write error (#25695)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-18 03:40:13 -05:00
Scott Lahteine 0c2ed8688d 🩹 Z clearance followup 2023-04-17 21:00:25 -05:00
Scott Lahteine c8c5ab22ce 🧑‍💻 Gather Z clearances (#25701) 2023-04-17 19:29:53 -05:00
thinkyhead 364d8566b0 [cron] Bump distribution date (2023-04-18) 2023-04-18 00:25:20 +00:00
Scott Lahteine e6308f5d02 🩹 const_float_t => float 2023-04-17 19:17:57 -05:00
tombrazier 4d8ab1c401 🐛 Prevent Linear Advance stall (#25696) 2023-04-17 17:48:56 -05:00
ellensp ff44663f5f 🔨 Fix, clean up STM32F1 envs (#25697)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-17 14:51:25 -05:00
thinkyhead b39b5bbbc9 [cron] Bump distribution date (2023-04-17) 2023-04-17 00:20:56 +00:00
Scott Lahteine ace9855d6f 🧑‍💻 Minor SpindleLaser::set_enabled tweak 2023-04-16 19:11:56 -05:00
Alexey D. Filimonov 09ddf9c6ef 🩹 Fix Spindle/Laser ENA pin test (#25622) 2023-04-16 18:38:12 -05:00
Bob Kuhn 802fe519a3 🩹 Fix laser with no PWM compile (#25290) 2023-04-16 18:35:13 -05:00
Giuliano Zaro b6a1a6273f 🩹 Fix MPC compile (#25669) 2023-04-15 23:59:23 -05:00
Dennis Lawler e49cf0665a 🚸 Echo G30 out-of-bounds (#25671) 2023-04-15 23:50:26 -05:00
XDA-Bam 2fcc140c0d 🩹 Fix 'G29 J' status message (#25677) 2023-04-15 22:26:46 -05:00
Scott Lahteine 6e3b58d76a 🧑‍💻 Anycubic shared code (#25690) 2023-04-15 22:24:14 -05:00
Andrew 883bde07c6 🔧 Animated bootscreen U8glib-only (#25684) 2023-04-15 20:51:51 -05:00
Giuliano Zaro cc35cb3876 🐛 Fix Configuration Embedding (#25688) 2023-04-15 20:26:08 -05:00
Scott Lahteine 78bdf34b7b 🧑‍💻 HostUI::continue_prompt method 2023-04-15 20:22:17 -05:00
Scott Lahteine 9a1c02591b 🧑‍💻 Status Message cleanup 2023-04-15 20:22:17 -05:00
Scott Lahteine 48b712fdc0 🧑‍💻 JyersUI code cleanup 2023-04-15 20:22:17 -05:00
Scott Lahteine 6d819eb8d4 🧑‍💻 Apply simplified ?: 2023-04-15 20:22:17 -05:00
Scott Lahteine 92721d1bf7 🚸 "Main" => "Main Menu" 2023-04-15 20:22:17 -05:00
Scott Lahteine 42c62ff84e STARTUP_TUNE configuration 2023-04-15 20:19:48 -05:00
thinkyhead cc3a355ffb [cron] Bump distribution date (2023-04-16) 2023-04-16 00:21:45 +00:00
Scott Lahteine d77e921a15 STARTUP_TUNE option 2023-04-15 01:59:09 -05:00
Scott Lahteine 756fd1b9ac 🔧 Trigorilla / Chiron updates
Followup to c3f34e4e
2023-04-15 01:59:09 -05:00
thinkyhead b44d21c595 [cron] Bump distribution date (2023-04-15) 2023-04-15 00:21:50 +00:00
Scott Lahteine efc725863a 🔧 Edge Stepping sanity-check (#25674) 2023-04-14 17:14:04 -05:00
Scott Lahteine 161b99cb54 🐛 Fix some bad feedrates (#25672) 2023-04-14 01:08:51 -05:00
thinkyhead c3921bbf3f [cron] Bump distribution date (2023-04-14) 2023-04-14 00:19:41 +00:00
Scott Lahteine c8cb618fac 🔨 Improve runout script check 2023-04-13 04:59:43 -05:00
Scott Lahteine b3198ed929 🩹 Fix AUTOFAN_CASE
Followup to #25554
2023-04-13 04:59:43 -05:00
Scott Lahteine c3f34e4eb2 🔧 Move FIL_RUNOUT_PIN for Chiron + GLCD 2023-04-13 04:59:43 -05:00
thinkyhead cbe796e2d6 [cron] Bump distribution date (2023-04-13) 2023-04-13 00:19:21 +00:00
Scott Lahteine 0f34163558 🚸 Minor M43 improvements 2023-04-12 00:14:19 -05:00
Scott Lahteine f5c7b190f6 🐛 Fix BLTOUCH_HS_MODE config 2023-04-11 23:44:20 -05:00
thinkyhead 7369a6a37b [cron] Bump distribution date (2023-04-12) 2023-04-12 00:22:30 +00:00
Scott Lahteine b1537135e4 🚸 BLTouch extra clearance for PROBE_PT_RAISE 2023-04-11 18:47:31 -05:00
Scott Lahteine b3a3cf28d2 🚸 More clearance on fast probe failure 2023-04-11 18:47:31 -05:00
Scott Lahteine b5899a9664 🧑‍💻 Use largest_sensorless_adj in DELTA run_z_probe 2023-04-11 18:47:31 -05:00
Scott Lahteine 4e73fdd03a 🧑‍💻 Update move_z_after_probing/homing 2023-04-11 18:47:31 -05:00
Scott Lahteine c599c939c1 🧑‍💻 Modify try_to_probe sanity-checking 2023-04-11 18:47:31 -05:00
Scott Lahteine 8c0ae93d2a 🧑‍💻 Clarify G28 R / R0 2023-04-11 18:47:31 -05:00
Scott Lahteine f53217b2c5 🧑‍💻 Probe flag in do_z_clearance 2023-04-11 18:47:31 -05:00
Scott Lahteine 185961f898 🧑‍💻 More debug in motion.* 2023-04-11 18:47:31 -05:00
Scott Lahteine e9f483b480 📝 Improve G30 description 2023-04-11 18:47:31 -05:00
David Fries c6e564885e BLTOUCH_HS_EXTRA_CLEARANCE (#25655)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-04-11 18:37:54 -05:00
thinkyhead c37797ba2c [cron] Bump distribution date (2023-04-11) 2023-04-11 06:06:17 +00:00
Scott Lahteine 832f769b46 📝 Describe G34, spellcheck 2023-04-10 23:38:21 -05:00
Scott Lahteine c4aa39dc86 🩹 Fix BLTouch stow in homeaxis(Z) 2023-04-10 23:03:15 -05:00
Scott Lahteine 25e5a3597f 🚸 Fix G30 behavior
Co-Authored-By: David Fries <2767875+dfries@users.noreply.github.com>
2023-04-10 22:44:30 -05:00
Scott Lahteine 266786406c 🎨 Misc. probe-related cleanup 2023-04-10 20:41:33 -05:00
thinkyhead 182497fc39 [cron] Bump distribution date (2023-04-10) 2023-04-10 12:07:12 +00:00
ellensp 7a5934ff47 🔧 Update thermocouple 2 pin sanity check (#25627) 2023-04-10 05:17:50 -05:00
David Fries 54aef53c4d ️ Skip a redundant BLTouch::command (#25656) 2023-04-10 04:38:38 -05:00
ellensp 12d6043d86 🩹 Fix MARLIN_F446Zx_TRONXY variant (#25659)
Followup to 9be1554f
2023-04-10 04:16:52 -05:00
thinkyhead 8c897babce [cron] Bump distribution date (2023-04-09) 2023-04-09 00:22:09 +00:00
Scott Lahteine cd5dc7203c ♻️ LCD_PINS_ENABLE => LCD_PINS_EN 2023-04-08 14:24:58 -05:00
Chris Pepper 56f2da8c9d 🩹 Fix SD partitionTable packing (#25648) 2023-04-07 20:55:10 -05:00
Jason Smith c7290f00e0 🎨 Suppress M122 sign warning (#25613) 2023-04-07 20:52:33 -05:00
thinkyhead f1970b9da8 [cron] Bump distribution date (2023-04-08) 2023-04-08 00:18:59 +00:00
Scott Lahteine fa0b86ff98 🔧 Move TFT sanity checks 2023-04-07 18:53:49 -05:00
Scott Lahteine f0f5cd4734 🧱 Bump all the dates 2023-04-07 14:45:55 -05:00
Scott Lahteine 836c8ce5e5 🎨 Detab some build files 2023-04-07 01:54:07 -05:00
Scott Lahteine 27b828891d 🎨 Apply const (#25643) 2023-04-07 01:33:03 -05:00
ellensp 74b205c7ab 🚸 Support CoreXY without Z (#25630) 2023-04-07 01:32:25 -05:00
thinkyhead 2fa4a77584 [cron] Bump distribution date (2023-04-07) 2023-04-07 06:06:14 +00:00
Scott Lahteine 5b1f087c5b 📝 Update Ender # labels 2023-04-06 17:24:32 -05:00
Scott Lahteine 42a5ae8716 🧑‍💻 Update pinsformat.js 2023-04-06 16:58:41 -05:00
Scott Lahteine 7e700c1394 🔧 Move DOGLCD options 2023-04-05 14:02:52 -05:00
Scott Lahteine 4aec74f246 🐛 INVERT_*_DIR for FT_MOTION (#25637) 2023-04-05 11:58:24 -05:00
Scott Lahteine e687490f41 🐛 Clean up DELTA babystep Z 2023-04-04 21:52:30 -05:00
Scott Lahteine 80839cf020 🐛 Ensure root for 'M503 C' 2023-04-04 20:57:07 -05:00
Scott Lahteine c25a6737c6 🩹 FT_MOTION Followup 2023-04-01 16:51:15 -05:00
Scott Lahteine c47189a9d9 🔨 Move Docker local test script
Followup to #25583
2023-04-01 02:16:48 -05:00
Giuliano Zaro 1be2a7e4c1 🌐 Update Italian language (#25587) 2023-03-31 23:19:48 -05:00
Eduard Sukharev 06d9a2ff8f 🐛 Fix Long FIlename lookup (#25598) 2023-03-31 21:45:53 -05:00
Scott Lahteine c37fa3cc90 Fixed-Time Motion with Input Shaping by Ulendo (#25394)
Co-authored-by: Ulendo Alex <alex@ulendo.io>
2023-03-31 21:18:37 -05:00
Scott Lahteine 8cdf43f8fd 🎨 HAS_SHAPING => HAS_ZV_SHAPING 2023-03-31 20:26:49 -05:00
thinkyhead afb9ed73ac [cron] Bump distribution date (2023-04-01) 2023-04-01 00:27:45 +00:00
Scott Lahteine 06e5273d24 🧑‍💻 CardReader adjustments (#25611) 2023-03-31 18:18:25 -05:00
ellensp 16bd900a56 🔧 Fix SENSORLESS hit state error (#25604) 2023-03-31 01:04:40 -05:00
Scott Lahteine 20e2305011 🔧 DGUS_LCD_UI selectable options 2023-03-31 00:33:54 -05:00
thinkyhead b1398cf3ab [cron] Bump distribution date (2023-03-31) 2023-03-31 00:21:31 +00:00
Scott Lahteine c91f3a7884 🩹 Fix displayed mix percentages 2023-03-30 15:13:25 -05:00
Scott Lahteine 49f1cc8efe 🎨 Refine probe, more debug 2023-03-30 12:55:05 -05:00
Scott Lahteine a8ac83bbca 🐛 Fix _HAS_FAN for fan on Pin 0 2023-03-29 22:34:07 -05:00
Scott Lahteine 6a8ebdcd50 🩹 Fix Ender-3 V2 with no fan 2023-03-29 22:02:06 -05:00
Scott Lahteine e60df9d0af 🩹 Update Trigorilla V006 fan pin
Followup to #25568
2023-03-29 22:01:49 -05:00
thinkyhead 6f5fd42511 [cron] Bump distribution date (2023-03-30) 2023-03-30 00:21:52 +00:00
Chris Pepper 3b425d9a38 🔨 MarlinSimUI updates (#25589) 2023-03-28 23:45:22 -05:00
John Unland 54e29d75d7 🔨 Improve Docker local tests support (#25583) 2023-03-28 23:23:27 -05:00
Andrew 93eeee2230 🎨 Remove unused ProUI : UBLValidMesh (#25591) 2023-03-28 23:20:52 -05:00
ellensp 2c6aff5c79 🔧 Impose Hephestos 2 Bed Kit requirements (#25585) 2023-03-28 21:36:05 -05:00
thinkyhead 7185b34fd7 [cron] Bump distribution date (2023-03-29) 2023-03-29 00:24:23 +00:00
Scott Lahteine 83da21089f 🔨 Update config.ini endstop states
Followup to #25574
2023-03-28 16:38:56 -05:00
Scott Lahteine 9911104036 🔧 Fix up WiFi options (#25586) 2023-03-28 16:14:37 -05:00
Scott Lahteine de0cd66070 🎨 Misc. cleanup 2023-03-28 05:40:23 -05:00
thinkyhead 70063fb652 [cron] Bump distribution date (2023-03-28) 2023-03-28 00:21:53 +00:00
Eduard Sukharev a3ab435acf 🐛 Fix M23 long filename support (#25540) 2023-03-27 13:55:56 -05:00
Alexander Gavrilenko e0132f7a1e ️ Improve TFT DMA for STM32 (#25359) 2023-03-27 13:17:02 -05:00
Giuliano Zaro 41487bc9e7 🎨 Suppress a type warning (#25575) 2023-03-26 21:57:56 -05:00
Scott Lahteine 08675612d5 🐛 Fix AnyCubic Vyper ProcessPanelRequest
Followup to #25405
2023-03-26 21:38:49 -05:00
Scott Lahteine c2decc3e2e 🔨 Fix thread-unsafe deque iteration 2023-03-26 20:56:37 -05:00
thinkyhead 1adf76dd23 [cron] Bump distribution date (2023-03-27) 2023-03-27 00:21:15 +00:00
Scott Lahteine 61f22f34d3 🔧 Clarify axis disable / timeout (#25571) 2023-03-26 17:24:40 -05:00
Scott Lahteine 39652d93ab 🔧 Sanity-check for endstop inverting
Followup to #25574
2023-03-26 17:14:51 -05:00
tombrazier 241c062188 🐛 Prevent divide-by-zero in calc_timer_interval (#25557) 2023-03-26 04:46:55 -05:00
Scott Lahteine 24a9a66f0a 🧑‍💻 Auto Fan / Cooler Fan updates (#25554) 2023-03-26 04:36:12 -05:00
Keith Bennett 48b7c79113 🩹 Fix Touch Calibration first point (#25298) 2023-03-26 04:09:27 -05:00
Bob Kuhn 0021a58943 AnyCubic Vyper / Vyper LCD (#25405) 2023-03-26 04:07:25 -05:00
Scott Lahteine ea5d7e2eee 🔧 Refactor endstop state config (#25574) 2023-03-26 04:00:12 -05:00
Scott Lahteine cb0a8f2fe2 🎨 Timer tweaks 2023-03-25 20:18:04 -05:00
thinkyhead b4b2b3e61c [cron] Bump distribution date (2023-03-26) 2023-03-26 00:24:07 +00:00
Giuliano Zaro aeb8eabfcc 📝 Fix spelling (#25563) 2023-03-25 18:34:56 -05:00
Scott Lahteine 2e4bf0ab9b 🎨 Rename FAN_PIN to FAN0_PIN (#25568) 2023-03-25 18:20:14 -05:00
Scott Lahteine 01296788dc 🩹 Refine MKS boards with a dedicated FAN port (#25567) 2023-03-25 17:35:32 -05:00
ellensp 8d3142911c 🐛 Fix MKS Gen L 2.1 MOSFET pins (#25542) 2023-03-24 23:25:46 -05:00
Keith Bennett de4452fda6 🔧 Remove TVPM warning (#25551) 2023-03-24 23:15:33 -05:00
ellensp 1b72729698 🩹 Fix Chitu3D V6 default probe pin (#25552) 2023-03-24 23:14:21 -05:00
thinkyhead aba42052c3 [cron] Bump distribution date (2023-03-25) 2023-03-25 00:20:40 +00:00
Scott Lahteine d74e65362f 🩹 Update TRONXY_V10 SPI_FLASH pins 2023-03-24 18:43:53 -05:00
Scott Lahteine ec91d5a1ef 🎨 Misc. fixes, cleanup
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-03-24 18:25:48 -05:00
Scott Lahteine 8b6155deee 🔨 INI Updates
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-03-24 18:25:48 -05:00
Scott Lahteine 39d08d90cd 🎨 LPC_SOFTWARE_SPI => SOFTWARE_SPI
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-03-24 18:25:48 -05:00
Scott Lahteine 50b6297523 🎨 Wrap font includes
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-03-24 18:25:48 -05:00
Scott Lahteine 0914f9e0e1 🎨 Pins header comments
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-03-24 18:25:48 -05:00
Scott Lahteine 769ad27645 🎨 TMC SPI Pins
Co-Authored-By: Martin Turski <turningtides@outlook.de>
2023-03-24 18:25:48 -05:00
Martin Turski 28666f2fb2 🩹 Reset touch screen calibration on failure (#25334)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-23 23:08:28 -05:00
thinkyhead c641208ceb [cron] Bump distribution date (2023-03-24) 2023-03-24 00:21:09 +00:00
Scott Lahteine 17b43d6b3d 🎨 calibration_stage => stage 2023-03-23 17:19:20 -05:00
thinkyhead 724ba4b4e6 [cron] Bump distribution date (2023-03-23) 2023-03-23 00:22:05 +00:00
Scott Lahteine 91b5015a8b 🧑‍💻 ExtUI::onSetPowerLoss 2023-03-22 03:44:54 -05:00
BIGTREETECH 2ecd4cca1b FILAMENT_SWITCH_AND_MOTION (#25548)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-22 02:46:03 -05:00
thinkyhead 8b1830c487 [cron] Bump distribution date (2023-03-22) 2023-03-22 00:23:38 +00:00
John Lagonikas 06cfd9c54a PROBING_TOOL (#24411) 2023-03-21 19:15:51 -05:00
thinkyhead d450f67caa [cron] Bump distribution date (2023-03-20) 2023-03-20 00:23:12 +00:00
tombrazier ca77850cbb 🐛 Avoid step rate overflow (#25541) 2023-03-19 16:30:51 -05:00
FilippoR fd36e69bd2 Z_SERVO_DEACTIVATE_AFTER_STOW (#24215) 2023-03-19 03:55:34 -05:00
Scott Lahteine 9249f61a80 🩹 Fix a serial_ternary 2023-03-18 21:57:06 -05:00
StevilKnevil 7e25e87807 REPORT_ADAPTIVE_FAN_SLOWING (#25537) 2023-03-18 19:57:34 -05:00
thinkyhead 432aeeefe3 [cron] Bump distribution date (2023-03-19) 2023-03-19 00:55:20 +00:00
Scott Lahteine e6ac9ff204 ️ Misc. optimizations 2023-03-18 19:53:27 -05:00
ellensp 283d093a4c 🩹 Fix Ender 2 stock LCD (#25538) 2023-03-18 19:17:21 -05:00
John Lagonikas 5be895d906 🚸 Temperature Variance Monitor tweaks (#23571)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 06:43:15 -05:00
tombrazier 3c88270361 ️ Smart Adaptive Multi-Stepping (#25474) 2023-03-18 05:34:53 -05:00
John Robertson 6f2d8a3872 🔧 Sanity-check PRINTCOUNTER_SAVE_INTERVAL + ESP32 I2S Exp (#25527)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 05:33:15 -05:00
Farva42 5abfc6160f 🚸 Fix / improve LCD_BED_TRAMMING (#25425)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 05:15:33 -05:00
Piotr Paczyński fbb1c82bc2 🐛 Prevent MPC E-permm overrun in Load Filament (#25531)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 05:15:33 -05:00
George Fu 927915a4e6 🐛 Fix FYSETC Cheetah v2.0 Servo/Probe pins (#24635)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 05:15:33 -05:00
Liam Powell 8c64fdd091 🔨 Fix STM32H723Vx_btt for case-sensitive (#25535) 2023-03-18 05:15:33 -05:00
Eduard Sukharev d0669527c4 🐛 Fix LVGL / MKS WiFi long filename (#25483)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 05:15:33 -05:00
James Gilliland 88da531e5d 🚸 Improve Z-Probe raise for deploy (#25498)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 05:15:30 -05:00
Keith Bennett 98c0cc044d 🔧 SQUARE_WAVE_STEPPING => EDGE_STEPPING (#25526)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-18 04:32:13 -05:00
Davide Rombolà ac1e2d0fbc 🎨 Suppress warning (#25529) 2023-03-18 01:35:54 -05:00
Davide Rombolà ce97e42aa0 🎨 Clean up IA_CREALITY includes (#25530) 2023-03-18 01:33:57 -05:00
Scott Lahteine f50603ff1d 🧑‍💻 More IntelliSense-friendly declares 2023-03-18 01:22:57 -05:00
Michael Hill c914761327 Sovol v1.3.1 (Sovol SV06) (#25267) 2023-03-18 00:56:07 -05:00
Scott Lahteine b5836b243a 🔧 Optional MPC_AUTOTUNE to save 5.5 - 5.8KB 2023-03-18 00:06:45 -05:00
thinkyhead 6f5b7a8b26 [cron] Bump distribution date (2023-03-18) 2023-03-18 00:21:56 +00:00
jamespearson04 89e8257008 🚸 Refinements for UBL G29 J (tilt mesh) (#25486) 2023-03-16 20:06:55 -05:00
thinkyhead ae4fa0ab68 [cron] Bump distribution date (2023-03-17) 2023-03-17 00:22:26 +00:00
Scott Lahteine 507c122fcf ♻️ Refactor UBL 'G29 J' 2023-03-16 00:45:13 -05:00
Scott Lahteine 51d3eabf46 ♻️ Refactor PROBE_PT_[123] 2023-03-16 00:45:13 -05:00
ellensp 41b3409ba8 🔧 Safer default for Z_MIN_PROBE_PIN override (#25524)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-16 00:42:52 -05:00
thinkyhead 32c7e24b4b [cron] Bump distribution date (2023-03-16) 2023-03-16 00:52:51 +00:00
dwzg 0a00662b54 🩹 Fix DWIN MarlinUI Fan/E/XY (#25502) 2023-03-15 19:15:54 -05:00
Scott Lahteine 65b97438fa 🩹 Fan Menu / Status fixes
Followup to #21888
2023-03-15 19:13:57 -05:00
Scott Lahteine 10983d0cfe 🎨 Misc. tramming menu cleanup (#25519) 2023-03-15 00:29:37 -05:00
Scott Lahteine 66d94ece33 🎨 Misc. formatting 2023-03-14 19:43:09 -05:00
thinkyhead 50893c414d [cron] Bump distribution date (2023-03-15) 2023-03-15 00:30:47 +00:00
Davide Rombolà 1cf85196b6 🩹 Fix IA_CREALITY float, startup (#25493)
Followup to #25440
2023-03-14 18:54:24 -05:00
Eduard Sukharev f90c49910d 🐛 Fix long filename read/report (#25509) 2023-03-14 16:49:49 -05:00
jbubik 3156595078 🐛 Fix Polargraph without Z (#25514) 2023-03-13 20:19:24 -05:00
thinkyhead 6f5d33ce55 [cron] Bump distribution date (2023-03-14) 2023-03-14 00:20:33 +00:00
Neo2003 9039e99df1 📺 DGUS_RELOADED 1.03 (#25490) 2023-03-13 16:55:03 -05:00
Scott Lahteine db2b8a695d ️ Update ISR cycle counts
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-13 16:49:33 -05:00
Scott Lahteine 143a8701d5 ️ Optimize speed lookup for AVR
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-13 16:49:33 -05:00
Scott Lahteine 3365172e7c 🔧 Expose MULTISTEPPING_LIMIT option
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-13 16:49:33 -05:00
Scott Lahteine 549419e084 ️ Set steps_per_isr in calc_multistep_timer_interval
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-13 16:49:33 -05:00
Scott Lahteine e4b83ad5f5 ️ Major shaper optimization
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-13 16:49:33 -05:00
thinkyhead e1a209d0ce [cron] Bump distribution date (2023-03-13) 2023-03-13 00:22:40 +00:00
Scott Lahteine 4a0cb4fb4a ️ Use AxisFlags for step_needed
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-12 15:18:54 -05:00
Scott Lahteine d554844a51 ️ Use cached la_active state
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-12 15:18:54 -05:00
Scott Lahteine 194f58740a ️ Use hal_timer_t for timing vars
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-12 15:18:54 -05:00
Scott Lahteine 4fdb0fbe8e MAX7219_DEBUG_MULTISTEPPING
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-12 15:18:54 -05:00
Scott Lahteine f9d3939d23 🎨 Cosmetic stepper updates
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-12 15:18:54 -05:00
Scott Lahteine cb66bff924 ️ Exit from ISR on AVR already does sei
Co-Authored-By: tombrazier <68918209+tombrazier@users.noreply.github.com>
2023-03-12 13:23:59 -05:00
Keith Bennett 4527908c11 BTT Octopus … followup (#25495)
Followup to #25387
2023-03-11 19:44:56 -06:00
thinkyhead fe32582262 [cron] Bump distribution date (2023-03-12) 2023-03-12 00:24:43 +00:00
Keith Bennett 3e12934ea0 🐛 Fix Anet ET4 SD_SS_PIN (#25492) 2023-03-11 02:08:07 -06:00
thinkyhead 987923ecb4 [cron] Bump distribution date (2023-03-11) 2023-03-11 00:20:20 +00:00
Keith Bennett 28b101ccef BTT Octopus Max EZ 1.0, SKR 3.0 / 3.0 EZ (#25387)
BTT Octopus Max EZ V1.0 (STM32H723VE/ZE), SKR V3.0 / V3.0 EZ (STM32H723VG)
2023-03-10 17:56:33 -06:00
InsanityAutomation 0f7ef6b586 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-03-10 09:10:03 -05:00
thinkyhead cff395236c [cron] Bump distribution date (2023-03-10) 2023-03-10 06:06:44 +00:00
Evgeniy Zhabotinskiy 904ddf8551 Z_SAFE_HOMING_POINT_ABSOLUTE (#23069) 2023-03-09 18:56:19 -06:00
thinkyhead 26f96dc7a6 [cron] Bump distribution date (2023-03-09) 2023-03-09 12:08:13 +00:00
Sion Williams 32dcd7f118 🔨 VSCode + Devcontainer support (#22420) 2023-03-09 02:45:01 -06:00
Scott Lahteine 1d06fe8e26 🔧 Update some config.ini options 2023-03-09 01:37:09 -06:00
Kurt Haenen db5ff20b72 Extra Z Servo Probe options (#21427)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-09 00:20:30 -06:00
thinkyhead 0b473eecbc [cron] Bump distribution date (2023-03-08) 2023-03-08 00:23:50 +00:00
Scott Lahteine 4b9bb85b12 🔧 Add DGUS_LCD_UI RELOADED conditions 2023-03-06 23:17:19 -06:00
albatorsssx cc31537ae3 🌐 DGUS Reloaded non-accented French (#25443)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-03-06 20:04:47 -06:00
thinkyhead 0e2837e3e7 [cron] Bump distribution date (2023-03-07) 2023-03-07 00:40:18 +00:00
Scott Lahteine e053827831 🌐 Update Turkish language
Followup to #25447
2023-03-06 13:55:38 -06:00
Scott Lahteine 22f370a3fa 🧑‍💻 Script to make non-accented languages 2023-03-05 19:16:50 -06:00
thinkyhead c2572de9f4 [cron] Bump distribution date (2023-03-06) 2023-03-06 00:23:51 +00:00
Abdullah YILMAZ c63577fd1d 🌐 Update Turkish language (#25447) 2023-03-05 16:29:43 -06:00
alextrical 33ed748004 🐛 Fix Flash EEPROM for STM32G0B1CB (#25469) 2023-03-05 16:28:50 -06:00
Hans-Christian Ebke dee4ef09f8 🐛 Fix apply_power for SPINDLE_SERVO (#25465) 2023-03-05 16:25:11 -06:00
thinkyhead f3f7b1e7e3 [cron] Bump distribution date (2023-03-05) 2023-03-05 00:26:20 +00:00
Scott Lahteine f0c8c91820 🧑‍💻 Width/Magnitude-based types (#25458) 2023-03-03 20:44:24 -06:00
EvilGremlin e977232735 Switching extruder/nozzle without servo (e.g., Dondolo) (#24553)
Co-authored-by: Anson Liu <ansonl@users.noreply.github.com>
2023-03-03 20:43:20 -06:00
thinkyhead f359f8818a [cron] Bump distribution date (2023-03-04) 2023-03-04 00:28:15 +00:00
tombrazier c1ced60db0 🐛 Fix ISR_SHAPING_LOOP_CYCLES (#25335) 2023-03-03 14:37:10 -06:00
ellensp 8b74df0095 🔨 Fix 'step' type in createTemperatureLookupMarlin.py (#25455) 2023-03-03 14:32:04 -06:00
Giuliano Zaro 3c492793e0 🌐 Update Italian language (#25454) 2023-03-03 14:27:15 -06:00
jamespearson04 59f30d384c 🐛 Fix UBL 'G29 J' mesh tilt (#25453)
Fix regression from #24214
2023-03-03 14:26:38 -06:00
Scott Lahteine 13eab74fb8 ♻️ Stepper options followup
Followup to #25422
2023-03-03 14:22:21 -06:00
Scott Lahteine 593567b440 📝 Fix a comment 2023-03-03 13:42:46 -06:00
thinkyhead 49911c8f5d [cron] Bump distribution date (2023-03-02) 2023-03-02 06:06:30 +00:00
Marcio T 41115e0590 🚸 Improve CocoaPress Touch UI (#25446) 2023-03-01 22:07:23 -06:00
Scott Lahteine 31f1a0207f 🌐 Regenerate language data 2023-03-01 20:06:47 -06:00
Scott Lahteine 6a8ebddaf6 🔨 Update font scripts 2023-03-01 20:03:19 -06:00
thinkyhead 030559bf7f [cron] Bump distribution date (2023-03-01) 2023-03-01 00:26:50 +00:00
tombrazier 42cd314d96 🐛 Fix LA retract/feedrate edge case (#25445)
Followup to #25442
2023-02-28 18:16:27 -06:00
Scott Lahteine 894e378702 🔨 Improve config.ini example fetch 2023-02-28 18:03:21 -06:00
ellensp 579833e2a3 🔧 Fix Sensorless Probe sanity-check err (#25417) 2023-02-27 21:16:11 -06:00
thinkyhead 20d4b995f7 [cron] Bump distribution date (2023-02-28) 2023-02-28 00:23:17 +00:00
tombrazier 6084502f80 🐛 Fix Linear Advance E position tracking (#25442)
Fix regression from #24951
2023-02-27 17:00:13 -06:00
ellensp 18601f458f 🧑‍💻 Add IA_CREALITY CI test (#25434) 2023-02-27 11:11:53 -06:00
thinkyhead 80f0d4ed7c [cron] Bump distribution date (2023-02-27) 2023-02-27 06:07:00 +00:00
Daranbalt4 866e7d3128 LCD_BACKLIGHT_TIMEOUT for Neopixel LCD (#25438) 2023-02-26 21:23:52 -06:00
Keith Bennett 1068963092 🔨 Fix env STM32G0B1RE_btt, add …_manta_btt (#25431) 2023-02-26 21:03:28 -06:00
Scott Lahteine 445181fc42 🩹 Native types for RTS overloads (#25440)
Followup to #25400
2023-02-26 20:54:10 -06:00
ellensp db904f1895 📝 Link to archived RA Control Panel page (#25424) 2023-02-26 20:27:58 -06:00
ellensp 03eb9b0582 📝 New URL for IA_CREALITY DWIN files (#25423) 2023-02-26 20:23:39 -06:00
thinkyhead b1f45b384b [cron] Bump distribution date (2023-02-24) 2023-02-24 06:06:31 +00:00
Scott Lahteine 7552fc8f8d 📝 Update DISABLE_INACTIVE_* comment
Followup to #25422
2023-02-23 22:03:06 -06:00
Scott Lahteine acfde4e7e5 🎨 Use LIMIT macro 2023-02-23 21:38:52 -06:00
Guðni Már Gilbert c5d5c375fd ️ Reduce edit_screen code size (#25420) 2023-02-23 21:29:47 -06:00
Scott Lahteine f9f6662a8c ♻️ Stepper options refactor (#25422) 2023-02-23 21:08:31 -06:00
thinkyhead d3527f5de4 [cron] Bump distribution date (2023-02-23) 2023-02-23 00:22:15 +00:00
Scott Lahteine 44faf5cbab 🔧 Fix Einsy Rambo TMC driver check 2023-02-22 14:31:06 -06:00
Scott Lahteine 9e42480855 🔨 Fix marlin_custom.* without lib_deps 2023-02-21 18:22:16 -06:00
thinkyhead e46a50236f [cron] Bump distribution date (2023-02-22) 2023-02-22 00:20:53 +00:00
tombrazier 5a8883b44f 🐛 Fix AVR maths used by Stepper (#25338) 2023-02-21 16:37:11 -06:00
ellensp 464bb1f149 🔨 Encrypt some MKS Robin (#25349) 2023-02-21 16:27:47 -06:00
EvilGremlin bc450b4582 🌐 Update Russian language (#25360) 2023-02-21 15:19:29 -06:00
Scott Lahteine df44424388 🧑‍💻 Fix preheat tests (nested macro limit ~256)
Followup to #25407
2023-02-21 15:13:01 -06:00
DerAndere babd3b0037 🧑‍💻 Add get_move_distance for rotation/kinematics (#25370) 2023-02-21 12:26:10 -06:00
thinkyhead 122d4a89f6 [cron] Bump distribution date (2023-02-21) 2023-02-21 06:06:25 +00:00
ellensp 03a4378670 🔧 Sanity-check hotend max / preheat temps (#25407)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-20 20:25:22 -06:00
ellensp e002f4fd38 📺 Update Re-ARM VIKI2 SPI pins (#25411) 2023-02-20 18:58:40 -06:00
lukasradek 0f745468a1 🔧 Up to 9 tramming points (#25293)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-20 18:57:15 -06:00
Anson Liu 4f212e50b6 TC_GCODE_USE_GLOBAL_* (#25399)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-20 18:49:15 -06:00
thinkyhead d67e701b75 [cron] Bump distribution date (2023-02-20) 2023-02-20 00:25:06 +00:00
Scott Lahteine c950f0f5d1 🧑‍💻 ExtUI::onPowerLoss 2023-02-19 11:41:50 -06:00
thinkyhead 786c666151 [cron] Bump distribution date (2023-02-19) 2023-02-19 00:23:11 +00:00
Davide Rombolà 9db5bd000b IA_CREALITY screen rotation (#25397)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-18 03:49:57 -06:00
Scott Lahteine 96bc084f3d 🎨 Misc. LCD cleanup (#25400) 2023-02-18 02:23:08 -06:00
thinkyhead c68a4c085d [cron] Bump distribution date (2023-02-18) 2023-02-18 06:05:56 +00:00
Scott Lahteine aa9df38b05 🚸 Interruptible PLR (#25395) 2023-02-17 22:12:11 -06:00
thinkyhead 38e6330236 [cron] Bump distribution date (2023-02-16) 2023-02-16 00:27:36 +00:00
Trevin Small 90066e7160 ✏️ Fix README typo (#25388) 2023-02-15 18:00:10 -06:00
ellensp d925305b9e 🐛 Fix FastPWM calculations (#25343)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-15 17:58:51 -06:00
alexgrach 196f403dd6 🚸 Stop button for Touch UI (#25379) 2023-02-15 00:40:26 -06:00
apulver fc20533583 AVOID_OBSTACLES for UBL (#25256) 2023-02-15 00:38:54 -06:00
thinkyhead aacb81ea60 [cron] Bump distribution date (2023-02-15) 2023-02-15 06:13:44 +00:00
Scott Lahteine 2b86daa30b 🎨 Tweak VALIDATE_MESH_TILT 2023-02-14 22:31:19 -06:00
Frederik Kemner aa8afe90b0 🚸 SPI endstops for X/Y Dual and Core (#25371) 2023-02-14 22:25:47 -06:00
Davide Rombolà 028b11f2ca 🩹 Fix DGUS_LCD_UI input (#25374) 2023-02-14 22:10:18 -06:00
Radek fb480dffe4 📝 Fix BTT_MINI_12864_V1 comment (#25366) 2023-02-14 21:57:39 -06:00
thinkyhead 4c136c3dad [cron] Bump distribution date (2023-02-13) 2023-02-13 00:44:22 +00:00
Giuliano Zaro c421a2f5dd M306 E for MPC extruder index (#25326)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-12 01:32:06 -06:00
thinkyhead 0ddce13ebe [cron] Bump distribution date (2023-02-12) 2023-02-12 06:05:48 +00:00
Trivalik db01960a0e 🚸 Negative temperature display option (#25036)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-11 22:14:53 -06:00
Scott Lahteine 58d6b5db0a 🔨 Suppress native build warnings 2023-02-11 21:31:49 -06:00
thinkyhead ef3f484d3c [cron] Bump distribution date (2023-02-09) 2023-02-09 06:33:20 +00:00
EvilGremlin 8a9de407a1 🔨 Adjust INI comments (#25183) 2023-02-08 21:46:02 -06:00
Alexander Gavrilenko 3cd9599155 🐛 Fix 8-bit FSMC AA font colors (#25285) 2023-02-08 21:12:26 -06:00
Scott Lahteine 339773dcb5 🩹 Extra axis min home with Delta Sensorless Probe 2023-02-08 20:42:41 -06:00
Scott Lahteine a6b677f0ac 🩹 Extra axes for Tool Change 2023-02-08 20:42:41 -06:00
Scott Lahteine f595878b5b 🩹 Various simple fixes 2023-02-08 20:42:41 -06:00
Scott Lahteine 7e79fc5b8e 🩹 Safe Bed Leveling updates 2023-02-08 20:42:41 -06:00
Scott Lahteine 23e2cb0c53 🩹 Misc. extra axis updates 2023-02-08 20:42:41 -06:00
Scott Lahteine 88de52210f 🩹 Use 'M205 D' when 'B' is an axis 2023-02-08 20:42:41 -06:00
Scott Lahteine 842489a5dc 🐛 Don't skip G2/G3 E-only moves 2023-02-08 20:42:41 -06:00
Scott Lahteine 88dea487c2 🔧 Add a test for extra axes 2023-02-08 20:31:34 -06:00
thinkyhead 7659f522d6 [cron] Bump distribution date (2023-02-08) 2023-02-08 12:36:53 +00:00
Keith Bennett 2bc711ce58 BigTreeTech Manta M4P, M5P, M8P V1.0 / 1.1, E3 EZ (#25001) 2023-02-08 00:39:09 -06:00
InsanityAutomation 9cbb6b1512 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-02-06 15:59:13 -05:00
thinkyhead 444259da07 [cron] Bump distribution date (2023-02-04) 2023-02-04 12:06:25 +00:00
Victor Oliveira 218ca05304 🧑‍💻 General 'MediaFile' type alias (#24424) 2023-02-04 02:10:26 -06:00
vyacheslav-shubin 08d9cbb930 🧑‍💻 Add SD Card 'hide' method for dev usage (#22425) 2023-02-04 01:36:07 -06:00
InsanityAutomation af85a271a5 Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x 2023-02-03 15:20:56 -05:00
thinkyhead 7c0b465754 [cron] Bump distribution date (2023-02-03) 2023-02-03 06:06:11 +00:00
Martin Turski cea176ab36 🔨 Fix test build path with spaces (#25329) 2023-02-02 21:01:22 -06:00
Keith Bennett cb7af50baf 📝 Fix Z*_ENDSTOP_ADJUSTMENT comments (#25295) 2023-02-02 19:41:46 -06:00
thinkyhead a80036e3ca [cron] Bump distribution date (2023-02-02) 2023-02-02 00:23:18 +00:00
kg333 8f11428db1 📺 Melzi v4 with BTT SKR Mini E3 (#25321) 2023-02-01 18:02:26 -06:00
Scott Lahteine 3be967bcb4 🩹 PID / MPC heating followup
Followup to #25314
2023-02-01 02:54:37 -06:00
Bob Kuhn 57a7e28145 🩹 Fix progress DOGM compile error (#25319) 2023-02-01 02:54:37 -06:00
Bob Kuhn 64338dfccb 🔧 Fix SD sorting sanity checks (#25318) 2023-02-01 01:51:11 -06:00
alexgrach fbe9237a6c 🐛 Fix TFT touch buttons, button colors (#25300) 2023-02-01 01:40:13 -06:00
tombrazier d6f4f24658 🩹 Fix PID / MPC heating flags (#25314)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-02-01 01:25:13 -06:00
thinkyhead aae103e359 [cron] Bump distribution date (2023-02-01) 2023-02-01 00:25:54 +00:00
Dan Royer 738f0a10f5 POLARGRAPH / PEN_UP_DOWN_MENU (#25303)
Co-authored-by: Dan Royer <1464454+i-make-robots@users.noreply.github.com>
2023-01-31 00:12:03 -06:00
thinkyhead 5446968a58 [cron] Bump distribution date (2023-01-31) 2023-01-31 06:05:55 +00:00
Giuliano Zaro 2dda0c0da2 🌐 Update Italian language (#25309) 2023-01-30 23:07:51 -06:00
Roman Moravčík 7ad3586f82 🌐 Update Slovak language (#25305) 2023-01-30 23:07:03 -06:00
Scott Lahteine 087e19a0ed 🔧 Fix build with no Y axis (#25311) 2023-01-30 22:11:50 -06:00
Darren Garnier d0a965a1df 🔨 Fix config.ini URL fetch (#25313) 2023-01-30 22:00:49 -06:00
Bob Kuhn 0c181fc9d3 🩹 Fix G61 axis parameters with no offset (#25312) 2023-01-30 21:57:36 -06:00
thinkyhead 67bc855000 [cron] Bump distribution date (2023-01-27) 2023-01-27 00:27:06 +00:00
alexgrach ab767a4586 🐛 Fix TFT Color UI LCD_HEIGHT (#25281) 2023-01-26 18:20:09 -06:00
xBiohazardx 0e748da7d3 ✏️ Fix probe invert flag (#25282) 2023-01-26 18:05:04 -06:00
thinkyhead 2637153575 [cron] Bump distribution date (2023-01-26) 2023-01-26 06:05:55 +00:00
avionix-g a2c93c24a6 🐛 Fix MKS board Ultipanel support (#25278) 2023-01-25 22:14:52 -06:00
Alexander Gavrilenko 4f902ac950 🐛 Fix Simulator TFT compile (#25279) 2023-01-25 22:05:43 -06:00
Scott Lahteine cf02107e6a 🔧 Refine Input Shaping check (#25280) 2023-01-25 21:37:10 -06:00
thinkyhead 7a49fab16d [cron] Bump distribution date (2023-01-24) 2023-01-24 12:07:25 +00:00
Scott Lahteine 7393285560 SDIO retry, hsd clock, etc. 2023-01-24 02:42:16 -06:00
Scott Lahteine e0ae072f5a 🔧 Overridable Stepper EN init 2023-01-24 02:42:16 -06:00
thinkyhead 4099763cfc [cron] Bump distribution date (2023-01-23) 2023-01-23 12:07:26 +00:00
Bob Kuhn 32688979a1 🐛 Fix Ender-2 Stock Display with Melzi (#25258) 2023-01-23 01:37:35 -06:00
Scott Lahteine fffc96661f 🐛 Fix homing_needed_error bits 2023-01-23 01:35:36 -06:00
thinkyhead e656f108c8 [cron] Bump distribution date (2023-01-22) 2023-01-22 06:05:45 +00:00
Scott Lahteine 7e72981b8c 🚸 Fix homing_needed_error language 2023-01-21 23:08:27 -06:00
ellensp b7c23631c5 🐛 Fix misc. UI issues (#25252)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-01-21 20:08:37 -06:00
thinkyhead f2b8942adc [cron] Bump distribution date (2023-01-18) 2023-01-18 00:22:56 +00:00
John Robertson f81c468f1e 🐛 Fix potential I2S buffer overwrite (#25113) 2023-01-17 17:53:39 -06:00
Miguel Risco-Castillo b3f65b674f 🚸 ProUI MPC menu (#25232)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-01-17 17:41:36 -06:00
alexgrach 99d1b04a1f TFT 320x240 portrait (#25207)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-01-17 17:38:27 -06:00
thinkyhead 58f64eaeba [cron] Bump distribution date (2023-01-17) 2023-01-17 06:05:52 +00:00
Scott Lahteine c4482083ac 🎨 Heading cleanup 2023-01-16 22:11:49 -06:00
thinkyhead 938d7b5e14 [cron] Bump distribution date (2023-01-16) 2023-01-16 00:22:07 +00:00
Scott Lahteine 6fe387b6f0 🧑‍💻 Adjust PID / MPC / ProUI
Changes to simplify #25232 WIP
2023-01-15 17:23:53 -06:00
Scott Lahteine d94defc545 🎨 Language / menu cleanup 2023-01-15 08:13:29 -06:00
Keith Bennett 212167b140 📝 No longer experimental (#25238) 2023-01-15 07:25:36 -06:00
thinkyhead d753781dc0 [cron] Bump distribution date (2023-01-15) 2023-01-15 12:06:24 +00:00
Scott Lahteine da87c203c1 🔖 Config version 02010300 2023-01-15 01:19:45 -06:00
Scott Lahteine 5acf738688 🔧 Added MOTHERBOARD error text 2023-01-15 01:11:49 -06:00
thinkyhead 80a2555012 [cron] Bump distribution date (2023-01-14) 2023-01-14 18:05:38 +00:00
Scott Lahteine 5fd5cb02f6 ✏️ ProUI followup 2023-01-14 07:44:57 -06:00
thinkyhead 7503ac3c67 [cron] Bump distribution date (2023-01-13) 2023-01-13 00:22:51 +00:00
Scott Lahteine 80dc7b290b 🔧 Input Shaping sanity checks 2023-01-11 20:31:46 -06:00
thinkyhead 3d0b11a373 [cron] Bump distribution date (2023-01-12) 2023-01-12 01:39:45 +00:00
Scott Lahteine 0838f70b25 🩹 Fix Sim with USE_WATCHDOG disabled 2023-01-11 01:22:59 -06:00
Scott Lahteine 5af5c2a35c 🔨 Improve config.ini parser 2023-01-11 01:22:59 -06:00
thinkyhead fe62c8006a [cron] Bump distribution date (2023-01-11) 2023-01-11 06:24:37 +00:00
Powerlated 64167dfe79 PREHEAT_TIME_BED_MS (#25146) 2023-01-10 23:40:15 -06:00
Alex Z 250fd60920 🐛 Fix Chitu V6 Z_STOP_PIN (#25227) 2023-01-10 23:33:09 -06:00
Scott Lahteine 01e58de31a 🩹 ProUI - Remove ManualZOffset 2023-01-10 23:33:09 -06:00
kadir ilkimen 7717beb793 Polar Kinematics (#25214) 2023-01-10 23:33:09 -06:00
thinkyhead 33e5aad364 [cron] Bump distribution date (2023-01-10) 2023-01-10 01:41:43 +00:00
Scott Lahteine 202114c018 🐛 Fix ProUI with disabled PID, mesh, etc. 2023-01-08 20:00:13 -06:00
thinkyhead 7eccd3dd8c [cron] Bump distribution date (2023-01-09) 2023-01-09 01:36:30 +00:00
Scott Lahteine 290a55ced1 🎨 ProUI cleanup 2023-01-08 04:18:24 -06:00
Scott Lahteine c3fe4abd44 🔨 DGUS_LCD_UI version check 2023-01-08 04:01:29 -06:00
Anson Liu 8a33cfd546 🚸 RGB_STARTUP_TEST for PCA9632 (#25163) 2023-01-08 03:46:26 -06:00
Miguel Risco-Castillo c66b3cf8a4 🚸 ProUI updates (#25176) 2023-01-08 03:22:21 -06:00
Alexander Gavrilenko 7ca6650c77 🐛 Fix UTF support for TFT Color UI (#25177) 2023-01-07 23:43:22 -06:00
Sebastien BLAISOT e96e726b4e 🐛 Fix Neopixel 1 startup (#25203) 2023-01-07 23:07:14 -06:00
Vlad Popescu dd068fa69f 🩹 Fix E3V2 MarlinUI XYZ frame (#25206) 2023-01-07 23:05:24 -06:00
Vlad Popescu 4aa5557136 🩹 Fix E3V2 MarlinUI XYZ frame (#25206) 2023-01-07 23:04:58 -06:00
Richard Layton 6e4326b817 📝 Linux Sim apt-get line (#25208) 2023-01-07 23:03:29 -06:00
thinkyhead 81c1c7357b [cron] Bump distribution date (2023-01-08) 2023-01-08 00:23:33 +00:00
Richard Layton 3c929ab181 📝 More native.ini docs (#25201) 2023-01-07 04:42:21 -06:00
ellensp 2f88cd9ac0 🩹 Update MKS_GEN_13 MOSFET pins (#25126) 2023-01-07 02:39:58 -06:00
ellensp 0374445488 🩹 Replace pow() with _BV() (#25186) 2023-01-07 00:07:39 -06:00
thinkyhead 10b16416ee [cron] Bump distribution date (2023-01-07) 2023-01-07 06:05:53 +00:00
Mike Bignell 29202d5561 🩹 Fix missing IS_MELZI (#25190) 2023-01-06 23:54:35 -06:00
thinkyhead 62507cf54b [cron] Bump distribution date (2023-01-06) 2023-01-06 00:21:58 +00:00
Ashley 'DrToxic' Devine e60a7d8292 🎨 Misc. cleanup (#25194)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-01-05 17:06:35 -06:00
Vovodroid eef88cfdf1 🚸 Attach USB media (#25120) 2023-01-05 16:48:22 -06:00
thinkyhead 77439626a7 [cron] Bump distribution date (2023-01-05) 2023-01-05 00:21:58 +00:00
Scott Lahteine 0e72c90f49 🧑‍💻 Add Temperature::is_above_target 2023-01-04 02:25:04 -06:00
thinkyhead 984a758621 [cron] Bump distribution date (2023-01-04) 2023-01-04 02:25:04 -06:00
Scott Lahteine 2dcf3b8550 🎨 Rename *_temp_error to *temp_error 2023-01-04 02:25:04 -06:00
ellensp b28c4fe1e6 DGUS_LCD_UI followup (#25175)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-01-03 18:54:27 -06:00
Timothy Hoogland 6819c68a44 🩹 Remove extraneous EZBoard V1 autofans (#25182) 2023-01-03 18:52:19 -06:00
thinkyhead 1c0a09fe98 [cron] Bump distribution date (2023-01-03) 2023-01-03 12:07:19 +00:00
Scott Lahteine a786742109 ️ Less nag over Endstop Interrupts 2023-01-03 04:19:33 -06:00
Scott Lahteine e744ca78a8 🎨 Misc. IS cleanup 2023-01-03 04:09:40 -06:00
thinkyhead 071f009438 [cron] Bump distribution date (2023-01-02) 2023-01-02 06:06:05 +00:00
mikemerryguy 00fad1a79b LARGE_MOVE_ITEMS (#25026)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2023-01-01 23:13:53 -06:00
Scott Lahteine 42cfa4f48f DGUS_LCD_UI followup
Followup to #25143 fixing _DGUS_UI_IS
2023-01-01 23:03:22 -06:00
thinkyhead fffacf4dba [cron] Bump distribution date (2023-01-01) 2023-01-01 06:07:02 +00:00
Scott Lahteine 1456ba083a 🔧 Warn about Endstop Interrupts 2022-12-31 21:49:44 -06:00
Giuliano Zaro 4f7df32b77 🚸 MarlinUI edit steps/mm to 2 decimal places (#25144) 2022-12-31 21:03:50 -06:00
ellensp 32e8627510 New DGUS_LCD_UI option, IA_CREALITY (#25143)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-31 20:38:13 -06:00
thinkyhead 5026012abb [cron] Bump distribution date (2022-12-31) 2022-12-31 06:36:12 +00:00
Stefan Kalscheuer d5ff0e8aeb 🐛 Fix Mesh Bed Leveling Z correction (#25122) 2022-12-30 23:49:44 -06:00
Alexander Gavrilenko fca1929beb ️ UTF support for TFT Color UI (#25073) 2022-12-30 23:44:55 -06:00
ellensp 88242e0b5c 🧑‍💻 Fix type warning (#25149) 2022-12-30 21:55:15 -06:00
ellensp f17f921b68 🔨 FILAMENT_RUNOUT_SCRIPT sanity check (#25150) 2022-12-30 21:44:51 -06:00
Lukas Erlacher add9da25e6 🔧 Add H8 to Creality 4.2.2 stepper warning (#25154) 2022-12-30 21:39:15 -06:00
Lukas Erlacher 0c0ed15066 🚸 Z Servo Probe is HAS_STOWABLE_PROBE (#25158) 2022-12-30 21:38:01 -06:00
Timothy Hoogland 475114cbb7 🩹 Remove extraneous EZBoard V2 autofans (#25166) 2022-12-30 21:01:11 -06:00
ellensp c7e84e8ef1 Persistent AUTOTEMP settings (#25093) 2022-12-30 20:59:13 -06:00
Vlad Popescu b39ea9d870 🐛 Avoid lambda for menu items (#25169) 2022-12-30 20:53:45 -06:00
Scott Lahteine 14c8b7b031 🚸 Hide IS menu while busy 2022-12-30 19:43:46 -06:00
thinkyhead 4b4d98d282 [cron] Bump distribution date (2022-12-21) 2022-12-21 06:06:09 +00:00
Scott Lahteine 19bcb77f87 🧑‍💻 Fix D5 warning 2022-12-20 21:21:47 -06:00
thinkyhead fb5a595b34 [cron] Bump distribution date (2022-12-19) 2022-12-19 00:19:09 +00:00
Scott Lahteine 9be33550a1 📝 Update README 2022-12-18 17:23:00 -06:00
Scott Lahteine ebcf26ec5d 🧑‍💻 M593 F "min" freq 2022-12-18 15:48:54 -06:00
Scott Lahteine 0cf2443aa0 🐛 Fix Melzi encoder 2022-12-18 15:48:54 -06:00
MarkMan0 5200b36ae4 🐛 Fix, Refactor PID scaling (#25096) 2022-12-18 15:31:05 -06:00
MarkMan0 a7eacbcc49 🐛 Fix, Refactor PID scaling (#25096) 2022-12-17 23:48:33 -06:00
Scott Lahteine 05e2e059e3 🐛 Fix M593 F 2022-12-17 23:04:49 -06:00
Scott Lahteine c0045e6c0c 🩹 Fix LCD_FOR_MELZI with Tronxy Melzi 2022-12-17 22:00:18 -06:00
thinkyhead 8bf8836cb4 [cron] Bump distribution date (2022-12-18) 2022-12-18 00:20:52 +00:00
EvilGremlin eeea21a967 🐛 Fix DOGM time overflow, alignment (#25103) 2022-12-16 22:45:55 -06:00
ellensp f1a0b516cb 🎨 Suppress warning (#25101) 2022-12-16 22:43:54 -06:00
thinkyhead 01f64b649b [cron] Bump distribution date (2022-12-17) 2022-12-17 00:19:14 +00:00
ellensp 78de7c8545 BTT Octopus with STM32-F407 (#25031) 2022-12-16 15:01:14 -06:00
alextrical 72465e4eec BigTreeTech EBB42 v1.1 (#24964) 2022-12-16 14:45:14 -06:00
ils15 ed6212e0bd 🔧 Use multi-XYZ 'STOP' pins for MIN/MAX (#24855)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:37:56 -06:00
Ruedi Steinmann 15992f6426 🩹 Fix a BUZZ (#24740) 2022-12-16 14:34:44 -06:00
thinkyhead 03adbb18ef [cron] Bump distribution date (2022-12-14) 2022-12-14 00:21:33 +00:00
Dipl.-Ing. Raoul Rubien, BSc 314e52b32a 🩹 Fix M115_GEOMETRY_REPORT (#25092) 2022-12-12 21:23:45 -06:00
thinkyhead efab854204 [cron] Bump distribution date (2022-12-13) 2022-12-13 00:24:02 +00:00
ellensp 13c87c5b26 🩹 Inverted probe pin flag (K8400) (#25085) 2022-12-12 17:01:45 -06:00
Scott Lahteine 6d87dafc6e 🩹 Fix M502 init of default motion
Fix regression from #25035
2022-12-12 16:49:14 -06:00
alextrical 7884ce0707 🩹 Use custom I2C pins for OLED (#24970) 2022-12-12 16:11:09 -06:00
Bart Meijer 049cfe659c SAMD21 HAL / Minitronics v2.0 (#24976) 2022-12-12 15:36:50 -06:00
Alexander Gavrilenko aaae56a650 TFT_COLOR_UI async DMA SPI (#24980) 2022-12-12 15:13:31 -06:00
Scott Lahteine 8a5ef7420b 📝 Replace Twitter with Fosstodon 2022-12-11 19:46:55 -06:00
Simon Pilepich 809ec67e06 🔧 Anycubic alternate Z1/Z2 wiring (#25071) 2022-12-11 19:12:28 -06:00
thinkyhead 0f46ce6352 [cron] Bump distribution date (2022-12-12) 2022-12-12 00:22:54 +00:00
Krzysztof Błażewicz 1c045defa9 JyersUI TMC Settings (#25048) 2022-12-11 13:27:27 -06:00
Keith Bennett f8a20f6b99 🔧 Custom Menu Sanity Check (#25079) 2022-12-11 12:59:25 -06:00
Scott Lahteine 7e60d157ad 🔨 Updated 'mfconfig init' 2022-12-11 12:57:55 -06:00
thinkyhead afef612c8d [cron] Bump distribution date (2022-12-10) 2022-12-10 18:05:42 +00:00
ellensp 54d873b304 🔨 No env:mega1280 for MIGHTYBOARD_REVE (#25080) 2022-12-10 11:44:09 -06:00
tombrazier b4fbe4ff50 ️ Better IS buffer size calc (#25035) 2022-12-10 11:28:48 -06:00
Vovodroid a10f4c0e53 Two controller fans (#24995) 2022-12-10 09:03:54 -06:00
ellensp 9949672f1d 📌 Pins updates for Longer LK5, etc. (#25012)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-10 09:00:51 -06:00
thinkyhead c16d3655bf [cron] Bump distribution date (2022-12-08) 2022-12-08 01:38:54 +00:00
EvilGremlin b169d623e3 🚸 Progress display followup (#24879) 2022-12-07 16:08:53 -06:00
Sebastien BLAISOT 44b68319f1 M150 S default index (#23066)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-07 15:49:38 -06:00
thinkyhead e0d9b7005a [cron] Bump distribution date (2022-12-07) 2022-12-07 18:25:00 +00:00
Scott Lahteine 3ab36615e9 🔨 Return error on mftest exit 2022-12-07 12:18:09 -06:00
Scott Lahteine 2216753f5a ✏️ Fix typo in PR alert 2022-12-07 07:35:10 -06:00
thinkyhead 96b577cab0 [cron] Bump distribution date (2022-12-06) 2022-12-06 01:37:15 +00:00
Scott Lahteine d8fe7364c9 📝 Update config comments 2022-12-05 11:01:08 -06:00
ellensp cadb1a073d 🐛 Fix Fast PWM on AVR (#25030)
Followup to #25005
2022-12-04 21:38:50 -06:00
thinkyhead 1cd6bf7ef5 [cron] Bump distribution date (2022-12-05) 2022-12-05 01:39:43 +00:00
kisslorand dab43a7627 ✏️ Fix missing ) (#25055) 2022-12-04 16:04:11 -06:00
Scott Lahteine 6d1d5e4e6a 🔨 Fix CI Test clean step (2) 2022-12-04 15:35:45 -06:00
thinkyhead 76ed9b1c7c [cron] Bump distribution date (2022-12-04) 2022-12-04 06:08:00 +00:00
Scott Lahteine 3ba9387479 🎨 Misc. cleanup 2022-12-03 20:49:46 -06:00
Scott Lahteine 4d03c258dc 🔨 Fix CI Test clean step 2022-12-03 20:46:58 -06:00
tombrazier 5c3d87a951 🐛 Fix TMC5160 + Input Shaping overcurrent (#25050) 2022-12-03 20:46:58 -06:00
Taylor Talkington d46e87b00e 🩹 Ender 3v2 DWIN MarlinUI Fixup (#24984) 2022-12-03 19:20:19 -06:00
Scott Lahteine 0f08f7ab85 🎨 Trailing whitespace 2022-12-03 19:18:03 -06:00
ellensp 229dba6d4c 🔨 Update renamed.ini (#25042) 2022-12-03 19:09:02 -06:00
ellensp 464cc9bea9 🩹 Fix MSG_MOVE_N_MM substitution (#25043) 2022-12-03 19:05:22 -06:00
thinkyhead be380be8fb [cron] Bump distribution date (2022-12-03) 2022-12-03 00:19:44 +00:00
kisslorand f7ca7a92d1 🚸 G30 move to logical XY (#24953) 2022-12-02 00:19:34 -06:00
thinkyhead d1f09f23e5 [cron] Bump distribution date (2022-12-02) 2022-12-02 06:05:54 +00:00
Scott Lahteine b6794f6a7e 🎨 Misc. cleanup 2022-12-01 23:39:17 -06:00
thinkyhead 01e23af7d8 [cron] Bump distribution date (2022-11-29) 2022-11-29 00:24:07 +00:00
トトも 600591b18d 📝 Formatted Team Overview (#25029) 2022-11-27 23:40:35 -06:00
Scott Lahteine 791de40885 🐛 Fix G-code resend race condition
As pointed out in #24972 by @silycr, but simplified.
2022-11-27 23:23:00 -06:00
Taylor Talkington a8d7c8c89d Ender-3 V2 DWIN for BTT Octopus V1.1 (#24983) 2022-11-27 21:41:27 -06:00
Chris Bagwell f3108e87f1 ️ More SCURVE cycles on unoptimized cortex-m0 (#24955) 2022-11-27 21:40:11 -06:00
tombrazier 89334caa52 ️ Input Shaping improvements (#24951) 2022-11-27 21:38:15 -06:00
Trivalik d4d1112ae8 🐛 Fix missing va_end in UnwPrintf (#25027) 2022-11-27 19:06:44 -06:00
thinkyhead 463f35e0f2 [cron] Bump distribution date (2022-11-28) 2022-11-28 00:21:21 +00:00
studiodyne 84ae7d5f72 🐛 Fix MILLISECONDS_PREHEAT_TIME / mintemp (#24967) 2022-11-26 21:29:13 -06:00
Marcio T 60931719d8 🩹 Fix ADVANCE_K + DISTINCT_E_FACTORS sanity check (#25007) 2022-11-26 21:11:14 -06:00
Manuel McLure cc1069a3f0 🔧 Merge TMC26X with TMC config (#24373) 2022-11-26 20:30:59 -06:00
Radek e354e1c48f 🐛 Fix SKR mini E2 V2 + BTT_MINI_12864_V1 (#24827)
See https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/686#issuecomment-1296545443
2022-11-26 19:31:44 -06:00
Vasily Evseenko 909442cb88 🍻 Fix Z increase on toolchange without UBL (#22942) 2022-11-26 19:26:40 -06:00
ellensp a13f3cb889 🩹 Fix UBL menu compile (#25020) 2022-11-26 19:22:08 -06:00
mikemerryguy 5f831768a2 🚸 Add 50mm manual move (#24884) 2022-11-26 19:14:05 -06:00
Thomas Buck 50e3e4d862 🚸 Optional Cutter/Laser status for HD44780 (#25003) 2022-11-26 18:59:13 -06:00
thinkyhead 8f9d989378 [cron] Bump distribution date (2022-11-27) 2022-11-27 00:24:12 +00:00
Tanguy Pruvot 86276a6dd2 🚸 COLOR_UI sleep timeout / setting (#24994) 2022-11-26 01:23:24 -06:00
ellensp 74474c8a81 🔧 Fix TPARA (…SCARA, DELTA) settings (#25016) 2022-11-26 00:21:47 -06:00
thinkyhead 93a297ba3b [cron] Bump distribution date (2022-11-26) 2022-11-26 06:05:45 +00:00
Tanguy Pruvot 1e5b34187e ✏️ Fix Robin nano env typo (#24993) 2022-11-25 21:41:49 -06:00
ellensp 1d809168db 📺 FYSETC_MINI_12864_2_1 with BTT_SKR_E3_DIP (#24986) 2022-11-25 21:40:24 -06:00
ellensp 9c092ed0fc 🩹 Fix planner typo (#24977) 2022-11-25 19:17:24 -06:00
thinkyhead 59e19898ce [cron] Bump distribution date (2022-11-22) 2022-11-22 00:24:30 +00:00
ellensp 393660334d 🐛 MKS_MINI_12864 on SKR 1.3 needs FORCE_SOFT_SPI (#24850) 2022-11-21 17:47:27 -06:00
EvilGremlin 8542e9a085 🔧 Check Delta homing direction (#24865) 2022-11-21 17:45:57 -06:00
phigjm f49731251c 🩹 Fix SERVICE_INTERVAL reset (#24888) 2022-11-21 17:41:14 -06:00
Marcio T e3e07354d5 Fix FAST_PWM_FAN / TouchUI with NO_MOTION_BEFORE_HOMING (#25005)
Fix regressions from #20323, #23463
2022-11-21 17:25:56 -06:00
thinkyhead 8298a477e1 [cron] Bump distribution date (2022-11-15) 2022-11-15 00:24:38 +00:00
ellensp 00156a3e31 🩹 Fix 2 thermocouples (#24982)
Followup to #24898
2022-11-14 02:35:24 -06:00
Scott Lahteine d62fbfbce6 🐛 Fix M808 starting count
Reported by adcurtin on Discord
2022-11-14 02:26:31 -06:00
thinkyhead 14966c0ba2 [cron] Bump distribution date (2022-11-14) 2022-11-14 06:23:44 +00:00
Justin Hartmann e283f15720 🩹 Fix Overlord compile (#24947) 2022-11-13 23:50:02 -06:00
Pascal de Bruijn 16faa2950a 🚸 M306: Indicate MPC Autotune (#24949) 2022-11-13 22:59:25 -06:00
ellensp abc931629f 🩹 Allow max endstops MKS Monster 8 V2 (#24944) 2022-11-13 22:45:28 -06:00
thinkyhead dbd5dc4eb7 [cron] Bump distribution date (2022-11-13) 2022-11-13 00:23:31 +00:00
Scott Lahteine 7395569055 🐛 Fix Anycubic / Trigorilla pins, etc. (#24971) 2022-11-11 20:35:07 -06:00
thinkyhead e1423a8740 [cron] Bump distribution date (2022-11-12) 2022-11-12 00:40:15 +00:00
Scott Lahteine d123ea7346 🎨 Prefer axis element over index 2022-11-11 16:20:47 -06:00
thinkyhead 4d913fbf33 [cron] Bump distribution date (2022-11-10) 2022-11-10 06:06:37 +00:00
Scott Lahteine 3985d26939 🐛 Fix recalculate_max_e_jerk 2022-11-09 20:54:17 -06:00
thinkyhead c209626bda [cron] Bump distribution date (2022-11-07) 2022-11-07 06:06:50 +00:00
Scott Lahteine 885e923bff 🩹 Fix EEPROM write for !LIN_ADVANCE
Fixes #24963
Followup to #24821
2022-11-06 23:51:54 -06:00
thinkyhead e86c78379a [cron] Bump distribution date (2022-11-05) 2022-11-05 06:05:56 +00:00
Scott Lahteine 726321bc84 🩹 MAX Thermocouple followup
Followup to #24898
2022-11-04 20:15:16 -05:00
Scott Lahteine a80d2f065e 🩹 leds.update needed for reset_timeout
Followup to #23590
2022-11-04 20:11:18 -05:00
thinkyhead 32fa577d25 [cron] Bump distribution date (2022-11-04) 2022-11-04 06:06:27 +00:00
Scott Lahteine c579250294 🧑‍💻 More direct encoder spin 2022-11-03 21:29:22 -05:00
thinkyhead cd7fa1fdba [cron] Bump distribution date (2022-11-02) 2022-11-02 00:29:17 +00:00
Scott Lahteine 1c2d37eb0b 🎨 Update SAMD51 headers 2022-11-01 17:14:18 -05:00
thinkyhead bfa5e9b584 [cron] Bump distribution date (2022-10-31) 2022-10-31 00:30:33 +00:00
Scott Lahteine 622e795214 🎨 Format some lib-uhs3 code 2022-10-30 15:46:46 -05:00
ellensp b20db2e1a3 📌 ZRIB V52-V53 Servo Pins (#24880) 2022-10-29 22:45:08 -05:00
InsanityAutomation 4bee77d470 Tenlog MB1V23 IDEX board (#24896) 2022-10-29 22:35:12 -05:00
thinkyhead c1bc34daa7 [cron] Bump distribution date (2022-10-30) 2022-10-30 00:36:21 +00:00
Giuliano Zaro 846f88526f 🌐 Update Italian language (#24915) 2022-10-29 18:45:33 -05:00
ellensp 1ef6ddccbe 📌 Remove unused RX/TX pins (#24932) 2022-10-29 18:42:36 -05:00
Keith Bennett d3e3a64092 🔧 Update Display Sleep LCD Check (#24934) 2022-10-29 18:39:26 -05:00
Justin Hartmann a9fe447313 🩹 Buttons Followup (#24935)
Followup to #24878
2022-10-29 18:37:36 -05:00
thinkyhead 6b4d7b9151 [cron] Bump distribution date (2022-10-25) 2022-10-25 00:37:23 +00:00
Scott Lahteine 6e1f0be215 🩹 Allow for last non-servo extruder 2022-10-24 17:30:33 -05:00
ellensp f4dc9d572b 🐛 Fix move_extruder_servo (#24908) 2022-10-24 16:47:23 -05:00
InsanityAutomation 81f88fefdc 🐛 Fix FTDUI Status Screen Timeout (#24899) 2022-10-24 16:44:52 -05:00
Manuel McLure cf2311f768 🩹 Fix spurious "bad command" (#24923) 2022-10-24 16:25:47 -05:00
thinkyhead 248236b1a7 [cron] Bump distribution date (2022-10-24) 2022-10-24 00:36:39 +00:00
Scott Lahteine aaf34fa96b 🩹 Fix M593 report 2022-10-22 23:36:03 -05:00
thinkyhead 2cad4420fd [cron] Bump distribution date (2022-10-23) 2022-10-23 00:34:38 +00:00
kurtis-potier-geofabrica 1b31a7cf2c 🚸 Up to 3 MAX Thermocouples (#24898) 2022-10-21 23:13:56 -05:00
Scott Lahteine fd0c6fa153 🔧 Clean up unused ESP_WIFI pins 2022-10-21 19:45:20 -05:00
thinkyhead ed1252642f [cron] Bump distribution date (2022-10-22) 2022-10-22 00:33:26 +00:00
tombrazier a460b01c87 🚀 ZV Input Shaping (#24797) 2022-10-21 16:34:22 -05:00
Scott Lahteine f8d7090e30 🔨 gcc-12 for macOS native 2022-10-21 15:41:51 -05:00
InsanityAutomation 02c43f44c7 Controllerfan PWM scaling, kickstart (#24873) 2022-10-21 13:03:38 -05:00
silycr 86aac677ac 🚸 Probe pins for Chitu V5 (#24910) 2022-10-21 13:01:46 -05:00
thinkyhead 70b3166715 [cron] Bump distribution date (2022-10-21) 2022-10-21 00:28:49 +00:00
ellensp 42d30ed102 🔧 Some STM32 UART Sanity Checks (#24795) 2022-10-19 21:23:22 -05:00
Scott Lahteine 9be1554faf 🎨 Misc. variant cleanup, translation
Followup to #24787
2022-10-19 21:02:25 -05:00
InsanityAutomation b244785141 🐛 Fix Print Timer stop with MarlinUI abort (#24902) 2022-10-19 20:36:39 -05:00
Keith Bennett 7e25ef9456 ✏️ Fix a label (#24903)
Followup to e298266eff
2022-10-19 20:32:12 -05:00
ellensp 437cc48470 🔧 No Native USB on AVR (#24906) 2022-10-19 20:29:15 -05:00
thinkyhead 4b279ac300 [cron] Bump distribution date (2022-10-20) 2022-10-20 00:30:52 +00:00
Scott Lahteine e49c3dc088 🩹 Polargraph followup
Fix issue from #24847
2022-10-19 00:45:35 -05:00
thinkyhead 6aa536c08f [cron] Bump distribution date (2022-10-19) 2022-10-19 00:33:17 +00:00
Scott Lahteine 81976c4360 🧑‍💻 Pins and debug list cleanup (#24878) 2022-10-17 23:00:26 -05:00
Scott Lahteine e298266eff 🎨 CONF_SERIAL_IS => SERIAL_IN_USE 2022-10-17 22:47:09 -05:00
ellensp 1aa0ece8a4 Tronxy v10 (#24787) 2022-10-17 22:41:41 -05:00
Keith Bennett 4e1e82b122 🔧 No Sleep for CR-10 Stock Display (#24875) 2022-10-17 22:24:19 -05:00
karliss 52096599b3 🐛 Fix compile without Y/Z (#24858)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-10-17 20:01:18 -05:00
thinkyhead fa63ed6cc7 [cron] Bump distribution date (2022-10-18) 2022-10-18 00:35:28 +00:00
Keith Bennett 5cdb9c2bc8 🔧 Check Sensorless Homing on all axes (#24872) 2022-10-17 14:25:37 -05:00
InsanityAutomation ce40836717 🐛 Fix bed/chamber PID P edit (#24861) 2022-10-17 14:17:51 -05:00
thinkyhead 4d56b557aa [cron] Bump distribution date (2022-10-17) 2022-10-17 18:46:42 +00:00
Scott Lahteine dd3b65bb1f 🎨 HAS_SPI_FLASH => SPI_FLASH 2022-10-17 13:02:04 -05:00
thinkyhead 5809bdd400 [cron] Bump distribution date (2022-10-16) 2022-10-16 06:11:46 +00:00
Dan Royer 5a80fc2617 🐛 Fix and improve Polargraph (#24847)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-10-16 00:03:42 -05:00
ellensp 6d2b792a29 🐛 Fix operators for V axis (#24866)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-10-15 19:40:00 -05:00
thinkyhead 1b46ca1cf8 [cron] Bump distribution date (2022-10-15) 2022-10-15 00:51:19 +00:00
mjbogusz e37a23231a 🩹 Fix TFT LCD in Simulation (#24871) 2022-10-14 18:59:31 -05:00
Scott Lahteine 54a5bf5edf 🎨 MMU2 cleanup 2022-10-14 13:37:12 -05:00
thinkyhead 670a199575 [cron] Bump distribution date (2022-10-13) 2022-10-13 00:32:13 +00:00
Scott Lahteine bbf4bcf5ae 🐛 Fix M876 without emergency parser
Fix regression from 1fb2fffdbf
2022-10-12 18:15:29 -05:00
adam3654 797aafd645 DOGM Display Sleep (#24829) 2022-10-12 18:03:32 -05:00
EvilGremlin 6ad5711807 🩹 Fix temperature include (#24834) 2022-10-12 18:01:28 -05:00
Scott Lahteine b577691b7b 🎨 Misc. variant cleanup 2022-10-12 17:53:42 -05:00
Scott Lahteine 93139e757c 🧑‍💻 Use spaces indent for Python 2022-10-12 17:52:56 -05:00
Scott Lahteine 8627d4e5da 🧑‍💻 Min and max for base types 2022-10-12 15:24:05 -05:00
thinkyhead cab94bb030 [cron] Bump distribution date (2022-10-12) 2022-10-12 00:37:55 +00:00
EvilGremlin 26d01c5f2c MKS SKIPR board (#24791) 2022-10-11 18:31:37 -05:00
thinkyhead 6b22f8152b [cron] Bump distribution date (2022-10-11) 2022-10-11 00:30:01 +00:00
Scott Lahteine e7cf3c7970 🔨 Update mfinfo for 2.1.x 2022-10-10 18:02:22 -04:00
Scott Lahteine 77227f66c2 🧑‍💻 Min and max for base types 2022-10-10 17:51:33 -04:00
Giuliano Zaro efde96131d ADVANCE_K per-extruder (#24821)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-10-10 14:55:04 -04:00
thinkyhead 051b95c845 [cron] Bump distribution date (2022-10-09) 2022-10-09 18:06:15 +00:00
EvilGremlin f595e40ceb ♻️ Set Progress without LCD (#24767)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-10-09 11:34:48 -04:00
thinkyhead 0d8a695ea9 [cron] Bump distribution date (2022-10-02) 2022-10-02 00:34:34 +00:00
EvilGremlin fcf9f22390 🩹 Fix Color UI touchscreen sleep (#24826) 2022-10-01 15:04:50 -05:00
thinkyhead 43fa749d27 [cron] Bump distribution date (2022-10-01) 2022-10-01 18:05:53 +00:00
Adam 6cc11b76fd 🩹 Fix Switching Toolhead compile (#24814) 2022-10-01 11:49:12 -05:00
ellensp c2f7a568f3 🧑‍💻 Einsy Rambo EXP headers (#24825) 2022-10-01 11:39:10 -05:00
ellensp a8f650079b 🔨 Detect feature parsing error (#24824) 2022-10-01 11:35:47 -05:00
ellensp 91fafec424 Creality v5.2.1 board (#24815)
Followup to #24760
2022-10-01 11:25:00 -05:00
Keith Bennett 11f8244573 🔧 Thermistor (66) sanity-check (#24803) 2022-10-01 11:19:51 -05:00
thinkyhead e1df912dc7 [cron] Bump distribution date (2022-09-30) 2022-09-30 00:41:18 +00:00
Eduardo José Tagle 35594a23de 🐛 Fix DUE compile and errors (#24809) 2022-09-29 17:54:59 -05:00
Scott Lahteine 83922dd4e6 🩹 Fix some vector_3 cast operators 2022-09-29 17:30:53 -05:00
thinkyhead a5c5bb9660 [cron] Bump distribution date (2022-09-28) 2022-09-28 18:10:34 +00:00
Keith Bennett 18b6d6c8ca 🔧 Update Creality 4.2.2 Driver Warning (#24806) 2022-09-28 10:05:06 -05:00
ellensp 2c6ed101c1 🩹 Disable DEBUG_DGUSLCD (#24798) 2022-09-28 10:03:40 -05:00
Yuri D'Elia 644c91ce8b 🎨 Remove non-const compare operators (#24810) 2022-09-28 09:49:30 -05:00
Plynix / Ben Hartiwch 1b3941c0d2 Creality v5.2.1 board (#24760) 2022-09-28 09:46:50 -05:00
thinkyhead e14faf0413 [cron] Bump distribution date (2022-09-27) 2022-09-27 00:30:06 +00:00
discip f84d51ec06 Pt1000 with 2k2 pullup (SKR 3 / EZ) (#24790) 2022-09-26 16:42:52 -05:00
ellensp 8aa3273242 ✏️ Followup for M524 (#24775)
Followup to #24761
2022-09-26 16:25:54 -05:00
Stuart Pittaway 6f68942e83 🚸 UUID fallback to STM32 device SN (#24759)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-09-26 16:18:15 -05:00
Keith Bennett 9881f758d7 📌 Specify MarlinFirmware/U8glib (#24792) 2022-09-26 16:15:14 -05:00
thinkyhead 945d5dbe13 [cron] Bump distribution date (2022-09-23) 2022-09-23 06:23:27 +00:00
Renaud11232 7d08ab4fb7 🔨 Fix LPC1768 autodetect path on Linux (#24773) 2022-09-23 00:20:44 -05:00
ellensp 4a2b08f883 🐛 Fix VW axis fields in types.h (#24780) 2022-09-23 00:16:01 -05:00
thinkyhead 1d2aecaca8 [cron] Bump distribution date (2022-09-22) 2022-09-22 18:13:30 +00:00
Bob Kuhn a4297ff492 Fix UBL regression (#24622)
Fix regression from #24188
2022-09-22 12:54:49 -05:00
ellensp 4f299bf867 📺 FYSETC Mini 12864 2.1 pins for Creality V4 (#24624) 2022-09-22 12:20:17 -05:00
Yuri D'Elia 038042b09e 👷 Array macros to …26 elements (#24789) 2022-09-22 11:54:26 -05:00
thinkyhead 8f4fb42bfb [cron] Bump distribution date (2022-09-18) 2022-09-18 06:07:46 +00:00
FBN 6fdf9bf2ea ✏️ MMU2 followup (#24770)
Followup to #24750
2022-09-17 20:53:07 -05:00
Arkadiusz Miśkiewicz 6c813fcd16 🚸 Emergency Parse M524 (#24761) 2022-09-17 20:51:37 -05:00
Scott Lahteine 1e525c5976 🩹 Fix inverse_accel redefine
Followup to #24737
2022-09-17 20:36:55 -05:00
thinkyhead b1239a42a8 [cron] Bump distribution date (2022-09-17) 2022-09-17 00:24:30 +00:00
Stefan Kalscheuer 06d7d2ada4 Anycubic i3 Mega LCD file menu fix (#24752) 2022-09-16 14:21:13 -05:00
Chris Bagwell 9467b68608 🧑‍💻 STM32G0B1RE Pins Debugging (#24748) 2022-09-16 13:30:04 -05:00
thinkyhead e338420df8 [cron] Bump distribution date (2022-09-16) 2022-09-16 00:27:49 +00:00
FBN d0e7c2c208 🚸 More automatic MMU2 load (#24750) 2022-09-15 18:02:08 -05:00
thinkyhead 1ab6e5cdc9 [cron] Bump distribution date (2022-09-15) 2022-09-15 18:06:16 +00:00
Scott Lahteine 551f5ada94 📌 Can use luc-github/ESP3DLib now
Followup to #24670
2022-09-15 10:28:49 -05:00
thinkyhead e927e58d32 [cron] Bump distribution date (2022-09-14) 2022-09-14 00:26:34 +00:00
Scott Lahteine 8a3ad7abcc 🔨 Fix config-labels.py 2022-09-13 13:29:50 -05:00
thinkyhead 5b0096c350 [cron] Bump distribution date (2022-09-13) 2022-09-13 18:28:57 +00:00
Eduard Sukharev c3b58f1938 🩹 Fix MKS TinyBee + MKS MINI 12864 SD blank on write (#24670) 2022-09-13 12:31:59 -05:00
Eduard Sukharev e003552804 🚸 Sanity check Integrated Babystepping + I2S stream + ESP32 (#24691) 2022-09-13 12:29:59 -05:00
George Fu 50f79823d2 FYSETC SPIDER KING407 (#24696) 2022-09-13 12:28:38 -05:00
ellensp 3c449b220f BTT SKR Mini E3 V3.0.1 (#24722) 2022-09-13 12:27:16 -05:00
thinkyhead c5af435449 [cron] Bump distribution date (2022-09-11) 2022-09-11 00:24:58 +00:00
Scott Lahteine 45cf997341 🌐 Some short menu strings 2022-09-09 19:31:47 -05:00
thinkyhead 0820f94a5a [cron] Bump distribution date (2022-09-10) 2022-09-10 00:27:05 +00:00
XDA-Bam d5cf0b3348 ️ Minor planner optimization (#24737) 2022-09-09 15:51:11 -05:00
kisslorand 0ae64f1140 ✏️ Fix M115 spindle/laser cap (#24747) 2022-09-09 15:36:39 -05:00
hartmannathan c80d1ea97d 📝 Fix example comment (#24744) 2022-09-09 15:35:16 -05:00
Keith Bennett 1013323f18 ️ Only Sync Emulated EEPROM Print Counter (#24731) 2022-09-09 14:22:52 -05:00
Gurmeet Athwal 25736abc0f 🚸 M115 spindle/laser (#24681) 2022-09-09 14:21:19 -05:00
Giuliano Zaro dc0b490bf0 🐛 Fix heater timeout PID output (#24682) 2022-09-09 13:54:29 -05:00
thinkyhead b95d073f02 [cron] Bump distribution date (2022-09-08) 2022-09-08 00:25:55 +00:00
studiodyne 9e5c143b87 M217 G wipe retract length 2022-09-07 17:46:28 -05:00
studiodyne 458e1aea41 XY_COUNTERPART_BACKOFF_MM 2022-09-07 15:41:17 -05:00
studiodyne 0765dfd43f RGB_STARTUP_TEST 2022-09-07 14:16:21 -05:00
Scott Lahteine 4f9ba7e991 🧑‍💻 Microsteps to stepper.cpp 2022-09-06 23:05:42 -05:00
Scott Lahteine 9ab0b18256 📝 Fix comment 2022-09-06 22:34:17 -05:00
thinkyhead 57ee26e909 [cron] Bump distribution date (2022-09-07) 2022-09-07 00:26:05 +00:00
Scott Lahteine d23ab529d8 🔨 Outdent py string 2022-09-06 17:53:36 -05:00
Arkadiusz Miśkiewicz c9ef1277f3 🚸 On pause report "SD printing byte X/Y" (#24709) 2022-09-06 01:48:42 -05:00
JoaquinBerrios 2b23bdce70 ️ BTT SKR V3.0 / EZ = 480MHz (#24721) 2022-09-06 01:39:02 -05:00
thinkyhead 61a543a471 [cron] Bump distribution date (2022-09-06) 2022-09-06 00:26:04 +00:00
dmitrygribenchuk 83aac65664 🔨 Clean up Python imports (#24736) 2022-09-05 13:19:19 -05:00
ButchMonkey c46ed8f57d 🔨 Fix config.ini custom items, and 'all' (#24720) 2022-09-04 23:48:58 -05:00
thinkyhead 9fc3642f2a [cron] Bump distribution date (2022-09-05) 2022-09-05 00:29:22 +00:00
ButchMonkey 328f6d9aff 🔨 Fix configuration.py with encoding UTF-8 (#24719)
- Opening files with Windows-1252 encoding.
2022-09-04 15:10:22 -05:00
Stephen Hawes 35d4791518 Opulo LumenPnP REV04 (#24718) 2022-09-03 20:55:37 -05:00
Giuliano Zaro 094701cc71 🐛 Fix / refactor shared PID (#24673)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-09-03 19:51:53 -05:00
thinkyhead f6d109287f [cron] Bump distribution date (2022-09-04) 2022-09-04 00:26:23 +00:00
Keith Bennett fdf6445a51 🔨 Update SKR 3 env (#24711) 2022-09-03 18:48:21 -05:00
Scott Lahteine 68d4869616 Format some comments 2022-09-03 18:21:23 -05:00
thinkyhead 5f61a896d9 [cron] Bump distribution date (2022-09-03) 2022-09-03 00:22:59 +00:00
EvilGremlin bcb6f6e85e 🔨 Native USB modified env followup (#24669)
Followup to #24619
2022-09-01 21:47:37 -05:00
tombrazier 8e71f7add4 Permit Linear Advance with I2S Streaming (#24684) 2022-09-01 21:04:46 -05:00
thinkyhead 243f7f2834 [cron] Bump distribution date (2022-09-02) 2022-09-02 00:24:02 +00:00
Giuliano Zaro 89f86bc550 🚸 Strict index 2 for M913 / M914 XY (#24680) 2022-09-01 14:16:52 -05:00
Arkadiusz Miśkiewicz 1b03fc3f63 🩹 Report M22 / M23 success / fail (#24706) 2022-09-01 13:48:24 -05:00
thinkyhead aa0904600b [cron] Bump distribution date (2022-08-30) 2022-08-30 00:41:13 +00:00
Scott Lahteine 6542f61aaf 🔖 Config version 02010200 2022-08-29 19:23:53 -05:00
EvilGremlin b229fba98b 🐛 Fix back button (#24694) 2022-08-29 18:52:02 -05:00
thinkyhead 8a3cd2f47b [cron] Bump distribution date (2022-08-27) 2022-08-27 00:22:42 +00:00
Scott Lahteine 9b7b1a3635 ✏️ Fix http:// links 2022-08-25 23:45:07 -05:00
Lefteris Garyfalakis 15a100dafa ✏️ Fix LCD sleep conditional (#24685) 2022-08-25 23:40:31 -05:00
Miguel Risco-Castillo c918e90b8d 🩹 Constrain UBL within mesh bounds (#24631)
Fixes #24630
2022-08-25 23:23:54 -05:00
thinkyhead 2635182dcb [cron] Bump distribution date (2022-08-26) 2022-08-26 00:25:25 +00:00
Keith Bennett ace358327d 🚸 Up to 10 Preheat Constants (#24636) 2022-08-25 18:14:50 -05:00
ellensp eabab4322d 🔧 Fix Auto-Fan / Controller-Fan pin conflict check (#24648) 2022-08-25 18:07:41 -05:00
ellensp 66e61f4de3 🩹 Fix PID debug output (#24647) 2022-08-25 17:51:11 -05:00
Mark 42f8cc4606 🐛 Fix Bed Distance Sensor reading (#24649) 2022-08-25 17:50:03 -05:00
Arkadiusz Miśkiewicz 82d1851743 M20_TIMESTAMP_SUPPORT (#24679)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-25 17:14:54 -05:00
thinkyhead 6053fae1ac [cron] Bump distribution date (2022-08-25) 2022-08-25 18:16:46 +00:00
EvilGremlin 2f91154cbd ♻️ Display sleep minutes, encoder disable option (#24618)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-25 12:16:55 -05:00
DejitaruJin 6704c0bc4c 🩹 Fix SainSmart LCD (#24672) 2022-08-25 12:12:13 -05:00
Keith Bennett b19d44ba0b 🩹 Fix Freeze Feature (#24664) 2022-08-25 12:08:03 -05:00
Lefteris Garyfalakis 2a2c161d87 🔨 Suppressible Creality 4.2.2 warning (#24683) 2022-08-25 11:48:35 -05:00
thinkyhead f4a5db52e8 [cron] Bump distribution date (2022-08-24) 2022-08-24 18:11:29 +00:00
Scott Lahteine a76b92bce0 Robin Nano v1 CDC (USB mod)
Followup to #24619
2022-08-24 10:15:57 -05:00
thinkyhead e201f4e656 [cron] Bump distribution date (2022-08-22) 2022-08-22 18:06:10 +00:00
EvilGremlin 2a1c2e26ed Robin Nano v1 CDC (USB mod) (#24619) 2022-08-22 10:31:02 -05:00
Alexey Galakhov 20c72845a0 🐛 Fix JyersUI (#24652) 2022-08-22 10:11:53 -05:00
Keith Bennett d77027276c 🔧 Fix Skew Correction defaults (#24601) 2022-08-22 09:53:51 -05:00
thinkyhead 6e39bd6c85 [cron] Bump distribution date (2022-08-21) 2022-08-21 00:22:59 +00:00
Scott Lahteine 34f3e5bd88 🎨 Some automated cleanup 2022-08-20 06:41:31 -05:00
thinkyhead da3b7ab259 [cron] Bump distribution date (2022-08-20) 2022-08-20 00:22:12 +00:00
Keith Bennett 6909f5fa4f 📺 Add to MKS UI About Screen (#24610) 2022-08-19 13:37:43 -05:00
Keith Bennett 03d9254079 🔧 Remove STM32F4 Print Counter Sanity Check (#24605) 2022-08-19 13:11:15 -05:00
Protomosh 4ae9bf3b9d 🐛 Fix DGUS Reloaded + STM32 (#24600) 2022-08-19 12:57:27 -05:00
Scott Lahteine 306e03b03b 🧑‍💻 Use spaces indent for Python 2022-08-19 11:10:42 -05:00
Scott Lahteine e701e0bb25 🔨 Misc. schema updates 2022-08-19 11:09:07 -05:00
Graham Reed dab60a1cb7 🔨 Fix LPC1768 automatic upload port (#24599) 2022-08-19 10:48:27 -05:00
thinkyhead 1be5a7b5d7 [cron] Bump distribution date (2022-08-19) 2022-08-19 00:25:32 +00:00
Scott Lahteine af1c7e1a81 🩹 Fix strtof interpreting a hex value
Bug introduced in #21532
2022-08-18 13:10:27 -05:00
thinkyhead 1766ee15a3 [cron] Bump distribution date (2022-08-17) 2022-08-17 18:05:53 +00:00
Scott Lahteine ce26fccc3e 🔨 Add args to schema.py 2022-08-17 07:32:43 -05:00
thinkyhead 0100b7be4d [cron] Bump distribution date (2022-08-16) 2022-08-16 18:07:16 +00:00
Scott Lahteine fab4fb7fbb 🎨 Fix '…if_chain' Uncrustify option 2022-08-16 09:47:51 -05:00
Scott Lahteine b8bd331efd 🔨 Misc. config py updates 2022-08-16 09:42:38 -05:00
Scott Lahteine e42cbe7500 🧑‍💻 Add operator== for C++20 2022-08-16 09:42:38 -05:00
thinkyhead c84f839fc7 [cron] Bump distribution date (2022-08-14) 2022-08-14 12:07:06 +00:00
Scott Lahteine c2874ca809 🔨 Update schema ignores, export value 2022-08-14 03:58:03 -05:00
thinkyhead 4bd4c1f3bc [cron] Bump distribution date (2022-08-12) 2022-08-12 00:22:10 +00:00
Keith Bennett 637bff9982 🧑‍💻 Fix UBL Build Mesh preheat items (#24598)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-11 13:35:36 -05:00
thinkyhead 8025117ac0 [cron] Bump distribution date (2022-08-08) 2022-08-08 06:06:06 +00:00
Scott Lahteine 1a1db10634 🔨 Fix 'val' value in schema.py 2022-08-07 20:42:33 -05:00
thinkyhead 5b68a3f79b [cron] Bump distribution date (2022-08-07) 2022-08-07 00:27:50 +00:00
Scott Lahteine d33111b215 🎨 Misc. config cleanup 2022-08-06 18:40:25 -05:00
ExtNeon 53b202cf9d SD Endstop Abort G-Code (#24461) 2022-08-06 18:37:03 -05:00
Scott Lahteine 9c86ca3a19 🔧 Schema catch missing pip 2022-08-06 03:53:21 -05:00
thinkyhead e33dafeb80 [cron] Bump distribution date (2022-08-06) 2022-08-06 06:21:59 +00:00
Ivan Kravets 5b4af52d04 🔨 Fix a PlatformIO debug issue (#24569) 2022-08-06 01:17:46 -05:00
Mark 83320f1052 Bed Distance Sensor (#24554) 2022-08-06 01:14:58 -05:00
Keith Bennett 1dc17aa64c 🩹 Fix AUTO_FAN_PIN sanity check (#24593) 2022-08-06 00:59:56 -05:00
Scott Lahteine 68f13ca9cf 🩹 G0/G1 S seen => seenval 2022-08-06 00:57:37 -05:00
qwertymodo 5a2cc41f9c M150 K – Keep unspecified components (#24315) 2022-08-06 00:18:50 -05:00
J.C. Nelson 7f10f8932e 🔨 Trigorilla Pro disk based update (#24591) 2022-08-06 00:17:27 -05:00
Travis Ziegler 1866e25eef 🩹 Fix LPC176x USB Host Shield (#24588) 2022-08-05 21:37:24 -05:00
Scott Lahteine ec4db07a51 👔 Keep "Needs: More Data" open 2022-08-05 19:40:31 -05:00
Scott Lahteine becef39c19 🩹 Fix CONFIGURATION_EMBEDDING
Followup to b7fd046d59
2022-08-05 19:23:49 -05:00
thinkyhead 24a7ed44b3 [cron] Bump distribution date (2022-08-05) 2022-08-05 00:28:07 +00:00
Ruedi Steinmann a167e2e948 🚸 Laser with only PWM pin (#24345) 2022-08-04 18:00:19 -05:00
Scott Lahteine 59c2fe4561 🧑‍💻 MARLIN_TEST_BUILD – for future use (#24077) 2022-08-04 17:56:09 -05:00
Scott Lahteine b7fd046d59 🔧 Add date, version to Config Export 2022-08-04 17:50:41 -05:00
thinkyhead 4c9146cffd [cron] Bump distribution date (2022-08-04) 2022-08-04 12:08:11 +00:00
Scott Lahteine 1bed10c380 🔧 Config INI, dump options (#24528) 2022-08-04 02:38:15 -05:00
Scott Lahteine 1c4fc4603a 🩹 Fix Malyan M300 with S-Curve compile
Fixes #24548
2022-08-04 01:17:56 -05:00
thinkyhead 35d9920ef8 [cron] Bump distribution date (2022-08-02) 2022-08-02 00:25:38 +00:00
ellensp 1ad036c52f 🔧 Update 644p/1284p Serial 1 sanity check (#24575) 2022-08-01 01:17:57 -05:00
Scott Lahteine 7f72e78520 🔨 Simplify scripts with pathlib (#24574) 2022-08-01 01:14:58 -05:00
thinkyhead 6fe317e385 [cron] Bump distribution date (2022-08-01) 2022-08-01 06:14:22 +00:00
Mike La Spina e5f2daa001 🐛 Fix laser menu enable_state (#24557) 2022-08-01 01:03:45 -05:00
thinkyhead 4ba35d3284 [cron] Bump distribution date (2022-07-31) 2022-07-31 06:05:45 +00:00
InsanityAutomation 91f9e1671f Configurable Switching Nozzle dwell (#24304) 2022-07-30 21:55:32 -05:00
tombrazier 232a104a92 Fix, improve Linear Advance (#24533) 2022-07-30 21:39:48 -05:00
tombrazier aba35ec1af 🩹 Use _MIN/_MAX macros for native compatibility (#24570) 2022-07-30 21:05:16 -05:00
DerAndere d8df9ffd61 🐛 Fix kinematic feedrate (#24568) 2022-07-30 20:49:15 -05:00
Keith Bennett f4b6870ad1 Encoder Noise Filter (#24538) 2022-07-30 19:51:25 -05:00
thinkyhead 8938e4d23c [cron] Bump distribution date (2022-07-30) 2022-07-30 00:29:03 +00:00
lukasradek 0f0edd2e37 📝 README Updates (#24564) 2022-07-29 18:56:59 -05:00
Scott Lahteine 7b0eb2d9f8 🚑️ Fix XYZEval = N not setting E 2022-07-29 18:41:03 -05:00
Scott Lahteine 44c1f2ef6b 🎨 Renum boards.h 2022-07-29 08:01:39 -05:00
Scott Lahteine 9cdfaf693c 🐛 Fix M125 for 9 Axis 2022-07-29 02:14:14 -05:00
thinkyhead 6f7d14def3 [cron] Bump distribution date (2022-07-29) 2022-07-29 06:08:47 +00:00
Scott Lahteine a25f321abb 🔨 Separate bugfix-2.1.x CI Tests 2022-07-29 01:01:34 -05:00
Scott Lahteine 7e5d5330d6 🎨 Misc. 'else' cleanup 2022-07-28 20:53:11 -05:00
thinkyhead b4dcdcc885 [cron] Bump distribution date (2022-07-28) 2022-07-28 06:06:27 +00:00
Ludy 2dff08c86b 🌐 Update German language (#24555) 2022-07-27 21:44:21 -05:00
thinkyhead ca8182344f [cron] Bump distribution date (2022-07-27) 2022-07-27 12:08:06 +00:00
Scott Lahteine 21c48d9f92 🧑‍💻 Update planner/stepper includes 2022-07-27 04:25:37 -05:00
Scott Lahteine 90b5645223 🩹 Fix lcd_preheat compile 2022-07-27 03:52:03 -05:00
Scott Lahteine d816c1b38d 🔨 Update build/CI scripts 2022-07-27 03:52:03 -05:00
Scott Lahteine 8ccbac5317 🎨 PIO scripts cleanup 2022-07-27 03:52:03 -05:00
thinkyhead 223bbc9bca [cron] Bump distribution date (2022-07-26) 2022-07-26 00:25:10 +00:00
Keith Bennett 4ffa2e80e4 📺 Fix TFT Classic UI non-Touchscreen 1024x600 (#24541) 2022-07-25 14:02:37 -05:00
Keith Bennett bc0e4c6d50 🩹 Fix JyersUI include (#24540) 2022-07-25 13:48:59 -05:00
Keith Bennett a29fb8088f 📝 Update MPCTEMP G-Code M306 T (#24535)
M306 simply reports current values. M306 T starts autotune process.
2022-07-25 13:47:07 -05:00
thinkyhead 57ca996c31 [cron] Bump distribution date (2022-07-24) 2022-07-24 00:26:50 +00:00
Scott Lahteine 8cf4c0515d 🧑‍💻 Keep state for build_all_examples --limit 2022-07-23 01:30:43 -05:00
thinkyhead 2634d0cc52 [cron] Bump distribution date (2022-07-23) 2022-07-23 06:05:41 +00:00
tombrazier deca553e18 🐛 Fix 2d mesh print (#24536) 2022-07-22 23:32:28 -05:00
Scott Lahteine 007af47768 Reinstate JyersUI 2022-07-22 22:09:08 -05:00
Scott Lahteine 8455408382 🧑‍💻 Give the simulator Stepper access 2022-07-22 21:52:14 -05:00
Scott Lahteine 3b4c759872 🧑‍💻 Fix and improve build_all_examples 2022-07-22 21:51:40 -05:00
Scott Lahteine edeea5a6fb 🔨 Minor build script changes 2022-07-22 21:49:29 -05:00
Scott Lahteine 6577fba768 🩹 Fix TFT image PACKED conflict 2022-07-22 21:46:43 -05:00
thinkyhead 7726e26ac0 [cron] Bump distribution date (2022-07-22) 2022-07-22 18:05:45 +00:00
Scott Lahteine c2972899ca 🩹 Fix MAX31865 approximations
Followup to #24407
2022-07-22 12:38:00 -05:00
thinkyhead 58329b066d [cron] Bump distribution date (2022-07-21) 2022-07-21 00:24:51 +00:00
Scott Lahteine 2419a167ee EXP header pin numbers redux (#24525)
Followup to 504fec98
2022-07-20 16:26:33 -05:00
Frederik Kemner 0138cb0552 🩹 Fix gcode.h include (#24527) 2022-07-20 16:25:15 -05:00
InsanityAutomation aacc2d3dc5 🐛 Fix Archim2 USB Hang (#24314) 2022-07-20 03:08:19 -05:00
thinkyhead 39c5793575 [cron] Bump distribution date (2022-07-20) 2022-07-20 00:21:00 +00:00
InsanityAutomation 258904e86c 🚸 Use Tool 0 for G30 (#24511) 2022-07-19 17:33:49 -05:00
ellensp 57700b4edd 📺 SKR_MINI_SCREEN_ADAPTER for BTT SKR Mini E3 V3 (#24521) 2022-07-19 17:32:08 -05:00
Eduard Sukharev c5b3bacfc9 More ESP32 (MKS TinyBee) tests (#24493) 2022-07-19 17:30:19 -05:00
thinkyhead 999f33b1e7 [cron] Bump distribution date (2022-07-19) 2022-07-19 06:07:36 +00:00
Keith Bennett 4b8a1ec86f 📝 Update Contributing Guide (#24320) 2022-07-18 20:14:58 -05:00
InsanityAutomation bb3c5aa186 🚸 Machine-relative Z_STEPPER_ALIGN_XY (#24261)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-07-18 20:12:27 -05:00
Scott Lahteine 5f2908a117 ♻️ Small sound / buzz refactor (#24520) 2022-07-18 19:53:36 -05:00
Scott Lahteine ed2071aabd 🩹 Fix manual move titles (#24518) 2022-07-18 19:52:47 -05:00
thinkyhead 48e4863cb6 [cron] Bump distribution date (2022-07-18) 2022-07-18 06:06:15 +00:00
tombrazier 3b4a5a1ae8 🩹 Arc/Planner optimization followup (#24509) 2022-07-18 00:51:44 -05:00
Keith Bennett 6d83f7a579 🩹 Fix ProUI + Leveling compile (#24508) 2022-07-17 23:33:23 -05:00
thinkyhead 23926bb4c2 [cron] Bump distribution date (2022-07-17) 2022-07-17 00:24:12 +00:00
Scott Lahteine 8fd6693d53 🔨 Update mfprep comment 2022-07-16 17:16:37 -05:00
Arthur Masson 9706cd0d7d Polargraph M665 settings (#24401) 2022-07-16 16:58:18 -05:00
Scott Lahteine 504fec9823 🚸 Renumber EXP pins to match schematics/RRF/Klipper 2022-07-16 16:40:32 -05:00
Christophe Huriaux 05a7be7b25 eMotion-Tech eMotronic (Micro-Delta rework) (#24488) 2022-07-16 16:35:40 -05:00
Scott Lahteine fa0ad4b594 🔨 Add mftest --default flag 2022-07-16 16:11:33 -05:00
Scott Lahteine e84de791ab 🩹 Fix TFT tImage struct packing 2022-07-16 16:01:28 -05:00
GHGiampy 9be1de54ae 🩹 Add'l ProUI fixes (#24500) 2022-07-15 20:14:15 -05:00
GHGiampy 147fbd9d39 🔨 Remove log2file monitor filter (#24502) 2022-07-15 20:11:47 -05:00
Nikolay-Po 8a1643587b Steinhart-Hart C Coeff for Custom Thermistor (#24428) 2022-07-15 19:56:15 -05:00
thinkyhead 2f219d6824 [cron] Bump distribution date (2022-07-16) 2022-07-16 00:24:41 +00:00
Scott Lahteine 33d261141a 🔨 Also update rm for settings.o 2022-07-15 18:47:25 -05:00
tombrazier fc0615fbd1 ️ Optimize Planner calculations (#24484) 2022-07-15 18:47:20 -05:00
Keith Bennett 48f0d55097 📝 Update board MCU comments (#24486) 2022-07-15 18:47:20 -05:00
GHGiampy 6eef807520 🔨 Fix firmware upload (#24499) 2022-07-15 03:18:57 -05:00
Scott Lahteine 0f5703a837 🔨 PlatformIO "--target upload" == "--target exec" 2022-07-14 21:56:13 -05:00
Scott Lahteine de0706e52c 🔨 Fix Warnings.cpp force-recompile 2022-07-14 21:08:07 -05:00
thinkyhead 7361c03aa4 [cron] Bump distribution date (2022-07-15) 2022-07-15 00:26:29 +00:00
Scott Lahteine e92854b0ed 🔨 Fix and update Makefile
Followup to 89fe5f6d
2022-07-14 02:56:55 -05:00
Keith Bennett 0941e8e869 📌 Pin ESP32SSDP to 1.1.1 (#24489) 2022-07-14 01:31:47 -05:00
Victor Oliveira a61fab7302 Creality3D v4.2.5 / CR200B (#24491) 2022-07-14 01:30:00 -05:00
thinkyhead 0dc46a8d27 [cron] Bump distribution date (2022-07-14) 2022-07-14 06:22:49 +00:00
GHGiampy 30ec700a1d 🩹 Fix ProUI LED compile (#24473) 2022-07-14 00:03:27 -05:00
Miguel Risco-Castillo 8fb54d4621 🚸 Fix and update ProUI (#24477) 2022-07-14 00:00:33 -05:00
toomuchwonder c47575f244 🩹 Fix MKS UI extruder speed (#24476) 2022-07-13 22:17:53 -05:00
Bob Kuhn 3f4e4a4d89 🔥 Drop STM L64** drivers, STEVAL_3DP001V1 (#24427) 2022-07-13 22:16:22 -05:00
Scott Lahteine 2dc543c4f5 🎨 ANY => EITHER 2022-07-13 21:22:53 -05:00
GHGiampy 1d31b6215a 🔨 Abort firmware update on transfer error (#24472) 2022-07-13 20:25:35 -05:00
thinkyhead cee517bc24 [cron] Bump distribution date (2022-07-13) 2022-07-13 00:25:33 +00:00
Scott Lahteine 3c3c9f1a8e 🧑‍💻 Update Mac Sim directions 2022-07-12 13:25:41 -05:00
Scott Lahteine 068624a726 📌 Ask for PlatformIO 6.1.1 or newer (#24435) 2022-07-12 13:02:54 -05:00
thinkyhead ec2864be74 [cron] Bump distribution date (2022-07-12) 2022-07-12 00:22:44 +00:00
Keith Bennett 1bab0243fd MKS Monster8 V2 (#24483) 2022-07-11 13:33:42 -05:00
thinkyhead 57e27339b6 [cron] Bump distribution date (2022-07-11) 2022-07-11 06:06:57 +00:00
Scott Lahteine d60a280bc5 🧑‍💻 Add Sim debug with lldb 2022-07-10 22:00:10 -05:00
thinkyhead 0a7be1ac58 [cron] Bump distribution date (2022-07-10) 2022-07-10 00:26:20 +00:00
Scott Lahteine f101aeb3ec 🐛 Fix SDIO for STM32 (#24470)
Followup to #24271
2022-07-09 11:13:20 -05:00
thinkyhead 62c0ab072c [cron] Bump distribution date (2022-07-09) 2022-07-09 00:18:55 +00:00
Keith Bennett 55b8d1b9d3 🔧 Assert Probe Temp Comp requirements (#24468) 2022-07-08 15:30:03 -05:00
Mike La Spina d924d17209 🐛 Fix laser/fan sync (#24460)
Followup to #22690, 307dfb15
2022-07-08 15:04:14 -05:00
tombrazier 920799e38d ️ Optimize G2-G3 Arcs (#24366) 2022-07-08 14:41:39 -05:00
Jason Smith f65f7a685b 🩹 Fix LCD_BACKLIGHT_TIMEOUT compile (#24463) 2022-07-07 23:43:56 -05:00
thinkyhead 623631286f [cron] Bump distribution date (2022-07-08) 2022-07-08 00:26:22 +00:00
Pauli Jokela abe139192f 🩹 Fix safe homing sanity-check (#24462) 2022-07-07 10:59:23 -05:00
Farva42 5979aab1c7 MAG_MOUNTED_PROBE (#24420)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-07-06 21:15:18 -05:00
Scott Lahteine f73fad1b2f 🔥 Remove JyersUI (#24459) 2022-07-06 21:15:18 -05:00
Scott Lahteine 1497c40379 📝 Configurations 02010100 (#24458) 2022-07-06 21:15:18 -05:00
thinkyhead 64aff274b4 [cron] Bump distribution date (2022-07-07) 2022-07-06 21:15:18 -05:00
Meilleur Gars 509dfe92d0 🚸 JyersUI updates (#24451) 2022-07-06 21:15:18 -05:00
Christophe Huriaux 58048e7748 🩹 Fix ST7565 LCD contrast init (#24457) 2022-07-06 21:15:18 -05:00
thinkyhead 9805d2bc38 [cron] Bump distribution date (2022-07-06) 2022-07-06 21:15:18 -05:00
Bob Kuhn a88e847295 🐛 Fix Sensorless Probing compile (#24455) 2022-07-06 21:15:18 -05:00
Eduard Sukharev 55417b28fe 🐛 Fix MKS TinyBee compile (#24454) 2022-07-06 21:15:18 -05:00
Mike La Spina 6a67ad4e4a ️ Fix and improve Inline Laser Power (#22690) 2022-07-06 21:15:18 -05:00
thinkyhead 132c37a651 [cron] Bump distribution date (2022-07-05) 2022-07-05 00:21:32 +00:00
Keith Bennett e08b293b54 BigTreeTech SKR SE BX V3.0 (#24449)
SKR SE BX V3.0 removes the Reverse Driver Protection feature.
2022-07-04 00:31:06 -05:00
Scott Lahteine f39e2bc1e4 🩹 Followup for lchar_t 2022-07-04 00:30:17 -05:00
EvilGremlin e94fa7d5dc 🔨 Fix OpenBLT encode; no-bootloader envs (#24446) 2022-07-03 20:49:23 -05:00
thinkyhead 954b4493d2 [cron] Bump distribution date (2022-07-04) 2022-07-04 00:26:42 +00:00
Keith Bennett fc287b44da 🚸 MPCTEMP: Home before cooling (#24434) 2022-07-03 11:08:43 -05:00
Scott Lahteine 54e7b933cd ♻️ Encapsulate PID in class (#24389) 2022-07-03 10:32:47 -05:00
Keith Bennett 9baeeedd69 🩹 Fix MKS TinyBee ADC Vref (#24432) 2022-07-03 10:08:40 -05:00
Victor Oliveira 3826b13ab1 🔨 Disable stack protector on macOS simulator (#24443) 2022-07-02 19:31:27 -05:00
thinkyhead b8741a59df [cron] Bump distribution date (2022-07-03) 2022-07-03 00:24:56 +00:00
Scott Lahteine 2b6ce3006e 🩹 Followup for lchar_t 2022-07-02 18:33:06 -05:00
Scott Lahteine d956a6ba00 🩹 Followup for lchar_t 2022-07-01 21:14:56 -05:00
Scott Lahteine 9c376f120c 🩹 Remove obsolete split_move 2022-07-01 20:23:01 -05:00
thinkyhead b1bb307dab [cron] Bump distribution date (2022-07-02) 2022-07-02 00:24:49 +00:00
Scott Lahteine cb4a79173b 🩹 Remove poison wchar_t macro 2022-07-01 18:13:38 -05:00
Scott Lahteine 35dbc286bd ✏️ Creality test followup 2022-07-01 07:53:58 -05:00
Moonglow c7923c0397 🐛 Fix M149 (#24430) 2022-06-30 21:51:55 -05:00
tombrazier a811005ab2 🚸 Vertical Max7219::quantity in portrait orientation (#24415) 2022-06-30 21:07:36 -05:00
Scott Lahteine 71368b5fa5 Update path to Ender-3 S1 configs 2022-06-30 20:57:37 -05:00
thinkyhead f76025b79c [cron] Bump distribution date (2022-07-01) 2022-07-01 00:25:21 +00:00
Scott Lahteine f5488f96cc 📝 Index Mobo Rev03 => Opulo Lumen Rev3 2022-06-30 17:31:45 -05:00
thinkyhead 4fb1c42500 [cron] Bump distribution date (2022-06-30) 2022-06-30 00:21:32 +00:00
Scott Lahteine d9ec3795fb 🩹 Fix memset block warning 2022-06-29 17:14:23 -05:00
Keith Bennett cc51bc29e1 🐛 Fix Axis Homing (#24425)
Followup to 4520a51
2022-06-29 08:24:22 -05:00
thinkyhead 914501f67e [cron] Bump distribution date (2022-06-29) 2022-06-29 00:21:53 +00:00
John Lagonikas 31d286750c 🐛 Fix MAX31865 PT1000 normalization (#24407)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-28 17:53:05 -05:00
thinkyhead d6fc3d2b69 [cron] Bump distribution date (2022-06-28) 2022-06-28 06:05:50 +00:00
Scott Lahteine 93ffd57383 ♻️ reset_acceleration_rates => refresh_… 2022-06-27 21:28:04 -05:00
Scott Lahteine 307dfb15ca ♻️ Planner flags refactor 2022-06-27 21:28:04 -05:00
Scott Lahteine 884f7c7db9 📝 Note about UBL bad splits 2022-06-27 21:28:04 -05:00
thinkyhead 95b70233f2 [cron] Bump distribution date (2022-06-27) 2022-06-27 00:24:23 +00:00
Scott Lahteine 76d784f75f 🎨 Misc. shorthand operators 2022-06-26 10:01:22 -05:00
Scott Lahteine d8545551fe 🐛 Fix Manual Move axis selection (#24404) 2022-06-26 06:48:24 -05:00
Shlee b46191715d 📝 Add STM32F4 example, Ruby (#24399) 2022-06-26 01:56:57 -05:00
Giuliano Zaro dc5c5bdf82 🌐 Update Italian language (#24398) 2022-06-26 01:52:19 -05:00
Roman Moravčík d976f291fd 🌐 Update Slovak language (#24397) 2022-06-26 01:51:16 -05:00
sgparry 1e66cc39c2 🩹 Fix LCD contrast with K8800 board 2022-06-26 01:49:57 -05:00
tombrazier 2266f1ad67 MAX7219 idle profiler (#24375) 2022-06-26 00:38:23 -05:00
thinkyhead a0125c85d4 [cron] Bump distribution date (2022-06-26) 2022-06-26 00:26:54 +00:00
Scott Lahteine 546b3066c3 🌐 Drop unused delta strings 2022-06-24 22:07:19 -05:00
thinkyhead 0aebcc4ded [cron] Bump distribution date (2022-06-25) 2022-06-25 00:22:43 +00:00
Bob Kuhn 12a869e2ad 🐛 Fix Lerdge build / encrypt (#24391)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-23 23:59:50 -05:00
thinkyhead 645c7dc370 [cron] Bump distribution date (2022-06-24) 2022-06-24 00:21:33 +00:00
Victor Oliveira 1a79537645 Classic UI BIQU BX (#24387) 2022-06-23 04:18:36 -05:00
thinkyhead 6355798bfd [cron] Bump distribution date (2022-06-23) 2022-06-23 00:18:49 +00:00
ellensp 58d1b1be28 🩹 Fix DGUS (MKS) compile (#24378) 2022-06-22 05:08:24 -05:00
Victor Oliveira 3c13be165b 🚑️ Fix BIQU BX touch freeze (#24383) 2022-06-22 03:33:03 -05:00
ellensp 8c3ba69c98 🐛 Fix M423 invocation (#24360)
Followup to #23745
2022-06-21 23:14:05 -05:00
tombrazier 757156de72 🩹 LCD strings followup, fix warning (#24328) 2022-06-21 21:45:22 -05:00
InsanityAutomation 757d66e2c5 🐛 Resolve DUE Servo pulse issue (#24305)
Co-authored-by: sjasonsmith <20053467+sjasonsmith@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-21 21:09:24 -05:00
DerAndere b06e378703 FOAMCUTTER_XYUV (for RAMPS) (#24325)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-06-21 21:07:17 -05:00
thinkyhead 90d9f1acc9 [cron] Bump distribution date (2022-06-22) 2022-06-22 00:25:14 +00:00
ellensp 22f0496c9b 🚑️ Fix SD mount bug (#24319)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-06-21 17:33:25 -05:00
thinkyhead d0e9ff0e29 [cron] Bump distribution date (2022-06-21) 2022-06-21 06:05:48 +00:00
Scott Lahteine 975c8f4b77 🎨 Simplify move menus with substitution 2022-06-20 21:22:04 -05:00
Scott Lahteine 4520a51bbe 🎨 Use MAP for home axis items 2022-06-20 21:21:48 -05:00
Scott Lahteine 432c879328 🧑‍💻 Fix STATIC_ITEM_N arg order 2022-06-20 21:21:20 -05:00
Scott Lahteine 6cbd7a48d1 🎨 Fix comments, formatting 2022-06-20 21:20:42 -05:00
Scott Lahteine 751c88aa5b 🩹 M919 9-axis update 2022-06-20 21:08:31 -05:00
thinkyhead 76f1f9d3b3 [cron] Bump distribution date (2022-06-18) 2022-06-18 06:07:14 +00:00
luzpaz a526c3d77a 🌐 Fix LCD string, typos (#24324) 2022-06-17 23:19:01 -05:00
tombrazier 1a6a604310 🐛 Fix G2/G3 Arcs stutter / JD speed (#24362) 2022-06-17 23:17:12 -05:00
thinkyhead 0a3c42a87c [cron] Bump distribution date (2022-06-15) 2022-06-15 12:07:28 +00:00
ellensp 70eac0fe4f 👷 CI test without src filter (emulate Arduino) (#24335) 2022-06-15 03:02:32 -05:00
thinkyhead 873f6c0b63 [cron] Bump distribution date (2022-06-14) 2022-06-14 06:05:52 +00:00
Keith Bennett e1b22a5c75 👷 Use Biqu BX for CI test (#24331) 2022-06-13 21:04:49 -05:00
Scott Lahteine 640282b8dc 🧑‍💻 Apply F() to some LCD / TFT strings
Followup to #24228
2022-06-13 20:43:23 -05:00
ellensp 0ff3018fd2 🩹 Fix missing ProUI cpp wrapper (#24313) 2022-06-13 20:38:19 -05:00
thinkyhead 9c6e0428af [cron] Bump distribution date (2022-06-11) 2022-06-11 06:06:31 +00:00
ellensp 43e9fe7f88 🐛 Fix JGAurora A5S A1 build (#24326) 2022-06-11 00:03:20 -05:00
Scott Lahteine 20dea22091 👔 Fewer checkboxes in Bug Report 2022-06-10 23:59:07 -05:00
Steven Haigh ee90ae2c87 🩹 Fix ProUI compile (#24310)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-10 21:08:55 -05:00
thinkyhead fb76ce841b [cron] Bump distribution date (2022-06-09) 2022-06-09 06:07:54 +00:00
Scott Lahteine 0ca33429b6 🧑‍💻 Misc. servo code cleanup 2022-06-09 00:51:47 -05:00
Scott Lahteine e4e6abe5af 🧑‍💻 Remove servo macros 2022-06-09 00:51:08 -05:00
thinkyhead 76a0cab782 [cron] Bump distribution date (2022-06-08) 2022-06-08 00:20:44 +00:00
ellensp 3e9fb34892 🩹 Media Change followup (#24302)
Followup to #24015
2022-06-07 01:59:21 -05:00
Scott Lahteine 9e73fd7149 👔 Update mfconfig import 2022-06-06 23:38:06 -05:00
thinkyhead 371ac49fc1 [cron] Bump distribution date (2022-06-07) 2022-06-07 00:30:16 +00:00
tombrazier f6e123430f 🩹 Fix Mesh Leveling + Debug compile (#24297) 2022-06-06 19:23:55 -05:00
lujios 3b142e531c 🩹 Fix G33 Delta Sensorless Probing compile (#24291) 2022-06-06 19:22:17 -05:00
Scott Lahteine d355ad04a0 👔 Fix and comment use_example_configs 2022-06-06 19:06:03 -05:00
thinkyhead a7a730f811 [cron] Bump distribution date (2022-06-06) 2022-06-06 06:06:26 +00:00
Miguel Risco-Castillo c9a9b25d41 🚸 ProUI G-code preview, PID plot (#24282) 2022-06-06 00:09:43 -05:00
Scott Lahteine 41a9dea149 👔 Update Marlin actions for 2.1.x 2022-06-06 00:09:43 -05:00
thinkyhead ec7cc59818 [cron] Bump distribution date (2022-06-05) 2022-06-05 00:25:04 +00:00
John Robertson ca06c6eab9 ️ PWM for ESP32 I2S expander (#24193) 2022-06-04 01:26:08 -05:00
Scott Lahteine d08223429b 🔖 Moving to bugfix-2.1.x 2022-06-04 01:22:02 -05:00
Scott Lahteine 8aca38351c 🧑‍💻 Extend LCD string substitution (#24278) 2022-06-03 22:56:38 -05:00
Scott Lahteine 9c872b214c 🐛 Fix min/max temp evaluation
Fixes #24257
2022-06-03 22:06:32 -05:00
Scott Lahteine 3522d5376c 🩹 Wrap SENSORLESS_STALLGUARD_DELAY 2022-06-03 20:55:15 -05:00
thinkyhead 2c0b8b52d8 [cron] Bump distribution date (2022-06-04) 2022-06-04 00:22:33 +00:00
Scott Lahteine 384ff264d7 🐛 Fix M203 report 2022-06-03 18:39:43 -05:00
Scott Lahteine 2b3ba02f09 🔧 LEVEL_BED_CORNERS => LCD_BED_TRAMMING 2022-06-03 18:16:43 -05:00
Scott Lahteine bcd9bb9628 🩹 Fix const warning
Followup to c16ae2451d
2022-06-03 01:31:01 -05:00
lujios 41f73cb457 ️ Improve Sensorless homing/probing accuracy for G28, G33, M48 (#24220)
Co-authored-by: Robby Candra <robbycandra.mail@gmail.com>
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2022-06-03 00:19:25 -05:00
Tanguy Pruvot 845e2f6fb7 Use default null args in select_screen 2022-06-02 20:12:24 -05:00
Tanguy Pruvot c9b97b8d64 🚑️ Fix SDIO Init bootloop on STM32F1 (#24275) 2022-06-02 19:23:07 -05:00
thinkyhead 833ea4ec29 [cron] Bump distribution date (2022-06-03) 2022-06-03 00:18:25 +00:00
Keith Bennett 12aded95dc 💚 SKR V3 case-sensitive fs fix (#24272) 2022-06-02 07:14:38 -05:00
thinkyhead 0e8e735e4c [cron] Bump distribution date (2022-06-02) 2022-06-02 12:07:36 +00:00
ellensp 49db4ef5e4 🩹 Fix G60/G61 debug code (#24231) 2022-06-02 04:28:07 -05:00
ellensp 08c51a405a 🐛 Init Stepper SPI before PSU Control (#24269) 2022-06-02 04:22:09 -05:00
BIGTREETECH eda61a2cbd BigTreeTech SKR3 - STM32H743 (#24271)
Co-authored-by: Alan.Ma <alansayyeah@gmail.com>
2022-06-02 04:02:06 -05:00
bryan065 f6b425613e 🚸 Custom Menu Items for JyersUI (#24270) 2022-06-02 03:51:39 -05:00
ledzepman71 e260d90d21 📌 Tenlog PSU pin (#24266) 2022-06-02 03:49:48 -05:00
thinkyhead 30a7c4ca52 [cron] Bump distribution date (2022-06-01) 2022-06-01 00:25:07 +00:00
John Robertson 85c0875db2 Laser Safety Timeout (#24189) 2022-05-31 17:09:44 -05:00
Keith Bennett 6f3d7d864f 👔 Configs required to submit a Bug Report (#24256) 2022-05-31 16:28:01 -05:00
thinkyhead 3d70aca6e8 [cron] Bump distribution date (2022-05-31) 2022-05-31 18:24:10 +00:00
Scott Lahteine 58ce5182c2 🎨 Fix spelling, whitespace 2022-05-31 12:44:30 -05:00
ellensp 7dd34848b6 🩹 Fix EXTRUDERS 0 manual move compile (#24255)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-31 12:21:59 -05:00
kisslorand 1a555b3812 Fix axis string 'N' (#24259)
Followup to 167672d
2022-05-31 12:05:57 -05:00
tombrazier ea7bebb568 💥 More M306 M => M306 H (#24258)
Followup to #24253
2022-05-31 12:01:59 -05:00
thinkyhead 68a7a3f88f [cron] Bump distribution date (2022-05-29) 2022-05-29 00:21:51 +00:00
tombrazier 6ecf52f196 🚩 MPC update (#24253) 2022-05-28 17:40:08 -05:00
Miguel Risco-Castillo eec9c800c9 🚸 Fix, improve, update ProUI (#24251) 2022-05-28 17:34:36 -05:00
Scott Lahteine 41a469208a 🚸 Change M201 G to S 2022-05-28 17:09:08 -05:00
Scott Lahteine a59766195c 🎨 Use pos.set method 2022-05-28 15:25:07 -05:00
elimisback 2b4a89eafe 🔨 BTT STM32G0B1RE xfer build (#24245) 2022-05-28 15:24:28 -05:00
Scott Lahteine 26f5c32872 🎨 Misc. boards/pins cleanup 2022-05-28 14:41:50 -05:00
thinkyhead 21d2d22a6f [cron] Bump distribution date (2022-05-28) 2022-05-28 00:22:28 +00:00
Simon Pilepich 4407ff31ec 📝 Fix Mightyboard MOSFET comments (#24183) 2022-05-27 17:08:24 -05:00
Scott Lahteine 1f322b565f ♻️ More updates for multi-axis 2022-05-27 00:46:46 -05:00
Scott Lahteine 1d4f928342 🎨 Combine serial echos 2022-05-27 00:46:46 -05:00
thinkyhead ff201e6552 [cron] Bump distribution date (2022-05-27) 2022-05-27 00:24:11 +00:00
ellensp 460e243693 🔨 Add src_filter for I2C_AMMETER (#24242) 2022-05-26 19:02:42 -05:00
Keith Bennett 740f652b6a ✏️ Fix some motherboard checks (#24238) 2022-05-26 18:07:10 -05:00
thinkyhead 54c9358964 [cron] Bump distribution date (2022-05-25) 2022-05-25 00:24:56 +00:00
ellensp e197695f4c 🎨 Remove MKS custom pins, TinyBee cleanup (#24186) 2022-05-24 15:31:29 -05:00
ellensp eb0c4682d5 📌 Use MarlinSimUI/bugfix-2.0.x (#24232) 2022-05-24 14:49:57 -05:00
thinkyhead 0da862fd1e [cron] Bump distribution date (2022-05-24) 2022-05-24 06:07:20 +00:00
Scott Lahteine 0a8672ae6c 👔 Move actions to default branch 2022-05-24 00:12:23 -05:00
Scott Lahteine 31413a7d77 🧑‍💻 Combined axis strings 2022-05-24 00:12:23 -05:00
ellensp 639b1f64c6 Revert "Firmware upload…" (#24229) 2022-05-23 02:39:50 -05:00
Scott Lahteine 7d9bd3a97c 🎨 Add EXP1/2 headers, adjust TFT pins (#24230) 2022-05-23 02:37:28 -05:00
Keith Bennett f26b8bf8ef 📝 Add logo, helpful links to README (#24226) 2022-05-22 22:00:58 -05:00
ellensp c1ff38c7a0 🚸 Firmware upload destination prompt (using Tk) (#24074) 2022-05-22 22:00:58 -05:00
Robby Candra 15b6159f6a 🩹 Adjust manage_media for slow/late media init (USB FD) (#24015) 2022-05-22 22:00:58 -05:00
Scott Lahteine 04d0d9431b ♻️ Watchdog followup
Followup to 52eefa90e1
2022-05-22 20:47:44 -05:00
Scott Lahteine a5e1d4c50a ♻️ Apply F() to more LCD code (#24228) 2022-05-22 19:56:46 -05:00
Scott Lahteine e88fabafc8 🔨 Fix mfprep string test 2022-05-22 18:42:25 -05:00
InsanityAutomation c6b5bf7c00 🚨 Fix build warnings on Lulzbot Taz (#24227) 2022-05-22 17:47:30 -05:00
Scott Lahteine 167672dcd7 🧑‍💻 Forward-compatible axis strings 2022-05-22 17:45:07 -05:00
Scott Lahteine a93146b71d 🐛 Fix SEGMENT_LEVELED_MOVES with UBL 2022-05-22 17:05:39 -05:00
Keith Bennett d99185be24 🎨 Fix/adjust warnings (#24225) 2022-05-22 16:32:16 -05:00
Scott Lahteine c5126de559 🧑‍💻 MAP macro for axis lists, etc. (#24191) 2022-05-22 16:08:29 -05:00
Scott Lahteine c16ae2451d 🩹 Fix const warning 2022-05-22 14:43:14 -05:00
Keith Bennett e340a61e52 🐛 Fix FLSUN Hispeed FIL_RUNOUT_PIN, MKS Robin Mini TFT pins (#24204) 2022-05-21 18:13:00 -05:00
Arthur Masson af59056c09 🐛 Fix Polargraph G92 command (#24223) 2022-05-21 14:45:30 -05:00
Keith Bennett 4b0b6e22a7 👔 Move GitHub templates, update README (#24199) 2022-05-20 11:48:34 -05:00
Scott Lahteine 2bb9e0d58e 🔧 Remove LCD_SERIAL_PORT defaults, warn on auto-assign (#24170) 2022-05-20 11:27:09 -05:00
Scott Lahteine 52eefa90e1 ♻️ Move watchdog to MarlinHAL 2022-05-20 11:22:57 -05:00
Scott Lahteine 12da2e9288 🎨 Minor HAL cleanup 2022-05-20 11:22:57 -05:00
Scott Lahteine 22c5bd7eae 🔨 Move, tweak maple envs 2022-05-20 11:22:57 -05:00
tombrazier 62057d3204 🐛 Fix Leveling apply/unapply (#24188)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-19 16:15:15 -05:00
Marcio T 00075990d0 🐛 Fix FTDI_EVE_TOUCH_UI reboot loop (#24195) 2022-05-19 10:45:48 -05:00
ellensp 6a880280e4 🔨 Require PIO >= 6.0.1 (#24205) 2022-05-19 09:15:57 -05:00
Scott Lahteine b523ddf1b2 ♻️ Common Bed Leveling object name, accessors (#24214) 2022-05-19 06:05:52 -05:00
Ivan Kravets c814fe98d7 🔨 Use PlatformIO Core 6.0 Dev for CI (#24194) 2022-05-17 16:47:11 -05:00
Miguel Risco-Castillo a65e4edb1c 🚸 ProUI APRIL2022 updates (#24084) 2022-05-17 15:46:04 -05:00
Scott Lahteine 310ff23676 🎨 Misc. E3V2 DWIN cleanup 2022-05-17 15:10:03 -05:00
ellensp 7894cd9d6a 🩹 Fix MarlinUI allow-cold-extrude (#24176)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-17 03:01:32 -05:00
thinkyhead 0b787e8ed3 [cron] Bump distribution date (2022-05-17) 2022-05-17 06:00:50 +00:00
Oliver Jean Eifler 79789571bc 🩹 Suppress ZERO() warning (#24178) 2022-05-16 23:23:03 -05:00
Marcio T e092a02d77 🐛 Fix Due cli/sei (#24182)
Followup to #23357
2022-05-16 21:45:47 -05:00
thinkyhead 66d94aad21 [cron] Bump distribution date (2022-05-15) 2022-05-15 00:01:54 +00:00
Scott Lahteine 86fe4fde40 🎨 HAL_MinSerial.* => MinSerial.* 2022-05-13 23:49:29 -05:00
Keith Bennett 956f7d32fb 🩹 Run TMC test last in setup (#24160) 2022-05-13 19:50:42 -05:00
Miguel Risco-Castillo be0f1088f0 🚸 DWIN/DACAI for Creality 4.2.3 (#24132) 2022-05-13 19:34:30 -05:00
Scott Lahteine 66e32cb0fa 🧑‍💻 Clarify MSerialUSB, drop HardwareSerial workaround 2022-05-13 19:31:07 -05:00
Keith Bennett a62dc7c70c 🚸 Improve MKS SGEN_L V2, Robin Nano V3 pins (#24147) 2022-05-13 19:27:13 -05:00
Dominic 0e4348c718 🐛 Fix AIR_ASSIST (#24162) 2022-05-13 19:18:04 -05:00
Keith Bennett 1397cf0eaa 🔧 Allow board & probe dummy thermistors (#24165) 2022-05-13 19:17:19 -05:00
grauerfuchs eb352b11b9 🐛 Fix Mightyboard LED pin, fan override (#24168) 2022-05-13 19:08:50 -05:00
Scott Lahteine 6c2249451e [cron] Bump distribution date (2022-05-14) 2022-05-13 19:06:25 -05:00
Roxy-3D a7ade2d63e 🔨 BTT Octopus ST-Link programming/debugging 2022-05-13 19:05:56 -05:00
Scott Lahteine c1b53d63fc 🎨 Nextion cleanup 2022-05-13 00:48:19 -05:00
Scott Lahteine e438c77c6a 🚚 Move speed_lookuptable.h 2022-05-13 00:48:19 -05:00
Keith Bennett 8ccc601218 🎨 Clean up warnings / extra check (#24163) 2022-05-13 00:41:38 -05:00
Scott Lahteine b934a4c612 🩹 Fix printer_busy, M73
Followup to "Misc. LCD cleanup"
2022-05-13 00:00:28 -05:00
Scott Lahteine cb31a99319 ✏️ Fix MSG_LOCKSCREEN 2022-05-12 23:29:29 -05:00
ellensp ecc138fc9e 🔧 AVR/DUE Serial Port pin conflict checks (#24148)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-12 23:07:27 -05:00
Scott Lahteine 1e749e4f48 🧑‍💻 Misc. LCD cleanup 2022-05-12 21:40:01 -05:00
Scott Lahteine 38f4d8abfc Add BOARD_CREALITY_V24S1_301F4
Co-Authored-By: Miguel Risco-Castillo <mriscoc@users.noreply.github.com>
2022-05-12 21:18:06 -05:00
Scott Lahteine e039d51d18 🩹 Fix ProUI leveling start message 2022-05-12 20:23:32 -05:00
thinkyhead d1e9f53cb8 [cron] Bump distribution date (2022-05-13) 2022-05-13 00:01:33 +00:00
InsanityAutomation 64ebb78892 Creality CR-10 SmartPro (#24151)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-12 05:38:05 -05:00
Scott Lahteine f1ab24d0ae 🩹 Fix accel dividend 2022-05-12 04:16:31 -05:00
Scott Lahteine 84b9de9a19 🔨 Fix g++ locator for CI 2022-05-12 02:17:16 -05:00
thinkyhead 30eb2aa869 [cron] Bump distribution date (2022-05-12) 2022-05-12 06:00:54 +00:00
Scott Lahteine 672d0d4448 📝 Refer to 'PROGMEM' as 'flash' 2022-05-11 23:37:40 -05:00
Pauli Jokela 04fe50936e SOUND_ON_DEFAULT option (#24102)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-11 21:23:16 -05:00
Scott Lahteine 11c701af9b ✏️ Maple warning followup
Followup to #23661
2022-05-11 20:44:11 -05:00
thinkyhead ba95e85e53 [cron] Bump distribution date (2022-05-10) 2022-05-10 00:01:50 +00:00
Scott Lahteine 918a9cf3d1 🧑‍💻 Clarify acceleration factor 2022-05-09 18:50:25 -05:00
Scott Lahteine 8e24b34160 📌 Define RAMPS_SMART EXP headers, AZSMZ_12864
See #23501
2022-05-09 17:35:32 -05:00
Scott Lahteine 9d32bc3153 ✏️ Fix spurious UTF 2022-05-09 17:34:26 -05:00
Scott Lahteine 3bf768f925 🔨 OpenOCD Debug for VSCode 2022-05-09 17:34:26 -05:00
Mike La Spina 726a38712e 🩹 Fix Fan Tail Speed Init (#24076)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-09 17:18:47 -05:00
thinkyhead 4a17589496 [cron] Bump distribution date (2022-05-08) 2022-05-08 06:01:02 +00:00
Scott Lahteine 198ef1e474 🎨 Misc. code cleanup 2022-05-07 22:03:19 -05:00
Scott Lahteine 9e43ec9dcd 🔨 Improved mfprep script 2022-05-07 22:03:19 -05:00
Keith Bennett 1a9e8c047b 🔧 Fix Neo RGB sanity check (#24146) 2022-05-07 21:58:57 -05:00
ellensp e43f4207a0 📌 Use ESP3DLib master branch (#24140) 2022-05-07 21:57:13 -05:00
ellensp 5f4ec82544 ✏️Fix Markforged endstops/G38 (#24141) 2022-05-07 21:56:09 -05:00
thinkyhead 2a88cc0fcd [cron] Bump distribution date (2022-05-07) 2022-05-07 00:01:30 +00:00
Scott Lahteine 505ab1bb62 🔨 Use first g++ in path for 'native' targets 2022-05-05 19:36:51 -05:00
Scott Lahteine 659b4172aa 🔨 Prevent build attribute define conflicts 2022-05-05 19:33:50 -05:00
thinkyhead a5b57a09fd [cron] Bump distribution date (2022-05-06) 2022-05-06 00:01:36 +00:00
Scott Lahteine 6e90272783 🩹 Bring G425 report up to date
Followup to #23112
2022-05-05 14:57:29 -05:00
Scott Lahteine 9d6b4a2e97 🔧 Move LASER_COOLANT_FLOW_METER to LASER_FEATURE 2022-05-05 13:41:03 -05:00
Keith Bennett 3cea0a00b1 🐛 Some EEPROM size fixes (#24113)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-05 02:38:48 -05:00
Stephen Hawes 81a6834876 Add M3426 A<addr> parameter (#24130)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-05 02:37:47 -05:00
Keith Bennett df40181357 💥 Num Axes and Multi-Stepper based on Driver Types (#24120)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-04 19:25:02 -05:00
thinkyhead 6237a6a6d3 [cron] Bump distribution date (2022-05-05) 2022-05-05 00:12:10 +00:00
Scott Lahteine 23a26e4033 🌐 Clean up languages 2022-05-04 17:03:25 -05:00
Scott Lahteine 492d91791c 💚 Lock CI testing to PlatformIO 5.2.5 2022-05-04 15:02:00 -05:00
thinkyhead 0a6c58ea71 [cron] Bump distribution date (2022-05-04) 2022-05-04 18:13:21 +00:00
Scott Lahteine 4c8c02f66f 📝 Replace KB with K in pins 2022-05-04 12:47:15 -05:00
thinkyhead b038078541 [cron] Bump distribution date (2022-05-03) 2022-05-03 00:01:42 +00:00
Keith Bennett 43b43491ab 📝 Fix extraneous URL args (#24125) 2022-05-02 18:29:25 -05:00
thinkyhead a1d4942f76 [cron] Bump distribution date (2022-05-01) 2022-05-01 00:01:58 +00:00
Keith Bennett 3bcbd3259f 🔧 Mini LCD followup (#24111) 2022-04-30 00:54:42 -05:00
thinkyhead 60f8287208 [cron] Bump distribution date (2022-04-30) 2022-04-30 00:02:33 +00:00
Scott Lahteine b37d13af72 🔧 Base NUM_AXES on defined DRIVER_TYPEs (#24106) 2022-04-29 15:23:34 -05:00
Keith Bennett 12eb1e0829 📝 Update NEOPIXEL_TYPE comment (#24110) 2022-04-29 15:19:38 -05:00
thinkyhead 5c47476e0c [cron] Bump distribution date (2022-04-29) 2022-04-29 18:14:41 +00:00
tombrazier 60b6df4542 🐛 Fix kinetic ABL mesh after refactor (#24107)
Followup to #23868
2022-04-29 12:54:57 -05:00
thinkyhead e633ef895d [cron] Bump distribution date (2022-04-26) 2022-04-26 06:00:51 +00:00
Giuliano Zaro a0a963fe1d 🩹 Fix "elapsed" text on DOGLCD (#24087) 2022-04-25 22:03:16 -05:00
thinkyhead a8419738be [cron] Bump distribution date (2022-04-24) 2022-04-24 00:01:59 +00:00
Scott Lahteine 7501d253c7 🎨 Tweak NEOPIXEL_LED format 2022-04-23 06:18:56 -05:00
Scott Lahteine d9ccf0a144 📝 Fix 'M150 S' comment 2022-04-23 06:11:03 -05:00
ellensp bd27490adb 🐛 Fix MKS_MINI_12864 build for ESP32 (#24071) 2022-04-23 05:02:13 -05:00
Scott Lahteine ac4fefa49a ♻️ Consolidate DGUSScreenHandler class (#24067) 2022-04-23 05:00:46 -05:00
ellensp 6a05702c20 🐛 Fix BACKLASH_COMPENSATION compile (#24072)
Followup to #23826
2022-04-23 04:16:15 -05:00
thinkyhead 9188f57938 [cron] Bump distribution date (2022-04-23) 2022-04-23 00:01:45 +00:00
ellensp 1a131d17b6 🩹 Fix DGUS_PREHEAT_UI enable with DGUS_LCD_CLASSIC (#24066) 2022-04-22 06:02:47 -05:00
Mateusz Kleina 4a73fa18d8 🐛 Fix ProUI / JyersUI leveling preheat (#24064)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-22 05:12:39 -05:00
Scott Lahteine fe745fdef0 🚸 More ExtUI events for ABL / UBL 2022-04-22 04:48:09 -05:00
tombrazier 5b2071448f 🩹 Fix MPC Edit Menu (#24059)
Followup to #23984

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-22 01:50:38 -05:00
thinkyhead 633fb5f941 [cron] Bump distribution date (2022-04-22) 2022-04-22 00:01:30 +00:00
Scott Lahteine 741eb0c3e9 🚸 Home Y before X on belt printers 2022-04-21 09:05:15 -05:00
Scott Lahteine bf38ef23e5 🐛 Prevent BABYSTEP freeze
See #22830, #13300
2022-04-21 08:58:50 -05:00
Scott Lahteine 91cf4eb977 🐛 Home Z to Max after Z_SAFE_HOMING 2022-04-21 08:58:50 -05:00
Scott Lahteine 01bb11b415 🧑‍💻 IS_ULTRA_LCD => HAS_WIRED_LCD 2022-04-21 07:16:57 -05:00
Scott Lahteine 0ff3035f3a 🚸 Prevent accidental button press 2022-04-21 07:10:05 -05:00
Scott Lahteine 2dcfa140e9 🎨 misc. cleanup 2022-04-21 07:10:05 -05:00
ellensp 367c11dfa2 🐛 Fix STM32 Pins Debugging (#22896) 2022-04-21 04:06:22 -05:00
Scott Lahteine d507ea117e 🩹 Fix ESP32 servos, SD_IGNORE_AT_STARTUP
Fixes #24007
Followup to aaf5bf02
2022-04-21 02:26:31 -05:00
Christian Piper 3905234b0d 🩹 Fix PRINTCOUNTER with EXTRUDERS 0 (#24063)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-21 02:15:07 -05:00
thinkyhead 6fc284231c [cron] Bump distribution date (2022-04-21) 2022-04-21 00:06:20 +00:00
Scott Lahteine a0d28f1770 🎨 Minimize block->steps.set 2022-04-20 04:29:42 -05:00
Scott Lahteine aca0d3dba5 💚 Use PIO-develop for CI 2022-04-20 04:29:26 -05:00
Scott Lahteine d4fd39f05f 🐛 Update M913, M914 report
Followup to #11248, #11249, #23400
2022-04-20 00:56:52 -05:00
Keith Bennett 42be79b3a2 🐛 Fix JyersUI Preheat Items (#24060) 2022-04-19 19:26:25 -05:00
thinkyhead 5844128a77 [cron] Bump distribution date (2022-04-20) 2022-04-20 00:01:47 +00:00
DerAndere 8aaf64d917 💥 Update Motor Current G-codes for extra axes (#23975) 2022-04-18 22:15:15 -05:00
ellensp 5005c7b64c 🐛 Fix Manual Move cold extrude override (#24045)
Followup to #19606

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-18 22:03:42 -05:00
thinkyhead bb5dbd13a8 [cron] Bump distribution date (2022-04-19) 2022-04-19 00:01:38 +00:00
Scott Lahteine 696ae3cc14 ✏️ Remove extra G29 line
Followup to 85a62bbf
2022-04-18 16:41:16 -05:00
Keith Bennett 9d623160a6 🧑‍💻 Preheat menu improvements (#24017)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-18 05:46:58 -05:00
Ludy 3d3898145a 🌐 Update German language, FTDI cleanup (#24047)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-18 04:43:34 -05:00
thinkyhead 3b3dbcbeb4 [cron] Bump distribution date (2022-04-18) 2022-04-18 06:00:58 +00:00
Ludy fc87834cc0 🐛 Fix FTDI::get_utf8_char_and_inc compile (#24048) 2022-04-18 00:01:28 -05:00
John Lagonikas c58c5b09ab 🐛 Fix MPC compile (#24049)
Followup to #23984, #23751

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-17 23:56:52 -05:00
DerAndere 2ee39b62f3 🩹 Fix some parameters w/out values (#24051) 2022-04-17 23:03:39 -05:00
Scott Lahteine fd082df077 🧑‍💻 Handle PLR in manage_media 2022-04-17 21:20:34 -05:00
Scott Lahteine aaf5bf0218 🧑‍💻 Add RESET_STEPPERS_ON_MEDIA_INSERT flag 2022-04-17 21:20:34 -05:00
Scott Lahteine fb54d06582 🎨 Flatten manage_media code 2022-04-17 21:20:34 -05:00
thinkyhead 5eeb6e0bca [cron] Bump distribution date (2022-04-16) 2022-04-16 00:02:34 +00:00
Scott Lahteine b0e974e208 🧑‍💻 Simplify BIGTREE_SKR_2_F429 env 2022-04-15 02:05:02 -05:00
thinkyhead d6cc851c67 [cron] Bump distribution date (2022-04-15) 2022-04-15 06:03:40 +00:00
Giuliano Zaro 14603112a4 🩹 Fix MPC_EDIT_DEFS (#24018) 2022-04-14 23:22:08 -05:00
Robby Candra a52dfc0373 🩹 Fix DEBUG_CARDREADER (#24023) 2022-04-14 23:21:12 -05:00
Moritz Wirger 3e1dd0d640 enwi ESPNP board support (#24029) 2022-04-14 21:43:21 -05:00
ellensp 2e121014b0 ✏️ Fix 9-axis Z axis typo (#24036)
Followup to #23112
2022-04-14 21:38:27 -05:00
Scott Lahteine cbf8622670 🎨 Use LEDColor default C-CTOR 2022-04-14 21:34:28 -05:00
Scott Lahteine 80810f1b18 🚨 Fix some compiler warnings 2022-04-14 21:34:06 -05:00
thinkyhead 29d3f6a024 [cron] Bump distribution date (2022-04-12) 2022-04-12 00:01:44 +00:00
Giuliano Zaro 80d09044f7 🌐 Update Italian language (#24019) 2022-04-10 19:23:53 -05:00
thinkyhead 11c41600a3 [cron] Bump distribution date (2022-04-11) 2022-04-11 00:01:51 +00:00
Scott Lahteine 416fb66118 🧑‍💻 Strip #errors in Configurations deployment 2022-04-10 17:53:52 -05:00
Scott Lahteine 2af7657214 🩹 Use LCD_CONTRAST_INIT in pins files 2022-04-10 07:39:50 -05:00
Scott Lahteine f31d3c6749 🩹 Fix ADVANCED_PAUSE_RESUME_PRIME check
Fixes #23824
2022-04-10 06:31:39 -05:00
LPRtypeCN c53af0df0b 🌐 Update Chinese language (#23865) 2022-04-10 06:19:12 -05:00
Scott Lahteine cec7836959 Autoreport Redundant Sensor option (#24014) 2022-04-10 03:58:58 -05:00
Scott Lahteine e4a8c693b0 🎨 Misc. USB flash code cleanup 2022-04-10 03:45:36 -05:00
Scott Lahteine 7ff5e02f6b 🔨 Fix LPC176x debug build
See #23635
2022-04-10 03:45:36 -05:00
Scott Lahteine f7cb1ce3f4 🩹 Fix PID helper functions 2022-04-10 03:19:07 -05:00
Scott Lahteine 577831bf1a 🩹 Apply 100% leveling correction below the bed
See #24002
2022-04-10 01:49:59 -05:00
thinkyhead 6cb1a4a48b [cron] Bump distribution date (2022-04-10) 2022-04-10 06:25:51 +00:00
tombrazier 3da29b4a04 🚸 Improve MPC tuning, add menu items (#23984)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-10 01:20:05 -05:00
Robert Brenckman 6ee34331b7 🐛 Fix Tool Change priming (#21142)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-10 00:24:07 -05:00
Scott Lahteine e2353be24f 🎨 Misc. cleanup, string optimization 2022-04-09 22:57:28 -05:00
stream2me 46e282bd6d 🐛 Prefer os.replace, fix TFT_LVGL_UI build (#24001) 2022-04-09 19:46:29 -05:00
Robby Candra 6fa930f043 ⚰️ Clean up dead option (#24006) 2022-04-09 19:44:31 -05:00
Robby Candra b19f745659 ♻️ Bilinear refactor followup (#24009)
Followup to #23868
2022-04-09 19:39:04 -05:00
ellensp febf7e54fe 🔨 Preflight check old abl files (#24010) 2022-04-09 19:37:24 -05:00
Keith Bennett 88f36ac82f ✏️ Fix FYSETC Mini Panel neopixel type (#24011) 2022-04-09 19:21:42 -05:00
InsanityAutomation 02f5e2de9c 🩹 Fix and clean up E3V2 draw (#24013) 2022-04-09 19:19:14 -05:00
Scott Lahteine 6567e0e0aa 🎨 Misc. 9-axis cleanup 2022-04-09 19:17:04 -05:00
thinkyhead fc50018b06 [cron] Bump distribution date (2022-04-05) 2022-04-05 00:01:35 +00:00
Scott Lahteine 32e6767b5a DOGM Display Sleep (#23992)
Co-authored-by: borland1 <barryorlando@hotmail.com>
2022-04-04 15:57:03 -05:00
DerAndere f22307a0af 🚸 Better M350, M114 with more axes (#23986)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-03 21:43:42 -05:00
Scott Lahteine 877e10205b 🏗️ Axis name arrays
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2022-04-03 21:03:23 -05:00
Scott Lahteine 8b8defeacc 🏗️ Extend AXIS_CHAR to include E
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2022-04-03 21:00:31 -05:00
Scott Lahteine f5daefb09d 🏗️ More 9-axis updates 2022-04-03 20:34:48 -05:00
thinkyhead 1fdad42c5f [cron] Bump distribution date (2022-04-04) 2022-04-04 00:17:29 +00:00
Giuliano Zaro 591fa8b753 🔧 Sanity-check SWITCHING_TOOLHEAD_X_POS (#23985) 2022-04-03 18:49:51 -05:00
John Robertson f7fff4d455 🧑‍💻 Define isr_float_t to assert a non-FPU float (#23969)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-03 18:47:55 -05:00
ellensp 283aca50ba 🌐 Update Russian language (#23978) 2022-04-03 18:46:05 -05:00
Giuliano Zaro 1bc9a530bd 🐛 Fix Bed/Chamber PID Autotune with MPCTEMP (#23983) 2022-04-03 18:44:45 -05:00
Scott Lahteine 01797f74dc ✏️ Fix HAS_GCODE_M876 2022-04-03 18:30:49 -05:00
Scott Lahteine ff07c2b375 ✏️ No such pin 2022-04-03 18:07:40 -05:00
Scott Lahteine 90289b0ca0 🌐 Rename "LCD Timeout" string 2022-04-03 16:59:46 -05:00
Scott Lahteine 19838d97be 🎨 Misc. adjustments, spacing 2022-04-03 16:59:43 -05:00
Scott Lahteine c4873a64ec 🧑‍💻 General and Axis-based bitfield flags (#23989) 2022-04-03 16:14:02 -05:00
Keith Bennett 7ce4a7f641 ✏️ Fix NOZZLE_PARK_Y_ONLY sanity-check (#23990) 2022-04-03 16:13:29 -05:00
thinkyhead 4f1967a0a5 [cron] Bump distribution date (2022-04-03) 2022-04-03 00:46:28 +00:00
Giuliano Zaro e4c7c550fc 🐛 Fix PID edit menu for Bed, Chamber (#23987) 2022-04-02 18:29:21 -05:00
thinkyhead d98c61cafb [cron] Bump distribution date (2022-04-02) 2022-04-02 00:01:39 +00:00
Scott Lahteine 931e243116 Draw flags followup 2022-04-01 04:57:41 -05:00
ellensp 0c366d3574 ✏️ Fix E3V2 MarlinUI draw flags (#23979) 2022-04-01 03:01:34 -05:00
tombrazier 72b2e2b2c7 ⚗️ Temperature Model Predictive Control (#23751) 2022-04-01 02:15:20 -05:00
thinkyhead 8fb65211fc [cron] Bump distribution date (2022-04-01) 2022-04-01 06:01:01 +00:00
DerAndere e5b651f407 Support for up to 9 axes (linear, rotary) (#23112)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-04-01 00:10:38 -05:00
Giuliano Zaro 2786592b62 📝 Obsolete freeze comment (#23964)
Followup to #23944
2022-03-31 21:22:26 -05:00
aegelsky 04ab653f5e 🐛 Fix MKS Gen. L - EEB (#23965) 2022-03-31 21:21:10 -05:00
Jon f15b1c16c9 🩹 SKR2 Pins DIAG flag (#23968)
Followup to #23050
2022-03-31 21:18:32 -05:00
Keith Bennett c7f03b820a 📌 SKR Mini V1.1 TMC UART Pins (#23970) 2022-03-31 21:16:11 -05:00
grauerfuchs 108cc4ba16 🐛 Fix MightyBoard Rev. E EX2, extra MOSFETs (#23976) 2022-03-31 21:15:06 -05:00
tombrazier ae53033cea ♻️ Refactor and fix ABL Bilinear (#23868) 2022-03-31 21:13:16 -05:00
Manianac 72a9a02c17 🐛 Use ADC_VREF for Filament Width ADC Vref (#23977) 2022-03-31 19:23:52 -05:00
thinkyhead 2dbb28f5e4 [cron] Bump distribution date (2022-03-30) 2022-03-30 00:26:34 +00:00
InsanityAutomation 49539463b8 🐛 Fix MarlinUI on Ender 3 S1 (#23949) 2022-03-29 04:41:33 -05:00
Scott Lahteine 6015ee2531 🎨 Combine common LPC1768 I2C code 2022-03-29 04:22:04 -05:00
Scott Lahteine 0752082b85 🎨 INI cleanup 2022-03-29 03:48:37 -05:00
Scott Lahteine d6fcae40c4 💥 Rename ExtUI settings methods 2022-03-29 03:40:50 -05:00
Scott Lahteine 4edfb690dd 💚 Lock CI testing to PlatformIO 5.2.5 2022-03-29 03:24:15 -05:00
John Lagonikas 51d4c5abea ✏️ Fix parking extruder compile (#23961)
Followup to d3e3e6a491
2022-03-29 03:13:45 -05:00
thinkyhead 0b669067b9 [cron] Bump distribution date (2022-03-29) 2022-03-29 00:31:43 +00:00
Ludy 59f2f4fd47 🐛 Fix MMU2 buzz (#23950)
Followup to #23943
2022-03-27 20:20:54 -05:00
David Forrest bdc2b2b965 🔨 Fix Makefile GCC warning (#23957) 2022-03-27 20:19:02 -05:00
thinkyhead d806a668e8 [cron] Bump distribution date (2022-03-28) 2022-03-28 00:01:49 +00:00
Scott Lahteine d95dca94b9 🔨 Update TMC26XStepper link 2022-03-26 21:58:19 -05:00
thinkyhead 4a54f8469e [cron] Bump distribution date (2022-03-27) 2022-03-27 00:01:26 +00:00
Giuliano Zaro 692f42ee7d Configurable FREEZE pin state (#23948) 2022-03-26 18:22:41 -05:00
ellensp 20b5615305 Configurable FREEZE pin state (#23944)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-03-25 22:44:22 -05:00
Scott Lahteine b1958a43fc 🐛 Fix pulldown sanity check 2022-03-25 21:16:00 -05:00
Scott Lahteine 959c559c43 🔨 Try out v3 actions 2022-03-25 20:54:01 -05:00
ellensp f1471c1549 🐛 Fix MMU2 buzz (#23943)
Followup to 89a9c3a391
2022-03-25 20:03:43 -05:00
thinkyhead 80c4abc2e1 [cron] Bump distribution date (2022-03-26) 2022-03-26 00:06:22 +00:00
Robby Candra b7ffcd6941 STATUS_MESSAGE_TIMEOUT_SEC (#23135)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-03-25 18:34:20 -05:00
Scott Lahteine fd742616ba 🚸 Clear "heating/cooling" message on temp reached 2022-03-25 18:06:03 -05:00
Scott Lahteine 8dfdf51678 🎨 Format, use status macros 2022-03-25 18:06:03 -05:00
Scott Lahteine 4ff063440d 🐛 Fix status_printf alert level 2022-03-25 18:06:03 -05:00
Scott Lahteine 6b55eec9bb 🩹 Print English to serial out 2022-03-25 18:06:03 -05:00
Scott Lahteine 4a50d89bdb ✏️ Encoder noise followup
Followup to #23925
2022-03-24 20:29:50 -05:00
thinkyhead 867e274172 [cron] Bump distribution date (2022-03-25) 2022-03-25 00:01:44 +00:00
Oleg Belov d189cda616 📌 Custom cable for Mini 12864 V1 + SKR Mini E3 V3.0 (#23936) 2022-03-24 18:12:35 -05:00
Serhiy-K e119d9bae9 🌐 Update Ukrainian language (#23935) 2022-03-24 18:07:58 -05:00
ellensp 0d3f79e6d6 🩹 Wrap endstop_diag.cpp (#23931) 2022-03-24 18:06:28 -05:00
thinkyhead b44357db9d [cron] Bump distribution date (2022-03-24) 2022-03-24 00:01:46 +00:00
Scott Lahteine 0b32c3900f 🧑‍💻 Improve STATUS_BED_X 2022-03-23 00:31:13 -05:00
Scott Lahteine 6b47db3a68 🎨 General cleanup, comments 2022-03-23 00:31:13 -05:00
Scott Lahteine a80a303cbe 🧑‍💻 EXTRUDER_LOOP macro 2022-03-23 00:31:13 -05:00
Scott Lahteine 8ba6e8a74d 🎨 Clean up tool change with tool sensor 2022-03-23 00:31:13 -05:00
Scott Lahteine e458aa41fc 🔨 Fix 'mftest -s' 2022-03-23 00:31:13 -05:00
Scott Lahteine a63205a034 🩹 Fix ADC math overflow 2022-03-23 00:31:13 -05:00
Scott Lahteine 92d3a038c2 🧑‍💻 PIO --silent in build_example 2022-03-23 00:31:13 -05:00
Scott Lahteine 258a2ed112 🎨 Apply _TERN where possible 2022-03-23 00:31:13 -05:00
Scott Lahteine 98dcb9e614 🔨 Suppress MMU2 resume_position warning 2022-03-23 00:31:13 -05:00
Scott Lahteine de8e436110 🧑‍💻 Add neo.set_background_color(rgbw) 2022-03-23 00:31:13 -05:00
Scott Lahteine 58fcaebe76 🔧 Sanity-checks for PULLDOWN, SINGLENOZZLE 2022-03-23 00:31:13 -05:00
Scott Lahteine c47c52c146 🔧 No Switching Nozzle with MMU2 2022-03-23 00:31:13 -05:00
Scott Lahteine d3e3e6a491 🩹 No PE_MAGNET_ON_STATE without PARKING_EXTRUDER 2022-03-23 00:31:13 -05:00
Scott Lahteine ef07c2c8dd 🔨 Allow I2CPE_ENC_n_INVERT set to false 2022-03-23 00:31:13 -05:00
thinkyhead e183e3814d [cron] Bump distribution date (2022-03-23) 2022-03-23 00:01:36 +00:00
Scott Lahteine 2baf49af93 🚸 Allow one servo with cutter on RAMPS 2022-03-22 18:01:42 -05:00
thinkyhead 10ce88f810 [cron] Bump distribution date (2022-03-21) 2022-03-21 06:00:58 +00:00
Fredrik Andersson a8cf2909f7 Encoder button noise filter (#23925) 2022-03-20 20:14:45 -05:00
Scott Lahteine 032e5c9936 ✏️ Misc. cleanup 2022-03-20 19:12:19 -05:00
thinkyhead 3c09cf2e5e [cron] Bump distribution date (2022-03-19) 2022-03-19 00:01:41 +00:00
Mark a02a1def62 📌 PandaPi V2.9 – Standalone mode (#23908) 2022-03-17 23:49:47 -05:00
John Robertson 1f1571f726 ESP32 - Hardware PWM for fan, cutter, servos (#23802) 2022-03-17 22:21:53 -05:00
ellensp 9b2c06045d 🩹 Fix xatc EEPROM debug (#23911) 2022-03-17 22:17:41 -05:00
tombrazier 631e35bfd6 ️ Fix noisy ADC - 16x oversampling with 12-bit ADC (#23867) 2022-03-17 22:15:26 -05:00
Ludy bf7176fba9 🩹 Fix redundant var declaration (#23913) 2022-03-17 20:55:33 -05:00
thinkyhead 99413ae2f4 [cron] Bump distribution date (2022-03-18) 2022-03-18 00:01:51 +00:00
John Robertson 653c847bfb 🐛 MKS TinyBee - 2.5V ADC Vref (#23903) 2022-03-17 14:35:33 -05:00
thinkyhead acade2890a [cron] Bump distribution date (2022-03-14) 2022-03-14 00:28:47 +00:00
Jelmer van der Stel f4b41fcc3f 🩹 Fix DWIN E3V2 display issues by allowing re-init (#23879) 2022-03-13 17:20:30 -05:00
Mrnt 9bc1d05df3 🧑‍💻 Allow DIGIPOT Rsx / Vrefmax override (#23885) 2022-03-13 17:17:35 -05:00
Julien Staub 40ed3c5f89 🐛 Fix STM32F1 HAL build (#23897)
Followup to #23357
2022-03-13 17:11:31 -05:00
Julien Staub de87f5309d 🩹 Fix ExtUI build with Host Keepalive disabled (#23898) 2022-03-13 17:09:32 -05:00
InsanityAutomation a9c30cb9c1 📝 Fix X2_MAX_POS comment (#23873) 2022-03-13 17:00:35 -05:00
Scott Lahteine 4d40764802 📝 Fix DEFAULT_DUAL_X_CARRIAGE_MODE comment 2022-03-13 16:59:43 -05:00
Scott Lahteine 0c0ef9e548 🚸 Test LIN_ADVANCE in a pins file 2022-03-13 16:46:08 -05:00
Mathew Winters a58d35d765 ️ G12 - Only require used axes to be homed (#23422)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-03-12 19:13:41 -06:00
thinkyhead ea3d6ecea9 [cron] Bump distribution date (2022-03-13) 2022-03-13 01:07:44 +00:00
Keith Bennett 2f6a6f3b55 🔨 Drop extraneous build flag (#23862) 2022-03-12 18:23:29 -06:00
Nick 9c9300ff9d 🐛 Fix Chiron new TFT SD print after reset (#23855) 2022-03-12 17:47:47 -06:00
Scott Lahteine e354cd15b2 🩹 Fix FSTR / PSTR usage 2022-03-12 17:44:58 -06:00
Scott Lahteine 89a9c3a391 🧑‍💻 Add standard BUZZ types 2022-03-12 17:44:58 -06:00
Ludy 0bf319c57a 🌐 Fix, add some menu labels (#23895) 2022-03-12 17:36:23 -06:00
Scott Lahteine bff55ea605 🐛 Fix UBL 'G29 Q1' bug 2022-03-12 16:00:48 -06:00
Scott Lahteine 623c6b720b 🧑‍💻 Add ExtUI::onLevelingDone, match DWIN to ExtUI 2022-03-12 16:00:48 -06:00
thinkyhead 5bbb345b55 [cron] Bump distribution date (2022-03-12) 2022-03-12 00:43:48 +00:00
BIGTREETECH 8e87e4cb5e 🧑‍💻 STM32G0Bx : Use PLLQ for USB clock (#23870) 2022-03-11 18:23:18 -06:00
kisslorand 0563626286 🚸 M401 H - Report BLTouch HS State (#23724) 2022-03-11 18:21:08 -06:00
GatCode 2d8ec4fe9e 📌 Fix, extend Index Rev03 Mobo (#23851)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-03-11 17:56:31 -06:00
Giuseppe499 df4e022a48 🚸 Fix, extend X Axis Twist Compensation (#23745)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-03-11 17:12:03 -06:00
tombrazier b123fa763d 🐛 Restore STM32 / STM32F1 12-bit ADC (#23871) 2022-03-11 17:09:04 -06:00
Miguel Risco-Castillo 79b38e0e14 🚸 Update Ender3 V2/S1 Pro UI (#23878) 2022-03-11 14:06:49 -06:00
ellensp bd3ecc3ea0 fix g29 (#23887) 2022-03-11 07:51:25 -07:00
Scott Lahteine f516c9e552 🐛 Fix UI include
Followup to ~2
2022-03-11 02:56:24 -06:00
ellensp b9ef0f486a 📝 Update laser/spindle docs link (#23886) 2022-03-11 02:52:35 -06:00
Scott Lahteine 48b5362cf0 🔧 DWIN_CREALITY_LCD_ENHANCED => DWIN_LCD_PROUI
Followup to #23624
2022-03-10 22:15:35 -06:00
thinkyhead 4e467e98c4 [cron] Bump distribution date (2022-03-11) 2022-03-11 00:28:58 +00:00
Scott Lahteine 813b6af724 🩹 Fix 'hdsl' warning 2022-03-10 17:35:03 -06:00
Scott Lahteine 4b84b28c14 🚸 Improve M422 error messages 2022-03-10 17:28:54 -06:00
Keith Bennett c6a6d35f0d 🚸 TH3D EZBoard V2 TMC slave addresses (#23857) 2022-03-10 17:20:13 -06:00
thinkyhead 323ac9488c [cron] Bump distribution date (2022-03-05) 2022-03-05 00:25:32 +00:00
Scott Lahteine d2c503eea2 ✏️ num-to-string followup 2022-03-04 16:55:01 -06:00
Scott Lahteine 87e19fe5e7 🔧 Mark Thermal Variance Monitor EXPERIMENTAL 2022-03-04 16:07:38 -06:00
Jack Wilsdon 0e1ecf1fe0 🐛 Emergency Parser with STM32 Mass Storage (#23827) 2022-03-04 15:59:38 -06:00
tombrazier 687dc9ad4d 🩹 Improve and apply XATC reset() (#23840) 2022-03-04 15:57:51 -06:00
Scott Lahteine 755c196cfa 🚸 12345.6 num-to-string 2022-03-04 15:28:43 -06:00
thinkyhead 445c3c6514 [cron] Bump distribution date (2022-03-03) 2022-03-03 00:27:06 +00:00
Scott Lahteine 6aee2c755b ️ Use seen_test in M422 2022-03-02 17:58:23 -06:00
Scott Lahteine bb2f100fcd 🚸 Use Z_STEPPER_ALIGN_STEPPER_XY to enable 2022-03-02 17:50:55 -06:00
tombrazier 2e39bc30fd 🚸 Universal X_AXIS_TWIST_COMPENSATION (#23828) 2022-03-02 16:13:46 -06:00
Scott Lahteine b07a34eb6b 🐛 Fix M_State_grbl when G29 calls G28 2022-03-02 16:04:17 -06:00
thinkyhead fd1a5fe366 [cron] Bump distribution date (2022-03-02) 2022-03-02 00:26:24 +00:00
Julien Staub c9fe822920 Weedo 62A Tina2 / Monoprice Cadet (#23817) 2022-03-01 16:42:20 -06:00
InsanityAutomation 9ef01d43bb ️ E3V2 blank bg for S1 compatibility (#23822) 2022-03-01 16:25:30 -06:00
ellensp 7d7439c4b6 🚨 Fix BLTouch 5V pin tolerance checks (#23823) 2022-03-01 16:22:36 -06:00
tombrazier 6b7868d943 🐛 Fix backlash applied steps when config changes (#23826)
Followup to #23814
2022-03-01 16:14:52 -06:00
ellensp 15de14dd89 🔨 Fix 'renamed' env (platform = ststm32) (#23831) 2022-03-01 16:11:26 -06:00
Ludy d09a2ee80a 🌐 Update German language (#23832) 2022-03-01 16:09:11 -06:00
thinkyhead 1aa988c63c [cron] Bump distribution date (2022-02-28) 2022-02-28 06:07:09 +00:00
kisslorand 9ea6a588c3 M21 P / S / U - Select Volume (#23780)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-27 20:38:11 -06:00
thinkyhead 4b0e84d9f3 [cron] Bump distribution date (2022-02-27) 2022-02-27 00:25:43 +00:00
M. FURIC Franck 0e7be8e8c4 LCD Backlight Timer (#23768)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-26 16:54:04 -06:00
ellensp 12b038dde5 🔧 SHOW_CUSTOM_BOOTSCREEN sanity-check (#23807) 2022-02-26 16:50:17 -06:00
sam c2c257ace7 📺 BTT SKR Mini E3 with Fysetc V2.1 / MKS V3 / BTT V1 Mini 12864 (#23793) 2022-02-26 16:48:59 -06:00
ellensp f7f29c6b5e MKS Robin Nano 3.1 (#23795) 2022-02-26 16:45:33 -06:00
ellensp 358ffddef8 🐛 ESP32 _delay_ms, fix u8g_esp32_spi.cpp (#23810) 2022-02-26 14:34:44 -06:00
tombrazier 87c4cd20e5 🐛 Fix steps-to-mm with backlash (#23814)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-26 14:30:33 -06:00
thinkyhead 103b5f1ead [cron] Bump distribution date (2022-02-25) 2022-02-25 06:07:00 +00:00
Scott Lahteine 1420427607 🎨 Move PROPORTIONAL_FONT_RATIO 2022-02-24 18:47:57 -06:00
thinkyhead 22b99a2e38 [cron] Bump distribution date (2022-02-23) 2022-02-23 18:03:44 +00:00
ellensp 28f65301cf 🔨 More renamed.ini envs (#23786) 2022-02-23 10:36:39 -06:00
thinkyhead 432927df01 [cron] Bump distribution date (2022-02-22) 2022-02-22 06:06:52 +00:00
Scott Lahteine 60c89709df 🐛 Ibid. 2022-02-21 23:07:09 -06:00
ellensp f03c367739 🐛 Fix TMC26X CS pins init (#23778) 2022-02-21 21:16:57 -06:00
Scott Lahteine 92f85e877d 🔨 Workspace file with recommendation 2022-02-21 20:54:43 -06:00
Keith Bennett 6b96636b9b 🔧 Warning for MK3_FAN_PINS (#23727) 2022-02-21 20:47:53 -06:00
Scott Lahteine 963049ddc3 Dyze Design PT100 Amplifier Board (#23760) 2022-02-21 19:56:12 -06:00
Scott Lahteine 9530df4816 📝 Update Toolchange FS comments 2022-02-21 19:56:12 -06:00
tombrazier 8f8427ec8f ️ Apply PTC on all probing (#23764)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-21 19:15:52 -06:00
ellensp a9682f2e97 📌 Creality RAMPS optional SD_DETECT_PIN (#23740)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-21 18:31:44 -06:00
thinkyhead 28ceb1ed0f [cron] Bump distribution date (2022-02-19) 2022-02-19 00:25:05 +00:00
Scott Lahteine 44eff9a233 ♻️ Refactor HAL as singleton (#23357) 2022-02-18 14:38:23 -06:00
GHGiampy fee85b318e ✏️ Fix getLFNName parameter (#23752) 2022-02-17 18:45:42 -06:00
jefflessard cba8d4f401 🚨 Fix TEMP_SENSOR_BOARD warnings (#23754) 2022-02-17 18:44:41 -06:00
ellensp 3ec5bbfb13 🐛 Fix HAS_TMC26X feature path (#23757) 2022-02-17 18:37:22 -06:00
thinkyhead 2ba1153fd8 [cron] Bump distribution date (2022-02-18) 2022-02-18 00:23:00 +00:00
Scott Lahteine 7b25b9ec5b 🐛 Patch Creality RAMPS FET / FAN pins
Improvement for multi-hotend setup by TH3D.
2022-02-17 14:41:56 -06:00
thinkyhead 10c0b9423d [cron] Bump distribution date (2022-02-17) 2022-02-17 00:19:04 +00:00
Simon Pilepich 5439da6775 🧑‍💻 Update MightyBoard FET pins (#23728) 2022-02-15 20:46:09 -06:00
thinkyhead e507aa09c5 [cron] Bump distribution date (2022-02-16) 2022-02-16 00:19:06 +00:00
Scott Lahteine 98a17cd60d ♻️ Rename XATC z_values => z_offset 2022-02-15 15:09:09 -06:00
Giuseppe499 aae08e9b0d 🐛 Fix XATC divide-by-zero (#23743) 2022-02-15 13:21:05 -06:00
thinkyhead cd4c1be641 [cron] Bump distribution date (2022-02-14) 2022-02-14 00:20:02 +00:00
InsanityAutomation 03516f0519 ♻️ No ui.reinit_lcd on any ExtUI (#23722)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-13 13:44:24 -06:00
Scott Lahteine e8cc050e90 📝 Update conditionals descriptions 2022-02-13 13:12:44 -06:00
Scott Lahteine cf013a7f3e 🔧 HAS_LCDPRINT conditional 2022-02-13 12:55:26 -06:00
thinkyhead cda4682861 [cron] Bump distribution date (2022-02-12) 2022-02-12 00:21:36 +00:00
John Robertson b4d3e1da34 More Nozzle Park move options (#23158)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-11 15:04:47 -06:00
ellensp 26e4f70d7c ✏️ Fix E3V2 display with BTT SKR Mini E3 v3 (#23719) 2022-02-11 13:50:07 -06:00
ellensp fb86b6b3e3 🚸 Align MKS UI heated bed status with HAS_MULTI_HOTEND (#23718) 2022-02-11 13:39:34 -06:00
Scott Lahteine df98bd26b3 💥 Change 'M42 M' to 'M42 T' 2022-02-11 09:36:52 -06:00
thinkyhead be8f4f47f9 [cron] Bump distribution date (2022-02-11) 2022-02-11 00:19:49 +00:00
Scott Lahteine 3d2b2ca790 🎨 Misc. DGUS cleanup 2022-02-10 16:08:04 -06:00
Thomas White f2d1770cee Pxmalion Core i3 (#23711) 2022-02-10 14:02:45 -06:00
Scott Lahteine 267a44c95c 🧑‍💻 Wrap MMU1 pins 2022-02-10 13:58:50 -06:00
espr14 5520aa3a10 🩹 Simplify quick homing feedrate (#23714)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-02-10 13:28:38 -06:00
Mads Ynddal 191d25f917 🐛 Fix XYZEval::set(XY, Z) and (XY, Z, E) (#23704)
Fix regression in #21953

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-02-10 12:02:31 -06:00
thinkyhead ae96892612 [cron] Bump distribution date (2022-02-10) 2022-02-10 00:20:36 +00:00
MOHAMMAD RASIM a323d6732b 🚸 Fix, Improve Power-Loss Recovery (#22828)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-02-09 12:29:34 -06:00
ellensp 0a24f858f3 🚸 Restore active tool after ABL G29 (#23692)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-02-09 10:46:53 -06:00
thinkyhead 1e18ce6e5d [cron] Bump distribution date (2022-02-09) 2022-02-09 00:23:37 +00:00
Scott Lahteine 2d04e5733a 🧑‍💻 Drop hostui.flag 2022-02-08 18:02:28 -06:00
Taylor Talkington 7763f9385d Optional HOST_STATUS_NOTIFICATIONS (#22833) 2022-02-08 17:36:06 -06:00
Scott Lahteine f84eb27c4c 🔧 Update MIXING_EXTRUDER sanity checks
Fixing #23693
2022-02-08 17:03:38 -06:00
thinkyhead 067faaceb1 [cron] Bump distribution date (2022-02-08) 2022-02-08 00:29:22 +00:00
InsanityAutomation c2fa7e5942 PLR accessors for Ext UI (#23687) 2022-02-07 16:24:46 -06:00
InsanityAutomation 3e93def08e 🩹 Fix Maple HAL compile errors (#23685) 2022-02-07 16:22:18 -06:00
ellensp 569f867ea9 🚨 Cleaner errors for renamed envs (#23690) 2022-02-07 14:50:08 -06:00
InsanityAutomation a8f95e3252 🧑‍💻 Generic Maple STM32F103RC envs for devs (#23686) 2022-02-07 14:40:14 -06:00
thinkyhead 029ff158bc [cron] Bump distribution date (2022-02-07) 2022-02-07 00:19:00 +00:00
Bob Kuhn d987e23d5b 🐛 Fix init of delta safe height (for G29, G33, etc.) (#23622) 2022-02-06 08:35:18 -06:00
thinkyhead dd4f93f90b [cron] Bump distribution date (2022-02-06) 2022-02-06 00:23:02 +00:00
ellensp a8f3810f39 🐛 Fix missing u8g_esp32_spi (#23562) 2022-02-05 10:52:18 -06:00
Scott Lahteine 0564cb188f 🚸 Enhanced UI => Professional UI - with updates (#23624) 2022-02-05 10:30:17 -06:00
GHGiampy 6af5cb295c 🔨 Clean up upload.py (#23679) 2022-02-05 10:23:44 -06:00
John Lagonikas 57cee04c89 🐛 Fix dual MAX31865 initialization issues (#23496) 2022-02-04 19:10:59 -06:00
Bob Kuhn 668020777f 🩹 Prevent Z error with UBL + Park unscaled E move (#23568) 2022-02-04 19:00:35 -06:00
ellensp 385b0c0106 🚨 Deprecate Maple build (#23661) 2022-02-04 18:51:00 -06:00
GHGiampy 5439a34c4b 🩹 Init brightness/contrast later (#23645) 2022-02-04 18:44:21 -06:00
Stephen Hawes 1be3b8df4a 🐛 Fix Index Mobo Rev03 upload (#23676) 2022-02-04 18:42:15 -06:00
Kelroy f61f8e3022 SAMD51 Bricolemon / Bricolemon Lite boards (#23658) 2022-02-04 18:40:35 -06:00
thinkyhead f2973ebd5f [cron] Bump distribution date (2022-02-05) 2022-02-05 00:15:43 +00:00
Bruno Henrique de Paula d99d0c8a10 📌 Distinct BOARD_CREALITY_V422 (#23674) 2022-02-04 15:57:43 -06:00
Bones 076d8e83ea Add ZRIB v53, patch G35 Z drop, related issues (#23636) 2022-02-04 15:52:57 -06:00
Scott Lahteine a1ffd59931 🧑‍💻 Relocate a variant 2022-02-04 15:49:39 -06:00
Bob Kuhn 7ef9e6df98 🐛 Fix RUMBA + MKS Mini12864 Neopixel pin (#23646) 2022-02-04 13:34:48 -06:00
Mike La Spina 71d54dab3c 🍻 STM32 set_pwm_duty "on/off" for digital pins (#23665) 2022-02-04 13:33:52 -06:00
Scott Lahteine f2a83bc245 💡 Comment variant timers 2022-02-04 12:40:26 -06:00
thinkyhead d5d3f28bfe [cron] Bump distribution date (2022-02-04) 2022-02-04 18:04:39 +00:00
Mike La Spina 8e8409ed67 🔧 Sanity-check AVR D9 Fan PWM / SPEAKER Timer2 (#23672) 2022-02-04 10:45:34 -06:00
ellensp 1636325b72 🐛 Creality v4 cleanup, pin correction (#23666) 2022-02-04 10:24:38 -06:00
thinkyhead e4658c321f [cron] Bump distribution date (2022-02-02) 2022-02-02 00:20:21 +00:00
GHGiampy f07fc7e96f 🚸 Case Light, LED menus for E3V2 DWIN Enhanced UI (#23590) 2022-02-01 17:35:38 -06:00
Scott Lahteine 1d35bb5d33 🔧 Board temp sensor check 2022-02-01 17:28:29 -06:00
Maeyanie b637617deb 🐛 Fix M852 report (#23660) 2022-02-01 17:27:14 -06:00
thinkyhead c61a692e7f [cron] Bump distribution date (2022-02-01) 2022-02-01 00:19:16 +00:00
Timothy Hoogland 59dbf27385 🐛 Fix EZBoard V2 Environment for OpenBLT (#23659) 2022-01-31 14:02:07 -06:00
thinkyhead a1cfb15e40 [cron] Bump distribution date (2022-01-30) 2022-01-30 12:26:01 +00:00
ellensp 69c7b8c1de 🐛 Fix FYSETC S6, S6 V2 Serial RX pins (#23642) 2022-01-30 05:34:03 -06:00
Mike La Spina 127a3ad831 🐛 Fix AVR 644/1284 Timer / PWM conflicts (#23629) 2022-01-30 05:31:56 -06:00
Timothy Hoogland 566b26a72e 🐛 Fix EZBoard V2 timer conflict (#23648) 2022-01-30 05:26:37 -06:00
thinkyhead 79fea49868 [cron] Bump distribution date (2022-01-28) 2022-01-28 00:18:24 +00:00
Scott Lahteine afdaa17964 🧑‍💻 Simplify Fast PWM timer macros 2022-01-27 07:05:26 -06:00
thinkyhead 7b12f985d3 [cron] Bump distribution date (2022-01-27) 2022-01-27 00:18:30 +00:00
Mike La Spina 7fb65309aa 🐛 Fix SPI DMA and default mode (#23627)
Followup to #23464
2022-01-26 14:01:22 -06:00
Scott Lahteine 9c1eaafe88 📝 Update Creality 4.2.2 driver warning 2022-01-26 13:40:29 -06:00
Keith Bennett 5b35f3a955 🚸 Better "Bed Tramming Done" dialog (#23616)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-01-26 12:33:10 -06:00
thinkyhead 9eab577765 [cron] Bump distribution date (2022-01-26) 2022-01-26 02:01:35 +00:00
Scott Lahteine 91c7db027f BOARD_CREALITY_V24S1_301 (#23620)
Co-Authored-By: Miguel Risco-Castillo <mriscoc@users.noreply.github.com>
2022-01-25 18:33:30 -06:00
ellensp b44263eb5b FYSETC TFT81050 CI Test (#23604) 2022-01-25 18:08:15 -06:00
Scott Lahteine 7af8e23254 ✏️ Fix MKS enum 2022-01-25 17:22:16 -06:00
Scott Lahteine ab46b7e2f2 🧑‍💻 HAS_MARLINUI_MENU, HAS_MANUAL_MOVE_MENU 2022-01-25 15:47:37 -06:00
thinkyhead 231150ab77 [cron] Bump distribution date (2022-01-25) 2022-01-25 12:11:56 +00:00
Timofey Titovets 5b9afdfb25 ️ Tuned Thermistor 66 (T-D500) (#23585) 2022-01-25 03:36:09 -06:00
Lars 8badf2d71f 🐛 Fix DGUS_Reloaded G-code execution (#23592) 2022-01-25 03:30:45 -06:00
Keith Bennett 7f97ba9cdb 🐛 Fix Creality DWIN LCD with SKR Mini E3 V3 (#23593) 2022-01-25 03:25:19 -06:00
DejitaruJin 539a893694 🩹 Fix DWIN float debugging (#23601) 2022-01-25 02:52:23 -06:00
Keith Bennett f6ea8d1185 🔨 Creality RCT6 (256K) variants (#23599)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-01-25 02:09:53 -06:00
thinkyhead 02b01c773e [cron] Bump distribution date (2022-01-22) 2022-01-22 18:04:48 +00:00
Scott Lahteine 8169253a7d 🧑‍💻 Fix up some AUX / EXP pins (#23577) 2022-01-22 10:19:26 -06:00
Mike La Spina f6e8622360 🐛 Fix LCD contrast/brightness init (#23567)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-01-22 10:16:41 -06:00
Scott Lahteine d5f2334140 ♻️ Adjust LCD init, contrast default, settings load 2022-01-22 10:14:47 -06:00
thinkyhead 37ee9a47ab [cron] Bump distribution date (2022-01-21) 2022-01-21 00:17:50 +00:00
John Lagonikas 7415c38790 🩹 Fix power.h compile (#23573) 2022-01-20 05:58:36 -06:00
Scott Lahteine 900bcbeeca 🩹 BOARD_INIT followup 2022-01-19 18:33:56 -06:00
thinkyhead 56f065db05 [cron] Bump distribution date (2022-01-20) 2022-01-19 18:33:56 -06:00
Scott Lahteine 4686dc4c81 🧑‍💻 Add chmod to mfprep 2022-01-19 05:12:03 -06:00
Scott Lahteine a963c5f9f3 🩹 Fix Robin Nano BOARD_INIT 2022-01-19 05:11:18 -06:00
Scott Lahteine 0f2ba5b92b 📝 Tweak G26 Q description 2022-01-19 03:31:36 -06:00
Scott Lahteine 5179f55bf9 🎨 LCD_SCREEN_ROT_* => LCD_SCREEN_ROTATE 2022-01-19 03:28:19 -06:00
Scott Lahteine fd595aa01b 🎨 Misc. style and cleanup 2022-01-19 02:20:32 -06:00
John Lagonikas 0aea3ae058 🐛 Fix conditional M81 suicide (#23549) 2022-01-19 02:13:47 -06:00
thinkyhead 383afd79bc [cron] Bump distribution date (2022-01-19) 2022-01-19 00:18:14 +00:00
Scott Lahteine 18e1128f70 📌 RAMPS AUX 1-2 headers (#23544) 2022-01-18 03:18:37 -06:00
Fahad Alduraibi e9ef609b07 🐛 Fix RAMPS 1.4 Plus EXP headers (#23523) 2022-01-18 03:16:39 -06:00
Salvatore Bramante df69d72273 🐛 Fix Octopus v1.x probe pin (#23548) 2022-01-18 03:09:06 -06:00
Scott Lahteine e2446dc561 💥 Generalize extra debugging 2022-01-18 03:01:09 -06:00
Keith Bennett 8c83ddd201 🔨 Suppressible CONFIGURATION_EMBEDDING warning (#23545) 2022-01-18 02:30:52 -06:00
GHGiampy 1e246d65ad Long filename open/create/write (#23526)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-01-18 00:56:11 -06:00
thinkyhead 0c0ba6db7d [cron] Bump distribution date (2022-01-18) 2022-01-18 00:21:03 +00:00
Taylor Talkington d8f73997b6 💄 Improve Ender3 v2 DWIN MarlinUI (#23369)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-01-17 07:07:45 -06:00
John Lagonikas 830d728ec1 🚸 Suppressible pin warnings (#23530)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-01-17 06:56:25 -06:00
thinkyhead b9eef9ffb4 [cron] Bump distribution date (2022-01-17) 2022-01-17 12:13:17 +00:00
zerkix 9285b6b9ed 🐛 Finish and organize temp sensors (#23519)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-01-17 00:14:35 -06:00
Anson Liu af93dbfb4f 🐛 Fix Ultimain 2 E-autofan pin mapping (#23466) 2022-01-16 23:39:09 -06:00
Miguel Risco-Castillo 6cfa011c10 🐛 Fix PLR for E3V2 Enhanced UI (#23543) 2022-01-16 23:36:03 -06:00
Taylor Talkington 3315ff8856 💄 MarlinUI+DOGM leveled bed bitmaps (#23539) 2022-01-16 23:34:50 -06:00
Scott Lahteine 9778b67e84 🩹 Fan speed followup 2022-01-15 23:17:39 -06:00
A. Herlas cc87695ae7 Z Offset Wizard for TFT_LVGL_UI (English) (#23489) 2022-01-15 23:08:31 -06:00
Sola c79174e862 ️ SPI+DMA+interrupt method (STM32 / MKS UI) (#23464) 2022-01-15 23:07:37 -06:00
Mike La Spina 09909512d7 🐛 Fix, improve PWM on AVR (#23520) 2022-01-15 23:05:53 -06:00
thinkyhead 213b5d0d38 [cron] Bump distribution date (2022-01-16) 2022-01-16 01:11:43 +00:00
thinkyhead da8e21f1a6 [cron] Bump distribution date (2022-01-15) 2022-01-15 01:06:49 +00:00
Scott Lahteine 80e978ec8a 🔧 Skip unused axis names 2022-01-14 06:16:14 -06:00
George Fu d225445ab1 🔨 Set upload_command for CHEETAH v20 (#23515) 2022-01-14 04:10:35 -06:00
Scott Lahteine 7bc9d15514 🩹 Followup to extra axes 2022-01-14 03:43:14 -06:00
Scott Lahteine 40481947fc 🧑‍💻 Misc. updates for extra axes (#23521) 2022-01-14 03:14:13 -06:00
thinkyhead 70d3607f56 [cron] Bump distribution date (2022-01-14) 2022-01-14 01:09:42 +00:00
thinkyhead 498b4b3440 [cron] Bump distribution date (2022-01-13) 2022-01-13 01:10:52 +00:00
Mike La Spina 2cfde39eca 🐛 Fix, improve PWM on AVR (#23463) 2022-01-12 17:28:53 -06:00
Keith Bennett 3e2a38b653 📝 KHz => kHz (#23512) 2022-01-12 10:24:56 -06:00
Lefteris Garyfalakis 9086082c1f 🚸 Fix E3V2 Enhanced UI time labels (#23502) 2022-01-12 10:22:00 -06:00
Jim Watson e16813d713 🐛 Fix SHOW_REMAINING_TIME compile (#23503) 2022-01-12 10:13:21 -06:00
ellensp 3d79b55c15 🚑️ Fix M105 regression (#23505)
Fixes #23504
2022-01-12 09:57:36 -06:00
ellensp a058a8a8b2 🐛 Fix Arduino build issues (#23510) 2022-01-12 09:53:36 -06:00
Scott Lahteine 84ed749954 🧑‍💻 Move PB0 init for MKS_ROBIN_NANO 2022-01-12 09:47:44 -06:00
Scott Lahteine 24d1d3eb5c 💡 Misc. cleanup, comments 2022-01-12 09:47:44 -06:00
thinkyhead 89f1391306 [cron] Bump distribution date (2022-01-12) 2022-01-12 01:07:56 +00:00
Scott Lahteine ab797a0995 🎨 Misc. spindle/laser adjustments 2022-01-10 20:29:09 -06:00
Scott Lahteine 07bffdf4bc 🧑‍💻 Adjust FastIO AVR timer enums, macros 2022-01-10 20:28:12 -06:00
Scott Lahteine 02b29c0fec 📝 kHz => KHz 2022-01-10 19:49:03 -06:00
thinkyhead 476028d476 [cron] Bump distribution date (2022-01-11) 2022-01-11 01:09:12 +00:00
mistic100 2ded50ba3f 🚸 Wait for cooldown in MarlinUI power-off (#23476) 2022-01-10 07:08:41 -06:00
Scott Lahteine 224b6e5af9 🩹 Fix some logical axis usage 2022-01-10 05:51:16 -06:00
Scott Lahteine 08b6597471 🎨 Followup to #23462 2022-01-10 04:49:03 -06:00
Scott Lahteine 9665a4434c 🧑‍💻 Fewer string macros 2022-01-10 02:51:50 -06:00
DerAndere a719020348 🚸 Include extra axes in position report (#23490) 2022-01-10 02:44:16 -06:00
thinkyhead 0dfc17ca60 [cron] Bump distribution date (2022-01-10) 2022-01-10 01:06:10 +00:00
Scott Lahteine 80128ae456 🌐 Update auto home axis strings 2022-01-09 04:39:15 -06:00
David Ross Smith 13adcd5c08 🚑️ Fix preheat target bug
Fixes Jyers/Marlin#1651
2022-01-09 04:07:19 -06:00
Roman Moravčík 797859cf55 🌐 Update Slovak language (#23475) 2022-01-09 03:51:16 -06:00
Tanguy Pruvot 27d252c80b 📌 Improve Longer3D fan PWM (#23477) 2022-01-09 03:49:39 -06:00
Scott Lahteine 75d1f975a8 🔨 Rename (not copy) with board_build.rename 2022-01-09 03:48:17 -06:00
Miguel Risco-Castillo 6ce0c682bb 🚸 BLTouch HS menu item for DWIN Enhanced UI (#23480) 2022-01-09 02:37:09 -06:00
Miguel Risco-Castillo e0d19f9f41 🐛 Fix EEPROM_INIT_NOW build hash test (#23479) 2022-01-09 01:29:36 -06:00
Miguel Risco-Castillo 0026430835 🩹 Reset DWIN CrealityUI print progress on start (#23481) 2022-01-09 01:24:56 -06:00
GHGiampy 1363b43946 Firmware Upload via Binary Transfer (#23462) 2022-01-09 01:14:03 -06:00
Scott Lahteine 54f218e348 🔨 Get FIRMWARE_BIN from env 2022-01-09 01:06:19 -06:00
thinkyhead 5a9755e5bb [cron] Bump distribution date (2022-01-09) 2022-01-09 01:10:43 +00:00
ClockeNessMnstr 3949142214 🚸 Do G34 "Z Backoff" at full current 2022-01-08 14:09:25 -06:00
thinkyhead 9564d68484 [cron] Bump distribution date (2022-01-08) 2022-01-08 01:06:56 +00:00
thinkyhead 3eb794d6d5 [cron] Bump distribution date (2022-01-07) 2022-01-07 01:13:26 +00:00
jdegenstein 73624133c9 📌 LCD_FOR_MELZI for BTT E3 RRF (#23453) 2022-01-06 19:03:02 -06:00
Lefteris Garyfalakis 4d28c9d12b 🌐 Localize E3V2 Enhanced UI (#23424) 2022-01-06 05:30:41 -06:00
Anson Liu e99d95b770 📺 Tune ULTI_CONTROLLER encoder, enable PCA9632 (#23461) 2022-01-06 05:26:12 -06:00
Scott Lahteine 1bd921d6a6 🎨 Misc. cleanup, comments 2022-01-06 05:10:56 -06:00
Kyle Hu 8e490e84be 🐛 Fix Artillery Ruby (startup code, build flags) (#23446) 2022-01-06 01:54:04 -06:00
thinkyhead 15936d32f5 [cron] Bump distribution date (2022-01-06) 2022-01-06 01:13:30 +00:00
Scott Lahteine 9140016e02 🐛 Fix X2_HOME_TO_* 2022-01-05 11:50:53 -06:00
Mike La Spina 4ceba981b1 🐛 Define required endstop enums (#23425) 2022-01-05 06:14:40 -06:00
John Lagonikas 1fe07bf365 🩹 Fix M80, 1s delay (#23455) 2022-01-05 05:57:32 -06:00
Scott Lahteine c55b66bece 🔨 Strip CR in mftest > awk 2022-01-05 01:52:34 -06:00
Scott Lahteine cc919ae899 🐛 Fix strlen_P parameter error
Fixes #23447
2022-01-05 01:52:34 -06:00
thinkyhead e379a46639 [cron] Bump distribution date (2022-01-05) 2022-01-05 01:09:13 +00:00
thinkyhead e1ab7f3b75 [cron] Bump distribution date (2022-01-04) 2022-01-04 01:07:15 +00:00
John Lagonikas 9a194826e3 M81 D / S - Power-off Delay (#23396) 2022-01-03 10:11:39 -06:00
Scott Lahteine b8a376a28a 🩹 Fix RADDS+RRD encoder button 2022-01-03 09:18:10 -06:00
hwmland 90fc120182 🩹 RAMPS FET order overridable, E + Laser (#23428) 2022-01-02 23:54:12 -06:00
Jason Smith 554a2fc84a ⬆️ Assert newer GCC in PIO via atmelavr@~3.4 (#23432) 2022-01-02 23:27:22 -06:00
Jason Smith 6fd48a9881 💚 Fix Teensy CI test (#23433) 2022-01-02 21:17:19 -06:00
thinkyhead 397c751d55 [cron] Bump distribution date (2022-01-03) 2022-01-03 01:06:21 +00:00
Scott Lahteine e65c12cf96 🧑‍💻 Apply axis conditionals 2022-01-02 09:26:34 -06:00
Scott Lahteine 91909163ee 🚨 Fix M906 warning 2022-01-02 09:22:28 -06:00
Mike La Spina d007c1b835 🔧 Normal FET layout with Spindle/Laser (#23409) 2022-01-02 02:23:55 -06:00
Jason Smith e37fe85667 🔧 Update deprecated auto_build.py (#23427) 2022-01-02 02:19:10 -06:00
Johannes Hörmann cb96f9d6c0 🔨 Upload to Optiboot at 115200 (#23403) 2022-01-01 23:46:55 -06:00
Scott Lahteine 6fbfeb6801 M919 : Chopper Timing (#23400) 2022-01-01 22:57:26 -06:00
Scott Lahteine 09ccaa5051 🔨 Add .vscode/extensions.json 2022-01-01 22:57:26 -06:00
thinkyhead 08aacb822a [cron] Bump distribution date (2022-01-02) 2022-01-02 01:09:36 +00:00
John Lagonikas 63f71d85f2 Temperature variance monitor (#23373) 2022-01-01 18:18:07 -06:00
thinkyhead 4de84031d8 [cron] Bump distribution date (2022-01-01) 2022-01-01 01:08:17 +00:00
Jason Smith 6182849255 Do not warn about CONFIGURATION_EMBEDDING if it wasn't enabled (#23408)
Warnings.cpp was warning about `CONFIGURATION_EMBEDDING` on AVR boards even if it wasn't enabled. Check the status of the feature before auto-disabling and warning about it.
2021-12-31 12:32:28 -08:00
Scott Lahteine b07887687e 🚑️ Fix thermal conditionals, structure 2021-12-31 08:04:31 -06:00
Robby Candra ead693b1a4 🔧 DWIN_MARLINUI sanity checks (#23399) 2021-12-31 02:22:49 -06:00
Scott Lahteine ff46d7cae2 🐛 Fix "no T param" handling 2021-12-31 02:03:33 -06:00
thinkyhead c1410020ab [cron] Bump distribution date (2021-12-31) 2021-12-31 01:07:37 +00:00
ellensp 67521bdd01 🐛 Fix RRW Keypad & Zonestar buttons (#23388) 2021-12-30 01:35:22 -06:00
GHGiampy 6e8c671511 🩹 Fix Enhanced UI max E speed (#23387) 2021-12-29 22:37:07 -06:00
thinkyhead 9edddd18ad [cron] Bump distribution date (2021-12-30) 2021-12-30 01:05:16 +00:00
Scott Lahteine 88a6e5b691 🩺 Assert FAN_SOFT_PWM where required (#23383) 2021-12-29 04:17:41 -06:00
Scott Lahteine 755c10d303 🎨 Simplify some debug echos 2021-12-29 03:41:28 -06:00
Lefteris Garyfalakis 16a1a55cea 🎨 E3V2 corner leveling => tramming (#23375) 2021-12-28 21:22:01 -06:00
thinkyhead 6d1eaa0efa [cron] Bump distribution date (2021-12-29) 2021-12-29 01:05:01 +00:00
Scott Lahteine f3b8b0b5b9 🚚 Rename L6470 G-code file 2021-12-28 18:29:05 -06:00
Scott Lahteine 6fb2d8a25f 🧑‍💻 Remove extraneous 'inline' hints 2021-12-28 06:07:55 -06:00
Scott Lahteine 33fa3aba10 🩺 Check some axis-parameter collisions 2021-12-28 06:07:14 -06:00
Scott Lahteine 13ce5aa1ed 🎨 Misc. cleanup 2021-12-28 06:03:12 -06:00
Scott Lahteine 02b4e48c6d 🚸 Refine stepper-driver-related G-codes (#23372) 2021-12-28 05:43:10 -06:00
Scott Lahteine 2351b0df84 🧑‍💻 Add AXIS_COLLISION to catch broken parameters 2021-12-28 05:02:50 -06:00
Miguel Risco-Castillo d58daaa42c 🚸 DWIN Enhanced improve, fix, and extend (#23240)
- Offset icon change to show mesh leveling status
- Reset extruder position when enter to Move menu
- New live end-stop diagnostic page
- Editable firmware retracts settings for Tune and filament settings menu
- Print Statistics page accessible from the Advanced Settings menu
- Reset printer draws the boot image
- Adds individual axes homing menu
- Adds probe deploy/stow to Probe Settings menu
- Updates lock screen
- Rebuilds main buttons to support text caption in other languages
- Increases probe offset limits to 60 mm
- Fix M303 PID variable update
- Fix Resume/Pause button update
- Fix redraw of print done
- Fix very large file name bug
- Fix bug in bed manual leveling
2021-12-27 23:23:50 -06:00
Scott Lahteine 761b1b93c6 📝 Consistent pin header orientation 2021-12-27 20:52:43 -06:00
thinkyhead c5b74319e7 [cron] Bump distribution date (2021-12-28) 2021-12-28 01:05:31 +00:00
Scott Lahteine c160a57397 📌 Define MKS Monster8 pins for MKS_MINI_12864
Fixes #23324
2021-12-27 17:40:53 -06:00
Ave6683 d557db8425 MagLev V4 probe by MDD (#23192) 2021-12-27 15:28:27 -06:00
Scott Lahteine 3f6147fe85 🐛 Fix mffp usage 2021-12-27 14:30:15 -06:00
Scott Lahteine 9345eedb64 🎨 Clean up ST Eval 3DP001 V1 pins 2021-12-27 14:30:01 -06:00
thinkyhead 7d462915b3 [cron] Bump distribution date (2021-12-27) 2021-12-27 01:05:53 +00:00
Scott Lahteine 56ac681727 🎨 Pins and SDIO cleanup 2021-12-26 03:33:14 -06:00
EvilGremlin 7762df7251 🔧 Check Chiron LCD requirements (#23353)
Co-Authored-By: EvilGremlin <22657714+EvilGremlin@users.noreply.github.com>
2021-12-26 00:46:13 -06:00
Scott Lahteine 6a8b9274a3 ️ Refactor still needs work
Reverting #23295
2021-12-25 23:15:17 -06:00
Scott Lahteine 00e6e90648 🐛 Fix adc_start for AVR, native
Followup to #23295
2021-12-25 22:10:47 -06:00
Keith Bennett 555c749fe2 🐛 Fix MKS Robin E3 NeoPixel pin default (#23350) 2021-12-25 21:41:01 -06:00
Robby Candra a47f559db1 🐛 HAL refactor followup (#23354) 2021-12-25 21:36:09 -06:00
Scott Lahteine 57315f02cb 🐛 Fix missing ADC method 2021-12-25 21:27:28 -06:00
kaidegit d7af619936 🐛 Fix open for bin rename (#23351) 2021-12-25 20:12:20 -06:00
Scott Lahteine 4f0932e5c1 🐛 Fix freeMemory endless loop
Followup to #23295
2021-12-25 20:00:48 -06:00
thinkyhead bdb071688e [cron] Bump distribution date (2021-12-26) 2021-12-26 01:09:46 +00:00
Scott Lahteine fca6d12093 🔧 Move MOTHERBOARD closer to top 2021-12-25 03:27:45 -06:00
fflosi c74161c011 Per-axis TMC hold multiplier (#23345) 2021-12-25 02:57:07 -06:00
Scott Lahteine a941cd33e2 🔨 Configurable firmware bin filename
Configuration.h > FIRMWARE_BIN
2021-12-24 23:47:52 -06:00
Scott Lahteine e211ff148c ♻️ Refactor HAL as singleton (#23295) 2021-12-24 21:33:59 -06:00
Scott Lahteine 532f21f96f 🔨 Ignore sublime workspace file 2021-12-24 21:32:00 -06:00
Scott Lahteine cd1920b350 🔨 Ignore cmake generated build folder 2021-12-24 21:00:32 -06:00
thinkyhead 6d09d1d7fb [cron] Bump distribution date (2021-12-25) 2021-12-25 01:04:01 +00:00
Scott Lahteine d5dff1948d 🔧 Sanity check MMU2_MENUS 2021-12-24 01:46:51 -06:00
Sola 21cd715506 MKS TinyBee board support (#23340)
Co-Authored-By: Sola <42537573+solawc@users.noreply.github.com>
2021-12-24 00:03:32 -06:00
Attila BODY 80a537cd13 🐛 Fix Robin Nano v3 filament runout pins (#23344)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-23 23:57:20 -06:00
thinkyhead ca0215ba64 [cron] Bump distribution date (2021-12-24) 2021-12-24 01:04:40 +00:00
MrAlvin df9eb566c7 🚸 Show mm'ss during first hour (#23335)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-23 03:47:52 -06:00
Robby Candra 3e737cbc91 🔧 Group FAST_PWM_FAN.options (#23331)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-23 02:19:39 -06:00
Tanguy Pruvot da67deb621 ✏️ Fix missing brace (#23337)
Followup to #22916

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-23 01:32:27 -06:00
Tanguy Pruvot 1b876c170f 🩹 Fix settings G21 report (#23338) 2021-12-23 00:49:15 -06:00
thinkyhead c80ef71c6b [cron] Bump distribution date (2021-12-23) 2021-12-23 01:05:31 +00:00
InsanityAutomation 2893048e29 BLTouch High Speed mode runtime configuration (#22916)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-21 22:09:55 -06:00
ellensp c1dba3d028 Option to reset EEPROM on first run (#23276)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-21 20:44:04 -06:00
thinkyhead fdd37a84a2 [cron] Bump distribution date (2021-12-22) 2021-12-22 01:07:10 +00:00
ellensp 9cee626812 🐛 Fix Chitu Z_STOP_PIN (#23330) 2021-12-21 18:48:38 -06:00
Mike La Spina f374fa0eb8 🚑️ FAST_PWM_FAN default 1KHz base freq. (#23326)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-21 01:26:31 -06:00
thinkyhead b06f871dd0 [cron] Bump distribution date (2021-12-21) 2021-12-21 01:08:00 +00:00
GHGiampy ba32391454 🧑‍💻 Option allowing > 127 Neopixels (#23322) 2021-12-20 02:44:43 -06:00
Scott Lahteine 9d42755068 🎨 Update SKR V2 pins 2021-12-19 21:47:50 -06:00
thinkyhead a055898870 [cron] Bump distribution date (2021-12-20) 2021-12-20 01:06:18 +00:00
Spencer Owen ecaebe4363 Creality3D V4.2.3 / Ender-2 Pro board (#23307) 2021-12-18 19:58:46 -06:00
thinkyhead 14ceccdbc6 [cron] Bump distribution date (2021-12-19) 2021-12-19 01:26:05 +00:00
Scott Lahteine daec6c6bb9 📝 Fix a config comment 2021-12-18 17:38:29 -06:00
Robby Candra b4727411d5 🐛 Fix loud_kill heater disable (#23314) 2021-12-18 16:33:21 -06:00
thinkyhead b16b1d1fc7 [cron] Bump distribution date (2021-12-18) 2021-12-18 01:07:50 +00:00
John Lagonikas 504e6fd786 🔧 Warning for IGNORE_THERMOCOUPLE_ERRORS (#23312) 2021-12-17 17:31:10 -06:00
Scott Lahteine 9d2441f951 ✏️ cleanup 2021-12-17 15:57:16 -06:00
thinkyhead a994a318ba [cron] Bump distribution date (2021-12-17) 2021-12-17 01:06:28 +00:00
Robby Candra 6dc056f771 🐛 Fix UTF-8 errror in configuration embed and retrieve (#23303)
The feature added in commit b464a4b1a4 introduced a UTF-8 encoding error for all users where UTF-8 is not the default codepage.
2021-12-15 21:04:32 -08:00
thinkyhead 5f9140cccd [cron] Bump distribution date (2021-12-16) 2021-12-16 01:03:49 +00:00
thinkyhead 2175d8aaee [cron] Bump distribution date (2021-12-15) 2021-12-15 01:03:24 +00:00
Robby Candra e57b7d043c 🚸 Change "SD" to "Media" or "SD/FD" (#23297) 2021-12-14 18:51:19 -06:00
ellensp a4678d9e27 🐛 Fix LCD_BED_LEVELING compile (#23298) 2021-12-14 00:25:28 -06:00
X-Ryl669 b464a4b1a4 Configurations embed and retrieve (#21321) 2021-12-14 00:22:06 -06:00
thinkyhead bf21bc9ee5 [cron] Bump distribution date (2021-12-14) 2021-12-14 01:25:36 +00:00
Giuliano Zaro 1dd9adbfe4 🚸 Use M600 for disabled MMU (#21865) 2021-12-13 18:47:57 -06:00
Tanguy Pruvot 8277f3ca0d 🐛 Fix TFT_COLOR_UI Release Media issue (#23123) 2021-12-13 18:41:21 -06:00
ellensp eef9e04690 M115 flag EXTENDED_M20 (#22941) 2021-12-13 18:18:24 -06:00
ellensp dff18e2230 ✏️ Clean up duplicate defs (#23182) 2021-12-13 18:13:34 -06:00
Robby Candra 26689e1d85 🩹 Init fan speed at boot (#23181)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-13 18:11:52 -06:00
Scott Lahteine afce7d6dd5 🔧 Fix unknown board test 2021-12-13 16:15:46 -06:00
Robby Candra 9eb2a5f62c 🩹 Use EXTRUDER_AUTO_FAN_SPEED for _AUTOFAN_SPEED (#23180) 2021-12-13 16:07:44 -06:00
thinkyhead 82d569faa0 [cron] Bump distribution date (2021-12-13) 2021-12-13 01:04:05 +00:00
Scott Lahteine 1cff4fdb36 🩹 SD abort requires open file
See #22566
2021-12-12 16:22:14 -06:00
thinkyhead 60717927ac [cron] Bump distribution date (2021-12-12) 2021-12-12 01:06:58 +00:00
ellensp 5528927d71 🐛 Fix MARLIN_F103Rx variant SCK / MOSI pins (#23282) 2021-12-11 16:06:45 -06:00
thinkyhead aebf70cdae [cron] Bump distribution date (2021-12-11) 2021-12-11 01:03:00 +00:00
BigTreeTech 0077d982cd BigTreeTech SKR mini E3 V3.0 (STM32G0B1RET6) (#23283) 2021-12-10 13:38:03 -06:00
thinkyhead 1e637a8de2 [cron] Bump distribution date (2021-12-10) 2021-12-10 01:04:24 +00:00
Scott Alfter c3af6bd8ce Fix Endstops::report_states (#23280)
Fix regression 4d45fdf0eb
2021-12-09 01:20:10 -06:00
thinkyhead 1ccaad7a9b [cron] Bump distribution date (2021-12-09) 2021-12-09 01:03:55 +00:00
Scott Lahteine 4d45fdf0eb 🎨 Misc. probe / endstop cleanup 2021-12-08 18:57:28 -06:00
Sola 135683010a 🐛 Fix MKS LVGL UI retraction (#23267) 2021-12-08 13:37:45 -06:00
Robby Candra dfa1c26471 🩹 Coerce pin_t in set_pwm_duty macros (#23273) 2021-12-08 13:15:31 -06:00
Jason Smith 65e52c1150 🐛 Fix ACTION_ITEM with nullptr (#23195)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-08 13:10:37 -06:00
Robby Candra a84e0404e0 🚸 Onboard SD for SKR 2.0 / SKR PRO (#23274) 2021-12-08 12:57:50 -06:00
John Lagonikas 9e6ded3cdf 🐛 Fix and improve MAX31865 (#23215)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-08 12:55:09 -06:00
Scott Lahteine 0a64209305 🎨 Rename MAX31865 elements 2021-12-08 12:40:23 -06:00
thinkyhead 5d45aba550 [cron] Bump distribution date (2021-12-08) 2021-12-08 01:05:41 +00:00
Scott Lahteine 63d73bfafc ✏️ MAX31856 => MAX31865 2021-12-06 20:18:50 -06:00
Giuseppe499 a16a059312 X Twist Compensation & Calibration (#23238) 2021-12-06 19:53:51 -06:00
thinkyhead c67f7fb4df [cron] Bump distribution date (2021-12-07) 2021-12-07 01:06:09 +00:00
Mike La Spina ea0d0e8e8b 🩹 Fix non-PWM cutter compile (#23169) 2021-12-06 15:52:18 -06:00
Stuart Pittaway 6580e655fb 🐛 Fix TWIBus Wire.begin call (#23183) 2021-12-06 15:40:18 -06:00
thinkyhead ecd1ac7092 [cron] Bump distribution date (2021-12-06) 2021-12-06 01:04:44 +00:00
Chris Pepper a010c4d1c8 🐛 HAL_reboot for native HAL (#23246) 2021-12-05 16:18:02 -06:00
tommywienert fcb48598e2 🐛 Fix env:chitu_f103 (#23225) 2021-12-05 16:16:23 -06:00
ellensp 4d0880c74d 📌 More Longer3D LKx Pro serial tests (#23260) 2021-12-05 15:42:56 -06:00
ladismrkolj 97400e54b9 🔧 Chamber Fan index option (#23262) 2021-12-05 15:41:39 -06:00
thinkyhead d6b332f4c7 [cron] Bump distribution date (2021-12-05) 2021-12-05 01:07:50 +00:00
Stuart Pittaway 363a17ac46 M3426 to read i2c MCP3426 ADC (#23184) 2021-12-04 17:47:08 -06:00
Scott Lahteine e6bbdd89b4 🔧 Cutter pins for SKR 2.0 2021-12-04 17:47:08 -06:00
Robby Candra 7daa76382f 🚸 Park nozzle on "loud kill" (#23172) 2021-12-04 17:47:08 -06:00
ellensp bfead67544 BigTree SKR 2 with F429 (#23177) 2021-12-04 16:10:29 -06:00
thinkyhead 36a04190a0 [cron] Bump distribution date (2021-12-04) 2021-12-04 01:02:04 +00:00
ellensp e949b4439b 🐛 Fix TIMER_TONE for ZM3E4 (#23212) 2021-12-03 14:48:54 -06:00
Mike La Spina 4411af655e 🏗️ Fix Maple HAL/STM32F1 PWM (#23211) 2021-12-03 12:48:48 -06:00
Tanguy Pruvot 2a1facf853 🏗️ Rework STM32 timer frequency protection (#23187) 2021-12-03 12:31:48 -06:00
thinkyhead e3d7274c84 [cron] Bump distribution date (2021-12-03) 2021-12-03 01:02:06 +00:00
thinkyhead b9ee84e8dc [cron] Bump distribution date (2021-12-02) 2021-12-02 01:02:43 +00:00
thinkyhead f46c76f360 [cron] Bump distribution date (2021-12-01) 2021-12-01 01:05:56 +00:00
Scott Lahteine c09641c7c0 🐛 Fix STM32 FastPWM 2021-11-30 15:04:05 -06:00
Jiri Jirus 1f5eaf29b9 🩹 Assume 4K EEPROM for RUMBA32 BTT (#23205) 2021-11-30 14:46:48 -06:00
Scott Lahteine 7ffada64ce 🐛 Fix STM32 FastPWM 2021-11-30 13:03:31 -06:00
thinkyhead 9e71f9baf9 [cron] Bump distribution date (2021-11-30) 2021-11-30 01:01:54 +00:00
thinkyhead a276c088e3 [cron] Bump distribution date (2021-11-29) 2021-11-29 01:01:36 +00:00
thinkyhead 1874787b6b [cron] Bump distribution date (2021-11-28) 2021-11-28 01:02:49 +00:00
Scott Lahteine 0539e870de 🎨 Rename HAL timer elements 2021-11-27 18:33:32 -06:00
Keith Bennett 09ee63caf1 ✏️ Fix Unicode (#23186) 2021-11-27 16:59:32 -06:00
Anson Liu 6fa278b741 🩹 UM2 extruder cooling fan on PJ6 (#23194) 2021-11-27 16:58:05 -06:00
Jason Smith 1861f780de 🩹 Handle nullptr in CardReader::printLongPath (#23197) 2021-11-27 15:54:39 -06:00
George Fu a3c4a5eca6 FYSETC Spider v2.2 (#23208) 2021-11-27 13:26:53 -06:00
Keith Bennett 716d741315 🐛 Swap BTT002 Tachometer Pins (#23199)
Followup to #23086
2021-11-27 13:23:23 -06:00
thinkyhead 47d3468251 [cron] Bump distribution date (2021-11-27) 2021-11-27 00:59:57 +00:00
thinkyhead 981ad44ded [cron] Bump distribution date (2021-11-26) 2021-11-26 01:00:27 +00:00
thinkyhead 9e7b9d01a1 [cron] Bump distribution date (2021-11-25) 2021-11-25 01:02:19 +00:00
Scott Lahteine a7549aac5c 🎨 Misc. issue review patches 2021-11-24 11:38:34 -06:00
thinkyhead b6a8cc06fa [cron] Bump distribution date (2021-11-24) 2021-11-24 01:01:07 +00:00
Keith Bennett f0e48ce104 📌 Biqu BX temporary framework workaround (#23131) 2021-11-23 15:54:31 -06:00
schmttc d4c78edfe3 EasyThreeD ET4000+ board and UI (#23080)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-11-23 15:52:18 -06:00
Giuliano Zaro 203047f859 🩹 Fix include path (#23150) 2021-11-23 15:33:33 -06:00
lukrow80 7bc18a7075 🐛 Fix homing current for extra axes (#23152)
Followup to #19112
2021-11-23 15:30:13 -06:00
John Robertson e5154ec281 MarkForged YX kinematics (#23163) 2021-11-23 15:24:24 -06:00
Robby Candra de398b4fd2 🐛 Fix serial_data_available (#23160) 2021-11-23 15:19:32 -06:00
Mike La Spina 5387ceba74 🐛 Fix STM32 set_pwm_duty (#23125) 2021-11-23 14:05:50 -06:00
Giuliano Zaro 7110d11c9d Fan tachometer support (#23086)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-11-23 14:01:53 -06:00
thinkyhead 430a4aec34 [cron] Bump distribution date (2021-11-23) 2021-11-23 01:01:29 +00:00
thinkyhead 0fbecf4aaf [cron] Bump distribution date (2021-11-22) 2021-11-22 01:05:17 +00:00
Keith Bennett 6ac0d4727c BigTreeTech Mini 12864 V1.0 (#23130)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-11-21 13:25:06 -06:00
Tanguy Pruvot f33396c2c3 🐛 Fix TFT backlight sleep/wake (#23153) 2021-11-21 13:13:01 -06:00
thinkyhead 2955061b05 [cron] Bump distribution date (2021-11-21) 2021-11-21 01:04:01 +00:00
Tanguy Pruvot 1c31366bf3 ️ Reduce calls to set fan PWM (#23149) 2021-11-19 19:44:53 -06:00
thinkyhead 0293a83408 [cron] Bump distribution date (2021-11-20) 2021-11-20 01:00:26 +00:00
thinkyhead 8e7f2f4483 [cron] Bump distribution date (2021-11-19) 2021-11-19 01:01:40 +00:00
thinkyhead e34ca749b1 [cron] Bump distribution date (2021-11-18) 2021-11-18 01:01:47 +00:00
Scott Lahteine f1af475253 🎨 Misc formatting 2021-11-17 13:02:04 -06:00
BigTreeTech 2edda4c582 🐛 Init PROBE_ENABLE_PIN (#23133) 2021-11-17 11:35:28 -06:00
Keith Bennett e3d777cf8f 📌 Overridable probe-related pins (#23107) 2021-11-17 11:33:42 -06:00
luzpaz b7be62ad36 🎨 Fix misspelling (#23137) 2021-11-17 11:09:01 -06:00
espr14 44d8c2f5bf 🏗️ Planner::busy() (#23145) 2021-11-17 11:07:11 -06:00
thinkyhead 3e14f06f80 [cron] Bump distribution date (2021-11-17) 2021-11-17 01:01:01 +00:00
Scott Lahteine 36173fb259 🐛 Fix fast PWM WGM code
Followup to #23102
2021-11-16 14:11:29 -06:00
Scott Lahteine 89fe5f6d74 🔨 Bring Makefile up to date 2021-11-16 12:49:25 -06:00
EvilGremlin eb8392edd4 🔨 Ignore sim flashdrive file (#23129) 2021-11-16 10:32:43 -06:00
Luc Van Daele 629498f8d4 🐛 Fix G33, Delta radii, reachable (#22795) 2021-11-16 09:24:53 -06:00
Scott Lahteine 2aa36af557 🔧 SOUND_MENU_ITEM for E3V2 2021-11-16 08:59:32 -06:00
thinkyhead f0b1ce8749 [cron] Bump distribution date (2021-11-16) 2021-11-16 01:01:41 +00:00
Mikhail Basov 36b2650f65 🚸 LCD_SHOW_E_TOTAL for TFT_COLOR_UI (#23127) 2021-11-14 22:46:34 -06:00
thinkyhead 125310dca0 [cron] Bump distribution date (2021-11-15) 2021-11-15 01:01:02 +00:00
Scott Lahteine 33c89d1f3f 🐛 Fix SENSORLESS_HOMING for 6-axis 2021-11-14 17:19:57 -06:00
EvilGremlin 8b952d9d11 🚸 Simplify touchscreen calibration for SimUI (#23124) 2021-11-14 17:15:26 -06:00
Mike La Spina 8ee368b718 ️ Controller Fan software PWM (etc.) (#23102)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-11-14 05:55:31 -06:00
thinkyhead 5fa4631e37 [cron] Bump distribution date (2021-11-14) 2021-11-14 01:03:14 +00:00
thinkyhead d89f472a4f [cron] Bump distribution date (2021-11-13) 2021-11-13 00:59:50 +00:00
Tanguy Pruvot 4aa2c6628f 🎨 MPX ARM Mini pins cleanup (#23113) 2021-11-12 14:26:19 -06:00
Mike La Spina 649c7685bf 🐛 [LCP1768] Init PWM in set_pwm_duty (#23110) 2021-11-12 12:14:28 -06:00
Skruppy 4a840e15e1 🩹 Fix RGB case light compile (#23108) 2021-11-12 08:57:24 -06:00
thinkyhead 72de764488 [cron] Bump distribution date (2021-11-12) 2021-11-12 01:02:28 +00:00
thinkyhead ecd4cdb298 [cron] Bump distribution date (2021-11-11) 2021-11-11 01:01:59 +00:00
Miguel Risco-Castillo 589a6d7f6b 🚸 Fix up E3V2 Enhanced (#23100) 2021-11-10 10:55:20 -06:00
Miguel Risco-Castillo b4b16b63ff 🚸 Expose sub-options for E3V2 Enhanced (#23099) 2021-11-10 10:31:35 -06:00
George Fu 99df0b86fb 🐛 Fix FYSETC Cheetah 2.0 pins for production (#23104) 2021-11-10 09:58:20 -06:00
BigTreeTech 07befb545b Support for BIQU B1-SE-Plus strain gauge probe (#23101)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-11-10 09:56:10 -06:00
thinkyhead e776fa1e93 [cron] Bump distribution date (2021-11-10) 2021-11-10 01:01:08 +00:00
Keith Bennett cee50552ab ️ BTT002 (STM32F407VET6) variant, MK3_FAN_PINS flag (#23093) 2021-11-09 10:30:02 -06:00
thinkyhead 467e883e17 [cron] Bump distribution date (2021-11-09) 2021-11-09 01:01:17 +00:00
thinkyhead fa5bfca367 [cron] Bump distribution date (2021-11-08) 2021-11-08 01:01:19 +00:00
Scott Lahteine 030b66eb27 🎨 Misc. code cleanup 2021-11-07 01:11:51 -06:00
Keith Bennett e15f9fdcd9 🚸 Indicate Preheating for probe / leveling (#23088) 2021-11-07 01:09:15 -05:00
Evgeniy Zhabotinskiy dc972990f3 🩹 Fix M503 report (#23084) 2021-11-06 23:16:18 -05:00
Jin 27220f0944 🍻 Preliminary fix for Max31865 SPI (#22682)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-11-06 22:53:36 -05:00
dwzg 30a69f76a3 🐛 Fix JyersUI scrolling filename, etc. (#23082)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-11-06 22:48:00 -05:00
ellensp c07aa875bc 🐛 Fix DGUS Reloaded status message (#23090) 2021-11-06 21:27:53 -05:00
thinkyhead dfdffca2bd [cron] Bump distribution date (2021-11-07) 2021-11-07 01:06:43 +00:00
thinkyhead f5284715fb [cron] Bump distribution date (2021-11-06) 2021-11-06 00:58:50 +00:00
thinkyhead 3e8cdef36b [cron] Bump distribution date (2021-11-05) 2021-11-05 01:00:14 +00:00
Scott Lahteine f6147e038b 🍻 Get/clear reset source earlier
Followup to #23075
2021-11-04 12:20:19 -05:00
Skruppy f53d627750 🐛 Prevent AVR watchdogpile (#23075) 2021-11-04 12:11:57 -05:00
Tanguy Pruvot a9dc737624 🐛 Fix TFT backlight [STM32] (#23062) 2021-11-04 12:04:04 -05:00
BigTreeTech 7b79201470 🐛 Fix Octopus-Pro Max31865 / SPI (#23072) 2021-11-04 05:54:38 -05:00
Robby Candra 4483b8aaf0 🔨 Fix IntelliSense / PIO conflicts (#23058)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-11-04 05:28:42 -05:00
ellensp 399faa91b9 📌 'STOP' auto-assign, some Chitu V9 pins (#22889)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-11-03 20:05:13 -05:00
thinkyhead fef96bb556 [cron] Bump distribution date (2021-11-04) 2021-11-04 01:00:55 +00:00
Scott Lahteine 02b6fb8025 🔨 Script 'mfprep' finds pending commits 2021-11-03 07:08:10 -05:00
Scott Lahteine cac42e24a5 🔨 Update git helper scripts 2021-11-03 07:02:21 -05:00
thinkyhead 627b67e27a [cron] Bump distribution date (2021-11-03) 2021-11-03 01:00:15 +00:00
Scott Lahteine f632b72e8c 🔨 Support ABM in mf scripts 2021-11-02 01:28:00 -05:00
Keith Bennett 0db9f9a828 📌 Default NeoPixel pin for MKS Robin E3/E3D (#23060) 2021-11-02 01:15:29 -05:00
Sebastien BLAISOT 95357c33fb 🐛 Fix NEOPIXEL2_SEPARATE default color (#23057) 2021-11-02 00:49:21 -05:00
Andrei M da830e6ced ⚗️ Use pwm_set_duty over analogWrite to set PWM (#23048)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-11-02 00:47:16 -05:00
Keith Bennett 767a15d468 🔧 Endstop / DIAG homing conflict warning (#23050) 2021-11-02 00:43:40 -05:00
Keith Bennett a57355ee06 Allow Low EJERK with LA, optional (#23054) 2021-11-01 23:23:54 -05:00
Robby Candra 4989379674 🎨 Fix redefine warnings (#23061) 2021-11-01 22:29:23 -05:00
Keith Bennett 7942f71d26 Artillery Ruby (STM32F401RCT6) (#23029) 2021-11-01 22:23:24 -05:00
thinkyhead 6af344c193 [cron] Bump distribution date (2021-11-02) 2021-11-02 01:02:55 +00:00
ellensp 40477e031f 🐛 Fix Y_SERIAL_RX_PIN for FYSETC S6 (#23055) 2021-11-01 18:36:22 -05:00
ellensp 36e475b8be 🩹 Fill gaps in pinsDebug_list (#23051) 2021-11-01 18:34:53 -05:00
tombrazier 296a6137cd 🚸 More flexible Probe Temperature Compensation (#23033) 2021-11-01 18:03:50 -05:00
thinkyhead 5e9b5bb448 [cron] Bump distribution date (2021-11-01) 2021-11-01 01:03:28 +00:00
Scott Lahteine 9176dcea6e 📝 Tweak EXP comments 2021-10-30 23:50:48 -05:00
Scott Lahteine efe2e79ac8 🔨 Help for GDB remote debugging 2021-10-30 23:50:48 -05:00
Scott Lahteine ba0b772d84 🩹 Fix linker error (transfer_port_index) 2021-10-30 23:46:22 -05:00
thinkyhead b88612f976 [cron] Bump distribution date (2021-10-31) 2021-10-31 01:03:08 +00:00
Scott Lahteine 4dd1f09286 💚 Update Ender-3 V2 config path
MarlinFirmware/Configurations#600
2021-10-30 04:16:37 -05:00
Scott Lahteine be412e3e2b 🎨 Adjust Ender-3 V2 DWIN options 2021-10-30 01:39:33 -05:00
aalku 75e0b7f8ff Shutdown Host Action (#22908)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-30 00:17:20 -05:00
Scott Lahteine aa4e32555d "Rutilea" ESP32 board (#22880) 2021-10-29 20:46:55 -05:00
Scott Lahteine 18a924d4e2 🔧 Configuration version 02000903 2021-10-29 20:42:52 -05:00
thinkyhead 67b075fd39 [cron] Bump distribution date (2021-10-30) 2021-10-30 00:58:37 +00:00
Scott Lahteine 70e31bff45 🎨 Standard 'cooldown' method 2021-10-29 19:18:35 -05:00
Scott Lahteine b09038fcc7 🎨 Standard material presets behavior 2021-10-29 19:18:35 -05:00
Scott Lahteine 1d80464ba7 🎨 Define HAS_PREHEAT conditional 2021-10-29 19:18:35 -05:00
tome9111991 3b9bea6f80 🐛 Fix E3V2 (CrealityUI) Tune/Prepare > Zoffset (#23040) 2021-10-29 17:49:12 -05:00
thinkyhead 2c8dce69e1 [cron] Bump distribution date (2021-10-29) 2021-10-29 00:58:40 +00:00
Scott Lahteine 5d04c7496c 🐛 Fix EZBoard V2 board name 2021-10-28 19:24:58 -05:00
Keith Bennett a1c4aad147 🐛 Fix MKS Robin E3/E3D Z Stop/Probe pins (#23034) 2021-10-28 05:26:05 -05:00
Scott Lahteine aa2c6387e9 🎨 Apply HAS_MULTI_HOTEND conditional 2021-10-28 05:17:44 -05:00
thinkyhead fbc125b06c [cron] Bump distribution date (2021-10-28) 2021-10-28 01:00:14 +00:00
Zlopi c0337da633 🚸 Scroll long filename on MKS TFT (#23031) 2021-10-27 15:10:46 -05:00
ellensp 11f1335efb 🩹 Retain LCD pins with motor expansion (#23024) 2021-10-27 15:06:06 -05:00
somehibs 3f6c8d5dc5 🐛 Fix serial PORT_RESTORE (and BUFFER_MONITORING) (#23022) 2021-10-27 15:00:02 -05:00
tome9111991 2199ae77c8 🐛 Fix E3V2 (CrealityUI) position display (#23023)
Followup to #23005, #22778
2021-10-27 14:58:32 -05:00
thinkyhead de6dfc9abc [cron] Bump distribution date (2021-10-27) 2021-10-27 01:02:46 +00:00
Scott Lahteine 65dfc407a5 🚸 Tweaks to UBL G29 Q 2021-10-26 19:36:16 -05:00
woisy00 9338b7f06e 🐛 Fix AUTOTEMP bug (thermal runaway) (#23025)
Regression from 9823a37
2021-10-26 18:05:34 -05:00
thinkyhead 79626062d0 [cron] Bump distribution date (2021-10-26) 2021-10-26 00:59:45 +00:00
tombrazier 73875cf9cc 🚸 Default T0 for M569, M906, M913 (#23020) 2021-10-25 16:29:40 -05:00
ellensp 930cb7c317 ️ Add'l PCINTs for Mega Extended (#23019) 2021-10-25 16:02:29 -05:00
Keith Bennett 90716eb7ce Octopus Pro V1.0 with STM32F429ZGT6 (#23008) 2021-10-25 15:53:37 -05:00
ellensp b619a71844 🐛 Fix børken E_DUAL_STEPPER_DRIVERS (#23017) 2021-10-25 15:53:37 -05:00
Miguel Risco-Castillo 70863058cd 🐛 Fix Ender-3 V2 Enhanced SetFlow (#23016) 2021-10-25 15:53:32 -05:00
Lefteris Garyfalakis 5ef0468251 🚸 E3V2 Enhanced cosmetic fixes (#23009) 2021-10-25 01:06:13 -05:00
InsanityAutomation d79ea20dcd Creality v2.4.S1 (Ender 7) board (#23010) 2021-10-25 00:39:48 -05:00
Dennis f6c7fbd1ab 🐛 Fix JyersUI current positions (scaling) (#23005) 2021-10-25 00:35:11 -05:00
tombrazier 444f27dfa0 🐛 Add USE_TEMP_EXT_COMPENSATION options (#23007) 2021-10-25 00:33:40 -05:00
Scott Lahteine f8968ed13c 🐛 More explicit allocation of solenoids
In reference to #22887
2021-10-24 23:43:28 -05:00
Scott Lahteine 6a6bf0fd1b 🔧 Fewer alerts about Z_SAFE_HOMING 2021-10-24 23:43:28 -05:00
thinkyhead 22d3a993e7 [cron] Bump distribution date (2021-10-25) 2021-10-25 01:03:57 +00:00
thinkyhead e5e872c2e2 [cron] Bump distribution date (2021-10-24) 2021-10-24 01:02:51 +00:00
thinkyhead 3ec0213dbc [cron] Bump distribution date (2021-10-23) 2021-10-23 01:04:09 +00:00
tombrazier 9c055621a0 🐛 Fix probe temp compensation maths (#23004) 2021-10-22 15:56:05 -05:00
tome9111991 de3c563a99 🐛 Fix SHOW_REMAINING_TIME option for JyersUI (#22999) 2021-10-22 11:16:07 -05:00
Keith Bennett 9a19ea50d8 BigTreeTech TFT35 SPI V1.0 (#22986) 2021-10-22 10:52:31 -05:00
ellensp f62890d889 🐛 Fix E3V2 width/height defines (#22994) 2021-10-21 23:57:30 -05:00
thinkyhead a309a9535d [cron] Bump distribution date (2021-10-22) 2021-10-22 01:12:18 +00:00
thinkyhead 566ce56a2d [cron] Bump distribution date (2021-10-21) 2021-10-21 01:08:58 +00:00
thinkyhead a05b66a950 [cron] Bump distribution date (2021-10-20) 2021-10-20 01:05:51 +00:00
Augusto Zanellato a6a838084d Eryone Ery32 mini (STM32F103VET6) board (#22956) 2021-10-19 10:24:22 -05:00
Mike La Spina 52edc543bd 🩹 Fix pragma ignored for older GCC (#22978) 2021-10-19 06:05:23 -05:00
Scott Lahteine 5f7c92dfbb 🎨 Refactor MOSFET pins layout (#22983) 2021-10-19 05:59:48 -05:00
Scott Lahteine b69971f06a 🔨 Fix older GCC CXXFLAGS warning 2021-10-19 05:53:52 -05:00
Scott Lahteine 1f3f9cb68c 🎨 Pragma GCC cleanup 2021-10-19 05:52:41 -05:00
Scott Lahteine e77df72300 🎨 Fix pinsDebug_list warnings 2021-10-19 05:51:49 -05:00
Scott Lahteine f8ec8e5bf6 💡 Sub-include pins labels 2021-10-19 04:03:44 -05:00
Scott Lahteine 6cf6c4cd85 🔨 Delete after encrypt. Lerdge encrypt only once 2021-10-19 03:58:00 -05:00
Scott Lahteine c91451d215 🔨 Update 'pio vscode init' detection 2021-10-19 03:58:00 -05:00
thinkyhead 3a77894efd [cron] Bump distribution date (2021-10-19) 2021-10-19 01:06:11 +00:00
Jason Smith 357fb8d984 🐛 Fix max chamber fan speed (#22977) 2021-10-18 03:11:16 -05:00
Keith Bennett 7bab1c92e7 🐛 Fix I2C EEPROM SDA/SCL aliases with SKR Mini E3 V2 (#22955) 2021-10-18 02:57:54 -05:00
ellensp ec57879c59 🐛 Fix MMU1 compile (#22965) 2021-10-18 02:54:20 -05:00
Keith Bennett d3a84bc584 BTT Octopus Pro V1.0 (STM32F446ZET6) (#22971) 2021-10-18 02:51:01 -05:00
Mike La Spina 28e2c358d1 🎨 Suppress type warning (#22976) 2021-10-18 02:40:47 -05:00
Scott Lahteine 2e0bde37d7 🎨 Add MKS UI goto_previous_ui 2021-10-18 02:05:13 -05:00
Scott Lahteine ad4a8a68c2 Warn about dummy thermistors 2021-10-18 01:54:51 -05:00
InsanityAutomation b93c3301f2 Fix JyersUI ZOffset Multiplication (#22975) 2021-10-18 00:03:01 -06:00
InsanityAutomation d2b0939118 Fix Tool Change Park (#22968) 2021-10-18 00:01:28 -06:00
Scott Lahteine 741e70541d 🚸 Tweak MKS UI G-code console 2021-10-17 22:08:45 -05:00
Scott Lahteine d685cbd5c3 🎨 Fix up MKS UI defines 2021-10-17 20:24:53 -05:00
Scott Lahteine 7d16f0cadf 🔨 Improve 'mftest' error message 2021-10-17 20:24:53 -05:00
thinkyhead cd0ee8c34d [cron] Bump distribution date (2021-10-18) 2021-10-18 01:06:10 +00:00
Scott Lahteine bc567e7b49 🔧 Safety feature warnings 2021-10-17 16:56:01 -05:00
thinkyhead 3c94f2f1c3 [cron] Bump distribution date (2021-10-17) 2021-10-17 01:02:43 +00:00
thinkyhead babb3d7b4c [cron] Bump distribution date (2021-10-16) 2021-10-16 01:07:57 +00:00
Scott Lahteine 9d72cbf84b 💡 Update old gnu.org links 2021-10-15 15:07:47 -05:00
InsanityAutomation 95662d3aed Add option EVENT_GCODE_TOOLCHANGE_ALWAYS_RUN (#22960) 2021-10-15 14:56:59 -05:00
Scott Lahteine ee28a14e8e 🎨 Refactor Host Actions as singleton 2021-10-15 00:24:08 -05:00
ellensp de5aefd09e 🔧 Add, update TFT sanity checks (#22928) 2021-10-14 20:38:03 -05:00
thinkyhead 1143535664 [cron] Bump distribution date (2021-10-15) 2021-10-15 01:05:59 +00:00
thinkyhead 5d665d5e1e [cron] Bump distribution date (2021-10-14) 2021-10-14 01:01:39 +00:00
InsanityAutomation 8e4953514c ️ Formbot ST7920 delays, intentional X2 pins (#22915)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-12 22:19:05 -05:00
Dmytro bf91bd5eee 🎨 Update MKS UI for no bed, extruder (#22938)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-12 21:45:00 -05:00
Keith Bennett f58934c4ef 🐛 Fix MKS Robin Pro 1.0 LCD reset pin (#22937) 2021-10-12 21:06:39 -05:00
Keith Bennett 8ce2254aa6 🔧 Remove obsolete G34 sanity check (#22929) 2021-10-12 21:05:37 -05:00
George Fu 0d41667bc2 🐛 Fix FYSETC Cheetah v2.0 build (#22926) 2021-10-12 20:32:54 -05:00
ellensp 02dc7a6387 🐛 Fix G33 homing current (#22909) 2021-10-12 20:28:45 -05:00
Keith Bennett 3f9ff2421f 🐛 Fix SKR Mini E3 V2 I2C-based EEPROM (#22919)
Followup to #20609
2021-10-12 20:26:42 -05:00
thinkyhead 332ef9939c [cron] Bump distribution date (2021-10-13) 2021-10-13 01:07:25 +00:00
mks-viva a7519ecca9 MKS Eagle (STM32F407VET6) board (#22897) 2021-10-12 20:01:18 -05:00
InsanityAutomation 15ebe45f36 🐛 Fix IDEX + DISABLE_INACTIVE_EXTRUDER (#22925) 2021-10-12 18:40:56 -05:00
thinkyhead 769948bb4d [cron] Bump distribution date (2021-10-12) 2021-10-12 01:05:49 +00:00
Stuart Pittaway ad14b5052c M261 S I2C output format (#22890)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-10-11 17:42:29 -05:00
thinkyhead 90fa48ffd5 [cron] Bump distribution date (2021-10-11) 2021-10-11 01:03:10 +00:00
thinkyhead 0c86cc89f0 [cron] Bump distribution date (2021-10-10) 2021-10-10 01:03:22 +00:00
InsanityAutomation b3fd0a5050 🐛 Fix IDEX Duplication Mode Positioning (#22914)
Fixing #22538
2021-10-09 18:13:19 -05:00
Minims 33809ae000 🩹 Adjust GTR 1.0 ST7920 display delay (#22904) 2021-10-09 18:10:21 -05:00
Tanguy Pruvot 886c59dc10 🐛 Queue string followup (#22900) 2021-10-09 18:05:24 -05:00
Pyro-Fox 13bb2393e1 🐛 LCD string followup (#22892) 2021-10-09 17:09:50 -05:00
thinkyhead bd6a1a2898 [cron] Bump distribution date (2021-10-09) 2021-10-09 00:59:22 +00:00
thinkyhead 1ec399c6ab [cron] Bump distribution date (2021-10-08) 2021-10-08 01:05:32 +00:00
thinkyhead 1f41437052 [cron] Bump distribution date (2021-10-07) 2021-10-07 01:03:32 +00:00
ellensp f79d1f114c 🎨 Define Octopus allocated endstop pins (#22882)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-06 15:42:59 -05:00
Scott Lahteine 9922410a73 🔨 Port libsdl2_net required for macOS simulator 2021-10-05 23:05:22 -05:00
Scott Lahteine 149cbe795d 🎨 Tweak FORCE_INLINE 2021-10-05 23:05:22 -05:00
Scott Lahteine e52c30d43a 🐛 Followup to F() in config_line
Followup to 1dafd1887e
2021-10-05 23:05:22 -05:00
thinkyhead ca7ab6e13f [cron] Bump distribution date (2021-10-06) 2021-10-06 01:02:35 +00:00
Mark 4e9ae9449f ESP32 Panda_ZHU and Panda_M4 (#22644) 2021-10-04 23:23:02 -05:00
Scott Lahteine f395198e14 🔨 Move Creality 4.2.2 warning 2021-10-04 22:17:59 -05:00
Scott Lahteine e8459ae63c 🐛 ExtUI F() followups
Followup to 12b5d997a2
2021-10-04 22:00:00 -05:00
thinkyhead d5cb30524e [cron] Bump distribution date (2021-10-05) 2021-10-05 01:01:31 +00:00
Scott Lahteine f5b085157a 🔨 Add 'opt_find' to find matching options 2021-10-04 19:11:39 -05:00
ellensp b919bdbf0b 🩹 Fix EXTRUDER 0 compile warning (#22868) 2021-10-04 01:12:19 -05:00
Sebastien Andrivet 2d08afe456 🐛 Fix ExtUI Pause messages (#22874) 2021-10-04 01:06:49 -05:00
Scott Lahteine 65b950a489 🎨 Apply F() to kill / sendinfoscreen 2021-10-04 00:26:29 -05:00
Scott Lahteine d1938d54ed 🎨 Apply F() to MKS UI errors, assets 2021-10-04 00:26:29 -05:00
Scott Lahteine 1dafd1887e 🎨 Apply F() to various reports 2021-10-04 00:26:29 -05:00
Scott Lahteine d7fede3a63 🎨 Apply F() to G-code report header 2021-10-04 00:26:29 -05:00
Scott Lahteine eeffac697c 🎨 Apply F() to UTF-8/MMU2 string put 2021-10-04 00:26:29 -05:00
Scott Lahteine 12b5d997a2 🎨 Apply F() to some ExtUI functions 2021-10-04 00:26:29 -05:00
Scott Lahteine 008bf1bcae 🎨 Apply F() to Host Actions strings 2021-10-04 00:26:29 -05:00
Scott Lahteine 7f1286a11f 🎨 Apply F() to status message 2021-10-04 00:26:29 -05:00
Scott Lahteine 520b97083e 🎨 Apply F() to serial macros 2021-10-04 00:26:29 -05:00
Scott Lahteine 417e2530eb 🎨 Apply F() to G-code suite and queue 2021-10-04 00:26:29 -05:00
Scott Lahteine 64a919da2a 🎨 Apply F() to E3V2 titles, popups 2021-10-04 00:26:29 -05:00
Scott Lahteine 59dac3a7e4 🎨 Apply F() to G-code subcommands 2021-10-04 00:26:29 -05:00
Scott Lahteine 23f10563e0 🎨 Update F string declarations 2021-10-04 00:26:29 -05:00
ellensp cb9fafd4f3 🐛 Fix Arduino IDE compile error (#22877) 2021-10-04 00:25:45 -05:00
Scott Lahteine 54d400608d 🎨 Axis name string interpolation, with examples (#22879) 2021-10-04 00:24:41 -05:00
Scott Lahteine eb784d6e55 🎨 Rename MarlinUI::zoffset_overlay 2021-10-03 22:31:54 -05:00
thinkyhead 97295c552d [cron] Bump distribution date (2021-10-04) 2021-10-04 01:05:57 +00:00
VragVideo 9bb562f40a WYH L12864 LCD (Alfawise Ex8) (#22863) 2021-10-02 22:12:51 -05:00
thinkyhead e4d8290be3 [cron] Bump distribution date (2021-10-03) 2021-10-03 01:06:58 +00:00
thinkyhead e27b1e5d58 [cron] Bump distribution date (2021-10-02) 2021-10-02 01:00:08 +00:00
thinkyhead ea0169f2bc [cron] Bump distribution date (2021-10-01) 2021-10-01 01:05:30 +00:00
thinkyhead d3ed21b10e [cron] Bump distribution date (2021-09-30) 2021-09-30 01:05:47 +00:00
Steven Haigh c6ceac9067 🚑️ Fix DWIN_CompletedLeveling (#22851)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-29 11:22:46 -05:00
Malderin 732e59b412 🐛 E3V2 Mesh Viewer followup (#22850) 2021-09-28 20:20:03 -05:00
thinkyhead 90b0e16ec0 [cron] Bump distribution date (2021-09-29) 2021-09-29 00:58:41 +00:00
Scott Lahteine f2ba845dad 🎨 Condense reverse-protection code 2021-09-28 06:47:49 -05:00
Scott Lahteine 33e0855e2c ️ Handle shared enable pins (#22824) 2021-09-28 01:07:51 -05:00
thinkyhead eda8e9c8dd [cron] Bump distribution date (2021-09-28) 2021-09-28 01:01:32 +00:00
Miguel Risco-Castillo 8ab02df63a E3V2 (Enhanced) Mesh Viewer (#22844) 2021-09-27 14:47:47 -05:00
Malderin 8f9e56afb9 🚸 MKS UI LVGL bed preheat presets (#22842) 2021-09-27 14:13:38 -05:00
Sola 5dce8d0a84 🚸 Fix MKS LVGL UI temperature set interface (#22848) 2021-09-27 14:08:29 -05:00
espr14 228eb9c404 🎨 steps_to_mm => mm_per_step (#22847) 2021-09-27 14:05:52 -05:00
Tanguy Pruvot f73175d826 🚸 TFT backlight PWM / brightness (#22841) 2021-09-27 14:01:47 -05:00
ellensp 942b76082c 🔧 Sanity-check BLTOUCH_SET_5V_MODE on 5V pins (#22840)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-27 10:17:00 -05:00
thinkyhead 3329e07bd9 [cron] Bump distribution date (2021-09-27) 2021-09-27 01:00:10 +00:00
Giuliano Zaro 8fd5a4037a 🩹 Fix M412_report formatting (#22834) 2021-09-25 21:59:29 -05:00
thinkyhead 031fec7a02 [cron] Bump distribution date (2021-09-26) 2021-09-26 01:02:25 +00:00
Miguel Risco-Castillo 1ac7a56a82 🐛 E3V2 Brightness followup (#22821)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-09-25 05:59:43 -05:00
Scott Lahteine a7fdaabd54 🎨 Updated string macros 2021-09-25 02:30:18 -05:00
Steve Wills e1ac3ede0d 🐛 Add 'static' to fix 'duplicates' (#22826) 2021-09-24 21:12:43 -05:00
Manuel McLure 86a6b9316e 🐛 Fix M420 / M851 reports (#22829)
Followup to 79c72ed821
2021-09-24 21:08:07 -05:00
thinkyhead 849b86afb6 [cron] Bump distribution date (2021-09-25) 2021-09-25 00:59:33 +00:00
thinkyhead e85f622505 [cron] Bump distribution date (2021-09-24) 2021-09-24 01:01:22 +00:00
Scott Lahteine 35ad3b0d3b 🐛 Fix reset_hotend_offsets 2021-09-23 11:09:43 -05:00
Scott Lahteine dc5bef62ba 🎨 Various multi-axis patches (#22823) 2021-09-23 10:01:37 -05:00
Sola 9c208a008d ️ Improve LVGL touch driver (#22817) 2021-09-23 02:53:48 -05:00
ellensp 7c5727e0ec 🐛 Fix anycubic_i3mega_lcd debug macros (#22820) 2021-09-23 01:58:52 -05:00
Scott Lahteine 1835f8fb25 🩹 Add MarlinSPI to more HALs 2021-09-23 00:51:35 -05:00
thinkyhead 64c6475434 [cron] Bump distribution date (2021-09-23) 2021-09-23 01:04:29 +00:00
Scott Lahteine 11ceea25ce 🎨 Less use of undef for RAMPS pins 2021-09-22 00:19:26 -05:00
thinkyhead 0387f94632 [cron] Bump distribution date (2021-09-22) 2021-09-22 01:02:28 +00:00
Scott Lahteine b88117d636 🎨 Fix L64xx enable, clean up conditionals 2021-09-21 06:28:58 -05:00
Scott Lahteine 58adb849d3 🔨 Improve pins_set script 2021-09-21 02:42:01 -05:00
thinkyhead 5b934e02fa [cron] Bump distribution date (2021-09-21) 2021-09-21 01:01:29 +00:00
Scott Lahteine 58301837e0 🩹 Remove extra #include, misc. style 2021-09-20 18:46:25 -05:00
Dan Royer 3344071f24 Polargraph / Makelangelo kinematics (#22790) 2021-09-20 15:45:00 -05:00
thinkyhead f3864a1ae7 [cron] Bump distribution date (2021-09-20) 2021-09-20 01:03:16 +00:00
Lefteris Garyfalakis e60e4b8f57 🌐 Update Greek language (#22799) 2021-09-19 19:26:46 -05:00
Scott Lahteine 216a66b42c 🌐 Skip non-essential translations 2021-09-19 19:25:01 -05:00
Scott Lahteine 008284934c 🔨 Case-insensitive tests list 2021-09-19 18:58:12 -05:00
Scott Lahteine c1d7e234e1 🌐 Reduce language file sizes 2021-09-19 18:40:56 -05:00
Tanguy Pruvot 10fda222ea 🐛 STM32 ADC followup (#22798) 2021-09-18 22:16:29 -05:00
thinkyhead a6b69ab6d5 [cron] Bump distribution date (2021-09-19) 2021-09-19 01:01:05 +00:00
Tanguy Pruvot 89125cd32e 🚸 Wake up TFT for some events (#22788) 2021-09-18 18:27:58 -05:00
Scott Lahteine c88e85c939 🎨 Replace some infrequently-used macros 2021-09-18 18:24:39 -05:00
Scott Lahteine f367a3987d 📝 Update some pins comments 2021-09-18 18:22:15 -05:00
Steven Haigh d7e597f3df 🐛 STM32 ADC Resolution = 12 bit (or ADC_RESOLUTION) (#22789) 2021-09-18 01:33:18 -05:00
Scott Lahteine f46e05fcb1 🚸 Move fade item up 2021-09-18 01:18:32 -05:00
Scott Lahteine ad38699c11 🚸 Better bed position 2021-09-18 01:18:32 -05:00
Scott Lahteine fede20fbe6 💬 Add non-translated STR_DONE 2021-09-18 01:13:10 -05:00
thinkyhead 11fce69781 [cron] Bump distribution date (2021-09-18) 2021-09-18 00:58:51 +00:00
thinkyhead 46dfc7ba34 [cron] Bump distribution date (2021-09-17) 2021-09-17 01:06:26 +00:00
Sola 8df3e62c89 🚸 Fix and improve MKS LVGL UI (#22783)
Co-authored-by: makerbase <4164049@qq.com>
Co-authored-by: MKS-Sean <56996910+MKS-Sean@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-16 06:48:24 -05:00
Scott Lahteine 323b38ee88 💡 Adjust headers, formatting 2021-09-16 04:39:43 -05:00
InsanityAutomation 08a40c4375 Improve pause/filament change for ExtUI (#22655) 2021-09-16 02:46:16 -05:00
Scott Lahteine 02ae11ed72 🔧 Add MANUAL_FEEDRATE sanity-check 2021-09-16 01:15:14 -05:00
thinkyhead 0cc17b920a [cron] Bump distribution date (2021-09-16) 2021-09-16 01:15:14 -05:00
Scott Lahteine e31d52184b 🎨 Handle more pre-defined pins in pins_postprocess (#22771) 2021-09-16 01:15:14 -05:00
Scott Lahteine 5b5a8798f8 🎨 Consolidate Ender-3 V2 DWIN common code (#22778) 2021-09-15 19:48:29 -05:00
Keith Bennett cca3250c3f ✏️ Fix TFT field names (#22776) 2021-09-15 15:51:52 -05:00
mks-viva a1e1555ea1 🐛 Fix MKS Monster8 EEPROM issue (serial timer) (#22777) 2021-09-15 14:47:23 -05:00
Miguel Risco-Castillo 8235ae9cc0 🩹 Fix DWIN Enhanced Tune menu during homing (#22773)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-09-15 01:44:28 -05:00
thinkyhead 9c8ad57f62 [cron] Bump distribution date (2021-09-15) 2021-09-15 00:59:31 +00:00
Dakkaron 21e8f99500 M282 - Detach Servo (#22760) 2021-09-14 19:00:48 -05:00
Tanguy Pruvot c2e4b1626f TFT Screen/Backlight Sleep (#22617) 2021-09-13 21:07:08 -05:00
thinkyhead ae22a92017 [cron] Bump distribution date (2021-09-14) 2021-09-14 01:17:33 +00:00
Scott Lahteine 5a04cf0514 🔖 Configurations version 02000902 2021-09-13 18:46:30 -05:00
Desuuuu 23d10ceccb 🎨 Use ExtUI API where applicable 2021-09-13 17:27:54 -05:00
Roman Moravčík 370ea116f4 🌐 Update Slovak language (#22752) 2021-09-13 17:10:30 -05:00
Scott Lahteine 3587ef2e8f 🐛 Fix old spindle/laser options 2021-09-13 16:39:11 -05:00
Scott Lahteine 798a8a7a08 🔧 SPINDLE_LASER_PWM => SPINDLE_LASER_USE_PWM 2021-09-13 16:39:01 -05:00
Scott Lahteine 000d412da6 🐛 Fix CUSTOM_MENU_MAIN_SCRIPT_DONE
Fix #22762
2021-09-12 21:41:39 -05:00
Vert d69c053225 🐛 Fix ENABLED => EITHER typo (#22756) 2021-09-12 21:39:52 -05:00
mks-viva 24460052d2 MKS Robin Nano V1.3 (STM32F407VET6) (#22749) 2021-09-12 21:30:09 -05:00
Scott Lahteine ea7e777cb1 🎨 Tweak custom menu item code 2021-09-12 21:21:35 -05:00
thinkyhead 84f66627c4 [cron] Bump distribution date (2021-09-13) 2021-09-13 01:39:56 +00:00
Scott Lahteine 29d3996a55 📌 Creality 4.3.1 board variants (#22704)
Co-authored-by: Chico <jjjm6000@gmail.com>
2021-09-12 19:37:33 -05:00
Luc Van Daele 37c488fda1 🚸 G33 R and O options (#22707) 2021-09-12 19:35:37 -05:00
ellensp c9d54bc3f3 🐛 Fix Trigorilla Pro HAL/STM32 build offset (#22761) 2021-09-12 18:03:24 -05:00
tome9111991 3a457c9d13 🐛 Fix JyersUI for LPC176x (#22745)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-09-12 14:56:40 -05:00
thinkyhead afe4cb7fee [cron] Bump distribution date (2021-09-12) 2021-09-12 01:02:08 +00:00
Scott Lahteine 08e581d5d7 🎨 Apply more HAS_DELTA_SENSORLESS_PROBING 2021-09-11 15:41:56 -05:00
Scott Lahteine 011329fe55 🐛 No probe enum for DELTA + SENSORLESS_PROBING
Fix #22729
2021-09-11 02:49:20 -05:00
Scott Lahteine 6b9b2c5d73 🩹 Warn about user feedback requirement 2021-09-11 02:48:20 -05:00
Scott Lahteine 453e60958a 🐛 Followup to JyersUI
Fix #22735, #22736
2021-09-11 01:52:19 -05:00
Scott Lahteine 953d283e53 🐛 Followup to E3V2 Enhanced
Fix #22741
2021-09-11 01:13:02 -05:00
Scott Lahteine 0a1211fe3f 🐛 Fix LPC1768 SD-based EEPROM debug
Fixes #22746
2021-09-11 00:48:20 -05:00
Marcio T 209dca1089 🚸 Enhance FTDI Eve Touch UI file select dialog (#22742) 2021-09-10 20:03:46 -05:00
thinkyhead 69ab2bc40f [cron] Bump distribution date (2021-09-11) 2021-09-11 00:58:31 +00:00
Scott Lahteine ce6d622501 🩹 Fix TOUCH_UI_FTDI_EVE warnings 2021-09-10 19:47:03 -05:00
Scott Lahteine 67d82ff228 🐛 Followup to JyersUI 2021-09-10 18:49:57 -05:00
thinkyhead bcfaf3990a [cron] Bump distribution date (2021-09-10) 2021-09-10 01:02:43 +00:00
Miguel Risco-Castillo 392a4a6f85 🐛 Fix, improve E3V2 Enhanced UI (#22733) 2021-09-09 16:40:10 -05:00
Scott Lahteine 754b31918a 🎨 Fewer serial macros 2021-09-09 05:41:58 -05:00
Scott Lahteine 79c72ed821 🎨 Standardize G-code reporting 2021-09-09 05:41:58 -05:00
ellensp 650e73af27 🩹 Fix Enhanced E3V2 Advanced Pause (#22728) 2021-09-09 01:13:01 -05:00
thinkyhead 7a4f1c410f [cron] Bump distribution date (2021-09-09) 2021-09-09 01:01:56 +00:00
thinkyhead 7a2515bcac [cron] Bump distribution date (2021-09-08) 2021-09-08 00:57:48 +00:00
Miguel Risco-Castillo 0f61d9e4dd Ender-3 V2 CrealityUI Enhanced (#21942)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-07 02:15:24 -05:00
Jyers 43a9c71ef7 Ender-3 V2 with Jyers UI (#22422) 2021-09-06 23:06:27 -05:00
thinkyhead ed0c5aefd8 [cron] Bump distribution date (2021-09-07) 2021-09-07 00:57:25 +00:00
mrv96 b0e798330d Add DGUS_LCD_UI_RELOADED (#21931) 2021-09-06 19:51:04 -05:00
Scott Lahteine 853eebc3f2 🚸 Show ExtUI message for PID_STARTED 2021-09-06 17:38:47 -05:00
Scott Lahteine 83a1d3a46b 🎨 Misc. code cleanup 2021-09-06 16:38:25 -05:00
Scott Lahteine 845d42ef40 🎨 Misc. Spindle/Laser (etc.) cleanup 2021-09-06 15:34:12 -05:00
Scott Lahteine dc6b86065e 🚸 Per-hotend Watch items 2021-09-05 21:24:40 -05:00
Scott Lahteine ba62f24717 ️ Clean up Info Menu 2021-09-05 21:14:33 -05:00
Scott Lahteine 521fda0235 🎨 MarlinUI for E3V2 tweaks 2021-09-05 20:39:19 -05:00
Scott Lahteine b0a91073b2 🔧 Sanity checks for Ender 3 V2 2021-09-05 20:39:19 -05:00
thinkyhead 6098150a85 [cron] Bump distribution date (2021-09-06) 2021-09-06 01:05:05 +00:00
dotdash32 c881fab128 🎨 Use largest default ST9720 delays (#22713)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-05 19:21:25 -05:00
Dan 51c66881c2 Protoneer CNC-Shield 3.00 (#22715) 2021-09-05 15:32:09 -05:00
Justin Nesselrotte 76fb131f14 Index Pick-and-Place board Rev.3 (#22647)
Co-authored-by: Gonçalo Pereira <goncalo_pereira@outlook.pt>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-05 15:21:45 -05:00
thinkyhead 73bc817397 [cron] Bump distribution date (2021-09-05) 2021-09-05 01:01:15 +00:00
thinkyhead 88fc449c7b [cron] Bump distribution date (2021-09-04) 2021-09-04 00:58:22 +00:00
Tanguy Pruvot a3557e63bf 🌐 Update "Homing" for some languages (#22706) 2021-09-03 18:20:32 -05:00
Scott Lahteine 5dbb155395 🩹 Fix 'ms' warning 2021-09-03 17:26:36 -05:00
Thomas White 18d82c1988 Homing submenu option (#22692) 2021-09-02 23:30:24 -05:00
Elliott Indiran e1056378f1 📝 Update PID_PARAMS_PER_HOTEND comment (#22694)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-09-02 22:41:41 -05:00
Tanguy Pruvot ff95a93ecc 🐛 Fix Mixing code typos (#22697) 2021-09-02 22:08:40 -05:00
thinkyhead 4313511483 [cron] Bump distribution date (2021-09-03) 2021-09-03 00:58:08 +00:00
thinkyhead 682d6c99c7 [cron] Bump distribution date (2021-09-02) 2021-09-02 01:03:55 +00:00
DvoraNoob 3a2eb574e2 🚸 MKS UI extrusion speed/steps config (#22656) 2021-09-01 19:29:20 -05:00
Tanguy Pruvot 71a2a95885 🔨 Enhance Lerdge pins, TFTs, and variants (#22658) 2021-09-01 18:55:36 -05:00
Tanguy Pruvot 9a9d55ceb0 🩹 Allow M42 S0/1 analogWrite on PWM pins (STM32) (#22631) 2021-09-01 18:45:17 -05:00
ellensp 01d1192a44 🐛 BTT Octopus X MAX pin for IDEX (#22654) 2021-09-01 05:33:24 -05:00
thinkyhead fc22f1f843 [cron] Bump distribution date (2021-09-01) 2021-09-01 01:03:17 +00:00
Vert bad4679649 GT2560 V4.x A20 (#22664) 2021-08-31 02:37:20 -05:00
Scott Lahteine fb29135c74 Creality3D CR-30 PrintMill 2021-08-31 02:31:44 -05:00
Scott Lahteine e33e101850 🎨 Tweak pins, comment formatting 2021-08-31 02:31:44 -05:00
Scott Lahteine ba10816c51 💄 Extended Info Menu 2021-08-31 02:31:44 -05:00
Scott Lahteine f55a28b015 🌐 Tweak language selection 2021-08-31 02:31:44 -05:00
Scott Lahteine eccd82b7c1 ️ Add PROBE_PT_LAST_STOW 2021-08-31 02:31:44 -05:00
ellensp 1f5eacac09 🔧 Set Z_PROBE_OFFSET_RANGE_MIN/MAX for MBL (#22663) 2021-08-31 02:26:12 -05:00
Scott Lahteine 2c5daa0722 🩹 Clean up BTT_SKR_CR6
Fixes #22665
2021-08-31 02:23:49 -05:00
Jason Smith 485a186467 🚸 Improve Tramming Wizard usability (#22672) 2021-08-31 02:00:59 -05:00
ellensp 66ded801b7 ️ Revert MAX31865 recent changes (#22660) 2021-08-30 22:40:49 -05:00
thinkyhead ef2d0b8d53 [cron] Bump distribution date (2021-08-31) 2021-08-31 00:59:16 +00:00
Christian Schuster 7378e7c2db 🩹 Fix LPC176x M43 formatting (#22680) 2021-08-30 19:32:02 -05:00
Zs.Antal fff1ed3369 🌐 Update Hungarian language (#22678) 2021-08-30 19:30:14 -05:00
Giuliano Zaro 6ff2be329e 🌐 Update Italian language (#22645) 2021-08-30 17:05:11 -05:00
Scott Lahteine efb9ea92b8 🔨 Fix HAL/STM32 F103Zx builds (#22610) 2021-08-30 17:03:22 -05:00
Scott Lahteine 90cd1ca68d 🎨 screws_tilt_adjust_pos => tramming_points 2021-08-29 23:10:00 -05:00
Scott Lahteine d95d452b29 🌐 MSG_PROBING_MESH => MSG_PROBING_POINT 2021-08-29 23:03:02 -05:00
Scott Lahteine 8f57a21176 🔨 Three columns in mftest menu 2021-08-29 20:04:51 -05:00
thinkyhead 4d5f6b2a78 [cron] Bump distribution date (2021-08-30) 2021-08-30 00:57:24 +00:00
Marcio T 6e40dbe0d3 ️ Fix, enhance FTDI Eve Touch UI (#22619) 2021-08-29 17:05:30 -05:00
Marcio T ab03c9a560 ️ Enhance and fix FTDI Eve Touch UI file select (#22651) 2021-08-29 17:03:10 -05:00
Scott Lahteine f721c44c22 🐛 Fix SDSUPPORT for SKR CR-6 (#22668)
Co-authored-by: Sebastiaan Dammann <sebastiaandammann@outlook.com>
2021-08-29 15:15:53 -05:00
Scott Lahteine 4b4de71304 ️ Improve G2/G3 arc handling (#22599) 2021-08-29 14:34:48 -05:00
Scott Lahteine 09a83d565e 🩹 Sensorless homing tweak 2021-08-29 13:55:20 -05:00
Scott Lahteine 6d3dec8b63 🎨 Update more EXP Headers 2021-08-29 13:55:20 -05:00
thinkyhead d6501a93ec [cron] Bump distribution date (2021-08-29) 2021-08-29 01:00:17 +00:00
Scott Lahteine d818a019c5 🎨 EXP headers, ST7920 delays (#22641) 2021-08-28 15:27:52 -05:00
thinkyhead 3a8c509a9f [cron] Bump distribution date (2021-08-28) 2021-08-28 00:54:18 +00:00
Scott Lahteine f6dc56d979 📝 AlephObjects => LulzBot 2021-08-27 17:23:08 -05:00
Tanguy Pruvot 36e40b68c9 🔨 Set Longer3D timers in variant (#22632) 2021-08-27 16:06:45 -05:00
thinkyhead 0c4085da01 [cron] Bump distribution date (2021-08-27) 2021-08-27 01:01:36 +00:00
thinkyhead 51160ee987 [cron] Bump distribution date (2021-08-26) 2021-08-26 00:55:12 +00:00
Tanguy Pruvot 8889e68088 🩹 Tweak startup message (#22633) 2021-08-25 18:08:27 -05:00
DerAndere 88816548b6 🔨 Melzi with OptiBoot build (#22630) 2021-08-25 18:05:06 -05:00
Jin 181530db76 🩹 Use <SoftwareSPI.h> in MAX31865 lib (#22618) 2021-08-25 17:33:08 -05:00
Ryan V1 71c96db932 🐛 Fix Multi-Endstop stepping (#22625) 2021-08-24 22:34:10 -05:00
thinkyhead 7dec5c2674 [cron] Bump distribution date (2021-08-25) 2021-08-25 00:57:08 +00:00
Scott Lahteine 4f35858c9e 🎨 EXP1/2 headers and pins cleanup (#22628) 2021-08-24 18:07:41 -05:00
Scott Lahteine 8cf7dc960f New board TH3D_EZBOARD_LITE_V2 (#22621) 2021-08-24 14:55:12 -05:00
Scott Lahteine 7974dcd2aa 🎨 Define FYSETC S6 and TH3D EZBoard EXP1/2 pins 2021-08-23 20:12:53 -05:00
thinkyhead 9c51cf3491 [cron] Bump distribution date (2021-08-24) 2021-08-24 00:56:33 +00:00
thinkyhead 2c45ac3c1b [cron] Bump distribution date (2021-08-23) 2021-08-23 00:53:22 +00:00
Chris Pepper 104de60d0b 🐛 Fix LPC176x M43 Pins Debugging (#22611) 2021-08-22 16:47:37 -05:00
Scott Lahteine 7d416bd055 MarlinUI for Ender 3 v2 DWIN LCD (#22594)
Co-Authored-By: Taylor Talkington <taylor.talkington@gmail.com>
2021-08-22 05:53:43 -05:00
ellensp 34e6940aab BOARD_RUMBA32_BTT (#22607) 2021-08-21 20:30:12 -05:00
Scott Lahteine 536cf287a6 🎨 Misc code and spacing cleanup 2021-08-21 20:30:12 -05:00
Scott Lahteine 2e3b131331 🎨 Tweak TMC software serial pins 2021-08-21 15:08:07 -05:00
Keith Bennett 104acd9e59 ⬆️ TMCStepper 0.7.3 (#22608) 2021-08-21 14:19:02 -05:00
thinkyhead 0d854d332d [cron] Bump distribution date (2021-08-21) 2021-08-21 00:55:55 +00:00
Fjederhaek 1903cc23c6 🐛 Update H-bot / Core for 6-axis (#22600)
Followup to #19112
2021-08-20 17:45:05 -05:00
Scott Lahteine 9046254a14 🌐 Update menu titles, add more IJK (#22605)
Followup to #19112
2021-08-20 17:38:00 -05:00
Scott Lahteine 193205a40d Followup to CrealityUI cleanup
Followup to #22586
2021-08-19 21:11:10 -05:00
thinkyhead 9db5805c8f [cron] Bump distribution date (2021-08-20) 2021-08-20 00:56:15 +00:00
Scott Lahteine 737d2dd564 Followup to CrealityUI cleanup
Followup to #22586
2021-08-19 19:16:46 -05:00
Scott Lahteine 033e65ec85 🐛 Show bed size as 'work:' in M115
Fixes #22598
2021-08-19 17:38:05 -05:00
thinkyhead 368a12a8ac [cron] Bump distribution date (2021-08-19) 2021-08-19 00:51:33 +00:00
Scott Lahteine e2297d82f2 📌 Disregard TMCStepper 0.7.2 2021-08-18 18:23:20 -05:00
Scott Lahteine 11e8cd9db9 🩹 Followup to CrealityUI cleanup
- Followup to #22586 fixing `Draw_Menu_Line` with `GET_TEXT_F`.
- More number drawing convenience functions.
- Return on `ENCODER_DIFF_NO` to reduce indent.
- Put Main Menu buttons closer to the top.
- Move status message up slightly.
- Fix some indentation.
2021-08-18 02:33:25 -05:00
Tanguy Pruvot 6a8385624f 🐛 Fix STM32 delay, double reset in FSMC TFT init (#22584) 2021-08-17 22:39:08 -05:00
Tanguy Pruvot f8c67c4810 🐛 Fix Longer3D PWM/timer pins (#22583) 2021-08-17 22:37:27 -05:00
Jason Smith c05de6cbf8 ️ Simplify PROBING_STEPPERS_OFF (#22581) 2021-08-17 22:35:12 -05:00
Keith Bennett 6464601411 ️ Revert ABL G29 feedrate (#22574)
Reverts 9130f58
2021-08-17 22:27:21 -05:00
thinkyhead ab8e212c2d [cron] Bump distribution date (2021-08-18) 2021-08-18 00:58:27 +00:00
Scott Lahteine 09af42e1af Clean up CrealityUI and MarlinUI (#22586) 2021-08-17 06:18:19 -05:00
thinkyhead 3e0d8e16aa [cron] Bump distribution date (2021-08-17) 2021-08-17 00:57:07 +00:00
Scott Lahteine 510f8d3e0c 💚 Update STM32F103RET6_creality test path 2021-08-15 21:31:00 -05:00
thinkyhead d586340655 [cron] Bump distribution date (2021-08-16) 2021-08-16 00:57:32 +00:00
Scott Lahteine af0cd400be 🐛 Fix LCD_COL_X_RJ
Followup to #22471
2021-08-15 19:27:47 -05:00
thinkyhead a307348b89 [cron] Bump distribution date (2021-08-15) 2021-08-15 00:57:42 +00:00
thinkyhead 8fe84fcf87 [cron] Bump distribution date (2021-08-14) 2021-08-14 00:54:13 +00:00
Scott Lahteine fc817feee3 🎨 Update HAL/STM32 wrappers
Followup to #22537
2021-08-13 18:50:12 -05:00
Scott Lahteine c161a46112 🎨 Update MKSPWC, some other pins (#22557) 2021-08-13 16:32:25 -05:00
BigTreeTech feb6d2887e 🐛 Fix some BTT SKR2 pins (#22558) 2021-08-12 23:26:26 -05:00
Tanguy Pruvot 1555db237e 🚸 Fewer CRs in settings report (#22560) 2021-08-12 22:40:52 -05:00
thinkyhead b028df4228 [cron] Bump distribution date (2021-08-13) 2021-08-13 00:58:12 +00:00
Miguel Risco-Castillo 59324a411f 🐛 Fix Ender-3 v2 language init (#22550) 2021-08-11 21:00:47 -05:00
thinkyhead 534da44e1f [cron] Bump distribution date (2021-08-12) 2021-08-12 00:57:35 +00:00
Scott Lahteine 4d3cb95bd8 🔨 Use zip link for MarlinSimUI 2021-08-11 18:20:42 -05:00
Scott Lahteine bf9cd90cc4 🎨 Tweak M73 condition 2021-08-11 18:20:29 -05:00
ellensp 5c610b2c18 🚸 Better error for MOTHERBOARD not defined (#22551) 2021-08-11 18:06:09 -05:00
Tanguy Pruvot c657fe2112 🐛 Fix M575 port index output (#22553) 2021-08-11 17:58:28 -05:00
thinkyhead cad142ab1b [cron] Bump distribution date (2021-08-11) 2021-08-11 00:59:26 +00:00
Scott Lahteine 25d5d2ab50 🚸 Set M122 interval only with S0 or Pn 2021-08-10 04:01:45 -05:00
Scott Lahteine 13e4e24e21 🐛 Use delete [] for new [] 2021-08-10 04:01:33 -05:00
thinkyhead 1ed59fef93 [cron] Bump distribution date (2021-08-10) 2021-08-10 01:01:05 +00:00
Scott Lahteine cc109c1802 🐛 Fix CoreXY plus extra axes
See #22490
2021-08-09 16:07:15 -05:00
Tanguy Pruvot ae846c2cb2 🚑️ Init FastIO before anything else (#22508) 2021-08-08 21:37:27 -05:00
Scott Lahteine 76c10b3e02 🏗️ Define HAL_STM32 for HAL/STM32 (#22537) 2021-08-08 21:31:10 -05:00
Jason Smith 331cc5fd6a 🐛 Fix some Simulator on Windows issues (#22516) 2021-08-08 21:25:17 -05:00
thinkyhead 47281012d9 [cron] Bump distribution date (2021-08-09) 2021-08-09 00:59:01 +00:00
2584 changed files with 332842 additions and 107205 deletions
+29
View File
@@ -0,0 +1,29 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.187.0/containers/python-3/.devcontainer/base.Dockerfile
# [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6
ARG VARIANT="3.9.0-buster"
FROM python:${VARIANT}
# [Option] Install Node.js
ARG INSTALL_NODE="true"
ARG NODE_VERSION="lts/*"
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image.
# COPY requirements.txt /tmp/pip-tmp/
# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \
# && rm -rf /tmp/pip-tmp
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
RUN pip install -U https://github.com/platformio/platformio-core/archive/develop.zip
RUN platformio update
# To get the test platforms
RUN pip install PyYaml
#ENV PATH /code/buildroot/bin/:/code/buildroot/tests/:${PATH}
+51
View File
@@ -0,0 +1,51 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.187.0/containers/python-3
{
"name": "Python 3",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
"args": {
// Update 'VARIANT' to pick a Python version: 3, 3.6, 3.7, 3.8, 3.9
"VARIANT": "3.9.0-buster",
// Options
"INSTALL_NODE": "false",
"NODE_VERSION": "lts/*"
}
},
// Set *default* container specific settings.json values on container create.
"settings": {
"python.pythonPath": "/usr/local/bin/python",
"python.languageServer": "Pylance",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"platformio.platformio-ide",
"marlinfirmware.auto-build",
"editorconfig.editorconfig"
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "pip3 install --user -r requirements.txt",
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
// "remoteUser": "vscode"
}
+20 -6
View File
@@ -1,19 +1,33 @@
# editorconfig.org
root = true
[*]
trim_trailing_whitespace = true
insert_final_newline = true
[{*.patch,syntax_test_*}]
trim_trailing_whitespace = false
[{*.c,*.cpp,*.h,*.ino,*.py,Makefile}]
end_of_line = lf
[{*.c,*.cpp,*.h,*.ino}]
charset = utf-8
[{*.c,*.cpp,*.h,*.ino,Makefile}]
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
[{*.py,*.conf,*.sublime-project}]
[{Makefile}]
indent_style = tab
indent_size = 2
[*.md]
# Two spaces at the end of the line means newline in Markdown
trim_trailing_whitespace = false
[{*.py}]
indent_style = space
indent_size = 4
[{*.conf,*.sublime-project}]
indent_style = tab
indent_size = 4
+184
View File
@@ -0,0 +1,184 @@
name: 🪲 Report a bug
description: Create a bug report to help improve Marlin Firmware
title: "[BUG] (bug summary)"
labels: ["Bug: Potential ?"]
body:
- type: markdown
attributes:
value: >
Do you want to ask a question? Are you looking for support? Please use one of the [support links](https://github.com/MarlinFirmware/Marlin/issues/new/choose).
- type: markdown
attributes:
value: |
**Thank you for reporting a bug in Marlin Firmware!**
## Before Reporting a Bug
- Read and understand Marlin's [Code of Conduct](https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/.github/code_of_conduct.md). You are expected to comply with it, including treating everyone with respect.
- Test with the [`bugfix-2.1.x` branch](https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.1.x.zip) to see whether the issue still exists.
## Instructions
Please follow the instructions below. Failure to do so may result in your issue being closed. See [Contributing to Marlin](https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/.github/contributing.md) for additional guidelines.
1. Provide a good title starting with [BUG].
2. Fill out all sections of this bug report form.
3. Always attach configuration files so we can build and test your setup.
- type: dropdown
attributes:
label: Did you test the latest `bugfix-2.1.x` code?
description: >-
Always try the latest code to make sure the issue you are reporting is not already fixed. To download
the latest code just [click this link](https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.1.x.zip).
options:
- Yes, and the problem still exists.
- No, but I will test it now!
validations:
required: true
- type: markdown
attributes:
value: |
# Bug Details
- type: textarea
attributes:
label: Bug Description
description: >-
Describe the bug in this section. Tell us what you were trying to do and what
happened that you did not expect. Provide a clear and concise description of the
problem and include as many details as possible.
When pasting formatted text don't forget to put ` ``` ` (on its own line) before and after to make it readable.
placeholder: |
Marlin doesn't work.
validations:
required: true
- type: input
attributes:
label: Bug Timeline
description: Is this a new bug or an old issue? When did it first start?
- type: textarea
attributes:
label: Expected behavior
description: >-
What did you expect to happen?
placeholder: I expected it to move left.
- type: textarea
attributes:
label: Actual behavior
description: What actually happened instead?
placeholder: It moved right instead of left.
- type: textarea
attributes:
label: Steps to Reproduce
description: >-
Please describe the steps needed to reproduce the issue.
placeholder: |
1. [First Step] ...
2. [Second Step] ...
3. [and so on] ...
- type: markdown
attributes:
value: |
# Your Setup
- type: input
attributes:
label: Version of Marlin Firmware
description: "See the About Menu on the LCD or the output of `M115`. NOTE: For older releases we only patch critical bugs."
validations:
required: true
- type: input
attributes:
label: Printer model
description: Creality Ender-3, Prusa mini, or Kossel Delta?
- type: input
attributes:
label: Electronics
description: Stock electronics, upgrade board, or something else?
- type: input
attributes:
label: LCD/Controller
description: Some Marlin behaviors are determined by the controller. Describe your LCD/Controller model and version.
- type: input
attributes:
label: Other add-ons
description: Please list any other hardware add-ons that could be involved.
- type: dropdown
attributes:
label: Bed Leveling
description: What kind of bed leveling compensation are you using?
options:
- UBL Bilinear mesh
- ABL Bilinear mesh
- ABL Linear grid
- ABL 3-point
- MBL Manual Bed Leveling
- No Bed Leveling
- type: dropdown
attributes:
label: Your Slicer
description: Do you use Slic3r, Prusa Slicer, Simplify3D, IdeaMaker...?
options:
- Slic3r
- Simplify3D
- Prusa Slicer
- IdeaMaker
- Cura
- Other (explain below)
- type: dropdown
attributes:
label: Host Software
description: Do you use OctoPrint, Repetier Host, Pronterface...?
options:
- SD Card (headless)
- Repetier Host
- OctoPrint
- Pronterface
- Cura
- Same as my slicer
- Other (explain below)
- type: markdown
attributes:
value: |
# Attachments
- type: checkboxes
attributes:
label: Don't forget to include
options:
- label: A ZIP file containing your `Configuration.h` and `Configuration_adv.h`.
required: true
- type: markdown
attributes:
value: |
### Optional items to include:
- 'Log output from the host. (`M111 S247` for maximum logging.)'
- Images or videos demonstrating the problem, if it helps to make it clear.
- A G-Code file that exposes the problem, if not affecting _all_ G-code.
- type: textarea
attributes:
label: Additional information & file uploads
description: >-
If you've made any other modifications to the firmware, please describe them in detail.
When pasting formatted text don't forget to put ` ``` ` (on its own line) before and after to make it readable.
+20
View File
@@ -0,0 +1,20 @@
blank_issues_enabled: false
contact_links:
- name: 📖 Marlin Documentation
url: https://marlinfw.org/
about: Lots of documentation on installing and using Marlin.
- name: 👤 MarlinFirmware Facebook group
url: https://www.facebook.com/groups/1049718498464482
about: Please ask and answer questions here.
- name: 🕹 Marlin on Discord
url: https://discord.gg/n5NJ59y
about: Join the Discord server for support and discussion.
- name: 🔗 Marlin Discussion Forum
url: https://reprap.org/forum/list.php?415
about: A searchable web forum hosted by RepRap dot org.
- name: 📺 Marlin Videos on YouTube
url: https://www.youtube.com/results?search_query=marlin+firmware
about: Tutorials and more from Marlin users all around the world. Great for new users!
- name: 💸 Want to donate?
url: https://www.thinkyhead.com/donate-to-marlin
about: Please take a look at the various options to support Marlin Firmware's development financially!
@@ -0,0 +1,44 @@
name: ✨ Request a feature
description: Request a new Marlin Firmware feature
title: "[FR] (feature summary)"
labels: ["T: Feature Request"]
body:
- type: markdown
attributes:
value: >
Do you want to ask a question? Are you looking for support? Please use one of the [support links](https://github.com/MarlinFirmware/Marlin/issues/new/choose).
- type: markdown
attributes:
value: >
**Thank you for requesting a new Marlin Firmware feature!**
## Before Requesting a Feature
- Read and understand Marlin's [Code of Conduct](https://github.com/MarlinFirmware/Marlin/blob/master/.github/code_of_conduct.md). You are expected to comply with it, including treating everyone with respect.
- Check the latest [`bugfix-2.1.x` branch](https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.1.x.zip) to see if the feature already exists.
- Before you proceed with your request, please consider if it is necessary to make it into a firmware feature, or if it may be better suited for a slicer or host feature.
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear description of the problem (e.g., "I need X but Marlin can't do it [...]").
- type: textarea
attributes:
label: Are you looking for hardware support?
description: Tell us the printer, board, or peripheral that needs support.
- type: textarea
attributes:
label: Describe the feature you want
description: A clear description of the feature and how you think it should work.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
+1 -7
View File
@@ -28,15 +28,9 @@ Project maintainers are responsible for clarifying the standards of acceptable b
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [marlinfirmware@github.com](mailto:marlinfirmware@github.com). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by following GitHub's [reporting abuse or spam article](https://docs.github.com/en/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.
## Attribution
+15 -10
View File
@@ -26,16 +26,20 @@ The following is a set of guidelines for contributing to Marlin, hosted by the [
## Code of Conduct
This project and everyone participating in it is governed by the [Marlin Code of Conduct](code_of_conduct.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [marlinfirmware@github.com](mailto:marlinfirmware@github.com).
This project and everyone participating in it is governed by the [Marlin Code of Conduct](code_of_conduct.md). By participating, you are expected to uphold this code. Please report unacceptable behavior by following GitHub's [reporting abuse or spam article](https://docs.github.com/en/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam).
## I don't want to read this whole thing I just have a question!!!
> **Note:** Please don't file an issue to ask a question. You'll get faster results by using the resources below.
> [!NOTE]
> Please don't file an issue to ask a question. You'll get faster results by using the resources below.
We have a Message Board and a Facebook group where our knowledgable user community can provide helpful advice if you have questions.
* [Marlin RepRap forum](https://reprap.org/forum/list.php?415)
* [MarlinFirmware on Facebook](https://www.facebook.com/groups/1049718498464482/)
- [Marlin Documentation](https://marlinfw.org) - Official Marlin documentation
- Facebook Group ["Marlin Firmware"](https://www.facebook.com/groups/1049718498464482/)
- RepRap.org [Marlin Forum](https://forums.reprap.org/list.php?415)
- Facebook Group ["Marlin Firmware for 3D Printers"](https://www.facebook.com/groups/3Dtechtalk/)
- [Marlin Configuration](https://www.youtube.com/results?search_query=marlin+configuration) on YouTube
If chat is more your speed, you can join the MarlinFirmware Discord server:
@@ -50,13 +54,14 @@ If chat is more your speed, you can join the MarlinFirmware Discord server:
This section guides you through submitting a Bug Report for Marlin. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Before creating a Bug Report, please test the "nightly" development branch, as you might find out that you don't need to create one. When you are creating a Bug Report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out [the required template](issue_template.md), the information it asks for helps us resolve issues faster.
Before creating a Bug Report, please test the "nightly" development branch, as you might find out that you don't need to create one. When you are creating a Bug Report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out [the required template](ISSUE_TEMPLATE/bug_report.yml), the information it asks for helps us resolve issues faster.
> **Note:** Regressions can happen. If you find a **Closed** issue that seems like your issue, go ahead and open a new issue and include a link to the original issue in the body of your new one. All you need to create a link is the issue number, preceded by #. For example, #8888.
> [!NOTE]
> Regressions can happen. If you find a **Closed** issue that seems like your issue, go ahead and open a new issue and include a link to the original issue in the body of your new one. All you need to create a link is the issue number, preceded by #. For example, #8888.
#### How Do I Submit A (Good) Bug Report?
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Use the New Issue button to create an issue and provide the following information by filling in [the template](issue_template.md).
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Use the New Issue button to create an issue and provide the following information by filling in [the template](ISSUE_TEMPLATE/bug_report.yml).
Explain the problem and include additional details to help maintainers reproduce the problem:
@@ -88,12 +93,12 @@ Include details about your configuration and environment:
This section guides you through submitting a suggestion for Marlin, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
Before creating a suggestion, please check [this list](#before-submitting-a-suggestion) as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). Fill in [the template](issue_template.md), including the steps that you imagine you would take if the feature you're requesting existed.
Before creating a suggestion, please check [this list](https://github.com/MarlinFirmware/Marlin/issues?q=is%3Aopen+is%3Aissue+label%3A%22T%3A+Feature+Request%22) as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-feature-request). Fill in [the template](ISSUE_TEMPLATE/feature_request.yml), including the steps that you imagine you would take if the feature you're requesting existed.
#### Before Submitting a Feature Request
* **Check the [Marlin website](https://marlinfw.org/)** for tips — you might discover that the feature is already included. Most importantly, check if you're using [the latest version of Marlin](https://github.com/MarlinFirmware/Marlin/releases) and if you can get the desired behavior by changing [Marlin's config settings](https://marlinfw.org/docs/configuration/configuration.html).
* **Perform a [cursory search](https://github.com/MarlinFirmware/Marlin/issues?q=is%3Aissue)** to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
* **Perform a [cursory search](https://github.com/MarlinFirmware/Marlin/issues?q=is%3Aopen+is%3Aissue+label%3A%22T%3A+Feature+Request%22)** to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
#### How Do I Submit A (Good) Feature Request?
@@ -116,7 +121,7 @@ Unsure where to begin contributing to Marlin? You can start by looking through t
### Pull Requests
Pull Requests should always be targeted to working branches (e.g., `bugfix-1.1.x` and/or `bugfix-2.0.x`) and never to release branches (e.g., `1.1.x`). If this is your first Pull Request, please read our [Guide to Pull Requests](https://marlinfw.org/docs/development/getting_started_pull_requests.html) and Github's [Pull Request](https://help.github.com/articles/creating-a-pull-request/) documentation.
Pull Requests should always be targeted to working branches (e.g., `bugfix-2.1.x` and/or `bugfix-1.1.x`) and never to release branches (e.g., `2.0.x` and/or `1.1.x`). If this is your first Pull Request, please read our [Guide to Pull Requests](https://marlinfw.org/docs/development/getting_started_pull_requests.html) and Github's [Pull Request](https://help.github.com/articles/creating-a-pull-request/) documentation.
* Fill in [the required template](pull_request_template.md).
* Don't include issue numbers in the PR title.
-35
View File
@@ -1,35 +0,0 @@
<!--
Have you read Marlin's Code of Conduct? By filing an Issue, you are expected to comply with it, including treating everyone with respect: https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/.github/code_of_conduct.md
Do you want to ask a question? Are you looking for support? Please don't post here. Instead use one of the following options:
- The Marlin Firmware forum at https://reprap.org/forum/list.php?415
- The MarlinFirmware Facebook Group at https://www.facebook.com/groups/1049718498464482/
- The MarlinFirmware Discord Server at https://discord.gg/n5NJ59y.
Before filing an issue be sure to test the latest "bugfix" branch to see whether the issue is already addressed.
-->
### Description
<!-- Description of the bug or requested feature -->
### Steps to Reproduce
<!-- If this is a Bug Report, please describe the steps needed to reproduce the issue -->
1. [First Step]
2. [Second Step]
3. [and so on...]
**Expected behavior:** [What you expect to happen]
**Actual behavior:** [What actually happens]
#### Additional Information
* Include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files.
* Provide pictures or links to videos that clearly demonstrate the issue.
* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines.
+16 -6
View File
@@ -1,23 +1,33 @@
### Requirements
<!--
* Filling out this template is required. Pull Requests without a clear description may be closed at the maintainers' discretion.
Submitting a Pull Request
- Please fill out all sections of this form. You can delete the helpful comments.
- Pull Requests without clear information will take longer and may even be rejected.
- We get a high volume of submissions so please be patient during review.
-->
### Description
<!--
We must be able to understand your proposed change from this description. If we can't understand what the code will do from this description, the Pull Request may be closed at the maintainers' discretion. Keep in mind that the maintainer reviewing this PR may not be familiar with or have worked with the code recently, so please walk us through the concepts.
Clearly describe the submitted changes with lots of details. Include images where helpful. Initial reviewers may not be familiar with the subject, so be as thorough as possible. You can use MarkDown syntax to improve readability with bullet lists, code blocks, and so on. PREVIEW and fix up formatting before submitting.
-->
### Requirements
<!-- Does this PR require a specific board, LCD, etc.? -->
### Benefits
<!-- What does this fix or improve? -->
<!-- What does this PR fix or improve? -->
### Configurations
<!-- Attach any Configuration.h, Configuration_adv.h, or platformio.ini files needed to compile/test your Pull Request. -->
<!-- Attach Configurations ZIP and any other files needed to test this PR. -->
### Related Issues
<!-- Whether this fixes a bug or fulfills a feature request, please list any related Issues here. -->
<!-- Does this PR fix a bug or fulfill a Feature Request? Link related Issues here. -->
+41
View File
@@ -0,0 +1,41 @@
#
# auto-label.yml
# - Find all open issues without a label and a title containing "[BUG]".
# - Apply the label "Bug: Potential ?" to these issues.
#
name: Label Old Bugs
on:
schedule:
- cron: "30 8 * * *"
jobs:
autolabel:
name: Auto Label
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- name: Auto Label for [BUG]
uses: actions/github-script@v7
with:
script: |
// Get all open issues in this repository
const issueList = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open'
});
// Filter issues without labels that have a title containing '[BUG]'.
const matchingIssues = issueList.data.filter(
issue => issue.title.includes('[BUG]') && issue.labels.length === 0
);
// Process the first 50
for (const issue of matchingIssues.slice(0, 50)) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: ['Bug: Potential ?']
});
}
+59
View File
@@ -0,0 +1,59 @@
#
# bump-date.yml
# Bump the distribution date once per day
#
name: Bump Distribution Date
on:
schedule:
- cron: '0 */6 * * *'
jobs:
bump_date:
name: Bump Distribution Date
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- name: Check out bugfix-2.0.x
uses: actions/checkout@v3
with:
ref: bugfix-2.0.x
- name: Bump Date (bugfix-2.0.x)
run: |
# Inline Bump Script
if [[ ! "$( git log -1 --pretty=%B )" =~ ^\[cron\] ]]; then
DIST=$( date +"%Y-%m-%d" )
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/Version.h" && \
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/Version.h" && \
git config user.name "${GITHUB_ACTOR}" && \
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" && \
git add . && \
git commit -m "[cron] Bump distribution date ($DIST)" && \
git push
fi
exit 0
- name: Check out bugfix-2.1.x
uses: actions/checkout@v3
with:
ref: bugfix-2.1.x
- name: Bump Date (bugfix-2.1.x)
run: |
# Inline Bump Script
if [[ ! "$( git log -1 --pretty=%B )" =~ ^\[cron\] ]]; then
DIST=$( date +"%Y-%m-%d" )
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/Version.h" && \
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/Version.h" && \
git config user.name "${GITHUB_ACTOR}" && \
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" && \
git add . && \
git commit -m "[cron] Bump distribution date ($DIST)" && \
git push
fi
exit 0
+33
View File
@@ -0,0 +1,33 @@
#
# check-pr.yml
# Close PRs directed at release branches
#
name: PR Bad Target
on:
pull_request_target:
types: [opened]
branches:
- 1.0.x
- 1.1.x
- 2.0.x
jobs:
bad_target:
name: PR Bad Target
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: superbrothers/close-pull-request@v3
with:
comment: >
Thanks for your contribution! Unfortunately we can't accept PRs directed at release branches. We make patches to the bugfix branches and only later do we push them out as releases.
Please redo this PR starting with the `bugfix-2.1.x` branch and be careful to target `bugfix-2.1.x` when resubmitting the PR. Patches may also target `bugfix-2.0.x` if they are specifically for 2.0.9.x.
It may help to set your fork's default branch to `bugfix-2.1.x`.
See [this page](https://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions.
+40
View File
@@ -0,0 +1,40 @@
#
# clean-closed.yml
# Remove obsolete labels when an Issue or PR is closed
#
name: Clean Closed
on:
pull_request:
types: [closed]
issues:
types: [closed]
jobs:
remove_label:
runs-on: ubuntu-latest
strategy:
matrix:
label:
- "S: Don't Merge"
- "S: Hold for 2.1"
- "S: Please Merge"
- "S: Please Test"
- "help wanted"
- "Bug: Potential ?"
- "Needs: Discussion"
- "Needs: Documentation"
- "Needs: More Data"
- "Needs: Patch"
- "Needs: Testing"
- "Needs: Work"
steps:
- uses: actions/checkout@v3
- name: Remove Labels
uses: actions-ecosystem/action-remove-labels@v1
with:
github_token: ${{ github.token }}
labels: ${{ matrix.label }}
+40
View File
@@ -0,0 +1,40 @@
#
# close-stale.yml
# Close open issues after a period of inactivity
#
name: Close Stale Issues
on:
schedule:
- cron: "22 1 * * *"
jobs:
stale:
name: Close Stale Issues
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: |
Greetings from the Marlin AutoBot!
This issue has had no activity for the last 90 days.
Do you still see this issue with the latest `bugfix-2.1.x` code?
Please add a reply within 14 days or this issue will be automatically closed.
To keep a confirmed issue open we can also add a "Bug: Confirmed" tag.
Disclaimer: This is an open community project with lots of activity and limited
resources. The main project contributors will do a bug sweep ahead of the next
release, but any skilled member of the community may jump in at any time to fix
this issue. That can take a while depending on our busy lives so please be patient,
and take advantage of other resources such as the MarlinFirmware Discord to help
solve the issue.
days-before-stale: 90
days-before-close: 14
stale-issue-label: 'stale-closing-soon'
exempt-all-assignees: true
exempt-issue-labels: 'Bug: Confirmed !,T: Feature Request,Needs: More Data,Needs: Discussion,Needs: Documentation,Needs: Patch,Needs: Work,Needs: Testing,help wanted,no-locking'
+32
View File
@@ -0,0 +1,32 @@
#
# lock-closed.yml
# Lock closed issues after a period of inactivity
#
name: Lock Closed Issues
on:
schedule:
- cron: '0 1/13 * * *'
jobs:
lock:
name: Lock Closed Issues
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
with:
github-token: ${{ github.token }}
process-only: 'issues'
issue-lock-inactive-days: '60'
issue-exclude-created-before: ''
issue-exclude-labels: 'no-locking'
issue-lock-labels: ''
issue-lock-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.
issue-lock-reason: ''
+102 -64
View File
@@ -8,7 +8,8 @@ name: CI
on:
pull_request:
branches:
- bugfix-2.0.x
- bugfix-2.1.x
- 2.1.x
paths-ignore:
- config/**
- data/**
@@ -16,7 +17,8 @@ on:
- '**/*.md'
push:
branches:
- bugfix-2.0.x
- bugfix-2.1.x
- 2.1.x
paths-ignore:
- config/**
- data/**
@@ -33,89 +35,124 @@ jobs:
strategy:
matrix:
test-platform:
# Base Environments
- DUE
- DUE_archim
- esp32
# Native
- linux_native
# AVR
- mega2560
- at90usb1286_dfu
- teensy31
- teensy35
- teensy41
- SAMD51_grandcentral_m4
# Extended AVR Environments
- FYSETC_F6
- mega1280
- at90usb1286_dfu
# AVR Extended
- FYSETC_F6
- melzi_optiboot
- rambo
- sanguino1284p
- sanguino644p
# STM32F1 (Maple) Environments
# SAM3X8E
- DUE
- DUE_archim
#- STM32F103RC_btt_maple
- STM32F103RC_btt_USB_maple
- STM32F103RC_fysetc_maple
- STM32F103RC_meeb
- jgaurora_a5s_a1_maple
- STM32F103VE_longer_maple
#- mks_robin_maple
- mks_robin_lite_maple
- mks_robin_pro_maple
#- mks_robin_nano35_maple
#- STM32F103RET6_creality_maple
- STM32F103VE_ZM3E4V2_USB_maple
# SAMD21
- SAMD51_grandcentral_m4
- SAMD21_minitronics20
# STM32 (ST) Environments
# ESP32
- esp32
- mks_tinybee
- STM32F103RC_btt
#- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RET6_creality
- STM32F103VE_longer
- STM32F407VE_black
- STM32F401VE_STEVAL
- BIGTREE_BTT002
- BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin
- ARMED
- FYSETC_S6
# Teensy 2
#- at90usb1286_cdc
# Teensy MK20DX256
- teensy31
# Teensy MK64FX512, MK66FX1M0
- teensy35
# Teensy IMXRT1062DVx6A
- teensy41
# STM32F0
- malyan_M300
- STM32F070CB_malyan
- STM32F070RB_malyan
- malyan_M300
# STM32F1
- chitu_f103
- mks_robin
- mks_robin_nano_v1v2
- PANDA_PI_V29
- STM32F103RC_btt
- STM32F103RC_fysetc
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RE_creality
- STM32F103VE_longer
#- mks_robin_mini
#- mks_robin_nano_v1_3_f4_usbmod
#- mks_robin_nano_v1v2_usbmod
#- STM32F103CB_malyan
#- STM32F103RC_btt_USB
#- STM32F103RE
# STM32F4
- ARMED
- BIGTREE_BTT002
- BIGTREE_GTR_V1_0
- BIGTREE_SKR_PRO
- FLYF407ZG
- rumba32
- LERDGEX
- FYSETC_S6
- LERDGEK
- mks_robin_nano35
- LERDGEX
- mks_robin_pro2
- Opulo_Lumen_REV3
- rumba32
- STM32F401RC_creality
- STM32F407VE_black
- I3DBEEZ9_V1
# STM32F7
- NUCLEO_F767ZI
- REMRAM_V1
# STM32H7
- BTT_SKR_SE_BX
- chitu_f103
- STM32H743VI_btt
# Put lengthy tests last
# STM32F1 (Maple)
- jgaurora_a5s_a1_maple
- mks_robin_lite_maple
- mks_robin_pro_maple
- STM32F103RC_btt_USB_maple
- STM32F103RC_fysetc_maple
- STM32F103RC_meeb_maple
- STM32F103VE_longer_maple
- STM32F103VE_ZM3E4V2_USB_maple
#- mks_robin_maple
#- mks_robin_nano_v1v2_maple
#- STM32F103RC_btt_maple
#- STM32F103RE_creality_maple
# STM32G0
- STM32G0B1RE_btt
# HC32
- HC32F460C_aquila_101
# LPC176x - Lengthy tests
- LPC1768
- LPC1769
# Non-working environment tests
#- at90usb1286_cdc
#- STM32F103CB_malyan
#- STM32F103RE
#- mks_robin_mini
steps:
- name: Check out the PR
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Cache pip
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
@@ -123,21 +160,22 @@ jobs:
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
- name: Select Python 3.7
uses: actions/setup-python@v2
- name: Select Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax.
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
python-version: '3.9'
architecture: 'x64'
- name: Install PlatformIO
run: |
pip install -U https://github.com/platformio/platformio-core/archive/develop.zip
platformio update
pip install -U platformio
pio upgrade --dev
pio pkg update --global
- name: Run ${{ matrix.test-platform }} Tests
run: |
+22
View File
@@ -0,0 +1,22 @@
#
# unlock-reopened.yml
# Unlock an issue whenever it is re-opened
#
name: "Unlock reopened issue"
on:
issues:
types: [reopened]
jobs:
unlock:
name: Unlock Reopened
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: OSDKDev/unlock-issues@v1.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
+33 -36
View File
@@ -21,32 +21,21 @@
# Generated files
_Version.h
bdf2u8g
bdf2u8g.exe
genpages.exe
marlin_config.json
mczip.h
language*.csv
out-csv/
out-language/
*.gen
*.sublime-workspace
#
# OS
#
applet/
*.DS_Store
.DS_Store
#
# Misc
#
*~
*.orig
*.rej
*.bak
*.idea
*.s
*.i
*.ii
*.swp
tags
#
# C++
#
# Compiled Object files
# Compiled C++ Object files
*.slo
*.lo
*.o
@@ -77,10 +66,7 @@ tags
*.out
*.app
#
# C
#
# Object files
# Compiled C Object files
*.o
*.ko
*.obj
@@ -137,20 +123,22 @@ __vm/
vc-fileutils.settings
# Visual Studio Code
.vscode
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/*.db
.vscode/*
!.vscode/extensions.json
#Simulation
# Simulation files
imgui.ini
eeprom.dat
spi_flash.bin
fs.img
#cmake
# CMake
buildroot/share/cmake/*
CMakeLists.txt
!buildroot/share/cmake/CMakeLists.txt
src/CMakeLists.txt
CMakeListsPrivate.txt
build/
# CLion
cmake-build-*
@@ -168,6 +156,15 @@ __pycache__
# IOLogger logs
*_log.csv
# Simulation / Native
eeprom.dat
imgui.ini
# Misc.
*~
*.orig
*.rej
*.bak
*.idea
*.i
*.ii
*.swp
tags
*.logs
*.bak
+12
View File
@@ -0,0 +1,12 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"marlinfirmware.auto-build",
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode-remote.remote-containers",
"ms-vscode.cpptools-extension-pack"
]
}
+27 -10
View File
@@ -1,11 +1,17 @@
SCRIPTS_DIR := buildroot/share/scripts
CONTAINER_RT_BIN := docker
CONTAINER_RT_OPTS := --rm -v $(PWD):/code -v platformio-cache:/root/.platformio
CONTAINER_IMAGE := marlin-dev
help:
@echo "Tasks for local development:"
@echo "* format-pins: Reformat all pins files"
@echo "* tests-single-ci: Run a single test from inside the CI"
@echo "* tests-single-local: Run a single test locally"
@echo "* tests-single-local-docker: Run a single test locally, using docker-compose"
@echo "* tests-single-local-docker: Run a single test locally, using docker"
@echo "* tests-all-local: Run all tests locally"
@echo "* tests-all-local-docker: Run all tests locally, using docker-compose"
@echo "* setup-local-docker: Setup local docker-compose"
@echo "* tests-all-local-docker: Run all tests locally, using docker"
@echo "* setup-local-docker: Build the local docker image"
@echo ""
@echo "Options for testing:"
@echo " TEST_TARGET Set when running tests-single-*, to select the"
@@ -22,31 +28,42 @@ help:
tests-single-ci:
export GIT_RESET_HARD=true
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET)
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) PLATFORMIO_BUILD_FLAGS=-DGITHUB_ACTION
.PHONY: tests-single-ci
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
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH} \
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& run_tests . $(TEST_TARGET) "$(ONLY_TEST)"
.PHONY: tests-single-local
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
docker-compose run --rm marlin $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
@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)"
.PHONY: tests-single-local-docker
tests-all-local:
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH} \
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& for TEST_TARGET in $$(./get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
&& for TEST_TARGET in $$($(SCRIPTS_DIR)/get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
.PHONY: tests-all-local
tests-all-local-docker:
docker-compose run --rm marlin $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
@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)
.PHONY: tests-all-local-docker
setup-local-docker:
docker-compose build
$(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) -f docker/Dockerfile .
.PHONY: setup-local-docker
PINS := $(shell find Marlin/src/pins -mindepth 2 -name '*.h')
.PHONY: $(PINS)
$(PINS): %:
@echo "Formatting $@" && node buildroot/share/scripts/pinsformat.js $@
format-pins: $(PINS)
+1207 -540
View File
File diff suppressed because it is too large Load Diff
+1397 -1083
View File
File diff suppressed because it is too large Load Diff
+115 -75
View File
@@ -63,8 +63,8 @@ HARDWARE_MOTHERBOARD ?= 1020
ifeq ($(OS),Windows_NT)
# Windows
ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino
ARDUINO_USER_DIR ?= ${HOME}/Arduino
ARDUINO_INSTALL_DIR ?= ${HOME}/AppData/Local/Arduino
ARDUINO_USER_DIR ?= ${HOME}/Documents/Arduino
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
@@ -82,11 +82,11 @@ endif
# Arduino source install directory, and version number
# On most linuxes this will be /usr/share/arduino
ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino
ARDUINO_VERSION ?= 106
ARDUINO_INSTALL_DIR ?= ${HOME}/AppData/Local/Arduino # C:/Users/${USERNAME}/AppData/Local/Arduino
ARDUINO_VERSION ?= 10819
# The installed Libraries are in the User folder
ARDUINO_USER_DIR ?= ${HOME}/Arduino
ARDUINO_USER_DIR ?= ${HOME}/Documents/Arduino
# You can optionally set a path to the avr-gcc tools.
# Requires a trailing slash. For example, /usr/local/avr-gcc/bin/
@@ -109,7 +109,7 @@ LIQUID_TWI2 ?= 0
# This defines if Wire is needed
WIRE ?= 0
# This defines if Tone is needed (i.e SPEAKER is defined in Configuration.h)
# This defines if Tone is needed (i.e., SPEAKER is defined in Configuration.h)
# Disabling this (and SPEAKER) saves approximately 350 bytes of memory.
TONE ?= 1
@@ -132,7 +132,7 @@ 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_VER:=$(shell echo $$(( $(CC_MAJ) * 10000 + $(CC_MIN) * 100 + $(CC_PATCHLEVEL) )))
ifeq ($(shell test $(CC_VER) -lt 40901 && echo 1),1)
@echo This version of GCC is likely broken. Enabling relocation workaround.
$(warning This GCC version $(CC_VER) is likely broken. Enabling relocation workaround.)
RELOC_WORKAROUND = 1
endif
@@ -207,11 +207,11 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1105)
else ifeq ($(HARDWARE_MOTHERBOARD),1106)
# MKS BASE v1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1107)
# MKS v1.4 with A4982 stepper drivers
# MKS BASE v1.4 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1108)
# MKS v1.5 with Allegro A4982 stepper drivers
# MKS BASE v1.5 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1109)
# MKS v1.6 with Allegro A4982 stepper drivers
# MKS BASE v1.6 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1110)
# MKS BASE 1.0 with Heroic HR4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1111)
@@ -219,93 +219,110 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1111)
else ifeq ($(HARDWARE_MOTHERBOARD),1112)
# MKS GEN L
else ifeq ($(HARDWARE_MOTHERBOARD),1113)
# zrib V2.0 control board (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1114)
# BigTreeTech or BIQU KFB2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1114)
# zrib V2.0 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1115)
# Felix 2.0+ Electronics Board (RAMPS like)
# zrib V5.2 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1116)
# Invent-A-Part RigidBoard
# Felix 2.0+ Electronics Board (RAMPS like)
else ifeq ($(HARDWARE_MOTHERBOARD),1117)
# Invent-A-Part RigidBoard V2
# Invent-A-Part RigidBoard
else ifeq ($(HARDWARE_MOTHERBOARD),1118)
# Sainsmart 2-in-1 board
# Invent-A-Part RigidBoard V2
else ifeq ($(HARDWARE_MOTHERBOARD),1119)
# Ultimaker
# Sainsmart 2-in-1 board
else ifeq ($(HARDWARE_MOTHERBOARD),1120)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
# Ultimaker
else ifeq ($(HARDWARE_MOTHERBOARD),1121)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
else ifeq ($(HARDWARE_MOTHERBOARD),1122)
MCU ?= atmega1280
PROG_MCU ?= m1280
# Azteeg X3
else ifeq ($(HARDWARE_MOTHERBOARD),1122)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1123)
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1124)
# Rumba
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
else ifeq ($(HARDWARE_MOTHERBOARD),1125)
# Raise3D Rumba
# Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1126)
# Rapide Lite RL200 Rumba
# Raise3D N series Rumba derivative
else ifeq ($(HARDWARE_MOTHERBOARD),1127)
# Formbot T-Rex 2 Plus
# Rapide Lite 200 (v1, low-cost RUMBA clone with drv)
else ifeq ($(HARDWARE_MOTHERBOARD),1128)
# Formbot T-Rex 3
# Formbot T-Rex 2 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1129)
# Formbot Raptor
# Formbot T-Rex 3
else ifeq ($(HARDWARE_MOTHERBOARD),1130)
# Formbot Raptor 2
# Formbot Raptor
else ifeq ($(HARDWARE_MOTHERBOARD),1131)
# bq ZUM Mega 3D
# Formbot Raptor 2
else ifeq ($(HARDWARE_MOTHERBOARD),1132)
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
# bq ZUM Mega 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1133)
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
# MakeBoard Mini v2.1.2 by MicroMake
else ifeq ($(HARDWARE_MOTHERBOARD),1134)
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
# TriGorilla Anycubic version 1.3-based on RAMPS EFB
else ifeq ($(HARDWARE_MOTHERBOARD),1135)
# TriGorilla Anycubic version 1.4 Rev 1.1
# ... Ver 1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1136)
# Creality: Ender-4, CR-8
# ... Rev 1.1 (new servo pin order)
else ifeq ($(HARDWARE_MOTHERBOARD),1137)
# Creality: CR10S, CR20, CR-X
# Creality: Ender-4, CR-8
else ifeq ($(HARDWARE_MOTHERBOARD),1138)
# Dagoma F5
# Creality: CR10S, CR20, CR-X
else ifeq ($(HARDWARE_MOTHERBOARD),1139)
# FYSETC F6 1.3
# Dagoma F5
else ifeq ($(HARDWARE_MOTHERBOARD),1140)
# FYSETC F6 1.5
# FYSETC F6 1.3
else ifeq ($(HARDWARE_MOTHERBOARD),1141)
# Duplicator i3 Plus
# FYSETC F6 1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1142)
# VORON
# Wanhao Duplicator i3 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1143)
# TRONXY V3 1.0
# VORON Design
else ifeq ($(HARDWARE_MOTHERBOARD),1144)
# Z-Bolt X Series
# Tronxy TRONXY-V3-1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1145)
# TT OSCAR
# Z-Bolt X Series
else ifeq ($(HARDWARE_MOTHERBOARD),1146)
# Overlord/Overlord Pro
# TT OSCAR
else ifeq ($(HARDWARE_MOTHERBOARD),1147)
# ADIMLab Gantry v1
# Overlord/Overlord Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1148)
# ADIMLab Gantry v2
# ADIMLab Gantry v1
else ifeq ($(HARDWARE_MOTHERBOARD),1149)
# BIQU Tango V1
# ADIMLab Gantry v2
else ifeq ($(HARDWARE_MOTHERBOARD),1150)
# MKS GEN L V2
# BIQU Tango V1
else ifeq ($(HARDWARE_MOTHERBOARD),1151)
# MKS GEN L V2.1
# MKS GEN L V2
else ifeq ($(HARDWARE_MOTHERBOARD),1152)
# Copymaster 3D
# MKS GEN L V2.1
else ifeq ($(HARDWARE_MOTHERBOARD),1153)
# Ortur 4
# Copymaster 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1154)
# Tenlog D3 Hero
# Ortur 4
else ifeq ($(HARDWARE_MOTHERBOARD),1155)
# Tenlog D3 Hero IDEX printer
else ifeq ($(HARDWARE_MOTHERBOARD),1156)
# Tenlog D3,5,6 Pro IDEX printers
else ifeq ($(HARDWARE_MOTHERBOARD),1157)
# Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Fan, Bed)
else ifeq ($(HARDWARE_MOTHERBOARD),1158)
# Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Hotend2, Bed)
else ifeq ($(HARDWARE_MOTHERBOARD),1159)
# Ramps S 1.2 by Sakul.cz (Power outputs: Hotend, Fan0, Fan1, Bed)
else ifeq ($(HARDWARE_MOTHERBOARD),1160)
# Longer LK1 PRO / Alfawise U20 Pro (PRO version)
else ifeq ($(HARDWARE_MOTHERBOARD),1161)
# Longer LKx PRO / Alfawise Uxx Pro (PRO version)
else ifeq ($(HARDWARE_MOTHERBOARD),1162)
# Zonestar zrib V5.3 (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1163)
# Pxmalion Core I3
else ifeq ($(HARDWARE_MOTHERBOARD),1164)
#
# RAMBo and derivatives
@@ -358,20 +375,38 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1311)
else ifeq ($(HARDWARE_MOTHERBOARD),1312)
# Mega controller
else ifeq ($(HARDWARE_MOTHERBOARD),1313)
# Geeetech GT2560 Rev B for Mecreator2
# Geeetech GT2560 Rev A
else ifeq ($(HARDWARE_MOTHERBOARD),1314)
# Geeetech GT2560 Rev. A
# Geeetech GT2560 Rev A+ (with auto level probe)
else ifeq ($(HARDWARE_MOTHERBOARD),1315)
# Geeetech GT2560 Rev. A+ (with auto level probe)
# Geeetech GT2560 Rev B
else ifeq ($(HARDWARE_MOTHERBOARD),1316)
# Geeetech GT2560 Rev B for A10(M/D)
# Geeetech GT2560 Rev B for A10(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1317)
# Geeetech GT2560 Rev B for A20(M/D)
# Geeetech GT2560 Rev B for A10(M/T/D)
else ifeq ($(HARDWARE_MOTHERBOARD),1318)
# Einstart retrofit
# Geeetech GT2560 Rev B for Mecreator2
else ifeq ($(HARDWARE_MOTHERBOARD),1319)
# Wanhao 0ne+ i3 Mini
# Geeetech GT2560 Rev B for A20(M/T/D)
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)
else ifeq ($(HARDWARE_MOTHERBOARD),1328)
# Mega controller & Protoneer CNC Shield V3.00
else ifeq ($(HARDWARE_MOTHERBOARD),1329)
#
# ATmega1281, ATmega2561
@@ -445,6 +480,11 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1510)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# ZoneStar ZMIB V2
else ifeq ($(HARDWARE_MOTHERBOARD),1511)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
#
# Other ATmega644P, ATmega644, ATmega1284P
@@ -616,18 +656,18 @@ ifeq ($(HARDWARE_VARIANT), $(filter $(HARDWARE_VARIANT),arduino Teensy Sanguino)
# Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/arduino/avr/1.8.6/libraries/SPI/src
endif
ifeq ($(IS_MCU),1)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/arduino/avr/1.8.6/cores/arduino
# Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial/src
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/arduino/avr/1.8.6/libraries/SPI/src
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/arduino/avr/1.8.6/libraries/SoftwareSerial/src
endif
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidCrystal/src
@@ -641,17 +681,17 @@ ifeq ($(WIRE), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/utility
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src/utility
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/avr/1.8.6/libraries/Wire/src
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/avr/1.8.6/libraries/Wire/src/utility
endif
ifeq ($(NEOPIXEL), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Adafruit_NeoPixel
endif
ifeq ($(U8GLIB), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib/csrc
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib/cppsrc
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib/fntsrc
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib-HAL
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib-HAL/src
# VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib
# VPATH += $(ARDUINO_INSTALL_DIR)/libraries/U8glib/src
endif
ifeq ($(TMC), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/TMCStepper/src
@@ -660,9 +700,9 @@ endif
ifeq ($(HARDWARE_VARIANT), arduino)
HARDWARE_SUB_VARIANT ?= mega
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/variants/$(HARDWARE_SUB_VARIANT)
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/avr/1.8.6/variants/$(HARDWARE_SUB_VARIANT)
else ifeq ($(HARDWARE_VARIANT), Sanguino)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/variants/sanguino
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/avr/1.8.6/variants/sanguino
else ifeq ($(HARDWARE_VARIANT), archim)
VPATH += $(ARDUINO_INSTALL_DIR)/packages/ultimachine/hardware/sam/1.6.9-b/system/libsam
VPATH += $(ARDUINO_INSTALL_DIR)/packages/ultimachine/hardware/sam/1.6.9-b/system/CMSIS/CMSIS/Include/
@@ -678,7 +718,7 @@ else ifeq ($(HARDWARE_VARIANT), archim)
LDLIBS = $(ARDUINO_INSTALL_DIR)/packages/ultimachine/hardware/sam/1.6.9-b/variants/archim/libsam_sam3x8e_gcc_rel.a
else
HARDWARE_SUB_VARIANT ?= standard
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/$(HARDWARE_VARIANT)/variants/$(HARDWARE_SUB_VARIANT)
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/avr/1.8.6/variants/$(HARDWARE_SUB_VARIANT)
endif
LIB_SRC = wiring.c \
@@ -693,7 +733,7 @@ endif
ifeq ($(HARDWARE_VARIANT), Teensy)
LIB_SRC = wiring.c
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/teensy/cores/teensy
VPATH += $(ARDUINO_INSTALL_DIR)/packages/arduino/hardware/teensy/cores/teensy
endif
LIB_CXXSRC = WMath.cpp WString.cpp Print.cpp SPI.cpp
@@ -840,7 +880,7 @@ AVRDUDE_WRITE_FLASH = -Uflash:w:$(BUILD_DIR)/$(TARGET).hex:i
ifeq ($(shell uname -s), Linux)
AVRDUDE_CONF = /etc/avrdude/avrdude.conf
else
AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/etc/avrdude.conf
AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf
endif
AVRDUDE_FLAGS = -D -C$(AVRDUDE_CONF) \
-p$(PROG_MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \
+2 -2
View File
@@ -2,7 +2,7 @@
Marlin Firmware
(c) 2011-2020 MarlinFirmware
(c) 2011-2023 MarlinFirmware
Portions of Marlin are (c) by their respective authors.
All code complies with GPLv2 and/or GPLv3
@@ -27,7 +27,7 @@ Configuration
- https://github.com/MarlinFirmware/Configurations
Example configurations for several printer models.
- https://www.youtube.com/watch?v=3gwWVFtdg-4
- https://youtu.be/3gwWVFtdg-4
A good 20-minute overview of Marlin configuration by Tom Sanladerer.
(Applies to Marlin 1.0.x, so Jerk and Acceleration should be halved.)
Also... https://www.google.com/search?tbs=vid%3A1&q=configure+marlin
+2 -2
View File
@@ -28,7 +28,7 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "bugfix-2.0.x"
//#define SHORT_BUILD_VERSION "bugfix-2.1.x"
/**
* Verbose version identifier which should contain a reference to the location
@@ -41,7 +41,7 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
//#define STRING_DISTRIBUTION_DATE "2021-08-08"
//#define STRING_DISTRIBUTION_DATE "2024-01-01"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
+247
View File
@@ -0,0 +1,247 @@
#
# Marlin Firmware
# config.ini - Options to apply before the build
#
[config:base]
#
# ini_use_config - A comma-separated list of actions to apply to the Configuration files.
# The actions will be applied in the listed order.
# - none
# Ignore this file and don't apply any configuration options
#
# - base
# Just apply the options in config:base to the configuration
#
# - minimal
# Just apply the options in config:minimal to the configuration
#
# - all
# Apply all 'config:*' sections in this file to the configuration
#
# - another.ini
# Load another INI file with a path relative to this config.ini file (i.e., within Marlin/)
#
# - https://me.myserver.com/path/to/configs
# Fetch configurations from any URL.
#
# - example/Creality/Ender-5 Plus @ bugfix-2.1.x
# Fetch example configuration files from the MarlinFirmware/Configurations repository
# https://raw.githubusercontent.com/MarlinFirmware/Configurations/bugfix-2.1.x/config/examples/Creality/Ender-5%20Plus/
#
# - example/default @ release-2.0.9.7
# Fetch default configuration files from the MarlinFirmware/Configurations repository
# https://raw.githubusercontent.com/MarlinFirmware/Configurations/release-2.0.9.7/config/default/
#
# - [disable]
# Comment out all #defines in both Configuration.h and Configuration_adv.h. This is useful
# to start with a clean slate before applying any config: options, so only the options explicitly
# set in config.ini will be enabled in the configuration.
#
# - [flatten] (Not yet implemented)
# Produce a flattened set of Configuration.h and Configuration_adv.h files with only the enabled
# #defines and no comments. A clean look, but context-free.
#
ini_use_config = none
# Load all config: sections in this file
;ini_use_config = all
# Disable everything and apply subsequent config:base options
;ini_use_config = [disable], base
# Load config file relative to Marlin/
;ini_use_config = another.ini
# Download configurations from GitHub
;ini_use_config = example/Creality/Ender-5 Plus @ bugfix-2.1.x
# Download configurations from your server
;ini_use_config = https://me.myserver.com/path/to/configs
# Evaluate config:base and do a config dump
;ini_use_config = base
;config_export = 2
[config:minimal]
motherboard = BOARD_RAMPS_14_EFB
serial_port = 0
baudrate = 250000
use_watchdog = on
thermal_protection_hotends = on
thermal_protection_hysteresis = 4
thermal_protection_period = 40
bufsize = 4
block_buffer_size = 16
max_cmd_size = 96
extruders = 1
temp_sensor_0 = 1
temp_hysteresis = 3
heater_0_mintemp = 5
heater_0_maxtemp = 275
preheat_1_temp_hotend = 180
bang_max = 255
pidtemp = on
pid_k1 = 0.95
pid_max = 255
pid_functional_range = 10
default_kp = 22.20
default_ki = 1.08
default_kd = 114.00
x_driver_type = A4988
y_driver_type = A4988
z_driver_type = A4988
e0_driver_type = A4988
x_bed_size = 200
x_min_pos = 0
x_max_pos = X_BED_SIZE
y_bed_size = 200
y_min_pos = 0
y_max_pos = Y_BED_SIZE
z_min_pos = 0
z_max_pos = 200
x_home_dir = -1
y_home_dir = -1
z_home_dir = -1
x_min_endstop_hit_state = HIGH
y_min_endstop_hit_state = HIGH
z_min_endstop_hit_state = HIGH
default_axis_steps_per_unit = { 80, 80, 400, 500 }
axis_relative_modes = { false, false, false, false }
default_max_feedrate = { 300, 300, 5, 25 }
default_max_acceleration = { 3000, 3000, 100, 10000 }
homing_feedrate_mm_m = { (50*60), (50*60), (4*60) }
homing_bump_divisor = { 2, 2, 4 }
x_enable_on = 0
y_enable_on = 0
z_enable_on = 0
e_enable_on = 0
invert_x_dir = false
invert_y_dir = true
invert_z_dir = false
invert_e0_dir = false
step_state_e = HIGH
step_state_x = HIGH
step_state_y = HIGH
step_state_z = HIGH
disable_x = off
disable_y = off
disable_z = off
disable_e = off
proportional_font_ratio = 1.0
default_nominal_filament_dia = 1.75
junction_deviation_mm = 0.013
default_acceleration = 3000
default_travel_acceleration = 3000
default_retract_acceleration = 3000
default_minimumfeedrate = 0.0
default_mintravelfeedrate = 0.0
minimum_planner_speed = 0.05
min_steps_per_segment = 6
default_minsegmenttime = 20000
[config:basic]
bed_overshoot = 10
busy_while_heating = on
default_ejerk = 5.0
default_keepalive_interval = 2
default_leveling_fade_height = 0.0
disable_other_extruders = on
display_charset_hd44780 = JAPANESE
eeprom_boot_silent = on
eeprom_chitchat = on
endstoppullups = on
extrude_maxlength = 200
extrude_mintemp = 170
host_keepalive_feature = on
hotend_overshoot = 15
jd_handle_small_segments = on
lcd_info_screen_style = 0
lcd_language = en
max_bed_power = 255
mesh_inset = 0
min_software_endstops = on
max_software_endstops = on
min_software_endstop_x = on
min_software_endstop_y = on
min_software_endstop_z = on
max_software_endstop_x = on
max_software_endstop_y = on
max_software_endstop_z = on
preheat_1_fan_speed = 0
preheat_1_label = "PLA"
preheat_1_temp_bed = 70
prevent_cold_extrusion = on
prevent_lengthy_extrude = on
printjob_timer_autostart = on
probing_margin = 10
show_bootscreen = on
soft_pwm_scale = 0
string_config_h_author = "(none, default config)"
temp_bed_hysteresis = 3
temp_bed_residency_time = 10
temp_bed_window = 1
temp_residency_time = 10
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]
arc_support = on
auto_report_temperatures = on
autotemp = on
autotemp_oldweight = 0.98
bed_check_interval = 5000
default_stepper_timeout_sec = 120
default_volumetric_extruder_limit = 0.00
disable_idle_x = on
disable_idle_y = on
disable_idle_z = on
disable_idle_e = on
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
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_divisor = 2
temp_sensor_bed = 0
thermal_protection_bed_hysteresis = 2
thermocouple_max_errors = 15
tx_buffer_size = 0
watch_bed_temp_increase = 2
watch_bed_temp_period = 60
watch_temp_increase = 2
watch_temp_period = 20
+118 -23
View File
@@ -23,6 +23,7 @@
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include <avr/wdt.h>
#ifdef USBCON
DefaultSerial1 MSerial0(false, Serial);
@@ -35,30 +36,68 @@
// Public Variables
// ------------------------
//uint8_t MCUSR;
// Don't initialize/override variable (which would happen in .init4)
uint8_t MarlinHAL::reset_reason __attribute__((section(".noinit")));
// ------------------------
// Public functions
// ------------------------
void HAL_init() {
__attribute__((naked)) // Don't output function pro- and epilogue
__attribute__((used)) // Output the function, even if "not used"
__attribute__((section(".init3"))) // Put in an early user definable section
void save_reset_reason() {
#if ENABLED(OPTIBOOT_RESET_REASON)
__asm__ __volatile__(
A("STS %0, r2")
: "=m"(hal.reset_reason)
);
#else
hal.reset_reason = MCUSR;
#endif
// Clear within 16ms since WDRF bit enables a 16ms watchdog timer -> Boot loop
hal.clear_reset_source();
wdt_disable();
}
#include "registers.h"
MarlinHAL::MarlinHAL() {
TERN_(HAL_AVR_DIRTY_INIT, _ATmega_resetperipherals()); // Clean-wipe the device state.
}
void MarlinHAL::init() {
// Init Servo Pins
#define INIT_SERVO(N) OUT_WRITE(SERVO##N##_PIN, LOW)
#if HAS_SERVO_0
INIT_SERVO(0);
OUT_WRITE(SERVO0_PIN, LOW);
#endif
#if HAS_SERVO_1
INIT_SERVO(1);
OUT_WRITE(SERVO1_PIN, LOW);
#endif
#if HAS_SERVO_2
INIT_SERVO(2);
OUT_WRITE(SERVO2_PIN, LOW);
#endif
#if HAS_SERVO_3
INIT_SERVO(3);
OUT_WRITE(SERVO3_PIN, LOW);
#endif
init_pwm_timers(); // Init user timers to default frequency - 1000HZ
#if PIN_EXISTS(BEEPER) && ENABLED(HAL_AVR_DIRTY_INIT) && DISABLED(ATMEGA_NO_BEEPFIX)
// Make sure no alternative is locked onto the BEEPER.
// This fixes the issue where the ATmega is constantly beeping.
// Might disable other peripherals using the pin; to circumvent that please undefine one of the above things!
// The true culprit is the AVR ArduinoCore that enables peripherals redundantly.
// (USART1 on the GeeeTech GT2560)
// https://www.youtube.com/watch?v=jMgCvRXkexk
_ATmega_savePinAlternate(BEEPER_PIN);
OUT_WRITE(BEEPER_PIN, LOW);
#endif
}
void HAL_reboot() {
void MarlinHAL::reboot() {
#if ENABLED(USE_WATCHDOG)
while (1) { /* run out the watchdog */ }
#else
@@ -67,28 +106,84 @@ void HAL_reboot() {
#endif
}
#if ENABLED(SDSUPPORT)
// ------------------------
// Watchdog Timer
// ------------------------
#if ENABLED(USE_WATCHDOG)
#include <avr/wdt.h>
#include "../../MarlinCore.h"
// Initialize watchdog with 8s timeout, if possible. Otherwise, make it 4s.
void MarlinHAL::watchdog_init() {
#if ENABLED(WATCHDOG_DURATION_8S) && defined(WDTO_8S)
#define WDTO_NS WDTO_8S
#else
#define WDTO_NS WDTO_4S
#endif
#if ENABLED(WATCHDOG_RESET_MANUAL)
// Enable the watchdog timer, but only for the interrupt.
// Take care, as this requires the correct order of operation, with interrupts disabled.
// See the datasheet of any AVR chip for details.
wdt_reset();
cli();
_WD_CONTROL_REG = _BV(_WD_CHANGE_BIT) | _BV(WDE);
_WD_CONTROL_REG = _BV(WDIE) | (WDTO_NS & 0x07) | ((WDTO_NS & 0x08) << 2); // WDTO_NS directly does not work. bit 0-2 are consecutive in the register but the highest value bit is at bit 5
// So worked for up to WDTO_2S
sei();
wdt_reset();
#else
wdt_enable(WDTO_NS); // The function handles the upper bit correct.
#endif
//delay(10000); // test it!
}
//===========================================================================
//=================================== ISR ===================================
//===========================================================================
// Watchdog timer interrupt, called if main program blocks >4sec and manual reset is enabled.
#if ENABLED(WATCHDOG_RESET_MANUAL)
ISR(WDT_vect) {
sei(); // With the interrupt driven serial we need to allow interrupts.
SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED);
minkill(); // interrupt-safe final kill and infinite loop
}
#endif
// Reset watchdog. MUST be called at least every 4 seconds after the
// first watchdog_init or AVR will go into emergency procedures.
void MarlinHAL::watchdog_refresh() { wdt_reset(); }
#endif // USE_WATCHDOG
// ------------------------
// Free Memory Accessor
// ------------------------
#if HAS_MEDIA
#include "../../sd/SdFatUtil.h"
int freeMemory() { return SdFatUtil::FreeRam(); }
#else // !SDSUPPORT
#else // !HAS_MEDIA
extern "C" {
extern char __bss_end;
extern char __heap_start;
extern void* __brkval;
extern "C" {
extern char __bss_end;
extern char __heap_start;
extern void* __brkval;
int freeMemory() {
int free_memory;
if ((int)__brkval == 0)
free_memory = ((int)&free_memory) - ((int)&__bss_end);
else
free_memory = ((int)&free_memory) - ((int)__brkval);
return free_memory;
int freeMemory() {
int free_memory;
if ((int)__brkval == 0)
free_memory = ((int)&free_memory) - ((int)&__bss_end);
else
free_memory = ((int)&free_memory) - ((int)__brkval);
return free_memory;
}
}
}
#endif // !SDSUPPORT
#endif // !HAS_MEDIA
#endif // __AVR__
+156 -93
View File
@@ -1,7 +1,9 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* 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
@@ -19,17 +21,20 @@
*/
#pragma once
/**
* HAL for Arduino AVR
*/
#include "../shared/Marduino.h"
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "watchdog.h"
#include "math.h"
#ifdef USBCON
#include <HardwareSerial.h>
#else
#define HardwareSerial_h // Hack to prevent HardwareSerial.h header inclusion
#include "MarlinSerial.h"
#define BOARD_NO_NATIVE_USB
#endif
#include <stdint.h>
@@ -39,6 +44,19 @@
#include <avr/interrupt.h>
#include <avr/io.h>
//
// Default graphical display delays
//
#if F_CPU >= 20000000
#define CPU_ST7920_DELAY_1 150
#define CPU_ST7920_DELAY_2 0
#define CPU_ST7920_DELAY_3 150
#elif F_CPU == 16000000
#define CPU_ST7920_DELAY_1 125
#define CPU_ST7920_DELAY_2 0
#define CPU_ST7920_DELAY_3 188
#endif
#ifndef pgm_read_ptr
// Compatibility for avr-libc 1.8.0-4.1 included with Ubuntu for
// Windows Subsystem for Linux on Windows 10 as of 10/18/2019
@@ -61,9 +79,9 @@
#define CRITICAL_SECTION_START() unsigned char _sreg = SREG; cli()
#define CRITICAL_SECTION_END() SREG = _sreg
#endif
#define ISRS_ENABLED() TEST(SREG, SREG_I)
#define ENABLE_ISRS() sei()
#define DISABLE_ISRS() cli()
#define HAL_CAN_SET_PWM_FREQ // This HAL supports PWM Frequency adjustment
#define PWM_FREQUENCY 1000 // Default PWM frequency when set_pwm_duty() is called without set_pwm_frequency()
// ------------------------
// Types
@@ -71,16 +89,15 @@
typedef int8_t pin_t;
#define SHARED_SERVOS HAS_SERVOS
#define HAL_SERVO_LIB Servo
#define SHARED_SERVOS HAS_SERVOS // Use shared/servos.cpp
class Servo;
typedef Servo hal_servo_t;
// ------------------------
// Public Variables
// ------------------------
//extern uint8_t MCUSR;
// Serial ports
// ------------------------
#ifdef USBCON
#include "../../core/serial_hook.h"
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
@@ -92,96 +109,52 @@ typedef int8_t pin_t;
#define MYSERIAL1 TERN(BLUETOOTH, btSerial, MSerial0)
#else
#if !WITHIN(SERIAL_PORT, -1, 3)
#error "SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#if !WITHIN(SERIAL_PORT, 0, 3)
#error "SERIAL_PORT must be from 0 to 3."
#endif
#define MYSERIAL1 customizedSerial1
#ifdef SERIAL_PORT_2
#if !WITHIN(SERIAL_PORT_2, -1, 3)
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
#if !WITHIN(SERIAL_PORT_2, 0, 3)
#error "SERIAL_PORT_2 must be from 0 to 3."
#endif
#define MYSERIAL2 customizedSerial2
#endif
#ifdef SERIAL_PORT_3
#if !WITHIN(SERIAL_PORT_3, -1, 3)
#error "SERIAL_PORT_3 must be from 0 to 3, or -1 for USB Serial."
#if !WITHIN(SERIAL_PORT_3, 0, 3)
#error "SERIAL_PORT_3 must be from 0 to 3."
#endif
#define MYSERIAL3 customizedSerial3
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if !WITHIN(MMU2_SERIAL_PORT, -1, 3)
#error "MMU2_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#if !WITHIN(MMU2_SERIAL_PORT, 0, 3)
#error "MMU2_SERIAL_PORT must be from 0 to 3"
#endif
#define MMU2_SERIAL mmuSerial
#endif
#ifdef LCD_SERIAL_PORT
#if !WITHIN(LCD_SERIAL_PORT, -1, 3)
#error "LCD_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#if !WITHIN(LCD_SERIAL_PORT, 0, 3)
#error "LCD_SERIAL_PORT must be from 0 to 3."
#endif
#define LCD_SERIAL lcdSerial
#if HAS_DGUS_LCD
#define SERIAL_GET_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
#define LCD_SERIAL_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
#endif
#endif
// ------------------------
// Public functions
// ------------------------
void HAL_init();
//void cli();
//void _delay_ms(const int delay);
inline void HAL_clear_reset_source() { MCUSR = 0; }
inline uint8_t HAL_get_reset_source() { return MCUSR; }
void HAL_reboot();
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
extern "C" int freeMemory();
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
//
// ADC
#ifdef DIDR2
#define HAL_ANALOG_SELECT(ind) do{ if (ind < 8) SBI(DIDR0, ind); else SBI(DIDR2, ind & 0x07); }while(0)
#else
#define HAL_ANALOG_SELECT(ind) SBI(DIDR0, ind);
#endif
inline void HAL_adc_init() {
ADCSRA = _BV(ADEN) | _BV(ADSC) | _BV(ADIF) | 0x07;
DIDR0 = 0;
#ifdef DIDR2
DIDR2 = 0;
#endif
}
#define SET_ADMUX_ADCSRA(ch) ADMUX = _BV(REFS0) | (ch & 0x07); SBI(ADCSRA, ADSC)
#ifdef MUX5
#define HAL_START_ADC(ch) if (ch > 7) ADCSRB = _BV(MUX5); else ADCSRB = 0; SET_ADMUX_ADCSRA(ch)
#else
#define HAL_START_ADC(ch) ADCSRB = 0; SET_ADMUX_ADCSRA(ch)
#endif
#define HAL_ADC_VREF 5.0
#define HAL_ADC_RESOLUTION 10
#define HAL_READ_ADC() ADC
#define HAL_ADC_READY() !TEST(ADCSRA, ADSC)
//
#define HAL_ADC_VREF_MV 5000
#define HAL_ADC_RESOLUTION 10
//
// Pin Mapping for M42, M43, M226
//
#define GET_PIN_MAP_PIN(index) index
#define GET_PIN_MAP_INDEX(pin) pin
#define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval)
@@ -195,23 +168,113 @@ inline void HAL_adc_init() {
// AVR compatibility
#define strtof strtod
#define HAL_CAN_SET_PWM_FREQ // This HAL supports PWM Frequency adjustment
// ------------------------
// Free Memory Accessor
// ------------------------
/**
* set_pwm_frequency
* Sets the frequency of the timer corresponding to the provided pin
* as close as possible to the provided desired frequency. Internally
* calculates the required waveform generation mode, prescaler and
* resolution values required and sets the timer registers accordingly.
* NOTE that the frequency is applied to all pins on the timer (Ex OC3A, OC3B and OC3B)
* NOTE that there are limitations, particularly if using TIMER2. (see Configuration_adv.h -> FAST FAN PWM Settings)
*/
void set_pwm_frequency(const pin_t pin, int f_desired);
#pragma GCC diagnostic push
#if GCC_VERSION <= 50000
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
/**
* set_pwm_duty
* Sets the PWM duty cycle of the provided pin to the provided value
* Optionally allows inverting the duty cycle [default = false]
* Optionally allows changing the maximum size of the provided value to enable finer PWM duty control [default = 255]
*/
void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size=255, const bool invert=false);
extern "C" int freeMemory();
#pragma GCC diagnostic pop
// ------------------------
// MarlinHAL Class
// ------------------------
class MarlinHAL {
public:
// Earliest possible init, before setup()
MarlinHAL();
// Watchdog
static void watchdog_init() IF_DISABLED(USE_WATCHDOG, {});
static void watchdog_refresh() IF_DISABLED(USE_WATCHDOG, {});
static void init(); // Called early in setup()
static void init_board() {} // Called less early in setup()
static void reboot(); // Restart the firmware from 0x0
// Interrupts
static bool isr_state() { return TEST(SREG, SREG_I); }
static void isr_on() { sei(); }
static void isr_off() { cli(); }
static void delay_ms(const int ms) { _delay_ms(ms); }
// Tasks, called from idle()
static void idletask() {}
// Reset
static uint8_t reset_reason;
static uint8_t get_reset_source() { return reset_reason; }
static void clear_reset_source() { MCUSR = 0; }
// Free SRAM
static int freeMemory() { return ::freeMemory(); }
//
// ADC Methods
//
// Called by Temperature::init once at startup
static void adc_init() {
ADCSRA = _BV(ADEN) | _BV(ADSC) | _BV(ADIF) | 0x07;
DIDR0 = 0;
#ifdef DIDR2
DIDR2 = 0;
#endif
}
// Called by Temperature::init for each sensor at startup
static void adc_enable(const uint8_t ch) {
#ifdef DIDR2
if (ch > 7) { SBI(DIDR2, ch & 0x07); return; }
#endif
SBI(DIDR0, ch);
}
// Begin ADC sampling on the given channel. Called from Temperature::isr!
static void adc_start(const uint8_t ch) {
#ifdef MUX5
ADCSRB = ch > 7 ? _BV(MUX5) : 0;
#else
ADCSRB = 0;
#endif
ADMUX = _BV(REFS0) | (ch & 0x07);
SBI(ADCSRA, ADSC);
}
// Is the ADC ready for reading?
static bool adc_ready() { return !TEST(ADCSRA, ADSC); }
// The current value of the ADC register
static __typeof__(ADC) adc_value() { return ADC; }
/**
* init_pwm_timers
* Set the default frequency for timers 2-5 to 1000HZ
*/
static void init_pwm_timers();
/**
* Set the PWM duty cycle for the pin to the given value.
* Optionally invert the duty cycle [default = false]
* Optionally change the scale of the provided value to enable finer PWM duty control [default = 255]
*/
static void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size=255, const bool invert=false);
/**
* Set the frequency of the timer for the given pin as close as
* possible to the provided desired frequency. Internally calculate
* the required waveform generation mode, prescaler, and resolution
* values and set timer registers accordingly.
* NOTE that the frequency is applied to all pins on the timer (Ex OC3A, OC3B and OC3B)
* NOTE that there are limitations, particularly if using TIMER2. (see Configuration_adv.h -> FAST_PWM_FAN Settings)
*/
static void set_pwm_frequency(const pin_t pin, const uint16_t f_desired);
};
+15 -14
View File
@@ -34,21 +34,21 @@
#include "../../inc/MarlinConfig.h"
void spiBegin() {
OUT_WRITE(SD_SS_PIN, HIGH);
#if PIN_EXISTS(SD_SS)
// Do not init HIGH for boards with pin 4 used as Fans or Heaters or otherwise, not likely to have multiple SPI devices anyway.
#if defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)
// SS must be in output mode even it is not chip select
SET_OUTPUT(SD_SS_PIN);
#else
// set SS high - may be chip select for another SPI device
OUT_WRITE(SD_SS_PIN, HIGH);
#endif
#endif
SET_OUTPUT(SD_SCK_PIN);
SET_INPUT(SD_MISO_PIN);
SET_OUTPUT(SD_MOSI_PIN);
#if DISABLED(SOFTWARE_SPI)
// SS must be in output mode even it is not chip select
//SET_OUTPUT(SD_SS_PIN);
// set SS high - may be chip select for another SPI device
//#if SET_SPI_SS_HIGH
//WRITE(SD_SS_PIN, HIGH);
//#endif
// set a default rate
spiInit(1);
#endif
IF_DISABLED(SOFTWARE_SPI, spiInit(SPI_HALF_SPEED));
}
#if NONE(SOFTWARE_SPI, FORCE_SOFT_SPI)
@@ -74,7 +74,8 @@ void spiBegin() {
#elif defined(PRR0)
PRR0
#endif
, PRSPI);
, PRSPI
);
SPCR = _BV(SPE) | _BV(MSTR) | (spiRate >> 1);
SPSR = spiRate & 1 || spiRate == 6 ? 0 : _BV(SPI2X);
@@ -197,7 +198,7 @@ void spiBegin() {
// output pin high - like sending 0xFF
WRITE(SD_MOSI_PIN, HIGH);
LOOP_L_N(i, 8) {
for (uint8_t i = 0; i < 8; ++i) {
WRITE(SD_SCK_PIN, HIGH);
nop; // adjust so SCK is nice
@@ -224,7 +225,7 @@ void spiBegin() {
void spiSend(uint8_t data) {
// no interrupts during byte send - about 8µs
cli();
LOOP_L_N(i, 8) {
for (uint8_t i = 0; i < 8; ++i) {
WRITE(SD_SCK_PIN, LOW);
WRITE(SD_MOSI_PIN, data & 0x80);
data <<= 1;
@@ -19,8 +19,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* $(filename)
*/
#include <SPI.h>
using MarlinSPI = SPIClass;
+2 -2
View File
@@ -486,7 +486,7 @@ void MarlinSerial<Cfg>::write(const uint8_t c) {
const uint8_t i = (tx_buffer.head + 1) & (Cfg::TX_SIZE - 1);
// If global interrupts are disabled (as the result of being called from an ISR)...
if (!ISRS_ENABLED()) {
if (!hal.isr_state()) {
// Make room by polling if it is possible to transmit, and do so!
while (i == tx_buffer.tail) {
@@ -534,7 +534,7 @@ void MarlinSerial<Cfg>::flushTX() {
if (!_written) return;
// If global interrupts are disabled (as the result of being called from an ISR)...
if (!ISRS_ENABLED()) {
if (!hal.isr_state()) {
// Wait until everything was transmitted - We must do polling, as interrupts are disabled
while (tx_buffer.head != tx_buffer.tail || !B_TXC) {
+7 -14
View File
@@ -34,12 +34,9 @@
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#include "../../core/types.h"
#include "../../core/serial_hook.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif
#ifndef USBCON
// The presence of the UBRRH register is used to detect a UART.
@@ -138,10 +135,6 @@
#define BYTE 0
// Templated type selector
template<bool b, typename T, typename F> struct TypeSelector { typedef T type;} ;
template<typename T, typename F> struct TypeSelector<false, T, F> { typedef F type; };
template<typename Cfg>
class MarlinSerial {
protected:
@@ -164,7 +157,7 @@
static constexpr B_U2Xx<Cfg::PORT> B_U2X = 0;
// Base size of type on buffer size
typedef typename TypeSelector<(Cfg::RX_SIZE>256), uint16_t, uint8_t>::type ring_buffer_pos_t;
typedef uvalue_t(Cfg::RX_SIZE - 1) ring_buffer_pos_t;
struct ring_buffer_r {
volatile ring_buffer_pos_t head, tail;
@@ -191,13 +184,13 @@
rx_framing_errors;
static ring_buffer_pos_t rx_max_enqueued;
static FORCE_INLINE ring_buffer_pos_t atomic_read_rx_head();
FORCE_INLINE static ring_buffer_pos_t atomic_read_rx_head();
static volatile bool rx_tail_value_not_stable;
static volatile uint16_t rx_tail_value_backup;
static FORCE_INLINE void atomic_set_rx_tail(ring_buffer_pos_t value);
static FORCE_INLINE ring_buffer_pos_t atomic_read_rx_tail();
FORCE_INLINE static void atomic_set_rx_tail(ring_buffer_pos_t value);
FORCE_INLINE static ring_buffer_pos_t atomic_read_rx_tail();
public:
FORCE_INLINE static void store_rxd_char();
@@ -217,7 +210,7 @@
#endif
enum { HasEmergencyParser = Cfg::EMERGENCYPARSER };
static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
static bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; }
FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; }
@@ -283,7 +276,7 @@
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
static constexpr bool RX_OVERRUNS = BOTH(HAS_DGUS_LCD, SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_OVERRUNS = ALL(HAS_DGUS_LCD, SERIAL_STATS_RX_BUFFER_OVERRUNS);
};
typedef Serial1Class< MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> > > MSerialLCD;
+102 -92
View File
@@ -66,27 +66,26 @@ static volatile int8_t Channel[_Nbr_16timers]; // counter for the s
/************ static functions common to all instances ***********************/
static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t* TCNTn, volatile uint16_t* OCRnA) {
if (Channel[timer] < 0)
*TCNTn = 0; // channel set to -1 indicated that refresh interval completed so reset the timer
else {
if (SERVO_INDEX(timer, Channel[timer]) < ServoCount && SERVO(timer, Channel[timer]).Pin.isActive)
extDigitalWrite(SERVO(timer, Channel[timer]).Pin.nbr, LOW); // pulse this channel low if activated
}
static inline void handle_interrupts(const timer16_Sequence_t timer, volatile uint16_t* TCNTn, volatile uint16_t* OCRnA) {
int8_t cho = Channel[timer]; // Handle the prior Channel[timer] first
if (cho < 0) // Channel -1 indicates the refresh interval completed...
*TCNTn = 0; // ...so reset the timer
else if (SERVO_INDEX(timer, cho) < ServoCount) // prior channel handled?
extDigitalWrite(SERVO(timer, cho).Pin.nbr, LOW); // pulse the prior channel LOW
Channel[timer]++; // increment to the next channel
if (SERVO_INDEX(timer, Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) {
*OCRnA = *TCNTn + SERVO(timer, Channel[timer]).ticks;
if (SERVO(timer, Channel[timer]).Pin.isActive) // check if activated
extDigitalWrite(SERVO(timer, Channel[timer]).Pin.nbr, HIGH); // it's an active channel so pulse it high
Channel[timer] = ++cho; // Handle the next channel (or 0)
if (cho < SERVOS_PER_TIMER && SERVO_INDEX(timer, cho) < ServoCount) {
*OCRnA = *TCNTn + SERVO(timer, cho).ticks; // set compare to current ticks plus duration
if (SERVO(timer, cho).Pin.isActive) // activated?
extDigitalWrite(SERVO(timer, cho).Pin.nbr, HIGH); // yes: pulse HIGH
}
else {
// finished all channels so wait for the refresh period to expire before starting over
if (((unsigned)*TCNTn) + 4 < usToTicks(REFRESH_INTERVAL)) // allow a few ticks to ensure the next OCR1A not missed
*OCRnA = (unsigned int)usToTicks(REFRESH_INTERVAL);
else
*OCRnA = *TCNTn + 4; // at least REFRESH_INTERVAL has elapsed
Channel[timer] = -1; // this will get incremented at the end of the refresh period to start again at the first channel
const unsigned int cval = ((unsigned)*TCNTn) + 32 / (SERVO_TIMER_PRESCALER), // allow 32 cycles to ensure the next OCR1A not missed
ival = (unsigned int)usToTicks(REFRESH_INTERVAL); // at least REFRESH_INTERVAL has elapsed
*OCRnA = max(cval, ival);
Channel[timer] = -1; // reset the timer counter to 0 on the next call
}
}
@@ -123,91 +122,102 @@ static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t
/****************** end of static functions ******************************/
void initISR(timer16_Sequence_t timer) {
#ifdef _useTimer1
if (timer == _timer1) {
TCCR1A = 0; // normal counting mode
TCCR1B = _BV(CS11); // set prescaler of 8
TCNT1 = 0; // clear the timer count
#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__)
SBI(TIFR, OCF1A); // clear any pending interrupts;
SBI(TIMSK, OCIE1A); // enable the output compare interrupt
#else
// here if not ATmega8 or ATmega128
SBI(TIFR1, OCF1A); // clear any pending interrupts;
SBI(TIMSK1, OCIE1A); // enable the output compare interrupt
#endif
#ifdef WIRING
timerAttach(TIMER1OUTCOMPAREA_INT, Timer1Service);
#endif
}
#endif
void initISR(const timer16_Sequence_t timer_index) {
switch (timer_index) {
default: break;
#ifdef _useTimer3
if (timer == _timer3) {
TCCR3A = 0; // normal counting mode
TCCR3B = _BV(CS31); // set prescaler of 8
TCNT3 = 0; // clear the timer count
#ifdef __AVR_ATmega128__
SBI(TIFR, OCF3A); // clear any pending interrupts;
SBI(ETIMSK, OCIE3A); // enable the output compare interrupt
#else
SBI(TIFR3, OCF3A); // clear any pending interrupts;
SBI(TIMSK3, OCIE3A); // enable the output compare interrupt
#endif
#ifdef WIRING
timerAttach(TIMER3OUTCOMPAREA_INT, Timer3Service); // for Wiring platform only
#endif
}
#endif
#ifdef _useTimer1
case _timer1:
TCCR1A = 0; // normal counting mode
TCCR1B = _BV(CS11); // set prescaler of 8
TCNT1 = 0; // clear the timer count
#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__)
SBI(TIFR, OCF1A); // clear any pending interrupts;
SBI(TIMSK, OCIE1A); // enable the output compare interrupt
#else
// here if not ATmega8 or ATmega128
SBI(TIFR1, OCF1A); // clear any pending interrupts;
SBI(TIMSK1, OCIE1A); // enable the output compare interrupt
#endif
#ifdef WIRING
timerAttach(TIMER1OUTCOMPAREA_INT, Timer1Service);
#endif
break;
#endif
#ifdef _useTimer4
if (timer == _timer4) {
TCCR4A = 0; // normal counting mode
TCCR4B = _BV(CS41); // set prescaler of 8
TCNT4 = 0; // clear the timer count
TIFR4 = _BV(OCF4A); // clear any pending interrupts;
TIMSK4 = _BV(OCIE4A); // enable the output compare interrupt
}
#endif
#ifdef _useTimer3
case _timer3:
TCCR3A = 0; // normal counting mode
TCCR3B = _BV(CS31); // set prescaler of 8
TCNT3 = 0; // clear the timer count
#ifdef __AVR_ATmega128__
SBI(TIFR, OCF3A); // clear any pending interrupts;
SBI(ETIMSK, OCIE3A); // enable the output compare interrupt
#else
SBI(TIFR3, OCF3A); // clear any pending interrupts;
SBI(TIMSK3, OCIE3A); // enable the output compare interrupt
#endif
#ifdef WIRING
timerAttach(TIMER3OUTCOMPAREA_INT, Timer3Service); // for Wiring platform only
#endif
break;
#endif
#ifdef _useTimer5
if (timer == _timer5) {
TCCR5A = 0; // normal counting mode
TCCR5B = _BV(CS51); // set prescaler of 8
TCNT5 = 0; // clear the timer count
TIFR5 = _BV(OCF5A); // clear any pending interrupts;
TIMSK5 = _BV(OCIE5A); // enable the output compare interrupt
}
#endif
#ifdef _useTimer4
case _timer4:
TCCR4A = 0; // normal counting mode
TCCR4B = _BV(CS41); // set prescaler of 8
TCNT4 = 0; // clear the timer count
TIFR4 = _BV(OCF4A); // clear any pending interrupts;
TIMSK4 = _BV(OCIE4A); // enable the output compare interrupt
break;
#endif
#ifdef _useTimer5
case _timer5:
TCCR5A = 0; // normal counting mode
TCCR5B = _BV(CS51); // set prescaler of 8
TCNT5 = 0; // clear the timer count
TIFR5 = _BV(OCF5A); // clear any pending interrupts;
TIMSK5 = _BV(OCIE5A); // enable the output compare interrupt
break;
#endif
}
}
void finISR(timer16_Sequence_t timer) {
void finISR(const timer16_Sequence_t timer_index) {
// Disable use of the given timer
#ifdef WIRING
if (timer == _timer1) {
CBI(
#if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
TIMSK1
#else
TIMSK
#endif
, OCIE1A); // disable timer 1 output compare interrupt
timerDetach(TIMER1OUTCOMPAREA_INT);
}
else if (timer == _timer3) {
CBI(
#if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
TIMSK3
#else
ETIMSK
#endif
, OCIE3A); // disable the timer3 output compare A interrupt
timerDetach(TIMER3OUTCOMPAREA_INT);
switch (timer_index) {
default: break;
case _timer1:
CBI(
#if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
TIMSK1
#else
TIMSK
#endif
, OCIE1A // disable timer 1 output compare interrupt
);
timerDetach(TIMER1OUTCOMPAREA_INT);
break;
case _timer3:
CBI(
#if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
TIMSK3
#else
ETIMSK
#endif
, OCIE3A // disable the timer3 output compare A interrupt
);
timerDetach(TIMER3OUTCOMPAREA_INT);
break;
}
#else // !WIRING
// For arduino - in future: call here to a currently undefined function to reset the timer
UNUSED(timer);
UNUSED(timer_index);
#endif
}
+1 -1
View File
@@ -23,7 +23,7 @@
#include "../../inc/MarlinConfig.h"
#if EITHER(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
#if ANY(EEPROM_SETTINGS, SD_FIRMWARE_UPDATE)
/**
* PersistentStore for Arduino-style EEPROM interface
+75 -29
View File
@@ -120,7 +120,7 @@ void pciSetup(const int8_t pin) {
void setup_endstop_interrupts() {
#define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE)
#if HAS_X_MAX
#if USE_X_MAX
#if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MAX_PIN);
#else
@@ -128,7 +128,7 @@ void setup_endstop_interrupts() {
pciSetup(X_MAX_PIN);
#endif
#endif
#if HAS_X_MIN
#if USE_X_MIN
#if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MIN_PIN);
#else
@@ -136,7 +136,7 @@ void setup_endstop_interrupts() {
pciSetup(X_MIN_PIN);
#endif
#endif
#if HAS_Y_MAX
#if USE_Y_MAX
#if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MAX_PIN);
#else
@@ -144,7 +144,7 @@ void setup_endstop_interrupts() {
pciSetup(Y_MAX_PIN);
#endif
#endif
#if HAS_Y_MIN
#if USE_Y_MIN
#if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MIN_PIN);
#else
@@ -152,7 +152,7 @@ void setup_endstop_interrupts() {
pciSetup(Y_MIN_PIN);
#endif
#endif
#if HAS_Z_MAX
#if USE_Z_MAX
#if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MAX_PIN);
#else
@@ -160,7 +160,7 @@ void setup_endstop_interrupts() {
pciSetup(Z_MAX_PIN);
#endif
#endif
#if HAS_Z_MIN
#if USE_Z_MIN
#if (digitalPinToInterrupt(Z_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PIN);
#else
@@ -168,52 +168,97 @@ void setup_endstop_interrupts() {
pciSetup(Z_MIN_PIN);
#endif
#endif
#if HAS_I_MAX
#if USE_I_MAX
#if (digitalPinToInterrupt(I_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(I_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(I_MAX_PIN), "I_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(I_MAX_PIN), "I_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(I_MAX_PIN);
#endif
#elif HAS_I_MIN
#elif USE_I_MIN
#if (digitalPinToInterrupt(I_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(I_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(I_MIN_PIN), "I_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(I_MIN_PIN), "I_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(I_MIN_PIN);
#endif
#endif
#if HAS_J_MAX
#if USE_J_MAX
#if (digitalPinToInterrupt(J_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(J_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(J_MAX_PIN), "J_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(J_MAX_PIN), "J_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(J_MAX_PIN);
#endif
#elif HAS_J_MIN
#elif USE_J_MIN
#if (digitalPinToInterrupt(J_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(J_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(J_MIN_PIN), "J_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(J_MIN_PIN), "J_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(J_MIN_PIN);
#endif
#endif
#if HAS_K_MAX
#if USE_K_MAX
#if (digitalPinToInterrupt(K_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(K_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(K_MAX_PIN), "K_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(K_MAX_PIN), "K_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(K_MAX_PIN);
#endif
#elif HAS_K_MIN
#elif USE_K_MIN
#if (digitalPinToInterrupt(K_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(K_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(K_MIN_PIN), "K_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(K_MIN_PIN), "K_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(K_MIN_PIN);
#endif
#endif
#if HAS_X2_MAX
#if USE_U_MAX
#if (digitalPinToInterrupt(U_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(U_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(U_MAX_PIN), "U_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(U_MAX_PIN);
#endif
#elif USE_U_MIN
#if (digitalPinToInterrupt(U_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(U_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(U_MIN_PIN), "U_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(U_MIN_PIN);
#endif
#endif
#if USE_V_MAX
#if (digitalPinToInterrupt(V_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(V_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(V_MAX_PIN), "V_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(V_MAX_PIN);
#endif
#elif USE_V_MIN
#if (digitalPinToInterrupt(V_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(V_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(V_MIN_PIN), "V_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(V_MIN_PIN);
#endif
#endif
#if USE_W_MAX
#if (digitalPinToInterrupt(W_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(W_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(W_MAX_PIN), "W_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(W_MAX_PIN);
#endif
#elif USE_W_MIN
#if (digitalPinToInterrupt(W_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(W_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(W_MIN_PIN), "W_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(W_MIN_PIN);
#endif
#endif
#if USE_X2_MAX
#if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MAX_PIN);
#else
@@ -221,7 +266,7 @@ void setup_endstop_interrupts() {
pciSetup(X2_MAX_PIN);
#endif
#endif
#if HAS_X2_MIN
#if USE_X2_MIN
#if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MIN_PIN);
#else
@@ -229,7 +274,7 @@ void setup_endstop_interrupts() {
pciSetup(X2_MIN_PIN);
#endif
#endif
#if HAS_Y2_MAX
#if USE_Y2_MAX
#if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MAX_PIN);
#else
@@ -237,7 +282,7 @@ void setup_endstop_interrupts() {
pciSetup(Y2_MAX_PIN);
#endif
#endif
#if HAS_Y2_MIN
#if USE_Y2_MIN
#if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MIN_PIN);
#else
@@ -245,7 +290,7 @@ void setup_endstop_interrupts() {
pciSetup(Y2_MIN_PIN);
#endif
#endif
#if HAS_Z2_MAX
#if USE_Z2_MAX
#if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MAX_PIN);
#else
@@ -253,7 +298,7 @@ void setup_endstop_interrupts() {
pciSetup(Z2_MAX_PIN);
#endif
#endif
#if HAS_Z2_MIN
#if USE_Z2_MIN
#if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MIN_PIN);
#else
@@ -261,7 +306,7 @@ void setup_endstop_interrupts() {
pciSetup(Z2_MIN_PIN);
#endif
#endif
#if HAS_Z3_MAX
#if USE_Z3_MAX
#if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MAX_PIN);
#else
@@ -269,7 +314,7 @@ void setup_endstop_interrupts() {
pciSetup(Z3_MAX_PIN);
#endif
#endif
#if HAS_Z3_MIN
#if USE_Z3_MIN
#if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MIN_PIN);
#else
@@ -277,7 +322,7 @@ void setup_endstop_interrupts() {
pciSetup(Z3_MIN_PIN);
#endif
#endif
#if HAS_Z4_MAX
#if USE_Z4_MAX
#if (digitalPinToInterrupt(Z4_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MAX_PIN);
#else
@@ -285,7 +330,7 @@ void setup_endstop_interrupts() {
pciSetup(Z4_MAX_PIN);
#endif
#endif
#if HAS_Z4_MIN
#if USE_Z4_MIN
#if (digitalPinToInterrupt(Z4_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MIN_PIN);
#else
@@ -293,7 +338,7 @@ void setup_endstop_interrupts() {
pciSetup(Z4_MIN_PIN);
#endif
#endif
#if HAS_Z_MIN_PROBE_PIN
#if USE_Z_MIN_PROBE
#if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PROBE_PIN);
#else
@@ -301,5 +346,6 @@ void setup_endstop_interrupts() {
pciSetup(Z_MIN_PROBE_PIN);
#endif
#endif
// If we arrive here without raising an assertion, each pin has either an EXT-interrupt or a PCI.
}
+152 -195
View File
@@ -21,11 +21,11 @@
*/
#ifdef __AVR__
#include "../../inc/MarlinConfigPre.h"
#include "../../inc/MarlinConfig.h"
#if NEEDS_HARDWARE_PWM // Specific meta-flag for features that mandate PWM
#include "HAL.h"
//#define DEBUG_AVR_FAST_PWM
#define DEBUG_OUT ENABLED(DEBUG_AVR_FAST_PWM)
#include "../../core/debug_out.h"
struct Timer {
volatile uint8_t* TCCRnQ[3]; // max 3 TCCR registers per timer
@@ -33,250 +33,207 @@ struct Timer {
volatile uint16_t* ICRn; // max 1 ICR register per timer
uint8_t n; // the timer number [0->5]
uint8_t q; // the timer output [0->2] (A->C)
bool isPWM; // True if pin is a "hardware timer"
bool isProtected; // True if timer is protected
};
// Macros for the Timer structure
#define _SET_WGMnQ(T, V) do{ \
*(T.TCCRnQ)[0] = (*(T.TCCRnQ)[0] & ~(0x3 << 0)) | (( int(V) & 0x3) << 0); \
*(T.TCCRnQ)[1] = (*(T.TCCRnQ)[1] & ~(0x3 << 3)) | (((int(V) >> 2) & 0x3) << 3); \
}while(0)
// Set TCCR CS bits
#define _SET_CSn(T, V) (*(T.TCCRnQ)[1] = (*(T.TCCRnQ[1]) & ~(0x7 << 0)) | ((int(V) & 0x7) << 0))
// Set TCCR COM bits
#define _SET_COMnQ(T, Q, V) (*(T.TCCRnQ)[0] = (*(T.TCCRnQ)[0] & ~(0x3 << (6-2*(Q)))) | (int(V) << (6-2*(Q))))
// Set OCRnQ register
#define _SET_OCRnQ(T, Q, V) (*(T.OCRnQ)[Q] = int(V) & 0xFFFF)
// Set ICRn register (one per timer)
#define _SET_ICRn(T, V) (*(T.ICRn) = int(V) & 0xFFFF)
/**
* get_pwm_timer
* Get the timer information and register of the provided pin.
* Return a Timer struct containing this information.
* Used by set_pwm_frequency, set_pwm_duty
* Return a Timer struct describing a pin's timer.
*/
Timer get_pwm_timer(const pin_t pin) {
const Timer get_pwm_timer(const pin_t pin) {
uint8_t q = 0;
switch (digitalPinToTimer(pin)) {
// Protect reserved timers (TIMER0 & TIMER1)
#ifdef TCCR0A
#if !AVR_AT90USB1286_FAMILY
case TIMER0A:
#endif
case TIMER0B:
IF_DISABLED(AVR_AT90USB1286_FAMILY, case TIMER0A:)
#endif
#ifdef TCCR1A
case TIMER1A: case TIMER1B:
#endif
break;
#if defined(TCCR2) || defined(TCCR2A)
#ifdef TCCR2
case TIMER2: {
Timer timer = {
/*TCCRnQ*/ { &TCCR2, nullptr, nullptr },
/*OCRnQ*/ { (uint16_t*)&OCR2, nullptr, nullptr },
/*ICRn*/ nullptr,
/*n, q*/ 2, 0
};
}
#elif defined(TCCR2A)
#if ENABLED(USE_OCR2A_AS_TOP)
case TIMER2A: break; // protect TIMER2A
case TIMER2B: {
Timer timer = {
/*TCCRnQ*/ { &TCCR2A, &TCCR2B, nullptr },
/*OCRnQ*/ { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr },
/*ICRn*/ nullptr,
/*n, q*/ 2, 1
};
return timer;
}
#else
case TIMER2B: ++q;
case TIMER2A: {
Timer timer = {
/*TCCRnQ*/ { &TCCR2A, &TCCR2B, nullptr },
/*OCRnQ*/ { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr },
/*ICRn*/ nullptr,
2, q
};
return timer;
}
#endif
#endif
break; // Protect reserved timers (TIMER0 & TIMER1)
#ifdef TCCR0A
case TIMER0B: // Protected timer, but allow setting the duty cycle on OCR0B for pin D4 only
return Timer({ { &TCCR0A, nullptr, nullptr }, { (uint16_t*)&OCR0A, (uint16_t*)&OCR0B, nullptr }, nullptr, 0, 1, true, true });
#endif
#if HAS_TCCR2
case TIMER2:
return Timer({ { &TCCR2, nullptr, nullptr }, { (uint16_t*)&OCR2, nullptr, nullptr }, nullptr, 2, 0, true, false });
#elif ENABLED(USE_OCR2A_AS_TOP)
case TIMER2A: break; // Protect TIMER2A since its OCR is used by TIMER2B
case TIMER2B:
return Timer({ { &TCCR2A, &TCCR2B, nullptr }, { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr }, nullptr, 2, 1, true, false });
#elif defined(TCCR2A)
case TIMER2B: ++q; case TIMER2A:
return Timer({ { &TCCR2A, &TCCR2B, nullptr }, { (uint16_t*)&OCR2A, (uint16_t*)&OCR2B, nullptr }, nullptr, 2, q, true, false });
#endif
#ifdef OCR3C
case TIMER3C: ++q;
case TIMER3B: ++q;
case TIMER3A: {
Timer timer = {
/*TCCRnQ*/ { &TCCR3A, &TCCR3B, &TCCR3C },
/*OCRnQ*/ { &OCR3A, &OCR3B, &OCR3C },
/*ICRn*/ &ICR3,
/*n, q*/ 3, q
};
return timer;
}
case TIMER3C: ++q; case TIMER3B: ++q; case TIMER3A:
return Timer({ { &TCCR3A, &TCCR3B, &TCCR3C }, { &OCR3A, &OCR3B, &OCR3C }, &ICR3, 3, q, true, false });
#elif defined(OCR3B)
case TIMER3B: ++q;
case TIMER3A: {
Timer timer = {
/*TCCRnQ*/ { &TCCR3A, &TCCR3B, nullptr },
/*OCRnQ*/ { &OCR3A, &OCR3B, nullptr },
/*ICRn*/ &ICR3,
/*n, q*/ 3, q
};
return timer;
}
case TIMER3B: ++q; case TIMER3A:
return Timer({ { &TCCR3A, &TCCR3B, nullptr }, { &OCR3A, &OCR3B, nullptr }, &ICR3, 3, q, true, false });
#endif
#ifdef TCCR4A
case TIMER4C: ++q;
case TIMER4B: ++q;
case TIMER4A: {
Timer timer = {
/*TCCRnQ*/ { &TCCR4A, &TCCR4B, &TCCR4C },
/*OCRnQ*/ { &OCR4A, &OCR4B, &OCR4C },
/*ICRn*/ &ICR4,
/*n, q*/ 4, q
};
return timer;
}
case TIMER4C: ++q; case TIMER4B: ++q; case TIMER4A:
return Timer({ { &TCCR4A, &TCCR4B, &TCCR4C }, { &OCR4A, &OCR4B, &OCR4C }, &ICR4, 4, q, true, false });
#endif
#ifdef TCCR5A
case TIMER5C: ++q;
case TIMER5B: ++q;
case TIMER5A: {
Timer timer = {
/*TCCRnQ*/ { &TCCR5A, &TCCR5B, &TCCR5C },
/*OCRnQ*/ { &OCR5A, &OCR5B, &OCR5C },
/*ICRn*/ &ICR5,
/*n, q*/ 5, q
};
return timer;
}
case TIMER5C: ++q; case TIMER5B: ++q; case TIMER5A:
return Timer({ { &TCCR5A, &TCCR5B, &TCCR5C }, { &OCR5A, &OCR5B, &OCR5C }, &ICR5, 5, q, true, false });
#endif
}
Timer timer = {
/*TCCRnQ*/ { nullptr, nullptr, nullptr },
/*OCRnQ*/ { nullptr, nullptr, nullptr },
/*ICRn*/ nullptr,
0, 0
};
return timer;
return Timer();
}
void set_pwm_frequency(const pin_t pin, int f_desired) {
Timer timer = get_pwm_timer(pin);
if (timer.n == 0) return; // Don't proceed if protected timer or not recognised
uint16_t size;
if (timer.n == 2) size = 255; else size = 65535;
void MarlinHAL::set_pwm_frequency(const pin_t pin, const uint16_t f_desired) {
DEBUG_ECHOLNPGM("set_pwm_frequency(pin=", pin, ", freq=", f_desired, ")");
const Timer timer = get_pwm_timer(pin);
if (timer.isProtected || !timer.isPWM) return; // Don't proceed if protected timer or not recognized
uint16_t res = 255; // resolution (TOP value)
uint8_t j = 0; // prescaler index
uint8_t wgm = 1; // waveform generation mode
const bool is_timer2 = timer.n == 2;
const uint16_t maxtop = is_timer2 ? 0xFF : 0xFFFF;
DEBUG_ECHOLNPGM("maxtop=", maxtop);
uint16_t res = 0xFF; // resolution (TOP value)
uint8_t j = CS_NONE; // prescaler index
uint8_t wgm = WGM_PWM_PC_8; // waveform generation mode
// Calculating the prescaler and resolution to use to achieve closest frequency
if (f_desired != 0) {
int f = (F_CPU) / (2 * 1024 * size) + 1; // Initialize frequency as lowest (non-zero) achievable
uint16_t prescaler[] = { 0, 1, 8, /*TIMER2 ONLY*/32, 64, /*TIMER2 ONLY*/128, 256, 1024 };
constexpr uint16_t prescaler[] = { 1, 8, (32), 64, (128), 256, 1024 }; // (*) are Timer 2 only
uint16_t f = (F_CPU) / (uint32_t(maxtop) << 11) + 1; // Start with the lowest non-zero frequency achievable (for 16MHz, 1 or 31)
// loop over prescaler values
LOOP_S_L_N(i, 1, 8) {
uint16_t res_temp_fast = 255, res_temp_phase_correct = 255;
if (timer.n == 2) {
// No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP
#if ENABLED(USE_OCR2A_AS_TOP)
const uint16_t rtf = (F_CPU) / (prescaler[i] * f_desired);
res_temp_fast = rtf - 1;
res_temp_phase_correct = rtf / 2;
DEBUG_ECHOLNPGM("f=", f);
DEBUG_ECHOLNPGM("(prescaler loop)");
for (uint8_t i = 0; i < COUNT(prescaler); ++i) { // Loop through all prescaler values
const uint32_t p = prescaler[i]; // Extend to 32 bits for calculations
DEBUG_ECHOLNPGM("prescaler[", i, "]=", p);
uint16_t res_fast_temp, res_pc_temp;
if (is_timer2) {
#if ENABLED(USE_OCR2A_AS_TOP) // No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP
const uint16_t rft = (F_CPU) / (p * f_desired);
res_fast_temp = rft - 1;
res_pc_temp = rft / 2;
DEBUG_ECHOLNPGM("(Timer2) res_fast_temp=", res_fast_temp, " res_pc_temp=", res_pc_temp);
#else
res_fast_temp = res_pc_temp = maxtop;
DEBUG_ECHOLNPGM("(Timer2) res_fast_temp=", maxtop, " res_pc_temp=", maxtop);
#endif
}
else {
// Skip TIMER2 specific prescalers when not TIMER2
if (i == 3 || i == 5) continue;
const uint16_t rtf = (F_CPU) / (prescaler[i] * f_desired);
res_temp_fast = rtf - 1;
res_temp_phase_correct = rtf / 2;
if (p == 32 || p == 128) continue; // Skip TIMER2 specific prescalers when not TIMER2
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);
res_fast_temp = rft - 1;
res_pc_temp = rft / 2;
}
LIMIT(res_temp_fast, 1U, size);
LIMIT(res_temp_phase_correct, 1U, size);
LIMIT(res_fast_temp, 1U, maxtop);
LIMIT(res_pc_temp, 1U, maxtop);
// Calculate frequencies of test prescaler and resolution values
const int f_temp_fast = (F_CPU) / (prescaler[i] * (1 + res_temp_fast)),
f_temp_phase_correct = (F_CPU) / (2 * prescaler[i] * res_temp_phase_correct),
f_diff = ABS(f - f_desired),
f_fast_diff = ABS(f_temp_fast - f_desired),
f_phase_diff = ABS(f_temp_phase_correct - f_desired);
const uint16_t f_fast_temp = (F_CPU) / (p * (1 + res_fast_temp)),
f_pc_temp = (F_CPU) / ((p * res_pc_temp) << 1),
f_diff = _MAX(f, f_desired) - _MIN(f, f_desired),
f_fast_diff = _MAX(f_fast_temp, f_desired) - _MIN(f_fast_temp, f_desired),
f_pc_diff = _MAX(f_pc_temp, f_desired) - _MIN(f_pc_temp, f_desired);
// If FAST values are closest to desired f
if (f_fast_diff < f_diff && f_fast_diff <= f_phase_diff) {
// Remember this combination
f = f_temp_fast;
res = res_temp_fast;
j = i;
DEBUG_ECHOLNPGM("f_fast_temp=", f_fast_temp, " f_pc_temp=", f_pc_temp, " f_diff=", f_diff, " f_fast_diff=", f_fast_diff, " f_pc_diff=", f_pc_diff);
if (f_fast_diff < f_diff && f_fast_diff <= f_pc_diff) { // FAST values are closest to desired f
// Set the Wave Generation Mode to FAST PWM
if (timer.n == 2) {
wgm = (
#if ENABLED(USE_OCR2A_AS_TOP)
WGM2_FAST_PWM_OCR2A
#else
WGM2_FAST_PWM
#endif
);
}
else wgm = WGM_FAST_PWM_ICRn;
wgm = is_timer2 ? uint8_t(TERN(USE_OCR2A_AS_TOP, WGM2_FAST_PWM_OCR2A, WGM2_FAST_PWM)) : uint8_t(WGM_FAST_PWM_ICRn);
// Remember this combination
f = f_fast_temp; res = res_fast_temp; j = i + 1;
DEBUG_ECHOLNPGM("(FAST) updated f=", f);
}
// If PHASE CORRECT values are closes to desired f
else if (f_phase_diff < f_diff) {
f = f_temp_phase_correct;
res = res_temp_phase_correct;
j = i;
else if (f_pc_diff < f_diff) { // PHASE CORRECT values are closes to desired f
// Set the Wave Generation Mode to PWM PHASE CORRECT
if (timer.n == 2) {
wgm = (
#if ENABLED(USE_OCR2A_AS_TOP)
WGM2_PWM_PC_OCR2A
#else
WGM2_PWM_PC
#endif
);
}
else wgm = WGM_PWM_PC_ICRn;
wgm = is_timer2 ? uint8_t(TERN(USE_OCR2A_AS_TOP, WGM2_PWM_PC_OCR2A, WGM2_PWM_PC)) : uint8_t(WGM_PWM_PC_ICRn);
f = f_pc_temp; res = res_pc_temp; j = i + 1;
DEBUG_ECHOLNPGM("(PHASE) updated f=", f);
}
}
} // prescaler loop
}
_SET_WGMnQ(timer.TCCRnQ, wgm);
_SET_CSn(timer.TCCRnQ, j);
if (timer.n == 2) {
#if ENABLED(USE_OCR2A_AS_TOP)
_SET_OCRnQ(timer.OCRnQ, 0, res); // Set OCR2A value (TOP) = res
#endif
_SET_WGMnQ(timer, wgm);
_SET_CSn(timer, j);
if (is_timer2) {
TERN_(USE_OCR2A_AS_TOP, _SET_OCRnQ(timer, 0, res)); // Set OCR2A value (TOP) = res
}
else
_SET_ICRn(timer.ICRn, res); // Set ICRn value (TOP) = res
_SET_ICRn(timer, res); // Set ICRn value (TOP) = res
}
void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size/*=255*/, const bool invert/*=false*/) {
void MarlinHAL::set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size/*=255*/, const bool invert/*=false*/) {
// If v is 0 or v_size (max), digitalWrite to LOW or HIGH.
// Note that digitalWrite also disables pwm output for us (sets COM bit to 0)
// Note that digitalWrite also disables PWM output for us (sets COM bit to 0)
if (v == 0)
digitalWrite(pin, invert);
else if (v == v_size)
digitalWrite(pin, !invert);
else {
Timer timer = get_pwm_timer(pin);
if (timer.n == 0) return; // Don't proceed if protected timer or not recognised
// Set compare output mode to CLEAR -> SET or SET -> CLEAR (if inverted)
_SET_COMnQ(timer.TCCRnQ, (timer.q
#ifdef TCCR2
+ (timer.q == 2) // COM20 is on bit 4 of TCCR2, thus requires q + 1 in the macro
#endif
), COM_CLEAR_SET + invert
);
uint16_t top;
if (timer.n == 2) { // if TIMER2
top = (
#if ENABLED(USE_OCR2A_AS_TOP)
*timer.OCRnQ[0] // top = OCR2A
#else
255 // top = 0xFF (max)
#endif
);
const Timer timer = get_pwm_timer(pin);
if (timer.isPWM) {
if (timer.n == 0) {
_SET_COMnQ(timer, timer.q, COM_CLEAR_SET); // Only allow a TIMER0B select...
_SET_OCRnQ(timer, timer.q, v); // ...and OCR0B duty update. For output pin D4 no frequency changes are permitted.
}
else if (!timer.isProtected) {
const uint16_t top = timer.n == 2 ? TERN(USE_OCR2A_AS_TOP, *timer.OCRnQ[0], 255) : *timer.ICRn;
_SET_COMnQ(timer, SUM_TERN(HAS_TCCR2, timer.q, timer.q == 2), COM_CLEAR_SET + invert); // COM20 is on bit 4 of TCCR2, so +1 for q==2
_SET_OCRnQ(timer, timer.q, uint16_t(uint32_t(v) * top / v_size)); // Scale 8/16-bit v to top value
}
}
else
top = *timer.ICRn; // top = ICRn
_SET_OCRnQ(timer.OCRnQ, timer.q, v * float(top) / float(v_size)); // Scale 8/16-bit v to top value
digitalWrite(pin, v < v_size / 2 ? LOW : HIGH);
}
}
#endif // NEEDS_HARDWARE_PWM
void MarlinHAL::init_pwm_timers() {
// Init some timer frequencies to a default 1KHz
const pin_t pwm_pin[] = {
#ifdef __AVR_ATmega2560__
10, 5, 6, 46
#elif defined(__AVR_ATmega1280__)
12, 31
#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega1284__)
15, 6
#elif defined(__AVR_AT90USB1286__) || defined(__AVR_mega64) || defined(__AVR_mega128)
16, 24
#endif
};
for (uint8_t i = 0; i < COUNT(pwm_pin); ++i)
set_pwm_frequency(pwm_pin[i], 1000);
}
#endif // __AVR__
+8 -8
View File
@@ -245,7 +245,7 @@ uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb
float count = 0;
if (hz > 0 && (dca || dcb || dcc)) {
count = float(F_CPU) / hz; // 1x prescaler, TOP for 16MHz base freq.
uint16_t prescaler; // Range of 30.5Hz (65535) 64.5KHz (>31)
uint16_t prescaler; // Range of 30.5Hz (65535) 64.5kHz (>31)
if (count >= 255. * 256.) { prescaler = 1024; SET_CS(5, PRESCALER_1024); }
else if (count >= 255. * 64.) { prescaler = 256; SET_CS(5, PRESCALER_256); }
@@ -257,7 +257,7 @@ uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb
const float pwm_top = round(count); // Get the rounded count
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
OCR5B = pwm_top * ABS(dcb);
OCR5C = pwm_top * ABS(dcc);
_SET_COM(5, A, dca ? (dca < 0 ? COM_SET_CLEAR : COM_CLEAR_SET) : COM_NORMAL); // Set compare modes
@@ -267,17 +267,17 @@ uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb
SET_WGM(5, FAST_PWM_ICRn); // Fast PWM with ICR5 as TOP
//SERIAL_ECHOLNPGM("Timer 5 Settings:");
//SERIAL_ECHOLNPAIR(" Prescaler=", prescaler);
//SERIAL_ECHOLNPAIR(" TOP=", ICR5);
//SERIAL_ECHOLNPAIR(" OCR5A=", OCR5A);
//SERIAL_ECHOLNPAIR(" OCR5B=", OCR5B);
//SERIAL_ECHOLNPAIR(" OCR5C=", OCR5C);
//SERIAL_ECHOLNPGM(" Prescaler=", prescaler);
//SERIAL_ECHOLNPGM(" TOP=", ICR5);
//SERIAL_ECHOLNPGM(" OCR5A=", OCR5A);
//SERIAL_ECHOLNPGM(" OCR5B=", OCR5B);
//SERIAL_ECHOLNPGM(" OCR5C=", OCR5C);
}
else {
// Restore the default for Timer 5
SET_WGM(5, PWM_PC_8); // PWM 8-bit (Phase Correct)
SET_COMS(5, NORMAL, NORMAL, NORMAL); // Do nothing
SET_CS(5, PRESCALER_64); // 16MHz / 64 = 250KHz
SET_CS(5, PRESCALER_64); // 16MHz / 64 = 250kHz
OCR5A = OCR5B = OCR5C = 0;
}
return round(count);
+21 -122
View File
@@ -118,7 +118,7 @@
*/
// Waveform Generation Modes
enum WaveGenMode : char {
enum WaveGenMode : uint8_t {
WGM_NORMAL, // 0
WGM_PWM_PC_8, // 1
WGM_PWM_PC_9, // 2
@@ -138,19 +138,19 @@ enum WaveGenMode : char {
};
// Wavefore Generation Modes (Timer 2 only)
enum WaveGenMode2 : char {
WGM2_NORMAL, // 0
WGM2_PWM_PC, // 1
WGM2_CTC_OCR2A, // 2
WGM2_FAST_PWM, // 3
WGM2_reserved_1, // 4
WGM2_PWM_PC_OCR2A, // 5
WGM2_reserved_2, // 6
WGM2_FAST_PWM_OCR2A, // 7
enum WaveGenMode2 : uint8_t {
WGM2_NORMAL, // 0
WGM2_PWM_PC, // 1
WGM2_CTC_OCR2A, // 2
WGM2_FAST_PWM, // 3
WGM2_reserved_1, // 4
WGM2_PWM_PC_OCR2A, // 5
WGM2_reserved_2, // 6
WGM2_FAST_PWM_OCR2A, // 7
};
// Compare Modes
enum CompareMode : char {
enum CompareMode : uint8_t {
COM_NORMAL, // 0
COM_TOGGLE, // 1 Non-PWM: OCnx ... Both PWM (WGM 9,11,14,15): OCnA only ... else NORMAL
COM_CLEAR_SET, // 2 Non-PWM: OCnx ... Fast PWM: OCnx/Bottom ... PF-FC: OCnx Up/Down
@@ -158,7 +158,7 @@ enum CompareMode : char {
};
// Clock Sources
enum ClockSource : char {
enum ClockSource : uint8_t {
CS_NONE, // 0
CS_PRESCALER_1, // 1
CS_PRESCALER_8, // 2
@@ -170,7 +170,7 @@ enum ClockSource : char {
};
// Clock Sources (Timer 2 only)
enum ClockSource2 : char {
enum ClockSource2 : uint8_t {
CS2_NONE, // 0
CS2_PRESCALER_1, // 1
CS2_PRESCALER_8, // 2
@@ -203,40 +203,33 @@ enum ClockSource2 : char {
TCCR##T##B = (TCCR##T##B & ~(0x3 << WGM##T##2)) | (((int(V) >> 2) & 0x3) << WGM##T##2); \
}while(0)
#define SET_WGM(T,V) _SET_WGM(T,WGM_##V)
// Runtime (see set_pwm_frequency):
#define _SET_WGMnQ(TCCRnQ, V) do{ \
*(TCCRnQ)[0] = (*(TCCRnQ)[0] & ~(0x3 << 0)) | (( int(V) & 0x3) << 0); \
*(TCCRnQ)[1] = (*(TCCRnQ)[1] & ~(0x3 << 3)) | (((int(V) >> 2) & 0x3) << 3); \
}while(0)
// Set Clock Select bits
// Ex: SET_CS3(PRESCALER_64);
#ifdef TCCR2
#define HAS_TCCR2 1
#endif
#define _SET_CS(T,V) (TCCR##T##B = (TCCR##T##B & ~(0x7 << CS##T##0)) | ((int(V) & 0x7) << CS##T##0))
#define _SET_CS0(V) _SET_CS(0,V)
#define _SET_CS1(V) _SET_CS(1,V)
#ifdef TCCR2
#define _SET_CS2(V) (TCCR2 = (TCCR2 & ~(0x7 << CS20)) | (int(V) << CS20))
#else
#define _SET_CS2(V) _SET_CS(2,V)
#endif
#define _SET_CS3(V) _SET_CS(3,V)
#define _SET_CS4(V) _SET_CS(4,V)
#define _SET_CS5(V) _SET_CS(5,V)
#define SET_CS0(V) _SET_CS0(CS_##V)
#define SET_CS1(V) _SET_CS1(CS_##V)
#ifdef TCCR2
#if HAS_TCCR2
#define _SET_CS2(V) (TCCR2 = (TCCR2 & ~(0x7 << CS20)) | (int(V) << CS20))
#define SET_CS2(V) _SET_CS2(CS2_##V)
#else
#define _SET_CS2(V) _SET_CS(2,V)
#define SET_CS2(V) _SET_CS2(CS_##V)
#endif
#define SET_CS3(V) _SET_CS3(CS_##V)
#define SET_CS4(V) _SET_CS4(CS_##V)
#define SET_CS5(V) _SET_CS5(CS_##V)
#define SET_CS(T,V) SET_CS##T(V)
// Runtime (see set_pwm_frequency)
#define _SET_CSn(TCCRnQ, V) do{ \
(*(TCCRnQ)[1] = (*(TCCRnQ[1]) & ~(0x7 << 0)) | ((int(V) & 0x7) << 0)); \
}while(0)
// Set Compare Mode bits
// Ex: SET_COMS(4,CLEAR_SET,CLEAR_SET,CLEAR_SET);
@@ -246,22 +239,6 @@ enum ClockSource2 : char {
#define SET_COMB(T,V) SET_COM(T,B,V)
#define SET_COMC(T,V) SET_COM(T,C,V)
#define SET_COMS(T,V1,V2,V3) do{ SET_COMA(T,V1); SET_COMB(T,V2); SET_COMC(T,V3); }while(0)
// Runtime (see set_pwm_duty)
#define _SET_COMnQ(TCCRnQ, Q, V) do{ \
(*(TCCRnQ)[0] = (*(TCCRnQ)[0] & ~(0x3 << (6-2*(Q)))) | (int(V) << (6-2*(Q)))); \
}while(0)
// Set OCRnQ register
// Runtime (see set_pwm_duty):
#define _SET_OCRnQ(OCRnQ, Q, V) do{ \
(*(OCRnQ)[(Q)] = (0x0000) | (int(V) & 0xFFFF)); \
}while(0)
// Set ICRn register (one per timer)
// Runtime (see set_pwm_frequency)
#define _SET_ICRn(ICRn, V) do{ \
(*(ICRn) = (0x0000) | (int(V) & 0xFFFF)); \
}while(0)
// Set Noise Canceler bit
// Ex: SET_ICNC(2,1)
@@ -278,84 +255,6 @@ enum ClockSource2 : char {
#define SET_FOCB(T,V) SET_FOC(T,B,V)
#define SET_FOCC(T,V) SET_FOC(T,C,V)
#if 0
/**
* PWM availability macros
*/
// Determine which hardware PWMs are already in use
#define _PWM_CHK_FAN_B(P) (P == E0_AUTO_FAN_PIN || P == E1_AUTO_FAN_PIN || P == E2_AUTO_FAN_PIN || P == E3_AUTO_FAN_PIN || P == E4_AUTO_FAN_PIN || P == E5_AUTO_FAN_PIN || P == E6_AUTO_FAN_PIN || P == E7_AUTO_FAN_PIN || P == CHAMBER_AUTO_FAN_PIN || P == COOLER_AUTO_FAN_PIN)
#if PIN_EXISTS(CONTROLLER_FAN)
#define PWM_CHK_FAN_B(P) (_PWM_CHK_FAN_B(P) || P == CONTROLLER_FAN_PIN)
#else
#define PWM_CHK_FAN_B(P) _PWM_CHK_FAN_B(P)
#endif
#if ANY_PIN(FAN, FAN1, FAN2, FAN3, FAN4, FAN5, FAN6, FAN7)
#if PIN_EXISTS(FAN7)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN || P == FAN5_PIN || P == FAN6_PIN || P == FAN7_PIN)
#elif PIN_EXISTS(FAN6)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN || P == FAN5_PIN || P == FAN6_PIN)
#elif PIN_EXISTS(FAN5)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN || P == FAN5_PIN)
#elif PIN_EXISTS(FAN4)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN || P == FAN4_PIN)
#elif PIN_EXISTS(FAN3)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN || P == FAN3_PIN)
#elif PIN_EXISTS(FAN2)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN || P == FAN2_PIN)
#elif PIN_EXISTS(FAN1)
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN || P == FAN1_PIN)
#else
#define PWM_CHK_FAN_A(P) (P == FAN0_PIN)
#endif
#else
#define PWM_CHK_FAN_A(P) false
#endif
#if HAS_MOTOR_CURRENT_PWM
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_Z || P == MOTOR_CURRENT_PWM_XY)
#elif PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_Z)
#else
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E)
#endif
#else
#define PWM_CHK_MOTOR_CURRENT(P) false
#endif
#ifdef NUM_SERVOS
#if AVR_ATmega2560_FAMILY
#define PWM_CHK_SERVO(P) (P == 5 || (NUM_SERVOS > 12 && P == 6) || (NUM_SERVOS > 24 && P == 46)) // PWMS 3A, 4A & 5A
#elif AVR_ATmega2561_FAMILY
#define PWM_CHK_SERVO(P) (P == 5) // PWM3A
#elif AVR_ATmega1284_FAMILY
#define PWM_CHK_SERVO(P) false
#elif AVR_AT90USB1286_FAMILY
#define PWM_CHK_SERVO(P) (P == 16) // PWM3A
#elif AVR_ATmega328_FAMILY
#define PWM_CHK_SERVO(P) false
#endif
#else
#define PWM_CHK_SERVO(P) false
#endif
#if ENABLED(BARICUDA)
#if HAS_HEATER_1 && HAS_HEATER_2
#define PWM_CHK_HEATER(P) (P == HEATER_1_PIN || P == HEATER_2_PIN)
#elif HAS_HEATER_1
#define PWM_CHK_HEATER(P) (P == HEATER_1_PIN)
#endif
#else
#define PWM_CHK_HEATER(P) false
#endif
#define PWM_CHK(P) (PWM_CHK_HEATER(P) || PWM_CHK_SERVO(P) || PWM_CHK_MOTOR_CURRENT(P) || PWM_CHK_FAN_A(P) || PWM_CHK_FAN_B(P))
#endif // PWM_CHK is not used in Marlin
// define which hardware PWMs are available for the current CPU
// all timer 1 PWMS deleted from this list because they are never available
#if AVR_ATmega2560_FAMILY
+27 -26
View File
@@ -27,43 +27,44 @@
* Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
* 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
* 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"
// change for your board
#define DEBUG_LED DIO21
// UART
#define RXD DIO0
#define TXD DIO1
#define RXD 0
#define TXD 1
// SPI
#define SCK DIO52
#define MISO DIO50
#define MOSI DIO51
#define SS DIO53
#define MISO 50
#define MOSI 51
#define SCK 52
#define SS 53
// TWI (I2C)
#define SCL DIO21
#define SDA DIO20
#define SCL 21
#define SDA 20
// Timers and PWM
#define OC0A DIO13
#define OC0B DIO4
#define OC1A DIO11
#define OC1B DIO12
#define OC2A DIO10
#define OC2B DIO9
#define OC3A DIO5
#define OC3B DIO2
#define OC3C DIO3
#define OC4A DIO6
#define OC4B DIO7
#define OC4C DIO8
#define OC5A DIO46
#define OC5B DIO45
#define OC5C DIO44
#define OC0A 13
#define OC0B 4
#define OC1A 11
#define OC1B 12
#define OC2A 10
#define OC2B 9
#define OC3A 5
#define OC3B 2
#define OC3C 3
#define OC4A 6
#define OC4B 7
#define OC4C 8
#define OC5A 46
#define OC5B 45
#define OC5C 44
// Digital I/O
+19 -19
View File
@@ -26,36 +26,36 @@
*
* 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
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/
#include "../fastio.h"
// change for your board
#define DEBUG_LED DIO46
// UART
#define RXD DIO0
#define TXD DIO1
#define RXD 0
#define TXD 1
// SPI
#define SCK DIO10
#define MISO DIO12
#define MOSI DIO11
#define SS DIO16
#define SCK 10
#define MISO 12
#define MOSI 11
#define SS 16
// TWI (I2C)
#define SCL DIO17
#define SDA DIO18
#define SCL 17
#define SDA 18
// Timers and PWM
#define OC0A DIO9
#define OC0B DIO4
#define OC1A DIO7
#define OC1B DIO8
#define OC2A DIO6
#define OC3A DIO5
#define OC3B DIO2
#define OC3C DIO3
#define OC0A 9
#define OC0B 4
#define OC1A 7
#define OC1B 8
#define OC2A 6
#define OC3A 5
#define OC3B 2
#define OC3C 3
// Digital I/O
+15 -14
View File
@@ -26,33 +26,34 @@
*
* 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
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/
#include "../fastio.h"
#define DEBUG_LED AIO5
// UART
#define RXD DIO0
#define TXD DIO1
#define RXD 0
#define TXD 1
// SPI
#define SCK DIO13
#define MISO DIO12
#define MOSI DIO11
#define SS DIO10
#define SS 10
#define MOSI 11
#define MISO 12
#define SCK 13
// TWI (I2C)
#define SCL AIO5
#define SDA AIO4
// Timers and PWM
#define OC0A DIO6
#define OC0B DIO5
#define OC1A DIO9
#define OC1B DIO10
#define OC2A DIO11
#define OC2B DIO3
#define OC0A 6
#define OC0B 5
#define OC1A 9
#define OC1B 10
#define OC2A 11
#define OC2B 3
// Digital I/O
+21 -20
View File
@@ -26,6 +26,9 @@
*
* 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
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/
/** ATMega644
@@ -56,34 +59,32 @@
#include "../fastio.h"
#define DEBUG_LED DIO0
// UART
#define RXD DIO8
#define TXD DIO9
#define RXD0 DIO8
#define TXD0 DIO9
#define RXD 8
#define TXD 9
#define RXD0 8
#define TXD0 9
#define RXD1 DIO10
#define TXD1 DIO11
#define RXD1 10
#define TXD1 11
// SPI
#define SCK DIO7
#define MISO DIO6
#define MOSI DIO5
#define SS DIO4
#define SS 4
#define MOSI 5
#define MISO 6
#define SCK 7
// TWI (I2C)
#define SCL DIO16
#define SDA DIO17
#define SCL 16
#define SDA 17
// Timers and PWM
#define OC0A DIO3
#define OC0B DIO4
#define OC1A DIO13
#define OC1B DIO12
#define OC2A DIO15
#define OC2B DIO14
#define OC0A 3
#define OC0B 4
#define OC1A 13
#define OC1B 12
#define OC2A 15
#define OC2B 14
// Digital I/O
+7 -7
View File
@@ -27,18 +27,18 @@
* 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
* The logical pins 46 and 47 are not 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"
// change for your board
#define DEBUG_LED DIO31 /* led D5 red */
// SPI
#define SCK DIO21 // 9
#define MISO DIO23 // 11
#define MOSI DIO22 // 10
#define SS DIO20 // 8
#define SS 20 // 8
#define SCK 21 // 9
#define MOSI 22 // 10
#define MISO 23 // 11
// Digital I/O
+2 -2
View File
@@ -21,6 +21,6 @@
*/
#pragma once
#if HAS_SPI_TFT || HAS_FSMC_TFT
#error "Sorry! TFT displays are not available for HAL/AVR."
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif
+57 -7
View File
@@ -25,35 +25,81 @@
* Test AVR-specific configuration values for errors at compile-time.
*/
#if HAS_SPI_TFT || HAS_FSMC_TFT
#error "Sorry! TFT displays are not available for HAL/AVR."
#endif
/**
* Check for common serial pin conflicts
*/
#define CHECK_SERIAL_PIN(N) ( \
X_STOP_PIN == N || Y_STOP_PIN == N || Z_STOP_PIN == N \
|| X_MIN_PIN == N || Y_MIN_PIN == N || Z_MIN_PIN == N \
|| X_MAX_PIN == N || Y_MAX_PIN == N || Z_MAX_PIN == N \
|| X_STEP_PIN == N || Y_STEP_PIN == N || Z_STEP_PIN == N \
|| X_DIR_PIN == N || Y_DIR_PIN == N || Z_DIR_PIN == N \
|| X_ENA_PIN == N || Y_ENA_PIN == N || Z_ENA_PIN == N \
|| BTN_EN1 == N || BTN_EN2 == N || LCD_PINS_EN == N \
)
#if SERIAL_IN_USE(0)
// D0-D1. No known conflicts.
#endif
#if SERIAL_IN_USE(1)
#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__)
#if CHECK_SERIAL_PIN(18) || CHECK_SERIAL_PIN(19)
#error "Serial Port 1 pin D18 and/or D19 conflicts with another pin on the board."
#endif
#else
#if CHECK_SERIAL_PIN(10) || CHECK_SERIAL_PIN(11)
#error "Serial Port 1 pin D10 and/or D11 conflicts with another pin on the board."
#endif
#endif
#endif
#if SERIAL_IN_USE(2) && (CHECK_SERIAL_PIN(16) || CHECK_SERIAL_PIN(17))
#error "Serial Port 2 pin D16 and/or D17 conflicts with another pin on the board."
#endif
#if SERIAL_IN_USE(3) && (CHECK_SERIAL_PIN(14) || CHECK_SERIAL_PIN(15))
#error "Serial Port 3 pin D14 and/or D15 conflicts with another pin on the board."
#endif
#undef CHECK_SERIAL_PIN
/**
* Checks for FAST PWM
*/
#if ENABLED(FAST_PWM_FAN) && (ENABLED(USE_OCR2A_AS_TOP) && defined(TCCR2))
#error "USE_OCR2A_AS_TOP does not apply to devices with a single output TIMER2"
#if ALL(FAST_PWM_FAN, USE_OCR2A_AS_TOP, HAS_TCCR2)
#error "USE_OCR2A_AS_TOP does not apply to devices with a single output TIMER2."
#endif
/**
* Checks for SOFT PWM
*/
#if HAS_FAN0 && FAN0_PIN == 9 && DISABLED(FAN_SOFT_PWM) && ENABLED(SPEAKER)
#error "FAN0_PIN 9 Hardware PWM uses Timer 2 which conflicts with Arduino AVR Tone Timer (for SPEAKER)."
#error "Disable SPEAKER or enable FAN_SOFT_PWM."
#endif
/**
* Sanity checks for Spindle / Laser PWM
*/
#if ENABLED(SPINDLE_LASER_PWM)
#if ENABLED(SPINDLE_LASER_USE_PWM)
#include "../ServoTimers.h" // Needed to check timer availability (_useTimer3)
#if SPINDLE_LASER_PWM_PIN == 4 || WITHIN(SPINDLE_LASER_PWM_PIN, 11, 13)
#error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by a system interrupt."
#elif NUM_SERVOS > 0 && defined(_useTimer3) && (WITHIN(SPINDLE_LASER_PWM_PIN, 2, 3) || SPINDLE_LASER_PWM_PIN == 5)
#error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by the servo system."
#endif
#elif defined(SPINDLE_LASER_FREQUENCY)
#error "SPINDLE_LASER_FREQUENCY requires SPINDLE_LASER_PWM."
#elif SPINDLE_LASER_FREQUENCY
#error "SPINDLE_LASER_FREQUENCY requires SPINDLE_LASER_USE_PWM."
#endif
/**
* The Trinamic library includes SoftwareSerial.h, leading to a compile error.
*/
#if BOTH(HAS_TRINAMIC_CONFIG, ENDSTOP_INTERRUPTS_FEATURE)
#if ALL(HAS_TRINAMIC_CONFIG, ENDSTOP_INTERRUPTS_FEATURE)
#error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."
#endif
#if BOTH(HAS_TMC_SW_SERIAL, MONITOR_DRIVER_STATUS)
#if ALL(HAS_TMC_SW_SERIAL, MONITOR_DRIVER_STATUS)
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#endif
@@ -63,3 +109,7 @@
#if ENABLED(POSTMORTEM_DEBUGGING)
#error "POSTMORTEM_DEBUGGING is not supported on AVR boards."
#endif
#if USING_PULLDOWNS
#error "PULLDOWN pin mode is not available on AVR boards."
#endif
+27 -31
View File
@@ -27,15 +27,16 @@
// intRes = longIn1 * longIn2 >> 24
// uses:
// A[tmp] to store 0
// B[tmp] to store bits 16-23 of the 48bit result. The top bit is used to round the two byte result.
// note that the lower two bytes and the upper byte of the 48bit result are not calculated.
// this can cause the result to be out by one as the lower bytes may cause carries into the upper ones.
// B A are bits 24-39 and are the returned value
// C B A is longIn1
// D C B A is longIn2
// r1, r0 for the result of mul.
// [tmp1] to store 0.
// [tmp2] to store bits 16-23 of the 56 bit result. The top bit of [tmp2] is used for rounding.
// Note that the lower two bytes and the upper two bytes of the 56 bit result are not calculated.
// This can cause the result to be out by one as the lower bytes may cause carries into the upper ones.
// [intRes] (A B) is bits 24-39 and is the returned value.
// [longIn1] (C B A) is a 24 bit parameter.
// [longIn2] (D C B A) is a 32 bit parameter.
//
static FORCE_INLINE uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2) {
FORCE_INLINE static uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2) {
uint8_t tmp1;
uint8_t tmp2;
uint16_t intRes;
@@ -66,11 +67,9 @@ static FORCE_INLINE uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2
A("add %[tmp2], r1")
A("adc %A[intRes], %[tmp1]")
A("adc %B[intRes], %[tmp1]")
A("lsr %[tmp2]")
A("adc %A[intRes], %[tmp1]")
A("adc %B[intRes], %[tmp1]")
A("mul %D[longIn2], %A[longIn1]")
A("add %A[intRes], r0")
A("lsl %[tmp2]")
A("adc %A[intRes], r0")
A("adc %B[intRes], r1")
A("mul %D[longIn2], %B[longIn1]")
A("add %B[intRes], r0")
@@ -85,29 +84,26 @@ static FORCE_INLINE uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2
return intRes;
}
// intRes = intIn1 * intIn2 >> 16
// charRes = charIn1 * charIn2 >> 8
// uses:
// r26 to store 0
// r27 to store the byte 1 of the 24 bit result
static FORCE_INLINE uint16_t MultiU16X8toH16(uint8_t charIn1, uint16_t intIn2) {
uint8_t tmp;
uint16_t intRes;
// r1, r0 for the result of mul. After the mul, r0 holds bits 0-7 of the 16 bit result,
// and the top bit of r0 is used for rounding.
// [charRes] is bits 8-15 and is the returned value.
// [charIn1] is an 8 bit parameter.
// [charIn2] is an 8 bit parameter.
//
FORCE_INLINE static uint8_t MultiU8X8toH8(uint8_t charIn1, uint8_t charIn2) {
uint8_t charRes;
__asm__ __volatile__ (
A("clr %[tmp]")
A("mul %[charIn1], %B[intIn2]")
A("movw %A[intRes], r0")
A("mul %[charIn1], %A[intIn2]")
A("add %A[intRes], r1")
A("adc %B[intRes], %[tmp]")
A("lsr r0")
A("adc %A[intRes], %[tmp]")
A("adc %B[intRes], %[tmp]")
A("mul %[charIn1], %[charIn2]")
A("mov %[charRes], r1")
A("clr r1")
: [intRes] "=&r" (intRes),
[tmp] "=&r" (tmp)
A("lsl r0")
A("adc %[charRes], r1")
: [charRes] "=&r" (charRes)
: [charIn1] "d" (charIn1),
[intIn2] "d" (intIn2)
[charIn2] "d" (charIn2)
: "cc"
);
return intRes;
return charRes;
}
+75 -75
View File
@@ -2,6 +2,9 @@
* Marlin 3D Printer Firmware
* Copyright (c) 2020 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
@@ -61,23 +64,25 @@
#define VALID_PIN(pin) (pin >= 0 && pin < NUM_DIGITAL_PINS ? 1 : 0)
#if AVR_ATmega1284_FAMILY
#define DIGITAL_PIN_TO_ANALOG_PIN(P) int(analogInputToDigitalPin(0) - (P))
#define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(7) && (P) <= analogInputToDigitalPin(0))
#define IS_ANALOG(P) WITHIN(P, analogInputToDigitalPin(7), analogInputToDigitalPin(0))
#define DIGITAL_PIN_TO_ANALOG_PIN(P) int(IS_ANALOG(P) ? (P) - analogInputToDigitalPin(7) : -1)
#else
#define DIGITAL_PIN_TO_ANALOG_PIN(P) int((P) - analogInputToDigitalPin(0))
#define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(0) && ((P) <= analogInputToDigitalPin(15) || (P) <= analogInputToDigitalPin(7)))
#define _ANALOG1(P) WITHIN(P, analogInputToDigitalPin(0), analogInputToDigitalPin(7))
#define _ANALOG2(P) WITHIN(P, analogInputToDigitalPin(8), analogInputToDigitalPin(15))
#define IS_ANALOG(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)
#endif
#define GET_ARRAY_PIN(p) pgm_read_byte(&pin_array[p].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) {
char *name_mem_pointer = (char*)pgm_read_ptr(&pin_array[x].name);
LOOP_L_N(y, MAX_NAME_LENGTH) {
PGM_P const name_mem_pointer = (PGM_P)pgm_read_ptr(&pin_array[x].name);
for (uint8_t y = 0; y < MAX_NAME_LENGTH; ++y) {
char temp_char = pgm_read_byte(name_mem_pointer + y);
if (temp_char != 0)
SERIAL_CHAR(temp_char);
else {
LOOP_L_N(i, MAX_NAME_LENGTH - y) SERIAL_CHAR(' ');
for (uint8_t i = 0; i < MAX_NAME_LENGTH - y; ++i) SERIAL_CHAR(' ');
break;
}
}
@@ -85,7 +90,6 @@ void PRINT_ARRAY_NAME(uint8_t x) {
#define GET_ARRAY_IS_DIGITAL(x) pgm_read_byte(&pin_array[x].is_digital)
#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
#define NUM_DIGITAL_PINS 32 // set to digital only + digital/analog
@@ -99,18 +103,18 @@ void PRINT_ARRAY_NAME(uint8_t x) {
return true; \
} else return false
#define ABTEST(N) defined(TCCR##N##A) && defined(COM##N##A1)
/**
* Print a pin's PWM status.
* Return true if it's currently a PWM pin.
*/
static bool pwm_status(uint8_t pin) {
bool pwm_status(uint8_t pin) {
char buffer[20]; // for the sprintf statements
switch (digitalPinToTimer_DEBUG(pin)) {
#if defined(TCCR0A) && defined(COM0A1)
#if ABTEST(0)
#ifdef TIMER0A
#if !AVR_AT90USB1286_FAMILY // not available in Teensyduino type IDEs
PWM_CASE(0, A);
@@ -119,20 +123,20 @@ static bool pwm_status(uint8_t pin) {
PWM_CASE(0, B);
#endif
#if defined(TCCR1A) && defined(COM1A1)
#if ABTEST(1)
PWM_CASE(1, A);
PWM_CASE(1, B);
#if defined(COM1C1) && defined(TIMER1C)
PWM_CASE(1, C);
#endif
#if defined(COM1C1) && defined(TIMER1C)
PWM_CASE(1, C);
#endif
#endif
#if defined(TCCR2A) && defined(COM2A1)
#if ABTEST(2)
PWM_CASE(2, A);
PWM_CASE(2, B);
#endif
#if defined(TCCR3A) && defined(COM3A1)
#if ABTEST(3)
PWM_CASE(3, A);
PWM_CASE(3, B);
#ifdef COM3C1
@@ -146,7 +150,7 @@ static bool pwm_status(uint8_t pin) {
PWM_CASE(4, C);
#endif
#if defined(TCCR5A) && defined(COM5A1)
#if ABTEST(5)
PWM_CASE(5, A);
PWM_CASE(5, B);
PWM_CASE(5, C);
@@ -163,16 +167,16 @@ static bool pwm_status(uint8_t pin) {
const volatile uint8_t* const PWM_other[][3] PROGMEM = {
{ &TCCR0A, &TCCR0B, &TIMSK0 },
{ &TCCR1A, &TCCR1B, &TIMSK1 },
#if defined(TCCR2A) && defined(COM2A1)
#if ABTEST(2)
{ &TCCR2A, &TCCR2B, &TIMSK2 },
#endif
#if defined(TCCR3A) && defined(COM3A1)
#if ABTEST(3)
{ &TCCR3A, &TCCR3B, &TIMSK3 },
#endif
#ifdef TCCR4A
{ &TCCR4A, &TCCR4B, &TIMSK4 },
#endif
#if defined(TCCR5A) && defined(COM5A1)
#if ABTEST(5)
{ &TCCR5A, &TCCR5B, &TIMSK5 },
#endif
};
@@ -192,11 +196,11 @@ const volatile uint8_t* const PWM_OCR[][3] PROGMEM = {
{ (const uint8_t*)&OCR1A, (const uint8_t*)&OCR1B, 0 },
#endif
#if defined(TCCR2A) && defined(COM2A1)
#if ABTEST(2)
{ &OCR2A, &OCR2B, 0 },
#endif
#if defined(TCCR3A) && defined(COM3A1)
#if ABTEST(3)
#ifdef COM3C1
{ (const uint8_t*)&OCR3A, (const uint8_t*)&OCR3B, (const uint8_t*)&OCR3C },
#else
@@ -208,7 +212,7 @@ const volatile uint8_t* const PWM_OCR[][3] PROGMEM = {
{ (const uint8_t*)&OCR4A, (const uint8_t*)&OCR4B, (const uint8_t*)&OCR4C },
#endif
#if defined(TCCR5A) && defined(COM5A1)
#if ABTEST(5)
{ (const uint8_t*)&OCR5A, (const uint8_t*)&OCR5B, (const uint8_t*)&OCR5C },
#endif
};
@@ -228,16 +232,16 @@ const volatile uint8_t* const PWM_OCR[][3] PROGMEM = {
#define OCR_VAL(T, L) pgm_read_word(&PWM_OCR[T][L])
static void err_is_counter() { SERIAL_ECHOPGM(" non-standard PWM mode"); }
static void err_is_interrupt() { SERIAL_ECHOPGM(" compare interrupt enabled"); }
static void err_prob_interrupt() { SERIAL_ECHOPGM(" overflow interrupt enabled"); }
static void print_is_also_tied() { SERIAL_ECHOPGM(" is also tied to this pin"); SERIAL_ECHO_SP(14); }
void err_is_counter() { SERIAL_ECHOPGM(" non-standard PWM mode"); }
void err_is_interrupt() { SERIAL_ECHOPGM(" compare interrupt enabled"); }
void err_prob_interrupt() { SERIAL_ECHOPGM(" overflow interrupt enabled"); }
void print_is_also_tied() { SERIAL_ECHOPGM(" is also tied to this pin"); SERIAL_ECHO_SP(14); }
inline void com_print(const uint8_t N, const uint8_t Z) {
void com_print(const uint8_t N, const uint8_t Z) {
const uint8_t *TCCRA = (uint8_t*)TCCR_A(N);
SERIAL_ECHOPAIR(" COM", AS_CHAR('0' + N));
SERIAL_ECHOPGM(" COM", AS_DIGIT(N));
SERIAL_CHAR(Z);
SERIAL_ECHOPAIR(": ", int((*TCCRA >> (6 - Z * 2)) & 0x03));
SERIAL_ECHOPGM(": ", int((*TCCRA >> (6 - Z * 2)) & 0x03));
}
void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N - WGM bit layout
@@ -247,7 +251,7 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
uint8_t WGM = (((*TCCRB & _BV(WGM_2)) >> 1) | (*TCCRA & (_BV(WGM_0) | _BV(WGM_1))));
if (N == 4) WGM |= ((*TCCRB & _BV(WGM_3)) >> 1);
SERIAL_ECHOPAIR(" TIMER", AS_CHAR(T + '0'));
SERIAL_ECHOPGM(" TIMER", AS_DIGIT(T));
SERIAL_CHAR(L);
SERIAL_ECHO_SP(3);
@@ -259,14 +263,14 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
const uint16_t *OCRVAL16 = (uint16_t*)OCR_VAL(T, L - 'A');
PWM_PRINT(*OCRVAL16);
}
SERIAL_ECHOPAIR(" WGM: ", WGM);
SERIAL_ECHOPGM(" WGM: ", WGM);
com_print(T,L);
SERIAL_ECHOPAIR(" CS: ", (*TCCRB & (_BV(CS_0) | _BV(CS_1) | _BV(CS_2)) ));
SERIAL_ECHOPAIR(" TCCR", AS_CHAR(T + '0'), "A: ", *TCCRA);
SERIAL_ECHOPAIR(" TCCR", AS_CHAR(T + '0'), "B: ", *TCCRB);
SERIAL_ECHOPGM(" CS: ", (*TCCRB & (_BV(CS_0) | _BV(CS_1) | _BV(CS_2)) ));
SERIAL_ECHOPGM(" TCCR", AS_DIGIT(T), "A: ", *TCCRA);
SERIAL_ECHOPGM(" TCCR", AS_DIGIT(T), "B: ", *TCCRB);
const uint8_t *TMSK = (uint8_t*)TIMSK(T);
SERIAL_ECHOPAIR(" TIMSK", AS_CHAR(T + '0'), ": ", *TMSK);
SERIAL_ECHOPGM(" TIMSK", AS_DIGIT(T), ": ", *TMSK);
const uint8_t OCIE = L - 'A' + 1;
if (N == 3) { if (WGM == 0 || WGM == 2 || WGM == 4 || WGM == 6) err_is_counter(); }
@@ -275,10 +279,10 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
if (TEST(*TMSK, TOIE)) err_prob_interrupt();
}
static void pwm_details(uint8_t pin) {
void pwm_details(uint8_t pin) {
switch (digitalPinToTimer_DEBUG(pin)) {
#if defined(TCCR0A) && defined(COM0A1)
#if ABTEST(0)
#ifdef TIMER0A
#if !AVR_AT90USB1286_FAMILY // not available in Teensyduino type IDEs
case TIMER0A: timer_prefix(0, 'A', 3); break;
@@ -287,7 +291,7 @@ static void pwm_details(uint8_t pin) {
case TIMER0B: timer_prefix(0, 'B', 3); break;
#endif
#if defined(TCCR1A) && defined(COM1A1)
#if ABTEST(1)
case TIMER1A: timer_prefix(1, 'A', 4); break;
case TIMER1B: timer_prefix(1, 'B', 4); break;
#if defined(COM1C1) && defined(TIMER1C)
@@ -295,12 +299,12 @@ static void pwm_details(uint8_t pin) {
#endif
#endif
#if defined(TCCR2A) && defined(COM2A1)
#if ABTEST(2)
case TIMER2A: timer_prefix(2, 'A', 3); break;
case TIMER2B: timer_prefix(2, 'B', 3); break;
#endif
#if defined(TCCR3A) && defined(COM3A1)
#if ABTEST(3)
case TIMER3A: timer_prefix(3, 'A', 4); break;
case TIMER3B: timer_prefix(3, 'B', 4); break;
#ifdef COM3C1
@@ -314,7 +318,7 @@ static void pwm_details(uint8_t pin) {
case TIMER4C: timer_prefix(4, 'C', 4); break;
#endif
#if defined(TCCR5A) && defined(COM5A1)
#if ABTEST(5)
case TIMER5A: timer_prefix(5, 'A', 4); break;
case TIMER5B: timer_prefix(5, 'B', 4); break;
case TIMER5C: timer_prefix(5, 'C', 4); break;
@@ -348,48 +352,44 @@ static void pwm_details(uint8_t pin) {
#endif
} // pwm_details
#ifndef digitalRead_mod // Use Teensyduino's version of digitalRead - it doesn't disable the PWMs
int digitalRead_mod(const int8_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
const uint8_t port = digitalPinToPort_DEBUG(pin);
return (port != NOT_A_PIN) && (*portInputRegister(port) & digitalPinToBitMask_DEBUG(pin)) ? HIGH : LOW;
}
#endif
#ifndef PRINT_PORT
void print_port(const pin_t pin) { // print port number
#ifdef digitalPinToPort_DEBUG
uint8_t x;
SERIAL_ECHOPGM(" Port: ");
#if AVR_AT90USB1286_FAMILY
x = (pin == 46 || pin == 47) ? 'E' : digitalPinToPort_DEBUG(pin) + 64;
#else
x = digitalPinToPort_DEBUG(pin) + 64;
#endif
SERIAL_CHAR(x);
void print_port(int8_t pin) { // print port number
#ifdef digitalPinToPort_DEBUG
uint8_t x;
SERIAL_ECHOPGM(" Port: ");
#if AVR_AT90USB1286_FAMILY
x = (pin == 46 || pin == 47) ? 'E' : digitalPinToPort_DEBUG(pin) + 64;
#else
x = digitalPinToPort_DEBUG(pin) + 64;
#endif
SERIAL_CHAR(x);
#if AVR_AT90USB1286_FAMILY
if (pin == 46)
x = '2';
else if (pin == 47)
x = '3';
else {
uint8_t temp = digitalPinToBitMask_DEBUG(pin);
for (x = '0'; x < '9' && temp != 1; x++) temp >>= 1;
}
#else
#if AVR_AT90USB1286_FAMILY
if (pin == 46)
x = '2';
else if (pin == 47)
x = '3';
else {
uint8_t temp = digitalPinToBitMask_DEBUG(pin);
for (x = '0'; x < '9' && temp != 1; x++) temp >>= 1;
#endif
SERIAL_CHAR(x);
}
#else
SERIAL_ECHO_SP(10);
uint8_t temp = digitalPinToBitMask_DEBUG(pin);
for (x = '0'; x < '9' && temp != 1; x++) temp >>= 1;
#endif
}
#define PRINT_PORT(p) print_port(p)
#endif
SERIAL_CHAR(x);
#else
SERIAL_ECHO_SP(10);
#endif
}
#define PRINT_PIN(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)
#undef ABTEST
+6 -6
View File
@@ -2,6 +2,9 @@
* Marlin 3D Printer Firmware
* Copyright (c) 2020 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
@@ -19,11 +22,10 @@
#pragma once
//
// some of the pin mapping functions of the Teensduino extension to the Arduino IDE
// do not function the same as the other Arduino extensions
// Some of the pin mapping functions of the Arduino IDE Teensduino extension
// function differently from other Arduino extensions.
//
#define TEENSYDUINO_IDE
//digitalPinToTimer(pin) function works like Arduino but Timers are not defined
@@ -45,8 +47,6 @@
#define PE 5
#define PF 6
#undef digitalPinToPort
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
PD, // 0 - PD0 - INT0 - PWM
PD, // 1 - PD1 - INT1 - PWM
@@ -98,7 +98,7 @@ const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
PE, // 47 - PE3 (not defined in teensyduino)
};
#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )
#define digitalPinToPort(P) pgm_read_byte(digital_pin_to_port_PGM[P])
// digitalPinToBitMask(pin) is OK
+3 -1
View File
@@ -2,6 +2,9 @@
* Marlin 3D Printer Firmware
* Copyright (c) 2020 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
@@ -228,7 +231,6 @@ const uint8_t PROGMEM digital_pin_to_bit_mask_PGM_plus_70[] = {
#define digitalPinToBitMask_plus_70(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM_plus_70 + (P) ) )
const uint8_t PROGMEM digital_pin_to_timer_PGM_plus_70[] = {
// TIMERS
// ------------------------
+979
View File
@@ -0,0 +1,979 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 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/>.
*
*/
#ifdef __AVR__
#include "../../inc/MarlinConfigPre.h"
#if ENABLED(HAL_AVR_DIRTY_INIT)
#include "registers.h"
// Since the compiler could be creating multiple copies of function code-graphs for each header inline-inclusion,
// we want to off-load the function definitions that define static memory into this solitary compilation unit.
// This way the ROM is NOT bloated (who knows if the compiler is optimizing same-content constant objects into one?)
ATmegaPinFunctions _ATmega_getPinFunctions(int pin) {
if (pin < 0) return {};
ATmegaPinInfo info = _ATmega_getPinInfo((unsigned int)pin);
#ifdef __AVR_TRM01__
if (info.port == eATmegaPort::PORT_A) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_B) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC0A, eATmegaPinFunc::TOC1C, eATmegaPinFunc::PCI7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1B, eATmegaPinFunc::PCI6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1A, eATmegaPinFunc::PCI5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC2A, eATmegaPinFunc::PCI4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MISO, eATmegaPinFunc::PCI3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MOSI, eATmegaPinFunc::PCI2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_SCK, eATmegaPinFunc::PCI1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_CS, eATmegaPinFunc::PCI0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_C) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD15 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD14 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD13 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD12 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD11 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD10 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD9 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD8 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_D) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER0_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART1_CLK };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ICP };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT3, eATmegaPinFunc::USART1_TXD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT2, eATmegaPinFunc::USART1_RXD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT1, eATmegaPinFunc::TWI_SDA };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT0, eATmegaPinFunc::TWI_CLK };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_E) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT7, eATmegaPinFunc::TIMER3_ICP, eATmegaPinFunc::CLKO };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT6, eATmegaPinFunc::TIMER3_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT5, eATmegaPinFunc::TOC3C };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT4, eATmegaPinFunc::TOC3B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN1, eATmegaPinFunc::TOC3A };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN0, eATmegaPinFunc::USART0_CLK };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PDO, eATmegaPinFunc::USART0_TXD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PDI, eATmegaPinFunc::USART0_RXD, eATmegaPinFunc::PCI8 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_F) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_G) {
if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC0B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOSC1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3 ) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOSC2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_ALE };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_RD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_WR };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_H) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER4_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC2B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC4C };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC4B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC4A };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART2_CLK };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART2_TXD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART2_RXD };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_J) {
if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI15 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI14 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI13 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI12 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART3_CLK, eATmegaPinFunc::PCI11 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART3_TXD, eATmegaPinFunc::PCI10 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART3_RXD, eATmegaPinFunc::PCI9 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_K) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC15, eATmegaPinFunc::PCI23 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC14, eATmegaPinFunc::PCI22 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC13, eATmegaPinFunc::PCI21 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC12, eATmegaPinFunc::PCI20 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC11, eATmegaPinFunc::PCI19 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC10, eATmegaPinFunc::PCI18 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC9, eATmegaPinFunc::PCI17 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC8, eATmegaPinFunc::PCI16 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_L) {
if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC5C };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC5B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC5A };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER5_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER5_ICP };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER4_ICP };
return { funcs, countof(funcs) };
}
}
#elif defined(__AVR_TRM02__)
if (info.port == eATmegaPort::PORT_A) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI7, eATmegaPinFunc::ADC7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI6, eATmegaPinFunc::ADC6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI5, eATmegaPinFunc::ADC5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI4, eATmegaPinFunc::ADC4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI3, eATmegaPinFunc::ADC3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI2, eATmegaPinFunc::ADC2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI1, eATmegaPinFunc::ADC1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI0, eATmegaPinFunc::ADC0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_B) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_SCK, eATmegaPinFunc::TOC3B, eATmegaPinFunc::PCI15 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MISO, eATmegaPinFunc::TOC3A, eATmegaPinFunc::PCI14 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MOSI, eATmegaPinFunc::TIMER3_ICP, eATmegaPinFunc::PCI13 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_CS, eATmegaPinFunc::TOC0B, eATmegaPinFunc::PCI12 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN1, eATmegaPinFunc::TOC0A, eATmegaPinFunc::PCI11 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN0, eATmegaPinFunc::EINT2, eATmegaPinFunc::PCI10 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ECI, eATmegaPinFunc::CLKO, eATmegaPinFunc::PCI9 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER0_ECI, eATmegaPinFunc::USART0_CLK, eATmegaPinFunc::PCI8 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_C) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOSC2, eATmegaPinFunc::PCI23 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOSC1, eATmegaPinFunc::PCI22 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI21 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI20 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI19 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI18 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI17, eATmegaPinFunc::TWI_SDA };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TWI_CLK, eATmegaPinFunc::PCI16 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_D) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC2A, eATmegaPinFunc::PCI31 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ICP, eATmegaPinFunc::TOC2B, eATmegaPinFunc::PCI30 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1A, eATmegaPinFunc::PCI29 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1B, eATmegaPinFunc::USART1_CLK, eATmegaPinFunc::PCI28 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT1, eATmegaPinFunc::USART1_TXD, eATmegaPinFunc::PCI27 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT0, eATmegaPinFunc::USART1_RXD, eATmegaPinFunc::PCI26 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART0_TXD, eATmegaPinFunc::PCI25 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART0_TXD, eATmegaPinFunc::PCI24, eATmegaPinFunc::TIMER3_ECI };
return { funcs, countof(funcs) };
}
}
#elif defined(__AVR_TRM03__)
if (info.port == eATmegaPort::PORT_B) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::XTAL2, eATmegaPinFunc::TOSC2, eATmegaPinFunc::PCI7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::XTAL1, eATmegaPinFunc::TOSC1, eATmegaPinFunc::PCI6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_SCK, eATmegaPinFunc::PCI5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MISO, eATmegaPinFunc::PCI4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MOSI, eATmegaPinFunc::TOC2A, eATmegaPinFunc::PCI3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_CS, eATmegaPinFunc::TOC1B, eATmegaPinFunc::PCI2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1A, eATmegaPinFunc::PCI1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ICP, eATmegaPinFunc::CLKO, eATmegaPinFunc::PCI0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_C) {
if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI14 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC5, eATmegaPinFunc::TWI_CLK, eATmegaPinFunc::PCI13 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC4, eATmegaPinFunc::TWI_SDA, eATmegaPinFunc::PCI12 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC3, eATmegaPinFunc::PCI11 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC2, eATmegaPinFunc::PCI10 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC1, eATmegaPinFunc::PCI9 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC0, eATmegaPinFunc::PCI8 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_D) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN1, eATmegaPinFunc::PCI23 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN0, eATmegaPinFunc::TOC0A, eATmegaPinFunc::PCI22 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ECI, eATmegaPinFunc::TOC0B, eATmegaPinFunc::PCI21 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART_CLK, eATmegaPinFunc::TIMER0_ECI, eATmegaPinFunc::PCI20 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT1, eATmegaPinFunc::TOC2B, eATmegaPinFunc::PCI19 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT0, eATmegaPinFunc::PCI18 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART_TXD, eATmegaPinFunc::PCI17 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART_RXD, eATmegaPinFunc::PCI16 };
return { funcs, countof(funcs) };
}
}
#elif defined(__AVR_TRM04__)
if (info.port == eATmegaPort::PORT_A) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_B) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC0A, eATmegaPinFunc::TOC1C, eATmegaPinFunc::PCI7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1B, eATmegaPinFunc::PCI6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1A, eATmegaPinFunc::PCI5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC2A, eATmegaPinFunc::PCI4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PDO, eATmegaPinFunc::SPI_MISO, eATmegaPinFunc::PCI3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PDI, eATmegaPinFunc::SPI_MOSI, eATmegaPinFunc::PCI2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_SCK, eATmegaPinFunc::PCI1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_CS, eATmegaPinFunc::PCI0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_C) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD15, eATmegaPinFunc::TIMER3_ICP, eATmegaPinFunc::CLKO };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD14, eATmegaPinFunc::TOC3A };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD13, eATmegaPinFunc::TOC3B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD12, eATmegaPinFunc::TOC3C };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD11, eATmegaPinFunc::TIMER3_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD10 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD9 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_AD8 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_D) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER0_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_CLKI };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART1_CLK };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ICP };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT3, eATmegaPinFunc::USART1_TXD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT2, eATmegaPinFunc::USART1_RXD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT1, eATmegaPinFunc::TWI_SDA, eATmegaPinFunc::TOC2B };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT0, eATmegaPinFunc::TWI_CLK, eATmegaPinFunc::TOC0B };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_E) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT7, eATmegaPinFunc::AIN1, eATmegaPinFunc::UVCON };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT6, eATmegaPinFunc::AIN0 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT5, eATmegaPinFunc::TOSC2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT4, eATmegaPinFunc::TOSC2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::UID };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_ALE };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_RD };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EXTMEM_WR };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_F) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC0 };
return { funcs, countof(funcs) };
}
}
#elif defined(__AVR_TRM05__)
if (info.port == eATmegaPort::PORT_A) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC7, eATmegaPinFunc::PCI7 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC6, eATmegaPinFunc::PCI6 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC5, eATmegaPinFunc::PCI5 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC4, eATmegaPinFunc::PCI4 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC3, eATmegaPinFunc::PCI3 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC2, eATmegaPinFunc::PCI2 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC1, eATmegaPinFunc::PCI1 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::ADC0, eATmegaPinFunc::PCI0 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_B) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_SCK, eATmegaPinFunc::PCI15 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MISO, eATmegaPinFunc::PCI14 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_MOSI, eATmegaPinFunc::PCI13 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::SPI_CS, eATmegaPinFunc::TOC0B, eATmegaPinFunc::PCI12 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN1, eATmegaPinFunc::TOC0A, eATmegaPinFunc::PCI11 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::AIN0, eATmegaPinFunc::EINT2, eATmegaPinFunc::PCI10 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ECI, eATmegaPinFunc::CLKO, eATmegaPinFunc::PCI9 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER0_ECI, eATmegaPinFunc::USART0_CLK, eATmegaPinFunc::PCI8 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_C) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOSC2, eATmegaPinFunc::PCI23 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOSC1, eATmegaPinFunc::PCI22 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI21 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI20 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI19 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::PCI18 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TWI_SDA, eATmegaPinFunc::PCI17 };
return { funcs, countof(funcs) };
}
else if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TWI_CLK, eATmegaPinFunc::PCI16 };
return { funcs, countof(funcs) };
}
}
else if (info.port == eATmegaPort::PORT_D) {
if (info.pinidx == 7) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC2A, eATmegaPinFunc::PCI31 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 6) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TIMER1_ICP, eATmegaPinFunc::TOC2B, eATmegaPinFunc::PCI30 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 5) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1A, eATmegaPinFunc::PCI29 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 4) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::TOC1B, eATmegaPinFunc::USART1_CLK, eATmegaPinFunc::PCI28 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 3) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT1, eATmegaPinFunc::USART1_TXD, eATmegaPinFunc::PCI27 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 2) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::EINT0, eATmegaPinFunc::USART1_RXD, eATmegaPinFunc::PCI26 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 1) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART0_TXD, eATmegaPinFunc::PCI25 };
return { funcs, countof(funcs) };
}
if (info.pinidx == 0) {
static const eATmegaPinFunc funcs[] = { eATmegaPinFunc::USART0_RXD, eATmegaPinFunc::PCI24 };
return { funcs, countof(funcs) };
}
}
#endif
return ATmegaPinFunctions(); // default and empty.
}
#endif // HAL_AVR_DIRTY_INIT
#endif // __AVR__
File diff suppressed because it is too large Load Diff
+29 -27
View File
@@ -1,7 +1,9 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* 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
@@ -34,37 +36,37 @@ typedef uint16_t hal_timer_t;
#define HAL_TIMER_RATE ((F_CPU) / 8) // i.e., 2MHz or 2.5MHz
#ifndef STEP_TIMER_NUM
#define STEP_TIMER_NUM 1
#ifndef MF_TIMER_STEP
#define MF_TIMER_STEP 1
#endif
#ifndef PULSE_TIMER_NUM
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#ifndef MF_TIMER_PULSE
#define MF_TIMER_PULSE MF_TIMER_STEP
#endif
#ifndef TEMP_TIMER_NUM
#define TEMP_TIMER_NUM 0
#ifndef MF_TIMER_TEMP
#define MF_TIMER_TEMP 0
#endif
#define TEMP_TIMER_FREQUENCY ((F_CPU) / 64.0 / 256.0)
#define TEMP_TIMER_FREQUENCY (((F_CPU) + 0x2000) / 0x4000)
#define STEPPER_TIMER_RATE HAL_TIMER_RATE
#define STEPPER_TIMER_PRESCALE 8
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // Cannot be of type double
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000)
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
#define ENABLE_STEPPER_DRIVER_INTERRUPT() SBI(TIMSK1, OCIE1A)
#define DISABLE_STEPPER_DRIVER_INTERRUPT() CBI(TIMSK1, OCIE1A)
#define STEPPER_ISR_ENABLED() TEST(TIMSK1, OCIE1A)
#define ENABLE_TEMPERATURE_INTERRUPT() SBI(TIMSK0, OCIE0B)
#define DISABLE_TEMPERATURE_INTERRUPT() CBI(TIMSK0, OCIE0B)
#define TEMPERATURE_ISR_ENABLED() TEST(TIMSK0, OCIE0B)
#define ENABLE_TEMPERATURE_INTERRUPT() SBI(TIMSK0, OCIE0A)
#define DISABLE_TEMPERATURE_INTERRUPT() CBI(TIMSK0, OCIE0A)
#define TEMPERATURE_ISR_ENABLED() TEST(TIMSK0, OCIE0A)
FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t) {
switch (timer_num) {
case STEP_TIMER_NUM:
case MF_TIMER_STEP:
// waveform generation = 0100 = CTC
SET_WGM(1, CTC_OCRnA);
@@ -84,10 +86,10 @@ FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t) {
TCNT1 = 0;
break;
case TEMP_TIMER_NUM:
case MF_TIMER_TEMP:
// Use timer0 for temperature measurement
// Interleave temperature interrupt with millies interrupt
OCR0B = 128;
OCR0A = 128;
break;
}
}
@@ -109,12 +111,12 @@ FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t) {
* (otherwise, characters will be lost due to UART overflow).
* Then: Stepper, Endstops, Temperature, and -finally- all others.
*/
#define HAL_timer_isr_prologue(TIMER_NUM)
#define HAL_timer_isr_epilogue(TIMER_NUM)
#define HAL_timer_isr_prologue(T) NOOP
#define HAL_timer_isr_epilogue(T) NOOP
/* 18 cycles maximum latency */
#ifndef HAL_STEP_TIMER_ISR
/* 18 cycles maximum latency */
#define HAL_STEP_TIMER_ISR() \
extern "C" void TIMER1_COMPA_vect() __attribute__ ((signal, naked, used, externally_visible)); \
extern "C" void TIMER1_COMPA_vect_bottom() asm ("TIMER1_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
@@ -180,7 +182,7 @@ void TIMER1_COMPA_vect() { \
: \
: [timsk0] "i" ((uint16_t)&TIMSK0), \
[timsk1] "i" ((uint16_t)&TIMSK1), \
[msk0] "M" ((uint8_t)(1<<OCIE0B)),\
[msk0] "M" ((uint8_t)(1<<OCIE0A)),\
[msk1] "M" ((uint8_t)(1<<OCIE1A)) \
: \
); \
@@ -193,9 +195,9 @@ void TIMER1_COMPA_vect_bottom()
/* 14 cycles maximum latency */
#define HAL_TEMP_TIMER_ISR() \
extern "C" void TIMER0_COMPB_vect() __attribute__ ((signal, naked, used, externally_visible)); \
extern "C" void TIMER0_COMPB_vect_bottom() asm ("TIMER0_COMPB_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
void TIMER0_COMPB_vect() { \
extern "C" void TIMER0_COMPA_vect() __attribute__ ((signal, naked, used, externally_visible)); \
extern "C" void TIMER0_COMPA_vect_bottom() asm ("TIMER0_COMPA_vect_bottom") __attribute__ ((used, externally_visible, noinline)); \
void TIMER0_COMPA_vect() { \
__asm__ __volatile__ ( \
A("push r16") /* 2 Save R16 */ \
A("in r16, __SREG__") /* 1 Get SREG */ \
@@ -223,7 +225,7 @@ void TIMER0_COMPB_vect() { \
A("push r30") \
A("push r31") \
A("clr r1") /* C runtime expects this register to be 0 */ \
A("call TIMER0_COMPB_vect_bottom") /* Call the bottom handler - No inlining allowed, otherwise registers used are not saved */ \
A("call TIMER0_COMPA_vect_bottom") /* Call the bottom handler - No inlining allowed, otherwise registers used are not saved */ \
A("pop r31") \
A("pop r30") \
A("pop r27") \
@@ -251,10 +253,10 @@ void TIMER0_COMPB_vect() { \
A("reti") /* 4 Return from interrupt */ \
: \
: [timsk0] "i"((uint16_t)&TIMSK0), \
[msk0] "M" ((uint8_t)(1<<OCIE0B)) \
[msk0] "M" ((uint8_t)(1<<OCIE0A)) \
: \
); \
} \
void TIMER0_COMPB_vect_bottom()
void TIMER0_COMPA_vect_bottom()
#endif // HAL_TEMP_TIMER_ISR
+29
View File
@@ -0,0 +1,29 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 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
/**
* AVR LCD-specific defines
*/
uint8_t u8g_com_HAL_AVR_sw_sp_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_AVR_sw_sp_fn
@@ -64,8 +64,8 @@
#include <U8glib-HAL.h>
uint8_t u8g_bitData, u8g_bitNotData, u8g_bitClock, u8g_bitNotClock;
volatile uint8_t *u8g_outData, *u8g_outClock;
static uint8_t u8g_bitData, u8g_bitNotData, u8g_bitClock, u8g_bitNotClock;
static volatile uint8_t *u8g_outData, *u8g_outClock;
static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) {
u8g_outData = portOutputRegister(digitalPinToPort(dataPin));
@@ -88,7 +88,7 @@ void u8g_spiSend_sw_AVR_mode_0(uint8_t val) {
volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock;
U8G_ATOMIC_START();
LOOP_L_N(i, 8) {
for (uint8_t i = 0; i < 8; ++i) {
if (val & 0x80)
*outData |= bitData;
else
@@ -108,7 +108,7 @@ void u8g_spiSend_sw_AVR_mode_3(uint8_t val) {
volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock;
U8G_ATOMIC_START();
LOOP_L_N(i, 8) {
for (uint8_t i = 0; i < 8; ++i) {
*outClock &= bitNotClock;
if (val & 0x80)
*outData |= bitData;
-70
View File
@@ -1,70 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 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/>.
*
*/
#ifdef __AVR__
#include "../../inc/MarlinConfig.h"
#if ENABLED(USE_WATCHDOG)
#include "watchdog.h"
#include "../../MarlinCore.h"
// Initialize watchdog with 8s timeout, if possible. Otherwise, make it 4s.
void watchdog_init() {
#if ENABLED(WATCHDOG_DURATION_8S) && defined(WDTO_8S)
#define WDTO_NS WDTO_8S
#else
#define WDTO_NS WDTO_4S
#endif
#if ENABLED(WATCHDOG_RESET_MANUAL)
// Enable the watchdog timer, but only for the interrupt.
// Take care, as this requires the correct order of operation, with interrupts disabled.
// See the datasheet of any AVR chip for details.
wdt_reset();
cli();
_WD_CONTROL_REG = _BV(_WD_CHANGE_BIT) | _BV(WDE);
_WD_CONTROL_REG = _BV(WDIE) | (WDTO_NS & 0x07) | ((WDTO_NS & 0x08) << 2); // WDTO_NS directly does not work. bit 0-2 are consecutive in the register but the highest value bit is at bit 5
// So worked for up to WDTO_2S
sei();
wdt_reset();
#else
wdt_enable(WDTO_NS); // The function handles the upper bit correct.
#endif
//delay(10000); // test it!
}
//===========================================================================
//=================================== ISR ===================================
//===========================================================================
// Watchdog timer interrupt, called if main program blocks >4sec and manual reset is enabled.
#if ENABLED(WATCHDOG_RESET_MANUAL)
ISR(WDT_vect) {
sei(); // With the interrupt driven serial we need to allow interrupts.
SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED);
minkill(); // interrupt-safe final kill and infinite loop
}
#endif
#endif // USE_WATCHDOG
#endif // __AVR__
+114 -35
View File
@@ -1,7 +1,9 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* 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
@@ -25,7 +27,7 @@
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include "../../MarlinCore.h"
#include <Wire.h>
#include "usb/usb_task.h"
@@ -34,39 +36,33 @@
// Public Variables
// ------------------------
uint16_t HAL_adc_result;
uint16_t MarlinHAL::adc_result;
// ------------------------
// Public functions
// ------------------------
TERN_(POSTMORTEM_DEBUGGING, extern void install_min_serial());
#if ENABLED(POSTMORTEM_DEBUGGING)
extern void install_min_serial();
#endif
// HAL initialization task
void HAL_init() {
// Initialize the USB stack
#if ENABLED(SDSUPPORT)
void MarlinHAL::init() {
#if HAS_MEDIA
OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up
#endif
usb_task_init();
usb_task_init(); // Initialize the USB stack
TERN_(POSTMORTEM_DEBUGGING, install_min_serial()); // Install the min serial handler
}
// HAL idle task
void HAL_idletask() {
// Perform USB stack housekeeping
usb_task_idle();
void MarlinHAL::init_board() {
#ifdef BOARD_INIT
BOARD_INIT();
#endif
}
// Disable interrupts
void cli() { noInterrupts(); }
void MarlinHAL::idletask() { usb_task_idle(); } // Perform USB stack housekeeping
// Enable interrupts
void sei() { interrupts(); }
void HAL_clear_reset_source() { }
uint8_t HAL_get_reset_source() {
uint8_t MarlinHAL::get_reset_source() {
switch ((RSTC->RSTC_SR >> 8) & 0x07) {
case 0: return RST_POWER_ON;
case 1: return RST_BACKUP;
@@ -77,13 +73,105 @@ uint8_t HAL_get_reset_source() {
}
}
void HAL_reboot() { rstc_start_software_reset(RSTC); }
void MarlinHAL::reboot() { rstc_start_software_reset(RSTC); }
void _delay_ms(const int delay_ms) {
// Todo: port for Due?
delay(delay_ms);
// ------------------------
// Watchdog Timer
// ------------------------
#if ENABLED(USE_WATCHDOG)
// Initialize watchdog - On SAM3X, Watchdog was already configured
// and enabled or disabled at startup, so no need to reconfigure it
// here.
void MarlinHAL::watchdog_init() { WDT_Restart(WDT); } // Reset watchdog to start clean
// Reset watchdog. MUST be called at least every 4 seconds after the
// first watchdog_init or AVR will go into emergency procedures.
void MarlinHAL::watchdog_refresh() { watchdogReset(); }
#endif
// Override Arduino runtime to either config or disable the watchdog
//
// We need to configure the watchdog as soon as possible in the boot
// process, because watchdog initialization at hardware reset on SAM3X8E
// is unreliable, and there is risk of unintended resets if we delay
// that initialization to a later time.
void watchdogSetup() {
#if ENABLED(USE_WATCHDOG)
// 4 seconds timeout
uint32_t timeout = TERN(WATCHDOG_DURATION_8S, 8000, 4000);
// Calculate timeout value in WDT counter ticks: This assumes
// the slow clock is running at 32.768 kHz watchdog
// frequency is therefore 32768 / 128 = 256 Hz
timeout = (timeout << 8) / 1000;
if (timeout == 0)
timeout = 1;
else if (timeout > 0xFFF)
timeout = 0xFFF;
// We want to enable the watchdog with the specified timeout
uint32_t value =
WDT_MR_WDV(timeout) | // With the specified timeout
WDT_MR_WDD(timeout) | // and no invalid write window
#if !(SAMV70 || SAMV71 || SAME70 || SAMS70)
WDT_MR_WDRPROC | // WDT fault resets processor only - We want
// to keep PIO controller state
#endif
WDT_MR_WDDBGHLT | // WDT stops in debug state.
WDT_MR_WDIDLEHLT; // WDT stops in idle state.
#if ENABLED(WATCHDOG_RESET_MANUAL)
// We enable the watchdog timer, but only for the interrupt.
// Configure WDT to only trigger an interrupt
value |= WDT_MR_WDFIEN; // Enable WDT fault interrupt.
// Disable WDT interrupt (just in case, to avoid triggering it!)
NVIC_DisableIRQ(WDT_IRQn);
// We NEED memory barriers to ensure Interrupts are actually disabled!
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )
__DSB();
__ISB();
// Initialize WDT with the given parameters
WDT_Enable(WDT, value);
// Configure and enable WDT interrupt.
NVIC_ClearPendingIRQ(WDT_IRQn);
NVIC_SetPriority(WDT_IRQn, 0); // Use highest priority, so we detect all kinds of lockups
NVIC_EnableIRQ(WDT_IRQn);
#else
// a WDT fault triggers a reset
value |= WDT_MR_WDRSTEN;
// Initialize WDT with the given parameters
WDT_Enable(WDT, value);
#endif
// Reset the watchdog
WDT_Restart(WDT);
#else
// Make sure to completely disable the Watchdog
WDT_Disable(WDT);
#endif
}
// ------------------------
// Free Memory Accessor
// ------------------------
extern "C" {
extern unsigned int _ebss; // end of bss section
}
@@ -95,18 +183,9 @@ int freeMemory() {
}
// ------------------------
// ADC
// Serial Ports
// ------------------------
void HAL_adc_start_conversion(const uint8_t ch) {
HAL_adc_result = analogRead(ch);
}
uint16_t HAL_adc_get_result() {
// nop
return HAL_adc_result;
}
// Forward the default serial ports
#if USING_HW_SERIAL0
DefaultSerial1 MSerial0(false, Serial);
+96 -51
View File
@@ -1,9 +1,9 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
*
* 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
@@ -32,12 +32,15 @@
#include "../shared/math_32bit.h"
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "watchdog.h"
#include <stdint.h>
#include "../../core/serial_hook.h"
// ------------------------
// Serial ports
// ------------------------
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
typedef ForwardSerial1Class< decltype(Serial1) > DefaultSerial2;
typedef ForwardSerial1Class< decltype(Serial2) > DefaultSerial3;
@@ -97,55 +100,38 @@ extern DefaultSerial4 MSerial3;
#include "MarlinSerial.h"
#include "MarlinSerialUSB.h"
// On AVR this is in math.h?
#define square(x) ((x)*(x))
// ------------------------
// Types
// ------------------------
typedef int8_t pin_t;
#define SHARED_SERVOS HAS_SERVOS
#define HAL_SERVO_LIB Servo
#define SHARED_SERVOS HAS_SERVOS // Use shared/servos.cpp
class Servo;
typedef Servo hal_servo_t;
//
// Interrupts
//
#define CRITICAL_SECTION_START() uint32_t primask = __get_PRIMASK(); __disable_irq()
#define CRITICAL_SECTION_END() if (!primask) __enable_irq()
#define ISRS_ENABLED() (!__get_PRIMASK())
#define ENABLE_ISRS() __enable_irq()
#define DISABLE_ISRS() __disable_irq()
#define sei() interrupts()
#define cli() noInterrupts()
void cli(); // Disable interrupts
void sei(); // Enable interrupts
void HAL_clear_reset_source(); // clear reset reason
uint8_t HAL_get_reset_source(); // get reset reason
void HAL_reboot();
#define CRITICAL_SECTION_START() const bool _irqon = hal.isr_state(); hal.isr_off()
#define CRITICAL_SECTION_END() if (_irqon) hal.isr_on()
//
// ADC
//
extern uint16_t HAL_adc_result; // result of last ADC conversion
#define HAL_ADC_VREF_MV 3300
#define HAL_ADC_RESOLUTION 10
#ifndef analogInputToDigitalPin
#define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1)
#endif
#define HAL_ANALOG_SELECT(ch)
inline void HAL_adc_init() {}//todo
#define HAL_ADC_VREF 3.3
#define HAL_ADC_RESOLUTION 10
#define HAL_START_ADC(ch) HAL_adc_start_conversion(ch)
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
void HAL_adc_start_conversion(const uint8_t ch);
uint16_t HAL_adc_get_result();
//
// Pin Map
// Pin Mapping for M42, M43, M226
//
#define GET_PIN_MAP_PIN(index) index
#define GET_PIN_MAP_INDEX(pin) pin
@@ -154,30 +140,19 @@ uint16_t HAL_adc_get_result();
//
// Tone
//
void toneInit();
void tone(const pin_t _pin, const unsigned int frequency, const unsigned long duration=0);
void noTone(const pin_t _pin);
// Enable hooks into idle and setup for HAL
#define HAL_IDLETASK 1
void HAL_idletask();
void HAL_init();
//
// Utility functions
//
void _delay_ms(const int delay);
// ------------------------
// Class Utilities
// ------------------------
#pragma GCC diagnostic push
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
int freeMemory();
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
#pragma GCC diagnostic pop
#ifdef __cplusplus
extern "C" {
@@ -186,3 +161,73 @@ char *dtostrf(double __val, signed char __width, unsigned char __prec, char *__s
#ifdef __cplusplus
}
#endif
// Return free RAM between end of heap (or end bss) and whatever is current
int freeMemory();
// ------------------------
// MarlinHAL Class
// ------------------------
class MarlinHAL {
public:
// Earliest possible init, before setup()
MarlinHAL() {}
// Watchdog
static void watchdog_init() IF_DISABLED(USE_WATCHDOG, {});
static void watchdog_refresh() IF_DISABLED(USE_WATCHDOG, {});
static void init(); // Called early in setup()
static void init_board(); // Called less early in setup()
static void reboot(); // Restart the firmware
// Interrupts
static bool isr_state() { return !__get_PRIMASK(); }
static void isr_on() { __enable_irq(); }
static void isr_off() { __disable_irq(); }
static void delay_ms(const int ms) { delay(ms); }
// Tasks, called from idle()
static void idletask();
// Reset
static uint8_t get_reset_source();
static void clear_reset_source() {}
// Free SRAM
static int freeMemory() { return ::freeMemory(); }
//
// ADC Methods
//
static uint16_t adc_result;
// Called by Temperature::init once at startup
static void adc_init() {}
// Called by Temperature::init for each sensor at startup
static void adc_enable(const uint8_t /*ch*/) {}
// Begin ADC sampling on the given channel. Called from Temperature::isr!
static void adc_start(const uint8_t ch) { adc_result = analogRead(ch); }
// Is the ADC ready for reading?
static bool adc_ready() { return true; }
// The current value of the ADC register
static uint16_t adc_value() { return adc_result; }
/**
* Set the PWM duty cycle for the pin to the given value.
* No inverting the duty cycle in this HAL.
* No changing the maximum size of the provided value to enable finer PWM duty control in this HAL.
*/
static void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t=255, const bool=false) {
analogWrite(pin, v);
}
};
+9 -15
View File
@@ -31,8 +31,6 @@
/**
* HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
*/
#ifdef ARDUINO_ARCH_SAM
@@ -44,7 +42,7 @@
// Public functions
// ------------------------
#if EITHER(DUE_SOFTWARE_SPI, FORCE_SOFT_SPI)
#if ANY(DUE_SOFTWARE_SPI, FORCE_SOFT_SPI)
// ------------------------
// Software SPI
@@ -249,12 +247,12 @@
b <<= 1; // little setup time
WRITE(SD_SCK_PIN, HIGH);
DELAY_NS(spiDelayNS);
DELAY_NS_VAR(spiDelayNS);
b |= (READ(SD_MISO_PIN) != 0);
WRITE(SD_SCK_PIN, LOW);
DELAY_NS(spiDelayNS);
DELAY_NS_VAR(spiDelayNS);
} while (--bits);
return b;
}
@@ -594,18 +592,14 @@
SPI_Configure(SPI0, ID_SPI0, SPI_MR_MSTR | SPI_MR_MODFDIS | SPI_MR_PS);
SPI_Enable(SPI0);
SET_OUTPUT(DAC0_SYNC);
SET_OUTPUT(DAC0_SYNC_PIN);
#if HAS_MULTI_EXTRUDER
SET_OUTPUT(DAC1_SYNC);
WRITE(DAC1_SYNC, HIGH);
OUT_WRITE(DAC1_SYNC_PIN, HIGH);
#endif
SET_OUTPUT(SPI_EEPROM1_CS);
SET_OUTPUT(SPI_EEPROM2_CS);
SET_OUTPUT(SPI_FLASH_CS);
WRITE(DAC0_SYNC, HIGH);
WRITE(SPI_EEPROM1_CS, HIGH);
WRITE(SPI_EEPROM2_CS, HIGH);
WRITE(SPI_FLASH_CS, HIGH);
WRITE(DAC0_SYNC_PIN, HIGH);
OUT_WRITE(SPI_EEPROM1_CS_PIN, HIGH);
OUT_WRITE(SPI_EEPROM2_CS_PIN, HIGH);
OUT_WRITE(SPI_FLASH_CS_PIN, HIGH);
WRITE(SD_SS_PIN, HIGH);
OUT_WRITE(SDSS, LOW);
+1 -1
View File
@@ -41,7 +41,7 @@
practice, we need alignment to 256 bytes to make this work in all
cases */
__attribute__ ((aligned(256)))
static DeviceVectors ram_tab = { nullptr };
static DeviceVectors ram_tab[61] = { nullptr };
/**
* This function checks if the exception/interrupt table is already in SRAM or not.
@@ -21,7 +21,6 @@
*/
#pragma once
#define WDT_TIMEOUT 4000000 // 4 second timeout
#include <SPI.h>
void watchdog_init();
void HAL_watchdog_refresh();
using MarlinSPI = SPIClass;
+2 -2
View File
@@ -406,7 +406,7 @@ size_t MarlinSerial<Cfg>::write(const uint8_t c) {
const uint8_t i = (tx_buffer.head + 1) & (Cfg::TX_SIZE - 1);
// If global interrupts are disabled (as the result of being called from an ISR)...
if (!ISRS_ENABLED()) {
if (!hal.isr_state()) {
// Make room by polling if it is possible to transmit, and do so!
while (i == tx_buffer.tail) {
@@ -454,7 +454,7 @@ void MarlinSerial<Cfg>::flushTX() {
if (!_written) return;
// If global interrupts are disabled (as the result of being called from an ISR)...
if (!ISRS_ENABLED()) {
if (!hal.isr_state()) {
// Wait until everything was transmitted - We must do polling, as interrupts are disabled
while (tx_buffer.head != tx_buffer.tail || !(HWUART->UART_SR & UART_SR_TXEMPTY)) {
+3 -6
View File
@@ -30,6 +30,7 @@
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#include "../../core/types.h"
#include "../../core/serial_hook.h"
// Define constants and variables for buffering incoming serial data. We're
@@ -52,10 +53,6 @@
// #error "TX_BUFFER_SIZE must be 0, a power of 2 greater than 1, and no greater than 256."
//#endif
// Templated type selector
template<bool b, typename T, typename F> struct TypeSelector { typedef T type;} ;
template<typename T, typename F> struct TypeSelector<false, T, F> { typedef F type; };
// Templated structure wrapper
template<typename S, unsigned int addr> struct StructWrapper {
constexpr StructWrapper(int) {}
@@ -76,7 +73,7 @@ protected:
static constexpr int HWUART_IRQ_ID = IRQ_IDS[Cfg::PORT];
// Base size of type on buffer size
typedef typename TypeSelector<(Cfg::RX_SIZE>256), uint16_t, uint8_t>::type ring_buffer_pos_t;
typedef uvalue_t(Cfg::RX_SIZE - 1) ring_buffer_pos_t;
struct ring_buffer_r {
volatile ring_buffer_pos_t head, tail;
@@ -118,7 +115,7 @@ public:
static size_t write(const uint8_t c);
static void flushTX();
static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
static bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; }
FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; }
+1 -1
View File
@@ -41,7 +41,7 @@ extern "C" {
int udi_cdc_getc();
bool udi_cdc_is_tx_ready();
int udi_cdc_putc(int value);
};
}
// Pending character
static int pending_char = -1;
@@ -25,7 +25,7 @@
#if ENABLED(POSTMORTEM_DEBUGGING)
#include "../shared/HAL_MinSerial.h"
#include "../shared/MinSerial.h"
#include <stdarg.h>
@@ -73,18 +73,18 @@ void install_min_serial() {
}
#if DISABLED(DYNAMIC_VECTORTABLE)
extern "C" {
__attribute__((naked)) void JumpHandler_ASM() {
__asm__ __volatile__ (
"b CommonHandler_ASM\n"
);
extern "C" {
__attribute__((naked)) void JumpHandler_ASM() {
__asm__ __volatile__ (
"b CommonHandler_ASM\n"
);
}
void __attribute__((naked, alias("JumpHandler_ASM"))) HardFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) BusFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) UsageFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) MemManage_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) NMI_Handler();
}
void __attribute__((naked, alias("JumpHandler_ASM"))) HardFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) BusFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) UsageFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) MemManage_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) NMI_Handler();
}
#endif
#endif // POSTMORTEM_DEBUGGING
+68 -64
View File
@@ -47,12 +47,12 @@
#include "../shared/servo.h"
#include "../shared/servo_private.h"
static volatile int8_t Channel[_Nbr_16timers]; // counter for the servo being pulsed for each timer (or -1 if refresh interval)
static Flags<_Nbr_16timers> DisablePending; // ISR should disable the timer at the next timer reset
// ------------------------
/// Interrupt handler for the TC0 channel 1.
// ------------------------
void Servo_Handler(timer16_Sequence_t timer, Tc *pTc, uint8_t channel);
void Servo_Handler(const timer16_Sequence_t, Tc*, const uint8_t);
#ifdef _useTimer1
void HANDLER_FOR_TIMER1() { Servo_Handler(_timer1, TC_FOR_TIMER1, CHANNEL_FOR_TIMER1); }
@@ -70,88 +70,92 @@ void Servo_Handler(timer16_Sequence_t timer, Tc *pTc, uint8_t channel);
void HANDLER_FOR_TIMER5() { Servo_Handler(_timer5, TC_FOR_TIMER5, CHANNEL_FOR_TIMER5); }
#endif
void Servo_Handler(timer16_Sequence_t timer, Tc *tc, uint8_t channel) {
// clear interrupt
tc->TC_CHANNEL[channel].TC_SR;
if (Channel[timer] < 0)
tc->TC_CHANNEL[channel].TC_CCR |= TC_CCR_SWTRG; // channel set to -1 indicated that refresh interval completed so reset the timer
else if (SERVO_INDEX(timer, Channel[timer]) < ServoCount && SERVO(timer, Channel[timer]).Pin.isActive)
extDigitalWrite(SERVO(timer, Channel[timer]).Pin.nbr, LOW); // pulse this channel low if activated
void Servo_Handler(const timer16_Sequence_t timer, Tc *tc, const uint8_t channel) {
static int8_t Channel[_Nbr_16timers]; // Servo counters to pulse (or -1 for refresh interval)
int8_t cho = Channel[timer]; // Handle the prior Channel[timer] first
if (cho < 0) { // Channel -1 indicates the refresh interval completed...
tc->TC_CHANNEL[channel].TC_CCR |= TC_CCR_SWTRG; // ...so reset the timer
if (DisablePending[timer]) {
// Disabling only after the full servo period expires prevents
// pulses being too close together if immediately re-enabled.
DisablePending.clear(timer);
TC_Stop(tc, channel);
tc->TC_CHANNEL[channel].TC_SR; // clear interrupt
return;
}
}
else if (SERVO_INDEX(timer, cho) < ServoCount) // prior channel handled?
extDigitalWrite(SERVO(timer, cho).Pin.nbr, LOW); // pulse the prior channel LOW
Channel[timer]++; // increment to the next channel
if (SERVO_INDEX(timer, Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) {
tc->TC_CHANNEL[channel].TC_RA = tc->TC_CHANNEL[channel].TC_CV + SERVO(timer,Channel[timer]).ticks;
if (SERVO(timer,Channel[timer]).Pin.isActive) // check if activated
extDigitalWrite(SERVO(timer, Channel[timer]).Pin.nbr, HIGH); // its an active channel so pulse it high
Channel[timer] = ++cho; // go to the next channel (or 0)
if (cho < SERVOS_PER_TIMER && SERVO_INDEX(timer, cho) < ServoCount) {
tc->TC_CHANNEL[channel].TC_RA = tc->TC_CHANNEL[channel].TC_CV + SERVO(timer, cho).ticks;
if (SERVO(timer, cho).Pin.isActive) // activated?
extDigitalWrite(SERVO(timer, cho).Pin.nbr, HIGH); // yes: pulse HIGH
}
else {
// finished all channels so wait for the refresh period to expire before starting over
tc->TC_CHANNEL[channel].TC_RA =
tc->TC_CHANNEL[channel].TC_CV < usToTicks(REFRESH_INTERVAL) - 4
? (unsigned int)usToTicks(REFRESH_INTERVAL) // allow a few ticks to ensure the next OCR1A not missed
: tc->TC_CHANNEL[channel].TC_CV + 4; // at least REFRESH_INTERVAL has elapsed
Channel[timer] = -1; // this will get incremented at the end of the refresh period to start again at the first channel
const unsigned int cval = tc->TC_CHANNEL[channel].TC_CV + 128 / (SERVO_TIMER_PRESCALER), // allow 128 cycles to ensure the next CV not missed
ival = (unsigned int)usToTicks(REFRESH_INTERVAL); // at least REFRESH_INTERVAL has elapsed
tc->TC_CHANNEL[channel].TC_RA = max(cval, ival);
Channel[timer] = -1; // reset the timer CCR on the next call
}
tc->TC_CHANNEL[channel].TC_SR; // clear interrupt
}
static void _initISR(Tc *tc, uint32_t channel, uint32_t id, IRQn_Type irqn) {
pmc_enable_periph_clk(id);
TC_Configure(tc, channel,
TC_CMR_TCCLKS_TIMER_CLOCK3 | // MCK/32
TC_CMR_WAVE | // Waveform mode
TC_CMR_WAVSEL_UP_RC ); // Counter running up and reset when equals to RC
TC_CMR_WAVE // Waveform mode
| TC_CMR_WAVSEL_UP_RC // Counter running up and reset when equal to RC
| (SERVO_TIMER_PRESCALER == 2 ? TC_CMR_TCCLKS_TIMER_CLOCK1 : 0) // MCK/2
| (SERVO_TIMER_PRESCALER == 8 ? TC_CMR_TCCLKS_TIMER_CLOCK2 : 0) // MCK/8
| (SERVO_TIMER_PRESCALER == 32 ? TC_CMR_TCCLKS_TIMER_CLOCK3 : 0) // MCK/32
| (SERVO_TIMER_PRESCALER == 128 ? TC_CMR_TCCLKS_TIMER_CLOCK4 : 0) // MCK/128
);
/* 84MHz, MCK/32, for 1.5ms: 3937 */
TC_SetRA(tc, channel, 2625); // 1ms
// Wait 1ms before the first ISR
TC_SetRA(tc, channel, (F_CPU) / (SERVO_TIMER_PRESCALER) / 1000UL); // 1ms
/* Configure and enable interrupt */
// Configure and enable interrupt
NVIC_EnableIRQ(irqn);
// TC_IER_CPAS: RA Compare
tc->TC_CHANNEL[channel].TC_IER = TC_IER_CPAS;
tc->TC_CHANNEL[channel].TC_IER = TC_IER_CPAS; // TC_IER_CPAS: RA Compare
// Enables the timer clock and performs a software reset to start the counting
TC_Start(tc, channel);
}
void initISR(timer16_Sequence_t timer) {
#ifdef _useTimer1
if (timer == _timer1)
_initISR(TC_FOR_TIMER1, CHANNEL_FOR_TIMER1, ID_TC_FOR_TIMER1, IRQn_FOR_TIMER1);
#endif
#ifdef _useTimer2
if (timer == _timer2)
_initISR(TC_FOR_TIMER2, CHANNEL_FOR_TIMER2, ID_TC_FOR_TIMER2, IRQn_FOR_TIMER2);
#endif
#ifdef _useTimer3
if (timer == _timer3)
_initISR(TC_FOR_TIMER3, CHANNEL_FOR_TIMER3, ID_TC_FOR_TIMER3, IRQn_FOR_TIMER3);
#endif
#ifdef _useTimer4
if (timer == _timer4)
_initISR(TC_FOR_TIMER4, CHANNEL_FOR_TIMER4, ID_TC_FOR_TIMER4, IRQn_FOR_TIMER4);
#endif
#ifdef _useTimer5
if (timer == _timer5)
_initISR(TC_FOR_TIMER5, CHANNEL_FOR_TIMER5, ID_TC_FOR_TIMER5, IRQn_FOR_TIMER5);
#endif
void initISR(const timer16_Sequence_t timer_index) {
CRITICAL_SECTION_START();
const bool disable_soon = DisablePending[timer_index];
DisablePending.clear(timer_index);
CRITICAL_SECTION_END();
if (!disable_soon) switch (timer_index) {
default: break;
#ifdef _useTimer1
case _timer1: return _initISR(TC_FOR_TIMER1, CHANNEL_FOR_TIMER1, ID_TC_FOR_TIMER1, IRQn_FOR_TIMER1);
#endif
#ifdef _useTimer2
case _timer2: return _initISR(TC_FOR_TIMER2, CHANNEL_FOR_TIMER2, ID_TC_FOR_TIMER2, IRQn_FOR_TIMER2);
#endif
#ifdef _useTimer3
case _timer3: return _initISR(TC_FOR_TIMER3, CHANNEL_FOR_TIMER3, ID_TC_FOR_TIMER3, IRQn_FOR_TIMER3);
#endif
#ifdef _useTimer4
case _timer4: return _initISR(TC_FOR_TIMER4, CHANNEL_FOR_TIMER4, ID_TC_FOR_TIMER4, IRQn_FOR_TIMER4);
#endif
#ifdef _useTimer5
case _timer5: return _initISR(TC_FOR_TIMER5, CHANNEL_FOR_TIMER5, ID_TC_FOR_TIMER5, IRQn_FOR_TIMER5);
#endif
}
}
void finISR(timer16_Sequence_t) {
#ifdef _useTimer1
TC_Stop(TC_FOR_TIMER1, CHANNEL_FOR_TIMER1);
#endif
#ifdef _useTimer2
TC_Stop(TC_FOR_TIMER2, CHANNEL_FOR_TIMER2);
#endif
#ifdef _useTimer3
TC_Stop(TC_FOR_TIMER3, CHANNEL_FOR_TIMER3);
#endif
#ifdef _useTimer4
TC_Stop(TC_FOR_TIMER4, CHANNEL_FOR_TIMER4);
#endif
#ifdef _useTimer5
TC_Stop(TC_FOR_TIMER5, CHANNEL_FOR_TIMER5);
#endif
void finISR(const timer16_Sequence_t timer_index) {
// Timer is disabled from the ISR, to ensure proper final pulse length.
DisablePending.set(timer_index);
}
#endif // HAS_SERVOS
+1 -1
View File
@@ -37,7 +37,7 @@
#define _useTimer5
#define TRIM_DURATION 2 // compensation ticks to trim adjust for digitalWrite delays
#define SERVO_TIMER_PRESCALER 32 // timer prescaler
#define SERVO_TIMER_PRESCALER 2 // timer prescaler
/*
TC0, chan 0 => TC0_Handler
+4 -4
View File
@@ -35,20 +35,20 @@
static pin_t tone_pin;
volatile static int32_t toggles;
void tone(const pin_t _pin, const unsigned int frequency, const unsigned long duration) {
void tone(const pin_t _pin, const unsigned int frequency, const unsigned long duration/*=0*/) {
tone_pin = _pin;
toggles = 2 * frequency * duration / 1000;
HAL_timer_start(TONE_TIMER_NUM, 2 * frequency);
HAL_timer_start(MF_TIMER_TONE, 2 * frequency);
}
void noTone(const pin_t _pin) {
HAL_timer_disable_interrupt(TONE_TIMER_NUM);
HAL_timer_disable_interrupt(MF_TIMER_TONE);
extDigitalWrite(_pin, LOW);
}
HAL_TONE_TIMER_ISR() {
static uint8_t pin_state = 0;
HAL_timer_isr_prologue(TONE_TIMER_NUM);
HAL_timer_isr_prologue(MF_TIMER_TONE);
if (toggles) {
toggles--;
+20 -33
View File
@@ -1,10 +1,9 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
* Copyright (c) 2016 Victor Perez victor_pv@hotmail.com
*
* 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
@@ -199,10 +198,9 @@ static bool ee_PageWrite(uint16_t page, const void *data) {
for (i = 0; i <PageSize >> 2; i++)
pageContents[i] = (((uint32_t*)data)[i]) | (~(pageContents[i] ^ ((uint32_t*)data)[i]));
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM PageWrite ", page);
DEBUG_ECHOLNPAIR(" in FLASH address ", (uint32_t)addrflash);
DEBUG_ECHOLNPAIR(" base address ", (uint32_t)getFlashStorage(0));
DEBUG_ECHO_MSG("EEPROM PageWrite ", page);
DEBUG_ECHOLNPGM(" in FLASH address ", (uint32_t)addrflash);
DEBUG_ECHOLNPGM(" base address ", (uint32_t)getFlashStorage(0));
DEBUG_FLUSH();
// Get the page relative to the start of the EFC controller, and the EFC controller to use
@@ -245,8 +243,7 @@ static bool ee_PageWrite(uint16_t page, const void *data) {
// Reenable interrupts
__enable_irq();
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Unlock failure for page ", page);
DEBUG_ECHO_MSG("EEPROM Unlock failure for page ", page);
return false;
}
@@ -270,8 +267,7 @@ static bool ee_PageWrite(uint16_t page, const void *data) {
// Reenable interrupts
__enable_irq();
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Write failure for page ", page);
DEBUG_ECHO_MSG("EEPROM Write failure for page ", page);
return false;
}
@@ -286,8 +282,7 @@ static bool ee_PageWrite(uint16_t page, const void *data) {
if (memcmp(getFlashStorage(page),data,PageSize)) {
#ifdef EE_EMU_DEBUG
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Verify Write failure for page ", page);
DEBUG_ECHO_MSG("EEPROM Verify Write failure for page ", page);
ee_Dump( page, (uint32_t *)addrflash);
ee_Dump(-page, data);
@@ -306,7 +301,7 @@ static bool ee_PageWrite(uint16_t page, const void *data) {
}
}
}
DEBUG_ECHOLNPAIR("--> Differing bits: ", count);
DEBUG_ECHOLNPGM("--> Differing bits: ", count);
#endif
return false;
@@ -325,10 +320,9 @@ static bool ee_PageErase(uint16_t page) {
uint16_t i;
uint32_t addrflash = uint32_t(getFlashStorage(page));
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM PageErase ", page);
DEBUG_ECHOLNPAIR(" in FLASH address ", (uint32_t)addrflash);
DEBUG_ECHOLNPAIR(" base address ", (uint32_t)getFlashStorage(0));
DEBUG_ECHO_MSG("EEPROM PageErase ", page);
DEBUG_ECHOLNPGM(" in FLASH address ", (uint32_t)addrflash);
DEBUG_ECHOLNPGM(" base address ", (uint32_t)getFlashStorage(0));
DEBUG_FLUSH();
// Get the page relative to the start of the EFC controller, and the EFC controller to use
@@ -370,8 +364,7 @@ static bool ee_PageErase(uint16_t page) {
// Reenable interrupts
__enable_irq();
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Unlock failure for page ",page);
DEBUG_ECHO_MSG("EEPROM Unlock failure for page ",page);
return false;
}
@@ -394,8 +387,7 @@ static bool ee_PageErase(uint16_t page) {
// Reenable interrupts
__enable_irq();
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Erase failure for page ",page);
DEBUG_ECHO_MSG("EEPROM Erase failure for page ",page);
return false;
}
@@ -410,8 +402,7 @@ static bool ee_PageErase(uint16_t page) {
uint32_t * aligned_src = (uint32_t *) addrflash;
for (i = 0; i < PageSize >> 2; i++) {
if (*aligned_src++ != 0xFFFFFFFF) {
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Verify Erase failure for page ",page);
DEBUG_ECHO_MSG("EEPROM Verify Erase failure for page ",page);
ee_Dump(page, (uint32_t *)addrflash);
return false;
}
@@ -921,8 +912,7 @@ static void ee_Init() {
// If all groups seem to be used, default to first group
if (curGroup >= GroupCount) curGroup = 0;
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Current Group: ",curGroup);
DEBUG_ECHO_MSG("EEPROM Current Group: ",curGroup);
DEBUG_FLUSH();
// Now, validate that all the other group pages are empty
@@ -931,8 +921,7 @@ static void ee_Init() {
for (int page = 0; page < PagesPerGroup; page++) {
if (!ee_IsPageClean(grp * PagesPerGroup + page)) {
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Page ", page, " not clean on group ", grp);
DEBUG_ECHO_MSG("EEPROM Page ", page, " not clean on group ", grp);
DEBUG_FLUSH();
ee_PageErase(grp * PagesPerGroup + page);
}
@@ -948,15 +937,13 @@ static void ee_Init() {
}
}
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Active page: ", curPage);
DEBUG_ECHO_MSG("EEPROM Active page: ", curPage);
DEBUG_FLUSH();
// Make sure the pages following the first clean one are also clean
for (int page = curPage + 1; page < PagesPerGroup; page++) {
if (!ee_IsPageClean(curGroup * PagesPerGroup + page)) {
DEBUG_ECHO_START();
DEBUG_ECHOLNPAIR("EEPROM Page ", page, " not clean on active group ", curGroup);
DEBUG_ECHO_MSG("EEPROM Page ", page, " not clean on active group ", curGroup);
DEBUG_FLUSH();
ee_Dump(curGroup * PagesPerGroup + page, getFlashStorage(curGroup * PagesPerGroup + page));
ee_PageErase(curGroup * PagesPerGroup + page);
+3 -4
View File
@@ -1,10 +1,9 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
* Copyright (c) 2016 Victor Perez victor_pv@hotmail.com
*
* 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
+29 -23
View File
@@ -47,27 +47,33 @@ void endstop_ISR() { endstops.update(); }
void setup_endstop_interrupts() {
#define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE)
TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN));
TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN));
TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN));
TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN));
TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN));
TERN_(HAS_Z_MIN, _ATTACH(Z_MIN_PIN));
TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN));
TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN));
TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN));
TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN));
TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN));
TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN));
TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN));
TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN));
TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN));
TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN));
TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN));
TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN));
TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN));
TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN));
TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN));
TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN));
TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN));
TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN));
TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN));
TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN));
TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN));
TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN));
TERN_(USE_Z_MIN, _ATTACH(Z_MIN_PIN));
TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN));
TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN));
TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN));
TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN));
TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN));
TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN));
TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN));
TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN));
TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN));
TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN));
TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN));
TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN));
TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN));
TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN));
TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN));
TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN));
TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN));
TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN));
TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN));
TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN));
TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN));
TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN));
TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN));
}
+4 -4
View File
@@ -189,12 +189,12 @@
*/
// UART
#define RXD DIO0
#define TXD DIO1
#define RXD 0
#define TXD 1
// TWI (I2C)
#define SCL DIO21
#define SDA DIO20
#define SCL 21
#define SDA 20
/**
* pins
+1 -1
View File
@@ -25,7 +25,7 @@
* is NOT used to directly toggle pins. The ISR writes to the pin assigned to
* that interrupt.
*
* All PWMs use the same repetition rate. The G2 needs about 10KHz min in order to
* All PWMs use the same repetition rate. The G2 needs about 10kHz min in order to
* not have obvious ripple on the Vref signals.
*
* The data structures are setup to minimize the computation done by the ISR which
+1 -1
View File
@@ -63,7 +63,7 @@ extern PWM_map ISR_table[NUM_PWMS];
extern uint32_t motor_current_setting[3];
#define IR_BIT(p) (WITHIN(p, 0, 3) ? (p) : (p) + 4)
#define COPY_ACTIVE_TABLE() do{ LOOP_L_N(i, 6) work_table[i] = active_table[i]; }while(0)
#define COPY_ACTIVE_TABLE() do{ for (uint8_t i = 0; i < 6; ++i) work_table[i] = active_table[i]; }while(0)
#define PWM_MR0 19999 // base repetition rate minus one count - 20mS
#define PWM_PR 24 // prescaler value - prescaler divide by 24 + 1 - 1 MHz output
@@ -20,7 +20,3 @@
*
*/
#pragma once
#if HAS_SPI_TFT || HAS_FSMC_TFT
#error "Sorry! TFT displays are not available for HAL/DUE."
#endif
+1 -1
View File
@@ -23,6 +23,6 @@
#if USE_FALLBACK_EEPROM
#define FLASH_EEPROM_EMULATION
#elif EITHER(I2C_EEPROM, SPI_EEPROM)
#elif ANY(I2C_EEPROM, SPI_EEPROM)
#define USE_SHARED_EEPROM 1
#endif
+35 -3
View File
@@ -25,6 +25,34 @@
* Test Arduino Due specific configuration values for errors at compile-time.
*/
#if HAS_SPI_TFT || HAS_FSMC_TFT
#error "Sorry! TFT displays are not available for HAL/DUE."
#endif
/**
* Check for common serial pin conflicts
*/
#define CHECK_SERIAL_PIN(N) ( \
X_STOP_PIN == N || Y_STOP_PIN == N || Z_STOP_PIN == N \
|| X_MIN_PIN == N || Y_MIN_PIN == N || Z_MIN_PIN == N \
|| X_MAX_PIN == N || Y_MAX_PIN == N || Z_MAX_PIN == N \
|| X_STEP_PIN == N || Y_STEP_PIN == N || Z_STEP_PIN == N \
|| X_DIR_PIN == N || Y_DIR_PIN == N || Z_DIR_PIN == N \
|| X_ENA_PIN == N || Y_ENA_PIN == N || Z_ENA_PIN == N \
)
#if SERIAL_IN_USE(0) // D0-D1. No known conflicts.
#endif
#if SERIAL_IN_USE(1) && (CHECK_SERIAL_PIN(18) || CHECK_SERIAL_PIN(19))
#error "Serial Port 1 pin D18 and/or D19 conflicts with another pin on the board."
#endif
#if SERIAL_IN_USE(2) && (CHECK_SERIAL_PIN(16) || CHECK_SERIAL_PIN(17))
#error "Serial Port 2 pin D16 and/or D17 conflicts with another pin on the board."
#endif
#if SERIAL_IN_USE(3) && (CHECK_SERIAL_PIN(14) || CHECK_SERIAL_PIN(15))
#error "Serial Port 3 pin D14 and/or D15 conflicts with another pin on the board."
#endif
#undef CHECK_SERIAL_PIN
/**
* HARDWARE VS. SOFTWARE SPI COMPATIBILITY
*
@@ -40,9 +68,9 @@
* 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.
*/
#define _IS_HW_SPI(P) (defined(TMC_SW_##P) && (TMC_SW_##P == SD_MOSI_PIN || TMC_SW_##P == SD_MISO_PIN || TMC_SW_##P == SD_SCK_PIN))
#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 ENABLED(SDSUPPORT) && HAS_DRIVER(TMC2130)
#if HAS_MEDIA && HAS_DRIVER(TMC2130)
#if ENABLED(TMC_USE_SW_SPI)
#if DISABLED(DUE_SOFTWARE_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."
@@ -53,9 +81,13 @@
#endif
#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY
#error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported on DUE."
#error "Features requiring Hardware PWM (FAST_PWM_FAN, SPINDLE_LASER_FREQUENCY) are not yet supported for HAL/DUE."
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on the DUE platform."
#endif
#if USING_PULLDOWNS
#error "PULLDOWN pin mode is not available on DUE boards."
#endif
+9 -5
View File
@@ -2,6 +2,9 @@
* Marlin 3D Printer Firmware
* Copyright (c) 2020 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
@@ -50,7 +53,7 @@
* The net result is that both the g_pinStatus[pin] array and the PIO_OSR register
* needs to be looked at when determining if a pin is an input or an output.
*
* b) Due has only pins 6, 7, 8 & 9 enabled for PWMs. FYI - they run at 1KHz
* b) Due has only pins 6, 7, 8 & 9 enabled for PWMs. FYI - they run at 1kHz
*
* c) NUM_DIGITAL_PINS does not include the analog pins
*
@@ -61,12 +64,12 @@
#define NUMBER_PINS_TOTAL PINS_COUNT
#define digitalRead_mod(p) extDigitalRead(p) // AVR digitalRead disabled PWM before it read the pin
#define PRINT_PORT(p)
#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 PRINT_PIN(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 GET_ARRAY_PIN(p) pin_array[p].pin
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
#define VALID_PIN(pin) (pin >= 0 && pin < (int8_t)NUMBER_PINS_TOTAL ? 1 : 0)
#define VALID_PIN(pin) (pin >= 0 && pin < int8_t(NUMBER_PINS_TOTAL))
#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0))
#define IS_ANALOG(P) WITHIN(P, char(analogInputToDigitalPin(0)), char(analogInputToDigitalPin(NUM_ANALOG_INPUTS - 1)))
#define pwm_status(pin) (((g_pinStatus[pin] & 0xF) == PIN_STATUS_PWM) && \
@@ -82,14 +85,15 @@ bool GET_PINMODE(int8_t pin) { // 1: output, 0: input
|| pwm_status(pin));
}
void pwm_details(int32_t pin) {
if (pwm_status(pin)) {
uint32_t chan = g_APinDescription[pin].ulPWMChannel;
SERIAL_ECHOPAIR("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) {}
/**
* DUE Board pin | PORT | Label
* ----------------+--------+-------
+20 -13
View File
@@ -1,9 +1,9 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
* Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com
*
* 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
@@ -42,7 +42,7 @@
// Private Variables
// ------------------------
const tTimerConfig TimerConfig [NUM_HARDWARE_TIMERS] = {
const tTimerConfig timer_config[NUM_HARDWARE_TIMERS] = {
{ TC0, 0, TC0_IRQn, 3}, // 0 - [servo timer5]
{ TC0, 1, TC1_IRQn, 0}, // 1
{ TC0, 2, TC2_IRQn, 2}, // 2 - stepper
@@ -66,9 +66,9 @@ const tTimerConfig TimerConfig [NUM_HARDWARE_TIMERS] = {
*/
void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
Tc *tc = TimerConfig[timer_num].pTimerRegs;
IRQn_Type irq = TimerConfig[timer_num].IRQ_Id;
uint32_t channel = TimerConfig[timer_num].channel;
Tc *tc = timer_config[timer_num].pTimerRegs;
IRQn_Type irq = timer_config[timer_num].IRQ_Id;
uint32_t channel = timer_config[timer_num].channel;
// Disable interrupt, just in case it was already enabled
NVIC_DisableIRQ(irq);
@@ -86,13 +86,20 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
pmc_set_writeprotect(false);
pmc_enable_periph_clk((uint32_t)irq);
NVIC_SetPriority(irq, TimerConfig [timer_num].priority);
NVIC_SetPriority(irq, timer_config[timer_num].priority);
// wave mode, reset counter on match with RC,
TC_Configure(tc, channel, TC_CMR_WAVE | TC_CMR_WAVSEL_UP_RC | TC_CMR_TCCLKS_TIMER_CLOCK1);
TC_Configure(tc, channel,
TC_CMR_WAVE
| TC_CMR_WAVSEL_UP_RC
| (HAL_TIMER_PRESCALER == 2 ? TC_CMR_TCCLKS_TIMER_CLOCK1 : 0)
| (HAL_TIMER_PRESCALER == 8 ? TC_CMR_TCCLKS_TIMER_CLOCK2 : 0)
| (HAL_TIMER_PRESCALER == 32 ? TC_CMR_TCCLKS_TIMER_CLOCK3 : 0)
| (HAL_TIMER_PRESCALER == 128 ? TC_CMR_TCCLKS_TIMER_CLOCK4 : 0)
);
// Set compare value
TC_SetRC(tc, channel, VARIANT_MCK / 2 / frequency);
TC_SetRC(tc, channel, VARIANT_MCK / (HAL_TIMER_PRESCALER) / frequency);
// And start timer
TC_Start(tc, channel);
@@ -105,12 +112,12 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
}
void HAL_timer_enable_interrupt(const uint8_t timer_num) {
IRQn_Type irq = TimerConfig[timer_num].IRQ_Id;
IRQn_Type irq = timer_config[timer_num].IRQ_Id;
NVIC_EnableIRQ(irq);
}
void HAL_timer_disable_interrupt(const uint8_t timer_num) {
IRQn_Type irq = TimerConfig[timer_num].IRQ_Id;
IRQn_Type irq = timer_config[timer_num].IRQ_Id;
NVIC_DisableIRQ(irq);
// We NEED memory barriers to ensure Interrupts are actually disabled!
@@ -125,7 +132,7 @@ static bool NVIC_GetEnabledIRQ(IRQn_Type IRQn) {
}
bool HAL_timer_interrupt_enabled(const uint8_t timer_num) {
IRQn_Type irq = TimerConfig[timer_num].IRQ_Id;
IRQn_Type irq = timer_config[timer_num].IRQ_Id;
return NVIC_GetEnabledIRQ(irq);
}
+30 -28
View File
@@ -1,8 +1,9 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com
*
* 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
@@ -35,37 +36,38 @@
typedef uint32_t hal_timer_t;
#define HAL_TIMER_TYPE_MAX 0xFFFFFFFF
#define HAL_TIMER_RATE ((F_CPU) / 2) // frequency of timers peripherals
#define HAL_TIMER_PRESCALER 2
#define HAL_TIMER_RATE ((F_CPU) / (HAL_TIMER_PRESCALER)) // frequency of timers peripherals
#ifndef STEP_TIMER_NUM
#define STEP_TIMER_NUM 2 // Timer Index for Stepper
#ifndef MF_TIMER_STEP
#define MF_TIMER_STEP 2 // Timer Index for Stepper
#endif
#ifndef PULSE_TIMER_NUM
#define PULSE_TIMER_NUM STEP_TIMER_NUM
#ifndef MF_TIMER_PULSE
#define MF_TIMER_PULSE MF_TIMER_STEP
#endif
#ifndef TEMP_TIMER_NUM
#define TEMP_TIMER_NUM 4 // Timer Index for Temperature
#ifndef MF_TIMER_TEMP
#define MF_TIMER_TEMP 4 // Timer Index for Temperature
#endif
#ifndef TONE_TIMER_NUM
#define TONE_TIMER_NUM 6 // index of timer to use for beeper tones
#ifndef MF_TIMER_TONE
#define MF_TIMER_TONE 6 // index of timer to use for beeper tones
#endif
#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency
#define STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
#define STEPPER_TIMER_PRESCALE (CYCLES_PER_MICROSECOND / STEPPER_TIMER_TICKS_PER_US)
#define STEPPER_TIMER_RATE HAL_TIMER_RATE // frequency of stepper timer (HAL_TIMER_RATE / STEPPER_TIMER_PRESCALE)
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000) // stepper timer ticks per µs
#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_PRESCALE STEPPER_TIMER_PRESCALE
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
#define PULSE_TIMER_TICKS_PER_US STEPPER_TIMER_TICKS_PER_US
#define ENABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_enable_interrupt(STEP_TIMER_NUM)
#define DISABLE_STEPPER_DRIVER_INTERRUPT() HAL_timer_disable_interrupt(STEP_TIMER_NUM)
#define STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(STEP_TIMER_NUM)
#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 STEPPER_ISR_ENABLED() HAL_timer_interrupt_enabled(MF_TIMER_STEP)
#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(TEMP_TIMER_NUM)
#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
#define ENABLE_TEMPERATURE_INTERRUPT() HAL_timer_enable_interrupt(MF_TIMER_TEMP)
#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(MF_TIMER_TEMP)
#ifndef HAL_STEP_TIMER_ISR
#define HAL_STEP_TIMER_ISR() void TC2_Handler()
@@ -92,7 +94,7 @@ typedef struct {
// Public Variables
// ------------------------
extern const tTimerConfig TimerConfig[];
extern const tTimerConfig timer_config[];
// ------------------------
// Public functions
@@ -101,17 +103,17 @@ extern const tTimerConfig TimerConfig[];
void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) {
const tTimerConfig * const pConfig = &TimerConfig[timer_num];
const tTimerConfig * const pConfig = &timer_config[timer_num];
pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_RC = compare;
}
FORCE_INLINE static hal_timer_t HAL_timer_get_compare(const uint8_t timer_num) {
const tTimerConfig * const pConfig = &TimerConfig[timer_num];
const tTimerConfig * const pConfig = &timer_config[timer_num];
return pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_RC;
}
FORCE_INLINE static hal_timer_t HAL_timer_get_count(const uint8_t timer_num) {
const tTimerConfig * const pConfig = &TimerConfig[timer_num];
const tTimerConfig * const pConfig = &timer_config[timer_num];
return pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_CV;
}
@@ -120,9 +122,9 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num);
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) {
const tTimerConfig * const pConfig = &TimerConfig[timer_num];
const tTimerConfig * const pConfig = &timer_config[timer_num];
// Reading the status register clears the interrupt flag
pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_SR;
}
#define HAL_timer_isr_epilogue(TIMER_NUM)
#define HAL_timer_isr_epilogue(T) NOOP
+34
View File
@@ -0,0 +1,34 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 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
/**
* DUE (SAM3X8E) LCD-specific defines
*/
uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_DUE_sw_spi_fn
#define U8G_COM_HAL_HW_SPI_FN u8g_com_HAL_DUE_shared_hw_spi_fn
#define U8G_COM_ST7920_HAL_SW_SPI u8g_com_HAL_DUE_ST7920_sw_spi_fn
@@ -20,7 +20,6 @@
*
*/
/**
* Based on u8g_com_msp430_hw_spi.c
*
@@ -57,7 +57,7 @@
#include "../../../inc/MarlinConfigPre.h"
#if ENABLED(U8GLIB_ST7920)
#if IS_U8GLIB_ST7920
#include "../../../inc/MarlinConfig.h"
#include "../../shared/Delay.h"
@@ -182,5 +182,5 @@ uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
}
#endif // LIGHTWEIGHT_UI
#endif // U8GLIB_ST7920
#endif // IS_U8GLIB_ST7920
#endif // ARDUINO_ARCH_SAM
@@ -57,7 +57,7 @@
#include "../../../inc/MarlinConfigPre.h"
#if HAS_MARLINUI_U8GLIB && DISABLED(U8GLIB_ST7920)
#if HAS_MARLINUI_U8GLIB && !IS_U8GLIB_ST7920
#include "u8g_com_HAL_DUE_sw_spi_shared.h"
@@ -141,5 +141,5 @@ uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
return 1;
}
#endif // HAS_MARLINUI_U8GLIB && !U8GLIB_ST7920
#endif // HAS_MARLINUI_U8GLIB && !IS_U8GLIB_ST7920
#endif // ARDUINO_ARCH_SAM
@@ -81,7 +81,7 @@ Pio *SCK_pPio, *MOSI_pPio;
uint32_t SCK_dwMask, MOSI_dwMask;
void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz
LOOP_L_N(i, 8) {
for (uint8_t i = 0; i < 8; ++i) {
if (val & 0x80)
MOSI_pPio->PIO_SODR = MOSI_dwMask;
else
@@ -95,7 +95,7 @@ void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz
}
void u8g_spiSend_sw_DUE_mode_3(uint8_t val) { // 3.5MHz
LOOP_L_N(i, 8) {
for (uint8_t i = 0; i < 8; ++i) {
SCK_pPio->PIO_CODR = SCK_dwMask;
DELAY_NS(50);
if (val & 0x80)
+10 -9
View File
@@ -4,15 +4,16 @@
# Windows: bossac.exe
# Other: leave unchanged
#
import pioutil
if pioutil.is_pio_build():
import platform
current_OS = platform.system()
import platform
current_OS = platform.system()
if current_OS == 'Windows':
if current_OS == 'Windows':
Import("env")
Import("env")
# Use bossac.exe on Windows
env.Replace(
UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot $SOURCE"
)
# Use bossac.exe on Windows
env.Replace(
UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot $SOURCE"
)
+1 -1
View File
@@ -1059,7 +1059,7 @@ static inline void convert_64_bit_to_byte_array(uint64_t value, uint8_t *data)
while (val_index < 8)
{
data[val_index++] = value & 0xFF;
value = value >> 8;
value >>= 8;
}
}
+2 -2
View File
@@ -101,7 +101,7 @@
#define USB_DEVICE_SPECIFIC_REQUEST() usb_task_other_requests()
//@}
#if ENABLED(SDSUPPORT)
#if HAS_MEDIA
/**
* USB Device low level configuration
* When only one interface is used, these configurations are defined by the class module.
@@ -185,7 +185,7 @@
//! Enable id string of interface to add an extra USB string
#define UDI_CDC_IAD_STRING_ID 4
#if ENABLED(SDSUPPORT)
#if HAS_MEDIA
/**
* USB CDC low level configuration
* In standalone these configurations are defined by the CDC module.
+125 -139
View File
@@ -74,17 +74,17 @@ extern "C" {
//@{
enum genclk_source {
GENCLK_PCK_SRC_SLCK_RC = 0, //!< Internal 32kHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_SLCK_XTAL = 1, //!< External 32kHz crystal oscillator as PCK source clock
GENCLK_PCK_SRC_SLCK_BYPASS = 2, //!< External 32kHz bypass oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_4M_RC = 3, //!< Internal 4MHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_8M_RC = 4, //!< Internal 8MHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_12M_RC = 5, //!< Internal 12MHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_XTAL = 6, //!< External crystal oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_BYPASS = 7, //!< External bypass oscillator as PCK source clock
GENCLK_PCK_SRC_PLLACK = 8, //!< Use PLLACK as PCK source clock
GENCLK_PCK_SRC_PLLBCK = 9, //!< Use PLLBCK as PCK source clock
GENCLK_PCK_SRC_MCK = 10, //!< Use Master Clk as PCK source clock
GENCLK_PCK_SRC_SLCK_RC = 0, //!< Internal 32kHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_SLCK_XTAL = 1, //!< External 32kHz crystal oscillator as PCK source clock
GENCLK_PCK_SRC_SLCK_BYPASS = 2, //!< External 32kHz bypass oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_4M_RC = 3, //!< Internal 4MHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_8M_RC = 4, //!< Internal 8MHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_12M_RC = 5, //!< Internal 12MHz RC oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_XTAL = 6, //!< External crystal oscillator as PCK source clock
GENCLK_PCK_SRC_MAINCK_BYPASS = 7, //!< External bypass oscillator as PCK source clock
GENCLK_PCK_SRC_PLLACK = 8, //!< Use PLLACK as PCK source clock
GENCLK_PCK_SRC_PLLBCK = 9, //!< Use PLLBCK as PCK source clock
GENCLK_PCK_SRC_MCK = 10, //!< Use Master Clk as PCK source clock
};
//@}
@@ -93,176 +93,162 @@ enum genclk_source {
//@{
enum genclk_divider {
GENCLK_PCK_PRES_1 = PMC_PCK_PRES_CLK_1, //!< Set PCK clock prescaler to 1
GENCLK_PCK_PRES_2 = PMC_PCK_PRES_CLK_2, //!< Set PCK clock prescaler to 2
GENCLK_PCK_PRES_4 = PMC_PCK_PRES_CLK_4, //!< Set PCK clock prescaler to 4
GENCLK_PCK_PRES_8 = PMC_PCK_PRES_CLK_8, //!< Set PCK clock prescaler to 8
GENCLK_PCK_PRES_16 = PMC_PCK_PRES_CLK_16, //!< Set PCK clock prescaler to 16
GENCLK_PCK_PRES_32 = PMC_PCK_PRES_CLK_32, //!< Set PCK clock prescaler to 32
GENCLK_PCK_PRES_64 = PMC_PCK_PRES_CLK_64, //!< Set PCK clock prescaler to 64
GENCLK_PCK_PRES_1 = PMC_PCK_PRES_CLK_1, //!< Set PCK clock prescaler to 1
GENCLK_PCK_PRES_2 = PMC_PCK_PRES_CLK_2, //!< Set PCK clock prescaler to 2
GENCLK_PCK_PRES_4 = PMC_PCK_PRES_CLK_4, //!< Set PCK clock prescaler to 4
GENCLK_PCK_PRES_8 = PMC_PCK_PRES_CLK_8, //!< Set PCK clock prescaler to 8
GENCLK_PCK_PRES_16 = PMC_PCK_PRES_CLK_16, //!< Set PCK clock prescaler to 16
GENCLK_PCK_PRES_32 = PMC_PCK_PRES_CLK_32, //!< Set PCK clock prescaler to 32
GENCLK_PCK_PRES_64 = PMC_PCK_PRES_CLK_64, //!< Set PCK clock prescaler to 64
};
//@}
struct genclk_config {
uint32_t ctrl;
uint32_t ctrl;
};
static inline void genclk_config_defaults(struct genclk_config *p_cfg,
uint32_t ul_id)
{
ul_id = ul_id;
p_cfg->ctrl = 0;
static inline void genclk_config_defaults(struct genclk_config *p_cfg, uint32_t ul_id) {
ul_id = ul_id;
p_cfg->ctrl = 0;
}
static inline void genclk_config_read(struct genclk_config *p_cfg,
uint32_t ul_id)
{
p_cfg->ctrl = PMC->PMC_PCK[ul_id];
static inline void genclk_config_read(struct genclk_config *p_cfg, uint32_t ul_id) {
p_cfg->ctrl = PMC->PMC_PCK[ul_id];
}
static inline void genclk_config_write(const struct genclk_config *p_cfg,
uint32_t ul_id)
{
PMC->PMC_PCK[ul_id] = p_cfg->ctrl;
static inline void genclk_config_write(const struct genclk_config *p_cfg, uint32_t ul_id) {
PMC->PMC_PCK[ul_id] = p_cfg->ctrl;
}
//! \name Programmable Clock Source and Prescaler configuration
//@{
static inline void genclk_config_set_source(struct genclk_config *p_cfg,
enum genclk_source e_src)
{
p_cfg->ctrl &= (~PMC_PCK_CSS_Msk);
static inline void genclk_config_set_source(struct genclk_config *p_cfg, enum genclk_source e_src) {
p_cfg->ctrl &= (~PMC_PCK_CSS_Msk);
switch (e_src) {
case GENCLK_PCK_SRC_SLCK_RC:
case GENCLK_PCK_SRC_SLCK_XTAL:
case GENCLK_PCK_SRC_SLCK_BYPASS:
p_cfg->ctrl |= (PMC_PCK_CSS_SLOW_CLK);
break;
switch (e_src) {
case GENCLK_PCK_SRC_SLCK_RC:
case GENCLK_PCK_SRC_SLCK_XTAL:
case GENCLK_PCK_SRC_SLCK_BYPASS:
p_cfg->ctrl |= (PMC_PCK_CSS_SLOW_CLK);
break;
case GENCLK_PCK_SRC_MAINCK_4M_RC:
case GENCLK_PCK_SRC_MAINCK_8M_RC:
case GENCLK_PCK_SRC_MAINCK_12M_RC:
case GENCLK_PCK_SRC_MAINCK_XTAL:
case GENCLK_PCK_SRC_MAINCK_BYPASS:
p_cfg->ctrl |= (PMC_PCK_CSS_MAIN_CLK);
break;
case GENCLK_PCK_SRC_MAINCK_4M_RC:
case GENCLK_PCK_SRC_MAINCK_8M_RC:
case GENCLK_PCK_SRC_MAINCK_12M_RC:
case GENCLK_PCK_SRC_MAINCK_XTAL:
case GENCLK_PCK_SRC_MAINCK_BYPASS:
p_cfg->ctrl |= (PMC_PCK_CSS_MAIN_CLK);
break;
case GENCLK_PCK_SRC_PLLACK:
p_cfg->ctrl |= (PMC_PCK_CSS_PLLA_CLK);
break;
case GENCLK_PCK_SRC_PLLACK:
p_cfg->ctrl |= (PMC_PCK_CSS_PLLA_CLK);
break;
case GENCLK_PCK_SRC_PLLBCK:
p_cfg->ctrl |= (PMC_PCK_CSS_UPLL_CLK);
break;
case GENCLK_PCK_SRC_PLLBCK:
p_cfg->ctrl |= (PMC_PCK_CSS_UPLL_CLK);
break;
case GENCLK_PCK_SRC_MCK:
p_cfg->ctrl |= (PMC_PCK_CSS_MCK);
break;
}
case GENCLK_PCK_SRC_MCK:
p_cfg->ctrl |= (PMC_PCK_CSS_MCK);
break;
}
}
static inline void genclk_config_set_divider(struct genclk_config *p_cfg,
uint32_t e_divider)
{
p_cfg->ctrl &= ~PMC_PCK_PRES_Msk;
p_cfg->ctrl |= e_divider;
static inline void genclk_config_set_divider(struct genclk_config *p_cfg, uint32_t e_divider) {
p_cfg->ctrl &= ~PMC_PCK_PRES_Msk;
p_cfg->ctrl |= e_divider;
}
//@}
static inline void genclk_enable(const struct genclk_config *p_cfg,
uint32_t ul_id)
{
PMC->PMC_PCK[ul_id] = p_cfg->ctrl;
pmc_enable_pck(ul_id);
static inline void genclk_enable(const struct genclk_config *p_cfg, uint32_t ul_id) {
PMC->PMC_PCK[ul_id] = p_cfg->ctrl;
pmc_enable_pck(ul_id);
}
static inline void genclk_disable(uint32_t ul_id)
{
pmc_disable_pck(ul_id);
static inline void genclk_disable(uint32_t ul_id) {
pmc_disable_pck(ul_id);
}
static inline void genclk_enable_source(enum genclk_source e_src)
{
switch (e_src) {
case GENCLK_PCK_SRC_SLCK_RC:
if (!osc_is_ready(OSC_SLCK_32K_RC)) {
osc_enable(OSC_SLCK_32K_RC);
osc_wait_ready(OSC_SLCK_32K_RC);
}
break;
static inline void genclk_enable_source(enum genclk_source e_src) {
switch (e_src) {
case GENCLK_PCK_SRC_SLCK_RC:
if (!osc_is_ready(OSC_SLCK_32K_RC)) {
osc_enable(OSC_SLCK_32K_RC);
osc_wait_ready(OSC_SLCK_32K_RC);
}
break;
case GENCLK_PCK_SRC_SLCK_XTAL:
if (!osc_is_ready(OSC_SLCK_32K_XTAL)) {
osc_enable(OSC_SLCK_32K_XTAL);
osc_wait_ready(OSC_SLCK_32K_XTAL);
}
break;
case GENCLK_PCK_SRC_SLCK_XTAL:
if (!osc_is_ready(OSC_SLCK_32K_XTAL)) {
osc_enable(OSC_SLCK_32K_XTAL);
osc_wait_ready(OSC_SLCK_32K_XTAL);
}
break;
case GENCLK_PCK_SRC_SLCK_BYPASS:
if (!osc_is_ready(OSC_SLCK_32K_BYPASS)) {
osc_enable(OSC_SLCK_32K_BYPASS);
osc_wait_ready(OSC_SLCK_32K_BYPASS);
}
break;
case GENCLK_PCK_SRC_SLCK_BYPASS:
if (!osc_is_ready(OSC_SLCK_32K_BYPASS)) {
osc_enable(OSC_SLCK_32K_BYPASS);
osc_wait_ready(OSC_SLCK_32K_BYPASS);
}
break;
case GENCLK_PCK_SRC_MAINCK_4M_RC:
if (!osc_is_ready(OSC_MAINCK_4M_RC)) {
osc_enable(OSC_MAINCK_4M_RC);
osc_wait_ready(OSC_MAINCK_4M_RC);
}
break;
case GENCLK_PCK_SRC_MAINCK_4M_RC:
if (!osc_is_ready(OSC_MAINCK_4M_RC)) {
osc_enable(OSC_MAINCK_4M_RC);
osc_wait_ready(OSC_MAINCK_4M_RC);
}
break;
case GENCLK_PCK_SRC_MAINCK_8M_RC:
if (!osc_is_ready(OSC_MAINCK_8M_RC)) {
osc_enable(OSC_MAINCK_8M_RC);
osc_wait_ready(OSC_MAINCK_8M_RC);
}
break;
case GENCLK_PCK_SRC_MAINCK_8M_RC:
if (!osc_is_ready(OSC_MAINCK_8M_RC)) {
osc_enable(OSC_MAINCK_8M_RC);
osc_wait_ready(OSC_MAINCK_8M_RC);
}
break;
case GENCLK_PCK_SRC_MAINCK_12M_RC:
if (!osc_is_ready(OSC_MAINCK_12M_RC)) {
osc_enable(OSC_MAINCK_12M_RC);
osc_wait_ready(OSC_MAINCK_12M_RC);
}
break;
case GENCLK_PCK_SRC_MAINCK_12M_RC:
if (!osc_is_ready(OSC_MAINCK_12M_RC)) {
osc_enable(OSC_MAINCK_12M_RC);
osc_wait_ready(OSC_MAINCK_12M_RC);
}
break;
case GENCLK_PCK_SRC_MAINCK_XTAL:
if (!osc_is_ready(OSC_MAINCK_XTAL)) {
osc_enable(OSC_MAINCK_XTAL);
osc_wait_ready(OSC_MAINCK_XTAL);
}
break;
case GENCLK_PCK_SRC_MAINCK_XTAL:
if (!osc_is_ready(OSC_MAINCK_XTAL)) {
osc_enable(OSC_MAINCK_XTAL);
osc_wait_ready(OSC_MAINCK_XTAL);
}
break;
case GENCLK_PCK_SRC_MAINCK_BYPASS:
if (!osc_is_ready(OSC_MAINCK_BYPASS)) {
osc_enable(OSC_MAINCK_BYPASS);
osc_wait_ready(OSC_MAINCK_BYPASS);
}
break;
case GENCLK_PCK_SRC_MAINCK_BYPASS:
if (!osc_is_ready(OSC_MAINCK_BYPASS)) {
osc_enable(OSC_MAINCK_BYPASS);
osc_wait_ready(OSC_MAINCK_BYPASS);
}
break;
#ifdef CONFIG_PLL0_SOURCE
case GENCLK_PCK_SRC_PLLACK:
pll_enable_config_defaults(0);
break;
#endif
#ifdef CONFIG_PLL0_SOURCE
case GENCLK_PCK_SRC_PLLACK:
pll_enable_config_defaults(0);
break;
#endif
#ifdef CONFIG_PLL1_SOURCE
case GENCLK_PCK_SRC_PLLBCK:
pll_enable_config_defaults(1);
break;
#endif
#ifdef CONFIG_PLL1_SOURCE
case GENCLK_PCK_SRC_PLLBCK:
pll_enable_config_defaults(1);
break;
#endif
case GENCLK_PCK_SRC_MCK:
break;
case GENCLK_PCK_SRC_MCK:
break;
default:
Assert(false);
break;
}
default:
Assert(false);
break;
}
}
//! @}
+97 -102
View File
@@ -62,28 +62,28 @@ extern "C" {
* should be defined by the board code, otherwise default value are used.
*/
#ifndef BOARD_FREQ_SLCK_XTAL
# warning The board slow clock xtal frequency has not been defined.
# define BOARD_FREQ_SLCK_XTAL (32768UL)
#warning The board slow clock xtal frequency has not been defined.
#define BOARD_FREQ_SLCK_XTAL (32768UL)
#endif
#ifndef BOARD_FREQ_SLCK_BYPASS
# warning The board slow clock bypass frequency has not been defined.
# define BOARD_FREQ_SLCK_BYPASS (32768UL)
#warning The board slow clock bypass frequency has not been defined.
#define BOARD_FREQ_SLCK_BYPASS (32768UL)
#endif
#ifndef BOARD_FREQ_MAINCK_XTAL
# warning The board main clock xtal frequency has not been defined.
# define BOARD_FREQ_MAINCK_XTAL (12000000UL)
#warning The board main clock xtal frequency has not been defined.
#define BOARD_FREQ_MAINCK_XTAL (12000000UL)
#endif
#ifndef BOARD_FREQ_MAINCK_BYPASS
# warning The board main clock bypass frequency has not been defined.
# define BOARD_FREQ_MAINCK_BYPASS (12000000UL)
#warning The board main clock bypass frequency has not been defined.
#define BOARD_FREQ_MAINCK_BYPASS (12000000UL)
#endif
#ifndef BOARD_OSC_STARTUP_US
# warning The board main clock xtal startup time has not been defined.
# define BOARD_OSC_STARTUP_US (15625UL)
#warning The board main clock xtal startup time has not been defined.
#define BOARD_OSC_STARTUP_US (15625UL)
#endif
/**
@@ -115,122 +115,118 @@ extern "C" {
#define OSC_MAINCK_BYPASS_HZ BOARD_FREQ_MAINCK_BYPASS //!< External bypass oscillator.
//@}
static inline void osc_enable(uint32_t ul_id)
{
switch (ul_id) {
case OSC_SLCK_32K_RC:
break;
static inline void osc_enable(uint32_t ul_id) {
switch (ul_id) {
case OSC_SLCK_32K_RC:
break;
case OSC_SLCK_32K_XTAL:
pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL);
break;
case OSC_SLCK_32K_XTAL:
pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL);
break;
case OSC_SLCK_32K_BYPASS:
pmc_switch_sclk_to_32kxtal(PMC_OSC_BYPASS);
break;
case OSC_SLCK_32K_BYPASS:
pmc_switch_sclk_to_32kxtal(PMC_OSC_BYPASS);
break;
case OSC_MAINCK_4M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz);
break;
case OSC_MAINCK_4M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz);
break;
case OSC_MAINCK_8M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz);
break;
case OSC_MAINCK_8M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz);
break;
case OSC_MAINCK_12M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz);
break;
case OSC_MAINCK_12M_RC:
pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz);
break;
case OSC_MAINCK_XTAL:
pmc_switch_mainck_to_xtal(PMC_OSC_XTAL/*,
pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US,
OSC_SLCK_32K_RC_HZ)*/);
break;
case OSC_MAINCK_XTAL:
pmc_switch_mainck_to_xtal(PMC_OSC_XTAL/*,
pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US,
OSC_SLCK_32K_RC_HZ)*/);
break;
case OSC_MAINCK_BYPASS:
pmc_switch_mainck_to_xtal(PMC_OSC_BYPASS/*,
pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US,
OSC_SLCK_32K_RC_HZ)*/);
break;
}
case OSC_MAINCK_BYPASS:
pmc_switch_mainck_to_xtal(PMC_OSC_BYPASS/*,
pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US,
OSC_SLCK_32K_RC_HZ)*/);
break;
}
}
static inline void osc_disable(uint32_t ul_id)
{
switch (ul_id) {
case OSC_SLCK_32K_RC:
case OSC_SLCK_32K_XTAL:
case OSC_SLCK_32K_BYPASS:
break;
static inline void osc_disable(uint32_t ul_id) {
switch (ul_id) {
case OSC_SLCK_32K_RC:
case OSC_SLCK_32K_XTAL:
case OSC_SLCK_32K_BYPASS:
break;
case OSC_MAINCK_4M_RC:
case OSC_MAINCK_8M_RC:
case OSC_MAINCK_12M_RC:
pmc_osc_disable_fastrc();
break;
case OSC_MAINCK_4M_RC:
case OSC_MAINCK_8M_RC:
case OSC_MAINCK_12M_RC:
pmc_osc_disable_fastrc();
break;
case OSC_MAINCK_XTAL:
pmc_osc_disable_xtal(PMC_OSC_XTAL);
break;
case OSC_MAINCK_XTAL:
pmc_osc_disable_xtal(PMC_OSC_XTAL);
break;
case OSC_MAINCK_BYPASS:
pmc_osc_disable_xtal(PMC_OSC_BYPASS);
break;
}
case OSC_MAINCK_BYPASS:
pmc_osc_disable_xtal(PMC_OSC_BYPASS);
break;
}
}
static inline bool osc_is_ready(uint32_t ul_id)
{
switch (ul_id) {
case OSC_SLCK_32K_RC:
return 1;
static inline bool osc_is_ready(uint32_t ul_id) {
switch (ul_id) {
case OSC_SLCK_32K_RC:
return 1;
case OSC_SLCK_32K_XTAL:
case OSC_SLCK_32K_BYPASS:
return pmc_osc_is_ready_32kxtal();
case OSC_SLCK_32K_XTAL:
case OSC_SLCK_32K_BYPASS:
return pmc_osc_is_ready_32kxtal();
case OSC_MAINCK_4M_RC:
case OSC_MAINCK_8M_RC:
case OSC_MAINCK_12M_RC:
case OSC_MAINCK_XTAL:
case OSC_MAINCK_BYPASS:
return pmc_osc_is_ready_mainck();
}
case OSC_MAINCK_4M_RC:
case OSC_MAINCK_8M_RC:
case OSC_MAINCK_12M_RC:
case OSC_MAINCK_XTAL:
case OSC_MAINCK_BYPASS:
return pmc_osc_is_ready_mainck();
}
return 0;
return 0;
}
static inline uint32_t osc_get_rate(uint32_t ul_id)
{
switch (ul_id) {
case OSC_SLCK_32K_RC:
return OSC_SLCK_32K_RC_HZ;
static inline uint32_t osc_get_rate(uint32_t ul_id) {
switch (ul_id) {
case OSC_SLCK_32K_RC:
return OSC_SLCK_32K_RC_HZ;
case OSC_SLCK_32K_XTAL:
return BOARD_FREQ_SLCK_XTAL;
case OSC_SLCK_32K_XTAL:
return BOARD_FREQ_SLCK_XTAL;
case OSC_SLCK_32K_BYPASS:
return BOARD_FREQ_SLCK_BYPASS;
case OSC_SLCK_32K_BYPASS:
return BOARD_FREQ_SLCK_BYPASS;
case OSC_MAINCK_4M_RC:
return OSC_MAINCK_4M_RC_HZ;
case OSC_MAINCK_4M_RC:
return OSC_MAINCK_4M_RC_HZ;
case OSC_MAINCK_8M_RC:
return OSC_MAINCK_8M_RC_HZ;
case OSC_MAINCK_8M_RC:
return OSC_MAINCK_8M_RC_HZ;
case OSC_MAINCK_12M_RC:
return OSC_MAINCK_12M_RC_HZ;
case OSC_MAINCK_12M_RC:
return OSC_MAINCK_12M_RC_HZ;
case OSC_MAINCK_XTAL:
return BOARD_FREQ_MAINCK_XTAL;
case OSC_MAINCK_XTAL:
return BOARD_FREQ_MAINCK_XTAL;
case OSC_MAINCK_BYPASS:
return BOARD_FREQ_MAINCK_BYPASS;
}
case OSC_MAINCK_BYPASS:
return BOARD_FREQ_MAINCK_BYPASS;
}
return 0;
return 0;
}
/**
@@ -241,11 +237,10 @@ static inline uint32_t osc_get_rate(uint32_t ul_id)
*
* \param id A number identifying the oscillator to wait for.
*/
static inline void osc_wait_ready(uint8_t id)
{
while (!osc_is_ready(id)) {
/* Do nothing */
}
static inline void osc_wait_ready(uint8_t id) {
while (!osc_is_ready(id)) {
/* Do nothing */
}
}
//! @}
+110 -128
View File
@@ -77,22 +77,22 @@ extern "C" {
#define PLL_COUNT 0x3FU
enum pll_source {
PLL_SRC_MAINCK_4M_RC = OSC_MAINCK_4M_RC, //!< Internal 4MHz RC oscillator.
PLL_SRC_MAINCK_8M_RC = OSC_MAINCK_8M_RC, //!< Internal 8MHz RC oscillator.
PLL_SRC_MAINCK_12M_RC = OSC_MAINCK_12M_RC, //!< Internal 12MHz RC oscillator.
PLL_SRC_MAINCK_XTAL = OSC_MAINCK_XTAL, //!< External crystal oscillator.
PLL_SRC_MAINCK_BYPASS = OSC_MAINCK_BYPASS, //!< External bypass oscillator.
PLL_NR_SOURCES, //!< Number of PLL sources.
PLL_SRC_MAINCK_4M_RC = OSC_MAINCK_4M_RC, //!< Internal 4MHz RC oscillator.
PLL_SRC_MAINCK_8M_RC = OSC_MAINCK_8M_RC, //!< Internal 8MHz RC oscillator.
PLL_SRC_MAINCK_12M_RC = OSC_MAINCK_12M_RC, //!< Internal 12MHz RC oscillator.
PLL_SRC_MAINCK_XTAL = OSC_MAINCK_XTAL, //!< External crystal oscillator.
PLL_SRC_MAINCK_BYPASS = OSC_MAINCK_BYPASS, //!< External bypass oscillator.
PLL_NR_SOURCES, //!< Number of PLL sources.
};
struct pll_config {
uint32_t ctrl;
uint32_t ctrl;
};
#define pll_get_default_rate(pll_id) \
((osc_get_rate(CONFIG_PLL##pll_id##_SOURCE) \
* CONFIG_PLL##pll_id##_MUL) \
/ CONFIG_PLL##pll_id##_DIV)
((osc_get_rate(CONFIG_PLL##pll_id##_SOURCE) \
* CONFIG_PLL##pll_id##_MUL) \
/ CONFIG_PLL##pll_id##_DIV)
/* Force UTMI PLL parameters (Hardware defined) */
#ifdef CONFIG_PLL1_SOURCE
@@ -113,145 +113,130 @@ struct pll_config {
* is hidden in this implementation. Use mul as mul effective value.
*/
static inline void pll_config_init(struct pll_config *p_cfg,
enum pll_source e_src, uint32_t ul_div, uint32_t ul_mul)
{
uint32_t vco_hz;
enum pll_source e_src, uint32_t ul_div, uint32_t ul_mul) {
uint32_t vco_hz;
Assert(e_src < PLL_NR_SOURCES);
Assert(e_src < PLL_NR_SOURCES);
if (ul_div == 0 && ul_mul == 0) { /* Must only be true for UTMI PLL */
p_cfg->ctrl = CKGR_UCKR_UPLLCOUNT(PLL_COUNT);
} else { /* PLLA */
/* Calculate internal VCO frequency */
vco_hz = osc_get_rate(e_src) / ul_div;
Assert(vco_hz >= PLL_INPUT_MIN_HZ);
Assert(vco_hz <= PLL_INPUT_MAX_HZ);
if (ul_div == 0 && ul_mul == 0) { /* Must only be true for UTMI PLL */
p_cfg->ctrl = CKGR_UCKR_UPLLCOUNT(PLL_COUNT);
}
else { /* PLLA */
/* Calculate internal VCO frequency */
vco_hz = osc_get_rate(e_src) / ul_div;
Assert(vco_hz >= PLL_INPUT_MIN_HZ);
Assert(vco_hz <= PLL_INPUT_MAX_HZ);
vco_hz *= ul_mul;
Assert(vco_hz >= PLL_OUTPUT_MIN_HZ);
Assert(vco_hz <= PLL_OUTPUT_MAX_HZ);
vco_hz *= ul_mul;
Assert(vco_hz >= PLL_OUTPUT_MIN_HZ);
Assert(vco_hz <= PLL_OUTPUT_MAX_HZ);
/* PMC hardware will automatically make it mul+1 */
p_cfg->ctrl = CKGR_PLLAR_MULA(ul_mul - 1) | CKGR_PLLAR_DIVA(ul_div) | CKGR_PLLAR_PLLACOUNT(PLL_COUNT);
}
/* PMC hardware will automatically make it mul+1 */
p_cfg->ctrl = CKGR_PLLAR_MULA(ul_mul - 1) | CKGR_PLLAR_DIVA(ul_div) | CKGR_PLLAR_PLLACOUNT(PLL_COUNT);
}
}
#define pll_config_defaults(cfg, pll_id) \
pll_config_init(cfg, \
CONFIG_PLL##pll_id##_SOURCE, \
CONFIG_PLL##pll_id##_DIV, \
CONFIG_PLL##pll_id##_MUL)
#define pll_config_defaults(cfg, pll_id) \
pll_config_init(cfg, \
CONFIG_PLL##pll_id##_SOURCE, \
CONFIG_PLL##pll_id##_DIV, \
CONFIG_PLL##pll_id##_MUL)
static inline void pll_config_read(struct pll_config *p_cfg, uint32_t ul_pll_id)
{
Assert(ul_pll_id < NR_PLLS);
if (ul_pll_id == PLLA_ID) {
p_cfg->ctrl = PMC->CKGR_PLLAR;
} else {
p_cfg->ctrl = PMC->CKGR_UCKR;
}
static inline void pll_config_read(struct pll_config *p_cfg, uint32_t ul_pll_id) {
Assert(ul_pll_id < NR_PLLS);
p_cfg->ctrl = ul_pll_id == PLLA_ID ? PMC->CKGR_PLLAR : PMC->CKGR_UCKR;
}
static inline void pll_config_write(const struct pll_config *p_cfg, uint32_t ul_pll_id)
{
Assert(ul_pll_id < NR_PLLS);
static inline void pll_config_write(const struct pll_config *p_cfg, uint32_t ul_pll_id) {
Assert(ul_pll_id < NR_PLLS);
if (ul_pll_id == PLLA_ID) {
pmc_disable_pllack(); // Always stop PLL first!
PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl;
} else {
PMC->CKGR_UCKR = p_cfg->ctrl;
}
if (ul_pll_id == PLLA_ID) {
pmc_disable_pllack(); // Always stop PLL first!
PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl;
}
else
PMC->CKGR_UCKR = p_cfg->ctrl;
}
static inline void pll_enable(const struct pll_config *p_cfg, uint32_t ul_pll_id)
{
Assert(ul_pll_id < NR_PLLS);
static inline void pll_enable(const struct pll_config *p_cfg, uint32_t ul_pll_id) {
Assert(ul_pll_id < NR_PLLS);
if (ul_pll_id == PLLA_ID) {
pmc_disable_pllack(); // Always stop PLL first!
PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl;
} else {
PMC->CKGR_UCKR = p_cfg->ctrl | CKGR_UCKR_UPLLEN;
}
if (ul_pll_id == PLLA_ID) {
pmc_disable_pllack(); // Always stop PLL first!
PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl;
}
else
PMC->CKGR_UCKR = p_cfg->ctrl | CKGR_UCKR_UPLLEN;
}
/**
* \note This will only disable the selected PLL, not the underlying oscillator (mainck).
*/
static inline void pll_disable(uint32_t ul_pll_id)
{
Assert(ul_pll_id < NR_PLLS);
static inline void pll_disable(uint32_t ul_pll_id) {
Assert(ul_pll_id < NR_PLLS);
if (ul_pll_id == PLLA_ID) {
pmc_disable_pllack();
} else {
PMC->CKGR_UCKR &= ~CKGR_UCKR_UPLLEN;
}
if (ul_pll_id == PLLA_ID)
pmc_disable_pllack();
else
PMC->CKGR_UCKR &= ~CKGR_UCKR_UPLLEN;
}
static inline uint32_t pll_is_locked(uint32_t ul_pll_id)
{
Assert(ul_pll_id < NR_PLLS);
static inline uint32_t pll_is_locked(uint32_t ul_pll_id) {
Assert(ul_pll_id < NR_PLLS);
if (ul_pll_id == PLLA_ID) {
return pmc_is_locked_pllack();
} else {
return pmc_is_locked_upll();
}
if (ul_pll_id == PLLA_ID)
return pmc_is_locked_pllack();
else
return pmc_is_locked_upll();
}
static inline void pll_enable_source(enum pll_source e_src)
{
switch (e_src) {
case PLL_SRC_MAINCK_4M_RC:
case PLL_SRC_MAINCK_8M_RC:
case PLL_SRC_MAINCK_12M_RC:
case PLL_SRC_MAINCK_XTAL:
case PLL_SRC_MAINCK_BYPASS:
osc_enable(e_src);
osc_wait_ready(e_src);
break;
static inline void pll_enable_source(enum pll_source e_src) {
switch (e_src) {
case PLL_SRC_MAINCK_4M_RC:
case PLL_SRC_MAINCK_8M_RC:
case PLL_SRC_MAINCK_12M_RC:
case PLL_SRC_MAINCK_XTAL:
case PLL_SRC_MAINCK_BYPASS:
osc_enable(e_src);
osc_wait_ready(e_src);
break;
default:
Assert(false);
break;
}
default:
Assert(false);
break;
}
}
static inline void pll_enable_config_defaults(unsigned int ul_pll_id)
{
struct pll_config pllcfg;
static inline void pll_enable_config_defaults(unsigned int ul_pll_id) {
struct pll_config pllcfg;
if (pll_is_locked(ul_pll_id)) {
return; // Pll already running
}
switch (ul_pll_id) {
#ifdef CONFIG_PLL0_SOURCE
case 0:
pll_enable_source(CONFIG_PLL0_SOURCE);
pll_config_init(&pllcfg,
CONFIG_PLL0_SOURCE,
CONFIG_PLL0_DIV,
CONFIG_PLL0_MUL);
break;
#endif
#ifdef CONFIG_PLL1_SOURCE
case 1:
pll_enable_source(CONFIG_PLL1_SOURCE);
pll_config_init(&pllcfg,
CONFIG_PLL1_SOURCE,
CONFIG_PLL1_DIV,
CONFIG_PLL1_MUL);
break;
#endif
default:
Assert(false);
break;
}
pll_enable(&pllcfg, ul_pll_id);
while (!pll_is_locked(ul_pll_id));
if (pll_is_locked(ul_pll_id)) return; // Pll already running
switch (ul_pll_id) {
#ifdef CONFIG_PLL0_SOURCE
case 0:
pll_enable_source(CONFIG_PLL0_SOURCE);
pll_config_init(&pllcfg,
CONFIG_PLL0_SOURCE,
CONFIG_PLL0_DIV,
CONFIG_PLL0_MUL);
break;
#endif
#ifdef CONFIG_PLL1_SOURCE
case 1:
pll_enable_source(CONFIG_PLL1_SOURCE);
pll_config_init(&pllcfg,
CONFIG_PLL1_SOURCE,
CONFIG_PLL1_DIV,
CONFIG_PLL1_MUL);
break;
#endif
default:
Assert(false);
break;
}
pll_enable(&pllcfg, ul_pll_id);
while (!pll_is_locked(ul_pll_id));
}
/**
@@ -264,15 +249,12 @@ static inline void pll_enable_config_defaults(unsigned int ul_pll_id)
* \retval STATUS_OK The PLL is now locked.
* \retval ERR_TIMEOUT Timed out waiting for PLL to become locked.
*/
static inline int pll_wait_for_lock(unsigned int pll_id)
{
Assert(pll_id < NR_PLLS);
static inline int pll_wait_for_lock(unsigned int pll_id) {
Assert(pll_id < NR_PLLS);
while (!pll_is_locked(pll_id)) {
/* Do nothing */
}
while (!pll_is_locked(pll_id)) { /* Do nothing */ }
return 0;
return 0;
}
//! @}
+55 -56
View File
@@ -57,7 +57,6 @@
#ifndef _SBC_PROTOCOL_H_
#define _SBC_PROTOCOL_H_
/**
* \ingroup usb_msc_protocol
* \defgroup usb_sbc_protocol SCSI Block Commands protocol definitions
@@ -81,82 +80,82 @@
//@{
enum scsi_sbc_mode {
SCSI_MS_MODE_RW_ERR_RECOV = 0x01, //!< Read-Write Error Recovery mode page
SCSI_MS_MODE_FORMAT_DEVICE = 0x03, //!< Format Device mode page
SCSI_MS_MODE_FLEXIBLE_DISK = 0x05, //!< Flexible Disk mode page
SCSI_MS_MODE_CACHING = 0x08, //!< Caching mode page
SCSI_MS_MODE_RW_ERR_RECOV = 0x01, //!< Read-Write Error Recovery mode page
SCSI_MS_MODE_FORMAT_DEVICE = 0x03, //!< Format Device mode page
SCSI_MS_MODE_FLEXIBLE_DISK = 0x05, //!< Flexible Disk mode page
SCSI_MS_MODE_CACHING = 0x08, //!< Caching mode page
};
//! \name SBC-2 Device-Specific Parameter
//@{
#define SCSI_MS_SBC_WP 0x80 //!< Write Protected
#define SCSI_MS_SBC_DPOFUA 0x10 //!< DPO and FUA supported
#define SCSI_MS_SBC_WP 0x80 //!< Write Protected
#define SCSI_MS_SBC_DPOFUA 0x10 //!< DPO and FUA supported
//@}
/**
* \brief SBC-2 Short LBA mode parameter block descriptor
*/
struct sbc_slba_block_desc {
be32_t nr_blocks; //!< Number of Blocks
be32_t block_len; //!< Block Length
#define SBC_SLBA_BLOCK_LEN_MASK 0x00FFFFFFU //!< Mask reserved bits
be32_t nr_blocks; //!< Number of Blocks
be32_t block_len; //!< Block Length
#define SBC_SLBA_BLOCK_LEN_MASK 0x00FFFFFFU //!< Mask reserved bits
};
/**
* \brief SBC-2 Caching mode page
*/
struct sbc_caching_mode_page {
uint8_t page_code;
uint8_t page_length;
uint8_t flags2;
#define SBC_MP_CACHE_IC (1 << 7) //!< Initiator Control
#define SBC_MP_CACHE_ABPF (1 << 6) //!< Abort Pre-Fetch
#define SBC_MP_CACHE_CAP (1 << 5) //!< Catching Analysis Permitted
#define SBC_MP_CACHE_DISC (1 << 4) //!< Discontinuity
#define SBC_MP_CACHE_SIZE (1 << 3) //!< Size enable
#define SBC_MP_CACHE_WCE (1 << 2) //!< Write back Cache Enable
#define SBC_MP_CACHE_MF (1 << 1) //!< Multiplication Factor
#define SBC_MP_CACHE_RCD (1 << 0) //!< Read Cache Disable
uint8_t retention;
be16_t dis_pf_transfer_len;
be16_t min_prefetch;
be16_t max_prefetch;
be16_t max_prefetch_ceil;
uint8_t flags12;
#define SBC_MP_CACHE_FSW (1 << 7) //!< Force Sequential Write
#define SBC_MP_CACHE_LBCSS (1 << 6) //!< Logical Blk Cache Seg Sz
#define SBC_MP_CACHE_DRA (1 << 5) //!< Disable Read-Ahead
#define SBC_MP_CACHE_NV_DIS (1 << 0) //!< Non-Volatile Cache Disable
uint8_t nr_cache_segments;
be16_t cache_segment_size;
uint8_t reserved[4];
uint8_t page_code;
uint8_t page_length;
uint8_t flags2;
#define SBC_MP_CACHE_IC (1 << 7) //!< Initiator Control
#define SBC_MP_CACHE_ABPF (1 << 6) //!< Abort Pre-Fetch
#define SBC_MP_CACHE_CAP (1 << 5) //!< Catching Analysis Permitted
#define SBC_MP_CACHE_DISC (1 << 4) //!< Discontinuity
#define SBC_MP_CACHE_SIZE (1 << 3) //!< Size enable
#define SBC_MP_CACHE_WCE (1 << 2) //!< Write back Cache Enable
#define SBC_MP_CACHE_MF (1 << 1) //!< Multiplication Factor
#define SBC_MP_CACHE_RCD (1 << 0) //!< Read Cache Disable
uint8_t retention;
be16_t dis_pf_transfer_len;
be16_t min_prefetch;
be16_t max_prefetch;
be16_t max_prefetch_ceil;
uint8_t flags12;
#define SBC_MP_CACHE_FSW (1 << 7) //!< Force Sequential Write
#define SBC_MP_CACHE_LBCSS (1 << 6) //!< Logical Blk Cache Seg Sz
#define SBC_MP_CACHE_DRA (1 << 5) //!< Disable Read-Ahead
#define SBC_MP_CACHE_NV_DIS (1 << 0) //!< Non-Volatile Cache Disable
uint8_t nr_cache_segments;
be16_t cache_segment_size;
uint8_t reserved[4];
};
/**
* \brief SBC-2 Read-Write Error Recovery mode page
*/
struct sbc_rdwr_error_recovery_mode_page {
uint8_t page_code;
uint8_t page_length;
#define SPC_MP_RW_ERR_RECOV_PAGE_LENGTH 0x0A
uint8_t flags1;
#define SBC_MP_RW_ERR_RECOV_AWRE (1 << 7)
#define SBC_MP_RW_ERR_RECOV_ARRE (1 << 6)
#define SBC_MP_RW_ERR_RECOV_TB (1 << 5)
#define SBC_MP_RW_ERR_RECOV_RC (1 << 4)
#define SBC_MP_RW_ERR_RECOV_ERR (1 << 3)
#define SBC_MP_RW_ERR_RECOV_PER (1 << 2)
#define SBC_MP_RW_ERR_RECOV_DTE (1 << 1)
#define SBC_MP_RW_ERR_RECOV_DCR (1 << 0)
uint8_t read_retry_count;
uint8_t correction_span;
uint8_t head_offset_count;
uint8_t data_strobe_offset_count;
uint8_t flags2;
uint8_t write_retry_count;
uint8_t flags3;
be16_t recovery_time_limit;
uint8_t page_code;
uint8_t page_length;
#define SPC_MP_RW_ERR_RECOV_PAGE_LENGTH 0x0A
uint8_t flags1;
#define SBC_MP_RW_ERR_RECOV_AWRE (1 << 7)
#define SBC_MP_RW_ERR_RECOV_ARRE (1 << 6)
#define SBC_MP_RW_ERR_RECOV_TB (1 << 5)
#define SBC_MP_RW_ERR_RECOV_RC (1 << 4)
#define SBC_MP_RW_ERR_RECOV_ERR (1 << 3)
#define SBC_MP_RW_ERR_RECOV_PER (1 << 2)
#define SBC_MP_RW_ERR_RECOV_DTE (1 << 1)
#define SBC_MP_RW_ERR_RECOV_DCR (1 << 0)
uint8_t read_retry_count;
uint8_t correction_span;
uint8_t head_offset_count;
uint8_t data_strobe_offset_count;
uint8_t flags2;
uint8_t write_retry_count;
uint8_t flags3;
be16_t recovery_time_limit;
};
//@}
@@ -164,8 +163,8 @@ struct sbc_rdwr_error_recovery_mode_page {
* \brief SBC-2 READ CAPACITY (10) parameter data
*/
struct sbc_read_capacity10_data {
be32_t max_lba; //!< LBA of last logical block
be32_t block_len; //!< Number of bytes in the last logical block
be32_t max_lba; //!< LBA of last logical block
be32_t block_len; //!< Number of bytes in the last logical block
};
//@}
+3 -3
View File
@@ -6,11 +6,11 @@
#include "../../../inc/MarlinConfig.h"
#if ENABLED(SDSUPPORT)
#if HAS_MEDIA
#include "../../../sd/cardreader.h"
extern "C" {
#include "sd_mmc_spi_mem.h"
#include "sd_mmc_spi_mem.h"
}
#define SD_MMC_BLOCK_SIZE 512
@@ -138,5 +138,5 @@ Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
#endif // ACCESS_USB == true
#endif // SDSUPPORT
#endif // HAS_MEDIA
#endif // ARDUINO_ARCH_SAM
+166 -173
View File
@@ -59,23 +59,23 @@
//! \name SCSI commands defined by SPC-2
//@{
#define SPC_TEST_UNIT_READY 0x00
#define SPC_REQUEST_SENSE 0x03
#define SPC_INQUIRY 0x12
#define SPC_MODE_SELECT6 0x15
#define SPC_MODE_SENSE6 0x1A
#define SPC_SEND_DIAGNOSTIC 0x1D
#define SPC_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1E
#define SPC_MODE_SENSE10 0x5A
#define SPC_REPORT_LUNS 0xA0
#define SPC_TEST_UNIT_READY 0x00
#define SPC_REQUEST_SENSE 0x03
#define SPC_INQUIRY 0x12
#define SPC_MODE_SELECT6 0x15
#define SPC_MODE_SENSE6 0x1A
#define SPC_SEND_DIAGNOSTIC 0x1D
#define SPC_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1E
#define SPC_MODE_SENSE10 0x5A
#define SPC_REPORT_LUNS 0xA0
//@}
//! \brief May be set in byte 0 of the INQUIRY CDB
//@{
//! Enable Vital Product Data
#define SCSI_INQ_REQ_EVPD 0x01
#define SCSI_INQ_REQ_EVPD 0x01
//! Command Support Data specified by the PAGE OR OPERATION CODE field
#define SCSI_INQ_REQ_CMDT 0x02
#define SCSI_INQ_REQ_CMDT 0x02
//@}
COMPILER_PACK_SET(1)
@@ -84,110 +84,110 @@ COMPILER_PACK_SET(1)
* \brief SCSI Standard Inquiry data structure
*/
struct scsi_inquiry_data {
uint8_t pq_pdt; //!< Peripheral Qual / Peripheral Dev Type
#define SCSI_INQ_PQ_CONNECTED 0x00 //!< Peripheral connected
#define SCSI_INQ_PQ_NOT_CONN 0x20 //!< Peripheral not connected
#define SCSI_INQ_PQ_NOT_SUPP 0x60 //!< Peripheral not supported
#define SCSI_INQ_DT_DIR_ACCESS 0x00 //!< Direct Access (SBC)
#define SCSI_INQ_DT_SEQ_ACCESS 0x01 //!< Sequential Access
#define SCSI_INQ_DT_PRINTER 0x02 //!< Printer
#define SCSI_INQ_DT_PROCESSOR 0x03 //!< Processor device
#define SCSI_INQ_DT_WRITE_ONCE 0x04 //!< Write-once device
#define SCSI_INQ_DT_CD_DVD 0x05 //!< CD/DVD device
#define SCSI_INQ_DT_OPTICAL 0x07 //!< Optical Memory
#define SCSI_INQ_DT_MC 0x08 //!< Medium Changer
#define SCSI_INQ_DT_ARRAY 0x0C //!< Storage Array Controller
#define SCSI_INQ_DT_ENCLOSURE 0x0D //!< Enclosure Services
#define SCSI_INQ_DT_RBC 0x0E //!< Simplified Direct Access
#define SCSI_INQ_DT_OCRW 0x0F //!< Optical card reader/writer
#define SCSI_INQ_DT_BCC 0x10 //!< Bridge Controller Commands
#define SCSI_INQ_DT_OSD 0x11 //!< Object-based Storage
#define SCSI_INQ_DT_NONE 0x1F //!< No Peripheral
uint8_t flags1; //!< Flags (byte 1)
#define SCSI_INQ_RMB 0x80 //!< Removable Medium
uint8_t version; //!< Version
#define SCSI_INQ_VER_NONE 0x00 //!< No standards conformance
#define SCSI_INQ_VER_SPC 0x03 //!< SCSI Primary Commands (link to SBC)
#define SCSI_INQ_VER_SPC2 0x04 //!< SCSI Primary Commands - 2 (link to SBC-2)
#define SCSI_INQ_VER_SPC3 0x05 //!< SCSI Primary Commands - 3 (link to SBC-2)
#define SCSI_INQ_VER_SPC4 0x06 //!< SCSI Primary Commands - 4 (link to SBC-3)
uint8_t flags3; //!< Flags (byte 3)
#define SCSI_INQ_NORMACA 0x20 //!< Normal ACA Supported
#define SCSI_INQ_HISUP 0x10 //!< Hierarchal LUN addressing
#define SCSI_INQ_RSP_SPC2 0x02 //!< SPC-2 / SPC-3 response format
uint8_t addl_len; //!< Additional Length (n-4)
#define SCSI_INQ_ADDL_LEN(tot) ((tot)-5) //!< Total length is \a tot
uint8_t flags5; //!< Flags (byte 5)
#define SCSI_INQ_SCCS 0x80
uint8_t flags6; //!< Flags (byte 6)
#define SCSI_INQ_BQUE 0x80
#define SCSI_INQ_ENCSERV 0x40
#define SCSI_INQ_MULTIP 0x10
#define SCSI_INQ_MCHGR 0x08
#define SCSI_INQ_ADDR16 0x01
uint8_t flags7; //!< Flags (byte 7)
#define SCSI_INQ_WBUS16 0x20
#define SCSI_INQ_SYNC 0x10
#define SCSI_INQ_LINKED 0x08
#define SCSI_INQ_CMDQUE 0x02
uint8_t vendor_id[8]; //!< T10 Vendor Identification
uint8_t product_id[16]; //!< Product Identification
uint8_t product_rev[4]; //!< Product Revision Level
uint8_t pq_pdt; //!< Peripheral Qual / Peripheral Dev Type
#define SCSI_INQ_PQ_CONNECTED 0x00 //!< Peripheral connected
#define SCSI_INQ_PQ_NOT_CONN 0x20 //!< Peripheral not connected
#define SCSI_INQ_PQ_NOT_SUPP 0x60 //!< Peripheral not supported
#define SCSI_INQ_DT_DIR_ACCESS 0x00 //!< Direct Access (SBC)
#define SCSI_INQ_DT_SEQ_ACCESS 0x01 //!< Sequential Access
#define SCSI_INQ_DT_PRINTER 0x02 //!< Printer
#define SCSI_INQ_DT_PROCESSOR 0x03 //!< Processor device
#define SCSI_INQ_DT_WRITE_ONCE 0x04 //!< Write-once device
#define SCSI_INQ_DT_CD_DVD 0x05 //!< CD/DVD device
#define SCSI_INQ_DT_OPTICAL 0x07 //!< Optical Memory
#define SCSI_INQ_DT_MC 0x08 //!< Medium Changer
#define SCSI_INQ_DT_ARRAY 0x0C //!< Storage Array Controller
#define SCSI_INQ_DT_ENCLOSURE 0x0D //!< Enclosure Services
#define SCSI_INQ_DT_RBC 0x0E //!< Simplified Direct Access
#define SCSI_INQ_DT_OCRW 0x0F //!< Optical card reader/writer
#define SCSI_INQ_DT_BCC 0x10 //!< Bridge Controller Commands
#define SCSI_INQ_DT_OSD 0x11 //!< Object-based Storage
#define SCSI_INQ_DT_NONE 0x1F //!< No Peripheral
uint8_t flags1; //!< Flags (byte 1)
#define SCSI_INQ_RMB 0x80 //!< Removable Medium
uint8_t version; //!< Version
#define SCSI_INQ_VER_NONE 0x00 //!< No standards conformance
#define SCSI_INQ_VER_SPC 0x03 //!< SCSI Primary Commands (link to SBC)
#define SCSI_INQ_VER_SPC2 0x04 //!< SCSI Primary Commands - 2 (link to SBC-2)
#define SCSI_INQ_VER_SPC3 0x05 //!< SCSI Primary Commands - 3 (link to SBC-2)
#define SCSI_INQ_VER_SPC4 0x06 //!< SCSI Primary Commands - 4 (link to SBC-3)
uint8_t flags3; //!< Flags (byte 3)
#define SCSI_INQ_NORMACA 0x20 //!< Normal ACA Supported
#define SCSI_INQ_HISUP 0x10 //!< Hierarchal LUN addressing
#define SCSI_INQ_RSP_SPC2 0x02 //!< SPC-2 / SPC-3 response format
uint8_t addl_len; //!< Additional Length (n-4)
#define SCSI_INQ_ADDL_LEN(tot) ((tot)-5) //!< Total length is \a tot
uint8_t flags5; //!< Flags (byte 5)
#define SCSI_INQ_SCCS 0x80
uint8_t flags6; //!< Flags (byte 6)
#define SCSI_INQ_BQUE 0x80
#define SCSI_INQ_ENCSERV 0x40
#define SCSI_INQ_MULTIP 0x10
#define SCSI_INQ_MCHGR 0x08
#define SCSI_INQ_ADDR16 0x01
uint8_t flags7; //!< Flags (byte 7)
#define SCSI_INQ_WBUS16 0x20
#define SCSI_INQ_SYNC 0x10
#define SCSI_INQ_LINKED 0x08
#define SCSI_INQ_CMDQUE 0x02
uint8_t vendor_id[8]; //!< T10 Vendor Identification
uint8_t product_id[16]; //!< Product Identification
uint8_t product_rev[4]; //!< Product Revision Level
};
/**
* \brief SCSI Standard Request sense data structure
*/
struct scsi_request_sense_data {
/* 1st byte: REQUEST SENSE response flags*/
uint8_t valid_reponse_code;
#define SCSI_SENSE_VALID 0x80 //!< Indicates the INFORMATION field contains valid information
#define SCSI_SENSE_RESPONSE_CODE_MASK 0x7F
#define SCSI_SENSE_CURRENT 0x70 //!< Response code 70h (current errors)
#define SCSI_SENSE_DEFERRED 0x71
/* 1st byte: REQUEST SENSE response flags*/
uint8_t valid_reponse_code;
#define SCSI_SENSE_VALID 0x80 //!< Indicates the INFORMATION field contains valid information
#define SCSI_SENSE_RESPONSE_CODE_MASK 0x7F
#define SCSI_SENSE_CURRENT 0x70 //!< Response code 70h (current errors)
#define SCSI_SENSE_DEFERRED 0x71
/* 2nd byte */
uint8_t obsolete;
/* 2nd byte */
uint8_t obsolete;
/* 3rd byte */
uint8_t sense_flag_key;
#define SCSI_SENSE_FILEMARK 0x80 //!< Indicates that the current command has read a filemark or setmark.
#define SCSI_SENSE_EOM 0x40 //!< Indicates that an end-of-medium condition exists.
#define SCSI_SENSE_ILI 0x20 //!< Indicates that the requested logical block length did not match the logical block length of the data on the medium.
#define SCSI_SENSE_RESERVED 0x10 //!< Reserved
#define SCSI_SENSE_KEY(x) (x&0x0F) //!< Sense Key
/* 3rd byte */
uint8_t sense_flag_key;
#define SCSI_SENSE_FILEMARK 0x80 //!< Indicates that the current command has read a filemark or setmark.
#define SCSI_SENSE_EOM 0x40 //!< Indicates that an end-of-medium condition exists.
#define SCSI_SENSE_ILI 0x20 //!< Indicates that the requested logical block length did not match the logical block length of the data on the medium.
#define SCSI_SENSE_RESERVED 0x10 //!< Reserved
#define SCSI_SENSE_KEY(x) (x&0x0F) //!< Sense Key
/* 4th to 7th bytes - INFORMATION field */
uint8_t information[4];
/* 4th to 7th bytes - INFORMATION field */
uint8_t information[4];
/* 8th byte - ADDITIONAL SENSE LENGTH field */
uint8_t AddSenseLen;
#define SCSI_SENSE_ADDL_LEN(total_len) ((total_len) - 8)
/* 8th byte - ADDITIONAL SENSE LENGTH field */
uint8_t AddSenseLen;
#define SCSI_SENSE_ADDL_LEN(total_len) ((total_len) - 8)
/* 9th to 12th byte - COMMAND-SPECIFIC INFORMATION field */
uint8_t CmdSpecINFO[4];
/* 9th to 12th byte - COMMAND-SPECIFIC INFORMATION field */
uint8_t CmdSpecINFO[4];
/* 13th byte - ADDITIONAL SENSE CODE field */
uint8_t AddSenseCode;
/* 13th byte - ADDITIONAL SENSE CODE field */
uint8_t AddSenseCode;
/* 14th byte - ADDITIONAL SENSE CODE QUALIFIER field */
uint8_t AddSnsCodeQlfr;
/* 14th byte - ADDITIONAL SENSE CODE QUALIFIER field */
uint8_t AddSnsCodeQlfr;
/* 15th byte - FIELD REPLACEABLE UNIT CODE field */
uint8_t FldReplUnitCode;
/* 15th byte - FIELD REPLACEABLE UNIT CODE field */
uint8_t FldReplUnitCode;
/* 16th byte */
uint8_t SenseKeySpec[3];
#define SCSI_SENSE_SKSV 0x80 //!< Indicates the SENSE-KEY SPECIFIC field contains valid information
/* 16th byte */
uint8_t SenseKeySpec[3];
#define SCSI_SENSE_SKSV 0x80 //!< Indicates the SENSE-KEY SPECIFIC field contains valid information
};
COMPILER_PACK_RESET()
/* Vital Product Data page codes */
enum scsi_vpd_page_code {
SCSI_VPD_SUPPORTED_PAGES = 0x00,
SCSI_VPD_UNIT_SERIAL_NUMBER = 0x80,
SCSI_VPD_DEVICE_IDENTIFICATION = 0x83,
SCSI_VPD_SUPPORTED_PAGES = 0x00,
SCSI_VPD_UNIT_SERIAL_NUMBER = 0x80,
SCSI_VPD_DEVICE_IDENTIFICATION = 0x83,
};
#define SCSI_VPD_HEADER_SIZE 4
@@ -200,37 +200,36 @@ enum scsi_vpd_page_code {
#define SCSI_VPD_ID_TYPE_T10 1
/* Sense keys */
enum scsi_sense_key {
SCSI_SK_NO_SENSE = 0x0,
SCSI_SK_RECOVERED_ERROR = 0x1,
SCSI_SK_NOT_READY = 0x2,
SCSI_SK_MEDIUM_ERROR = 0x3,
SCSI_SK_HARDWARE_ERROR = 0x4,
SCSI_SK_ILLEGAL_REQUEST = 0x5,
SCSI_SK_UNIT_ATTENTION = 0x6,
SCSI_SK_DATA_PROTECT = 0x7,
SCSI_SK_BLANK_CHECK = 0x8,
SCSI_SK_VENDOR_SPECIFIC = 0x9,
SCSI_SK_COPY_ABORTED = 0xA,
SCSI_SK_ABORTED_COMMAND = 0xB,
SCSI_SK_VOLUME_OVERFLOW = 0xD,
SCSI_SK_MISCOMPARE = 0xE,
SCSI_SK_NO_SENSE = 0x0,
SCSI_SK_RECOVERED_ERROR = 0x1,
SCSI_SK_NOT_READY = 0x2,
SCSI_SK_MEDIUM_ERROR = 0x3,
SCSI_SK_HARDWARE_ERROR = 0x4,
SCSI_SK_ILLEGAL_REQUEST = 0x5,
SCSI_SK_UNIT_ATTENTION = 0x6,
SCSI_SK_DATA_PROTECT = 0x7,
SCSI_SK_BLANK_CHECK = 0x8,
SCSI_SK_VENDOR_SPECIFIC = 0x9,
SCSI_SK_COPY_ABORTED = 0xA,
SCSI_SK_ABORTED_COMMAND = 0xB,
SCSI_SK_VOLUME_OVERFLOW = 0xD,
SCSI_SK_MISCOMPARE = 0xE,
};
/* Additional Sense Code / Additional Sense Code Qualifier pairs */
enum scsi_asc_ascq {
SCSI_ASC_NO_ADDITIONAL_SENSE_INFO = 0x0000,
SCSI_ASC_LU_NOT_READY_REBUILD_IN_PROGRESS = 0x0405,
SCSI_ASC_WRITE_ERROR = 0x0C00,
SCSI_ASC_UNRECOVERED_READ_ERROR = 0x1100,
SCSI_ASC_INVALID_COMMAND_OPERATION_CODE = 0x2000,
SCSI_ASC_INVALID_FIELD_IN_CDB = 0x2400,
SCSI_ASC_WRITE_PROTECTED = 0x2700,
SCSI_ASC_NOT_READY_TO_READY_CHANGE = 0x2800,
SCSI_ASC_MEDIUM_NOT_PRESENT = 0x3A00,
SCSI_ASC_INTERNAL_TARGET_FAILURE = 0x4400,
SCSI_ASC_NO_ADDITIONAL_SENSE_INFO = 0x0000,
SCSI_ASC_LU_NOT_READY_REBUILD_IN_PROGRESS = 0x0405,
SCSI_ASC_WRITE_ERROR = 0x0C00,
SCSI_ASC_UNRECOVERED_READ_ERROR = 0x1100,
SCSI_ASC_INVALID_COMMAND_OPERATION_CODE = 0x2000,
SCSI_ASC_INVALID_FIELD_IN_CDB = 0x2400,
SCSI_ASC_WRITE_PROTECTED = 0x2700,
SCSI_ASC_NOT_READY_TO_READY_CHANGE = 0x2800,
SCSI_ASC_MEDIUM_NOT_PRESENT = 0x3A00,
SCSI_ASC_INTERNAL_TARGET_FAILURE = 0x4400,
};
/**
@@ -240,9 +239,9 @@ enum scsi_asc_ascq {
* that are applicable to all SCSI devices.
*/
enum scsi_spc_mode {
SCSI_MS_MODE_VENDOR_SPEC = 0x00,
SCSI_MS_MODE_INFEXP = 0x1C, // Informational exceptions control page
SCSI_MS_MODE_ALL = 0x3F,
SCSI_MS_MODE_VENDOR_SPEC = 0x00,
SCSI_MS_MODE_INFEXP = 0x1C, // Informational exceptions control page
SCSI_MS_MODE_ALL = 0x3F,
};
/**
@@ -250,51 +249,45 @@ enum scsi_spc_mode {
* See chapter 8.3.8
*/
struct spc_control_page_info_execpt {
uint8_t page_code;
uint8_t page_length;
#define SPC_MP_INFEXP_PAGE_LENGTH 0x0A
uint8_t flags1;
#define SPC_MP_INFEXP_PERF (1<<7) //!< Initiator Control
#define SPC_MP_INFEXP_EBF (1<<5) //!< Caching Analysis Permitted
#define SPC_MP_INFEXP_EWASC (1<<4) //!< Discontinuity
#define SPC_MP_INFEXP_DEXCPT (1<<3) //!< Size enable
#define SPC_MP_INFEXP_TEST (1<<2) //!< Writeback Cache Enable
#define SPC_MP_INFEXP_LOGERR (1<<0) //!< Log errors bit
uint8_t mrie;
#define SPC_MP_INFEXP_MRIE_NO_REPORT 0x00
#define SPC_MP_INFEXP_MRIE_ASYNC_EVENT 0x01
#define SPC_MP_INFEXP_MRIE_GEN_UNIT 0x02
#define SPC_MP_INFEXP_MRIE_COND_RECOV_ERROR 0x03
#define SPC_MP_INFEXP_MRIE_UNCOND_RECOV_ERROR 0x04
#define SPC_MP_INFEXP_MRIE_NO_SENSE 0x05
#define SPC_MP_INFEXP_MRIE_ONLY_REPORT 0x06
be32_t interval_timer;
be32_t report_count;
uint8_t page_code;
uint8_t page_length;
#define SPC_MP_INFEXP_PAGE_LENGTH 0x0A
uint8_t flags1;
#define SPC_MP_INFEXP_PERF (1<<7) //!< Initiator Control
#define SPC_MP_INFEXP_EBF (1<<5) //!< Caching Analysis Permitted
#define SPC_MP_INFEXP_EWASC (1<<4) //!< Discontinuity
#define SPC_MP_INFEXP_DEXCPT (1<<3) //!< Size enable
#define SPC_MP_INFEXP_TEST (1<<2) //!< Writeback Cache Enable
#define SPC_MP_INFEXP_LOGERR (1<<0) //!< Log errors bit
uint8_t mrie;
#define SPC_MP_INFEXP_MRIE_NO_REPORT 0x00
#define SPC_MP_INFEXP_MRIE_ASYNC_EVENT 0x01
#define SPC_MP_INFEXP_MRIE_GEN_UNIT 0x02
#define SPC_MP_INFEXP_MRIE_COND_RECOV_ERROR 0x03
#define SPC_MP_INFEXP_MRIE_UNCOND_RECOV_ERROR 0x04
#define SPC_MP_INFEXP_MRIE_NO_SENSE 0x05
#define SPC_MP_INFEXP_MRIE_ONLY_REPORT 0x06
be32_t interval_timer;
be32_t report_count;
};
enum scsi_spc_mode_sense_pc {
SCSI_MS_SENSE_PC_CURRENT = 0,
SCSI_MS_SENSE_PC_CHANGEABLE = 1,
SCSI_MS_SENSE_PC_DEFAULT = 2,
SCSI_MS_SENSE_PC_SAVED = 3,
SCSI_MS_SENSE_PC_CURRENT = 0,
SCSI_MS_SENSE_PC_CHANGEABLE = 1,
SCSI_MS_SENSE_PC_DEFAULT = 2,
SCSI_MS_SENSE_PC_SAVED = 3,
};
static inline bool scsi_mode_sense_dbd_is_set(const uint8_t * cdb)
{
return (cdb[1] >> 3) & 1;
static inline bool scsi_mode_sense_dbd_is_set(const uint8_t * cdb) {
return (cdb[1] >> 3) & 1;
}
static inline uint8_t scsi_mode_sense_get_page_code(const uint8_t * cdb)
{
return cdb[2] & 0x3F;
static inline uint8_t scsi_mode_sense_get_page_code(const uint8_t * cdb) {
return cdb[2] & 0x3F;
}
static inline uint8_t scsi_mode_sense_get_pc(const uint8_t * cdb)
{
return cdb[2] >> 6;
static inline uint8_t scsi_mode_sense_get_pc(const uint8_t * cdb) {
return cdb[2] >> 6;
}
/**
@@ -302,10 +295,10 @@ static inline uint8_t scsi_mode_sense_get_pc(const uint8_t * cdb)
* SENSE(6)
*/
struct scsi_mode_param_header6 {
uint8_t mode_data_length; //!< Number of bytes after this
uint8_t medium_type; //!< Medium Type
uint8_t device_specific_parameter; //!< Defined by command set
uint8_t block_descriptor_length; //!< Length of block descriptors
uint8_t mode_data_length; //!< Number of bytes after this
uint8_t medium_type; //!< Medium Type
uint8_t device_specific_parameter; //!< Defined by command set
uint8_t block_descriptor_length; //!< Length of block descriptors
};
/**
@@ -313,23 +306,23 @@ struct scsi_mode_param_header6 {
* SENSE(10)
*/
struct scsi_mode_param_header10 {
be16_t mode_data_length; //!< Number of bytes after this
uint8_t medium_type; //!< Medium Type
uint8_t device_specific_parameter; //!< Defined by command set
uint8_t flags4; //!< LONGLBA in bit 0
uint8_t reserved;
be16_t block_descriptor_length; //!< Length of block descriptors
be16_t mode_data_length; //!< Number of bytes after this
uint8_t medium_type; //!< Medium Type
uint8_t device_specific_parameter; //!< Defined by command set
uint8_t flags4; //!< LONGLBA in bit 0
uint8_t reserved;
be16_t block_descriptor_length; //!< Length of block descriptors
};
/**
* \brief SCSI Page_0 Mode Page header (SPF not set)
*/
struct scsi_mode_page_0_header {
uint8_t page_code;
#define SCSI_PAGE_CODE_PS (1 << 7) //!< Parameters Saveable
#define SCSI_PAGE_CODE_SPF (1 << 6) //!< SubPage Format
uint8_t page_length; //!< Number of bytes after this
#define SCSI_MS_PAGE_LEN(total) ((total) - 2)
uint8_t page_code;
#define SCSI_PAGE_CODE_PS (1 << 7) //!< Parameters Saveable
#define SCSI_PAGE_CODE_SPF (1 << 6) //!< SubPage Format
uint8_t page_length; //!< Number of bytes after this
#define SCSI_MS_PAGE_LEN(total) ((total) - 2)
};
//@}
+15 -15
View File
@@ -71,7 +71,7 @@
* \subsection sysclk_quickstart_use_case_1_setup_steps Initialization code
* Add to the application initialization code:
* \code
sysclk_init();
sysclk_init();
\endcode
*
* \subsection sysclk_quickstart_use_case_1_setup_steps_workflow Workflow
@@ -82,15 +82,15 @@
* Add or uncomment the following in your conf_clock.h header file, commenting out all other
* definitions of the same symbol(s):
* \code
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK
// Fpll0 = (Fclk * PLL_mul) / PLL_div
#define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL
#define CONFIG_PLL0_MUL (84000000UL / BOARD_FREQ_MAINCK_XTAL)
#define CONFIG_PLL0_DIV 1
// Fpll0 = (Fclk * PLL_mul) / PLL_div
#define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL
#define CONFIG_PLL0_MUL (84000000UL / BOARD_FREQ_MAINCK_XTAL)
#define CONFIG_PLL0_DIV 1
// Fbus = Fsys / BUS_div
#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1
// Fbus = Fsys / BUS_div
#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1
\endcode
*
* \subsection sysclk_quickstart_use_case_1_example_workflow Workflow
@@ -100,14 +100,14 @@
* \code #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL \endcode
* -# Configure the PLL module to multiply the external fast crystal oscillator frequency up to 84MHz:
* \code
#define CONFIG_PLL0_MUL (84000000UL / BOARD_FREQ_MAINCK_XTAL)
#define CONFIG_PLL0_DIV 1
#define CONFIG_PLL0_MUL (84000000UL / BOARD_FREQ_MAINCK_XTAL)
#define CONFIG_PLL0_DIV 1
\endcode
* \note For user boards, \c BOARD_FREQ_MAINCK_XTAL should be defined in the board \c conf_board.h configuration
* file as the frequency of the fast crystal attached to the microcontroller.
* -# Configure the main clock to run at the full 84MHz, disable scaling of the main system clock speed:
* \code
#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1
#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1
\endcode
* \note Some dividers are powers of two, while others are integer division factors. Refer to the
* formulas in the conf_clock.h template commented above each division define.
@@ -136,7 +136,7 @@ extern "C" {
* initialization.
*/
#ifndef CONFIG_SYSCLK_SOURCE
# define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC
#endif
/**
* \def CONFIG_SYSCLK_PRES
@@ -149,7 +149,7 @@ extern "C" {
* after initialization.
*/
#ifndef CONFIG_SYSCLK_PRES
# define CONFIG_SYSCLK_PRES 0
#define CONFIG_SYSCLK_PRES 0
#endif
//@}
@@ -197,7 +197,7 @@ extern "C" {
* USB is not required.
*/
#ifdef __DOXYGEN__
# define CONFIG_USBCLK_SOURCE
#define CONFIG_USBCLK_SOURCE
#endif
/**
@@ -209,7 +209,7 @@ extern "C" {
* defined.
*/
#ifdef __DOXYGEN__
# define CONFIG_USBCLK_DIV
#define CONFIG_USBCLK_DIV
#endif
+197 -204
View File
@@ -144,15 +144,15 @@ extern "C" {
* \code #define USB_DEVICE_ATTACH_AUTO_DISABLE \endcode
* User C file contains:
* \code
// Authorize VBUS monitoring
if (!udc_include_vbus_monitoring()) {
// Implement custom VBUS monitoring via GPIO or other
}
Event_VBUS_present() // VBUS interrupt or GPIO interrupt or other
{
// Attach USB Device
udc_attach();
}
// Authorize VBUS monitoring
if (!udc_include_vbus_monitoring()) {
// Implement custom VBUS monitoring via GPIO or other
}
Event_VBUS_present() // VBUS interrupt or GPIO interrupt or other
{
// Attach USB Device
udc_attach();
}
\endcode
*
* - Case of battery charging. conf_usb.h file contains define
@@ -160,21 +160,20 @@ extern "C" {
* \code #define USB_DEVICE_ATTACH_AUTO_DISABLE \endcode
* User C file contains:
* \code
Event VBUS present() // VBUS interrupt or GPIO interrupt or ..
{
// Authorize battery charging, but wait key press to start USB.
}
Event Key press()
{
// Stop batteries charging
// Start USB
udc_attach();
}
Event VBUS present() // VBUS interrupt or GPIO interrupt or ..
{
// Authorize battery charging, but wait key press to start USB.
}
Event Key press()
{
// Stop batteries charging
// Start USB
udc_attach();
}
\endcode
*/
static inline bool udc_include_vbus_monitoring(void)
{
return udd_include_vbus_monitoring();
static inline bool udc_include_vbus_monitoring(void) {
return udd_include_vbus_monitoring();
}
/*! \brief Start the USB Device stack
@@ -192,32 +191,26 @@ void udc_stop(void);
* then it will attach device when an acceptable Vbus
* level from the host is detected.
*/
static inline void udc_attach(void)
{
udd_attach();
static inline void udc_attach(void) {
udd_attach();
}
/**
* \brief Detaches the device from the bus
*
* The driver must remove pull-up on USB line D- or D+.
*/
static inline void udc_detach(void)
{
udd_detach();
static inline void udc_detach(void) {
udd_detach();
}
/*! \brief The USB driver sends a resume signal called \e "Upstream Resume"
* This is authorized only when the remote wakeup feature is enabled by host.
*/
static inline void udc_remotewakeup(void)
{
udd_send_remotewakeup();
static inline void udc_remotewakeup(void) {
udd_send_remotewakeup();
}
/**
* \brief Returns a pointer on the current interface descriptor
*
@@ -296,23 +289,23 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
*
* for AVR and SAM3/4 devices, add to the initialization code:
* \code
sysclk_init();
irq_initialize_vectors();
cpu_irq_enable();
board_init();
sleepmgr_init(); // Optional
sysclk_init();
irq_initialize_vectors();
cpu_irq_enable();
board_init();
sleepmgr_init(); // Optional
\endcode
*
* For SAMD devices, add to the initialization code:
* \code
system_init();
irq_initialize_vectors();
cpu_irq_enable();
sleepmgr_init(); // Optional
system_init();
irq_initialize_vectors();
cpu_irq_enable();
sleepmgr_init(); // Optional
\endcode
* Add to the main IDLE loop:
* \code
sleepmgr_enter_sleep(); // Optional
sleepmgr_enter_sleep(); // Optional
\endcode
*
*/
@@ -324,20 +317,20 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
*
* Content of conf_usb.h:
* \code
#define USB_DEVICE_VENDOR_ID 0x03EB
#define USB_DEVICE_PRODUCT_ID 0xXXXX
#define USB_DEVICE_MAJOR_VERSION 1
#define USB_DEVICE_MINOR_VERSION 0
#define USB_DEVICE_POWER 100
#define USB_DEVICE_ATTR USB_CONFIG_ATTR_BUS_POWERED
#define USB_DEVICE_VENDOR_ID 0x03EB
#define USB_DEVICE_PRODUCT_ID 0xXXXX
#define USB_DEVICE_MAJOR_VERSION 1
#define USB_DEVICE_MINOR_VERSION 0
#define USB_DEVICE_POWER 100
#define USB_DEVICE_ATTR USB_CONFIG_ATTR_BUS_POWERED
\endcode
*
* Add to application C-file:
* \code
void usb_init(void)
{
udc_start();
}
void usb_init(void)
{
udc_start();
}
\endcode
*/
@@ -349,17 +342,17 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* -# Ensure that conf_usb.h is available and contains the following configuration
* which is the main USB device configuration:
* - \code // Vendor ID provided by USB org (ATMEL 0x03EB)
#define USB_DEVICE_VENDOR_ID 0x03EB // Type Word
// Product ID (Atmel PID referenced in usb_atmel.h)
#define USB_DEVICE_PRODUCT_ID 0xXXXX // Type Word
// Major version of the device
#define USB_DEVICE_MAJOR_VERSION 1 // Type Byte
// Minor version of the device
#define USB_DEVICE_MINOR_VERSION 0 // Type Byte
// Maximum device power (mA)
#define USB_DEVICE_POWER 100 // Type 9-bits
// USB attributes to enable features
#define USB_DEVICE_ATTR USB_CONFIG_ATTR_BUS_POWERED // Flags \endcode
#define USB_DEVICE_VENDOR_ID 0x03EB // Type Word
// Product ID (Atmel PID referenced in usb_atmel.h)
#define USB_DEVICE_PRODUCT_ID 0xXXXX // Type Word
// Major version of the device
#define USB_DEVICE_MAJOR_VERSION 1 // Type Byte
// Minor version of the device
#define USB_DEVICE_MINOR_VERSION 0 // Type Byte
// Maximum device power (mA)
#define USB_DEVICE_POWER 100 // Type 9-bits
// USB attributes to enable features
#define USB_DEVICE_ATTR USB_CONFIG_ATTR_BUS_POWERED // Flags \endcode
* -# Call the USB device stack start function to enable stack and start USB:
* - \code udc_start(); \endcode
* \note In case of USB dual roles (Device and Host) managed through USB OTG connector
@@ -372,90 +365,90 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
*
* Content of XMEGA conf_clock.h:
* \code
// Configuration based on internal RC:
// USB clock need of 48Mhz
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_RCOSC
#define CONFIG_OSC_RC32_CAL 48000000UL
#define CONFIG_OSC_AUTOCAL_RC32MHZ_REF_OSC OSC_ID_USBSOF
// CPU clock need of clock > 12MHz to run with USB (Here 24MHz)
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC32MHZ
#define CONFIG_SYSCLK_PSADIV SYSCLK_PSADIV_2
#define CONFIG_SYSCLK_PSBCDIV SYSCLK_PSBCDIV_1_1
// Configuration based on internal RC:
// USB clock need of 48Mhz
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_RCOSC
#define CONFIG_OSC_RC32_CAL 48000000UL
#define CONFIG_OSC_AUTOCAL_RC32MHZ_REF_OSC OSC_ID_USBSOF
// CPU clock need of clock > 12MHz to run with USB (Here 24MHz)
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC32MHZ
#define CONFIG_SYSCLK_PSADIV SYSCLK_PSADIV_2
#define CONFIG_SYSCLK_PSBCDIV SYSCLK_PSBCDIV_1_1
\endcode
*
* Content of conf_clock.h for AT32UC3A0, AT32UC3A1, AT32UC3B devices (USBB):
* \code
// Configuration based on 12MHz external OSC:
#define CONFIG_PLL1_SOURCE PLL_SRC_OSC0
#define CONFIG_PLL1_MUL 8
#define CONFIG_PLL1_DIV 2
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 1 // Fusb = Fsys/(2 ^ USB_div)
// Configuration based on 12MHz external OSC:
#define CONFIG_PLL1_SOURCE PLL_SRC_OSC0
#define CONFIG_PLL1_MUL 8
#define CONFIG_PLL1_DIV 2
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 1 // Fusb = Fsys/(2 ^ USB_div)
\endcode
*
* Content of conf_clock.h for AT32UC3A3, AT32UC3A4 devices (USBB with high speed support):
* \code
// Configuration based on 12MHz external OSC:
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_OSC0
#define CONFIG_USBCLK_DIV 1 // Fusb = Fsys/(2 ^ USB_div)
// Configuration based on 12MHz external OSC:
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_OSC0
#define CONFIG_USBCLK_DIV 1 // Fusb = Fsys/(2 ^ USB_div)
\endcode
*
* Content of conf_clock.h for AT32UC3C, ATUCXXD, ATUCXXL3U, ATUCXXL4U devices (USBC):
* \code
// Configuration based on 12MHz external OSC:
#define CONFIG_PLL1_SOURCE PLL_SRC_OSC0
#define CONFIG_PLL1_MUL 8
#define CONFIG_PLL1_DIV 2
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 1 // Fusb = Fsys/(2 ^ USB_div)
// CPU clock need of clock > 25MHz to run with USBC
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLL1
// Configuration based on 12MHz external OSC:
#define CONFIG_PLL1_SOURCE PLL_SRC_OSC0
#define CONFIG_PLL1_MUL 8
#define CONFIG_PLL1_DIV 2
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 1 // Fusb = Fsys/(2 ^ USB_div)
// CPU clock need of clock > 25MHz to run with USBC
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLL1
\endcode
*
* Content of conf_clock.h for SAM3S, SAM3SD, SAM4S devices (UPD: USB Peripheral Device):
* \code
// PLL1 (B) Options (Fpll = (Fclk * PLL_mul) / PLL_div)
#define CONFIG_PLL1_SOURCE PLL_SRC_MAINCK_XTAL
#define CONFIG_PLL1_MUL 16
#define CONFIG_PLL1_DIV 2
// USB Clock Source Options (Fusb = FpllX / USB_div)
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 2
// PLL1 (B) Options (Fpll = (Fclk * PLL_mul) / PLL_div)
#define CONFIG_PLL1_SOURCE PLL_SRC_MAINCK_XTAL
#define CONFIG_PLL1_MUL 16
#define CONFIG_PLL1_DIV 2
// USB Clock Source Options (Fusb = FpllX / USB_div)
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL1
#define CONFIG_USBCLK_DIV 2
\endcode
*
* Content of conf_clock.h for SAM3U device (UPDHS: USB Peripheral Device High Speed):
* \code
// USB Clock Source fixed at UPLL.
// USB Clock Source fixed at UPLL.
\endcode
*
* Content of conf_clock.h for SAM3X, SAM3A devices (UOTGHS: USB OTG High Speed):
* \code
// USB Clock Source fixed at UPLL.
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_UPLL
#define CONFIG_USBCLK_DIV 1
// USB Clock Source fixed at UPLL.
#define CONFIG_USBCLK_SOURCE USBCLK_SRC_UPLL
#define CONFIG_USBCLK_DIV 1
\endcode
*
* Content of conf_clocks.h for SAMD devices (USB):
* \code
// System clock bus configuration
# define CONF_CLOCK_FLASH_WAIT_STATES 2
// System clock bus configuration
# define CONF_CLOCK_FLASH_WAIT_STATES 2
// USB Clock Source fixed at DFLL.
// SYSTEM_CLOCK_SOURCE_DFLL configuration - Digital Frequency Locked Loop
# define CONF_CLOCK_DFLL_ENABLE true
# define CONF_CLOCK_DFLL_LOOP_MODE SYSTEM_CLOCK_DFLL_LOOP_MODE_USB_RECOVERY
# define CONF_CLOCK_DFLL_ON_DEMAND true
// USB Clock Source fixed at DFLL.
// SYSTEM_CLOCK_SOURCE_DFLL configuration - Digital Frequency Locked Loop
# define CONF_CLOCK_DFLL_ENABLE true
# define CONF_CLOCK_DFLL_LOOP_MODE SYSTEM_CLOCK_DFLL_LOOP_MODE_USB_RECOVERY
# define CONF_CLOCK_DFLL_ON_DEMAND true
// Set this to true to configure the GCLK when running clocks_init.
// If set to false, none of the GCLK generators will be configured in clocks_init().
# define CONF_CLOCK_CONFIGURE_GCLK true
// Set this to true to configure the GCLK when running clocks_init.
// If set to false, none of the GCLK generators will be configured in clocks_init().
# define CONF_CLOCK_CONFIGURE_GCLK true
// Configure GCLK generator 0 (Main Clock)
# define CONF_CLOCK_GCLK_0_ENABLE true
# define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY true
# define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_DFLL
# define CONF_CLOCK_GCLK_0_PRESCALER 1
# define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE false
// Configure GCLK generator 0 (Main Clock)
# define CONF_CLOCK_GCLK_0_ENABLE true
# define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY true
# define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_DFLL
# define CONF_CLOCK_GCLK_0_PRESCALER 1
# define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE false
\endcode
*/
@@ -474,34 +467,34 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* \subsection udc_use_case_1_usage_code Example code
* Content of conf_usb.h:
* \code
#if // Low speed
#define USB_DEVICE_LOW_SPEED
// #define USB_DEVICE_HS_SUPPORT
#if // Low speed
#define USB_DEVICE_LOW_SPEED
// #define USB_DEVICE_HS_SUPPORT
#elif // Full speed
// #define USB_DEVICE_LOW_SPEED
// #define USB_DEVICE_HS_SUPPORT
#elif // Full speed
// #define USB_DEVICE_LOW_SPEED
// #define USB_DEVICE_HS_SUPPORT
#elif // High speed
// #define USB_DEVICE_LOW_SPEED
#define USB_DEVICE_HS_SUPPORT
#elif // High speed
// #define USB_DEVICE_LOW_SPEED
#define USB_DEVICE_HS_SUPPORT
#endif
#endif
\endcode
*
* \subsection udc_use_case_1_usage_flow Workflow
* -# Ensure that conf_usb.h is available and contains the following parameters
* required for a USB device low speed (1.5Mbit/s):
* - \code #define USB_DEVICE_LOW_SPEED
//#define USB_DEVICE_HS_SUPPORT \endcode
//#define USB_DEVICE_HS_SUPPORT \endcode
* -# Ensure that conf_usb.h contains the following parameters
* required for a USB device full speed (12Mbit/s):
* - \code //#define USB_DEVICE_LOW_SPEED
//#define USB_DEVICE_HS_SUPPORT \endcode
//#define USB_DEVICE_HS_SUPPORT \endcode
* -# Ensure that conf_usb.h contains the following parameters
* required for a USB device high speed (480Mbit/s):
* - \code //#define USB_DEVICE_LOW_SPEED
#define USB_DEVICE_HS_SUPPORT \endcode
#define USB_DEVICE_HS_SUPPORT \endcode
*/
/**
@@ -518,20 +511,20 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* \subsection udc_use_case_2_usage_code Example code
* Content of conf_usb.h:
* \code
#define USB_DEVICE_MANUFACTURE_NAME "Manufacture name"
#define USB_DEVICE_PRODUCT_NAME "Product name"
#define USB_DEVICE_SERIAL_NAME "12...EF"
#define USB_DEVICE_MANUFACTURE_NAME "Manufacture name"
#define USB_DEVICE_PRODUCT_NAME "Product name"
#define USB_DEVICE_SERIAL_NAME "12...EF"
\endcode
*
* \subsection udc_use_case_2_usage_flow Workflow
* -# Ensure that conf_usb.h is available and contains the following parameters
* required to enable different USB strings:
* - \code // Static ASCII name for the manufacture
#define USB_DEVICE_MANUFACTURE_NAME "Manufacture name" \endcode
#define USB_DEVICE_MANUFACTURE_NAME "Manufacture name" \endcode
* - \code // Static ASCII name for the product
#define USB_DEVICE_PRODUCT_NAME "Product name" \endcode
#define USB_DEVICE_PRODUCT_NAME "Product name" \endcode
* - \code // Static ASCII name to enable and set a serial number
#define USB_DEVICE_SERIAL_NAME "12...EF" \endcode
#define USB_DEVICE_SERIAL_NAME "12...EF" \endcode
*/
/**
@@ -548,42 +541,42 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* \subsection udc_use_case_3_usage_code Example code
* Content of conf_usb.h:
* \code
#define USB_DEVICE_ATTR \
(USB_CONFIG_ATTR_REMOTE_WAKEUP | USB_CONFIG_ATTR_..._POWERED)
#define UDC_REMOTEWAKEUP_ENABLE() my_callback_remotewakeup_enable()
extern void my_callback_remotewakeup_enable(void);
#define UDC_REMOTEWAKEUP_DISABLE() my_callback_remotewakeup_disable()
extern void my_callback_remotewakeup_disable(void);
#define USB_DEVICE_ATTR \
(USB_CONFIG_ATTR_REMOTE_WAKEUP | USB_CONFIG_ATTR_..._POWERED)
#define UDC_REMOTEWAKEUP_ENABLE() my_callback_remotewakeup_enable()
extern void my_callback_remotewakeup_enable(void);
#define UDC_REMOTEWAKEUP_DISABLE() my_callback_remotewakeup_disable()
extern void my_callback_remotewakeup_disable(void);
\endcode
*
* Add to application C-file:
* \code
void my_callback_remotewakeup_enable(void)
{
// Enable application wakeup events (e.g. enable GPIO interrupt)
}
void my_callback_remotewakeup_disable(void)
{
// Disable application wakeup events (e.g. disable GPIO interrupt)
}
void my_callback_remotewakeup_enable(void)
{
// Enable application wakeup events (e.g. enable GPIO interrupt)
}
void my_callback_remotewakeup_disable(void)
{
// Disable application wakeup events (e.g. disable GPIO interrupt)
}
void my_interrupt_event(void)
{
udc_remotewakeup();
}
void my_interrupt_event(void)
{
udc_remotewakeup();
}
\endcode
*
* \subsection udc_use_case_3_usage_flow Workflow
* -# Ensure that conf_usb.h is available and contains the following parameters
* required to enable remote wakeup feature:
* - \code // Authorizes the remote wakeup feature
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_REMOTE_WAKEUP | USB_CONFIG_ATTR_..._POWERED) \endcode
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_REMOTE_WAKEUP | USB_CONFIG_ATTR_..._POWERED) \endcode
* - \code // Define callback called when the host enables the remotewakeup feature
#define UDC_REMOTEWAKEUP_ENABLE() my_callback_remotewakeup_enable()
extern void my_callback_remotewakeup_enable(void); \endcode
#define UDC_REMOTEWAKEUP_ENABLE() my_callback_remotewakeup_enable()
extern void my_callback_remotewakeup_enable(void); \endcode
* - \code // Define callback called when the host disables the remotewakeup feature
#define UDC_REMOTEWAKEUP_DISABLE() my_callback_remotewakeup_disable()
extern void my_callback_remotewakeup_disable(void); \endcode
#define UDC_REMOTEWAKEUP_DISABLE() my_callback_remotewakeup_disable()
extern void my_callback_remotewakeup_disable(void); \endcode
* -# Send a remote wakeup (USB upstream):
* - \code udc_remotewakeup(); \endcode
*/
@@ -603,40 +596,40 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* \subsection udc_use_case_5_usage_code Example code
* Content of conf_usb.h:
* \code
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_BUS_POWERED)
#define UDC_SUSPEND_EVENT() user_callback_suspend_action()
extern void user_callback_suspend_action(void)
#define UDC_RESUME_EVENT() user_callback_resume_action()
extern void user_callback_resume_action(void)
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_BUS_POWERED)
#define UDC_SUSPEND_EVENT() user_callback_suspend_action()
extern void user_callback_suspend_action(void)
#define UDC_RESUME_EVENT() user_callback_resume_action()
extern void user_callback_resume_action(void)
\endcode
*
* Add to application C-file:
* \code
void user_callback_suspend_action(void)
{
// Disable hardware component to reduce power consumption
}
void user_callback_resume_action(void)
{
// Re-enable hardware component
}
void user_callback_suspend_action(void)
{
// Disable hardware component to reduce power consumption
}
void user_callback_resume_action(void)
{
// Re-enable hardware component
}
\endcode
*
* \subsection udc_use_case_5_usage_flow Workflow
* -# Ensure that conf_usb.h is available and contains the following parameters:
* - \code // Authorizes the BUS power feature
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_BUS_POWERED) \endcode
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_BUS_POWERED) \endcode
* - \code // Define callback called when the host suspend the USB line
#define UDC_SUSPEND_EVENT() user_callback_suspend_action()
extern void user_callback_suspend_action(void); \endcode
#define UDC_SUSPEND_EVENT() user_callback_suspend_action()
extern void user_callback_suspend_action(void); \endcode
* - \code // Define callback called when the host or device resume the USB line
#define UDC_RESUME_EVENT() user_callback_resume_action()
extern void user_callback_resume_action(void); \endcode
#define UDC_RESUME_EVENT() user_callback_resume_action()
extern void user_callback_resume_action(void); \endcode
* -# Reduce power consumption in suspend mode (max. 2.5mA on Vbus):
* - \code void user_callback_suspend_action(void)
{
turn_off_components();
} \endcode
{
turn_off_components();
} \endcode
*/
/**
@@ -654,42 +647,42 @@ usb_iface_desc_t UDC_DESC_STORAGE *udc_get_interface_desc(void);
* \subsection udc_use_case_6_usage_code Example code
* Content of conf_usb.h:
* \code
#define USB_DEVICE_SERIAL_NAME
#define USB_DEVICE_GET_SERIAL_NAME_POINTER serial_number
#define USB_DEVICE_GET_SERIAL_NAME_LENGTH 12
extern uint8_t serial_number[];
#define USB_DEVICE_SERIAL_NAME
#define USB_DEVICE_GET_SERIAL_NAME_POINTER serial_number
#define USB_DEVICE_GET_SERIAL_NAME_LENGTH 12
extern uint8_t serial_number[];
\endcode
*
* Add to application C-file:
* \code
uint8_t serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH];
uint8_t serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH];
void init_build_usb_serial_number(void)
{
serial_number[0] = 'A';
serial_number[1] = 'B';
...
serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH-1] = 'C';
} \endcode
void init_build_usb_serial_number(void)
{
serial_number[0] = 'A';
serial_number[1] = 'B';
...
serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH-1] = 'C';
} \endcode
*
* \subsection udc_use_case_6_usage_flow Workflow
* -# Ensure that conf_usb.h is available and contains the following parameters
* required to enable a USB serial number strings dynamically:
* - \code #define USB_DEVICE_SERIAL_NAME // Define this empty
#define USB_DEVICE_GET_SERIAL_NAME_POINTER serial_number // Give serial array pointer
#define USB_DEVICE_GET_SERIAL_NAME_LENGTH 12 // Give size of serial array
extern uint8_t serial_number[]; // Declare external serial array \endcode
#define USB_DEVICE_GET_SERIAL_NAME_POINTER serial_number // Give serial array pointer
#define USB_DEVICE_GET_SERIAL_NAME_LENGTH 12 // Give size of serial array
extern uint8_t serial_number[]; // Declare external serial array \endcode
* -# Before start USB stack, initialize the serial array
* - \code
uint8_t serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH];
uint8_t serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH];
void init_build_usb_serial_number(void)
{
serial_number[0] = 'A';
serial_number[1] = 'B';
...
serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH-1] = 'C';
} \endcode
void init_build_usb_serial_number(void)
{
serial_number[0] = 'A';
serial_number[1] = 'B';
...
serial_number[USB_DEVICE_GET_SERIAL_NAME_LENGTH-1] = 'C';
} \endcode
*/
+28 -31
View File
@@ -78,50 +78,47 @@ extern "C" {
* For Mega application used "code".
*/
#define UDC_DESC_STORAGE
// Descriptor storage in internal RAM
// Descriptor storage in internal RAM
#if (defined UDC_DATA_USE_HRAM_SUPPORT)
# if defined(__GNUC__)
# define UDC_DATA(x) COMPILER_WORD_ALIGNED __attribute__((__section__(".data_hram0")))
# define UDC_BSS(x) COMPILER_ALIGNED(x) __attribute__((__section__(".bss_hram0")))
# elif defined(__ICCAVR32__)
# define UDC_DATA(x) COMPILER_ALIGNED(x) __data32
# define UDC_BSS(x) COMPILER_ALIGNED(x) __data32
# endif
#else
# define UDC_DATA(x) COMPILER_ALIGNED(x)
# define UDC_BSS(x) COMPILER_ALIGNED(x)
#if defined(__GNUC__)
#define UDC_DATA(x) COMPILER_WORD_ALIGNED __attribute__((__section__(".data_hram0")))
#define UDC_BSS(x) COMPILER_ALIGNED(x) __attribute__((__section__(".bss_hram0")))
#elif defined(__ICCAVR32__)
#define UDC_DATA(x) COMPILER_ALIGNED(x) __data32
#define UDC_BSS(x) COMPILER_ALIGNED(x) __data32
#endif
#else
#define UDC_DATA(x) COMPILER_ALIGNED(x)
#define UDC_BSS(x) COMPILER_ALIGNED(x)
#endif
/**
* \brief Configuration descriptor and UDI link for one USB speed
*/
typedef struct {
//! USB configuration descriptor
usb_conf_desc_t UDC_DESC_STORAGE *desc;
//! Array of UDI API pointer
udi_api_t UDC_DESC_STORAGE *UDC_DESC_STORAGE * udi_apis;
//! USB configuration descriptor
usb_conf_desc_t UDC_DESC_STORAGE *desc;
//! Array of UDI API pointer
udi_api_t UDC_DESC_STORAGE *UDC_DESC_STORAGE * udi_apis;
} udc_config_speed_t;
/**
* \brief All information about the USB Device
*/
typedef struct {
//! USB device descriptor for low or full speed
usb_dev_desc_t UDC_DESC_STORAGE *confdev_lsfs;
//! USB configuration descriptor and UDI API pointers for low or full speed
udc_config_speed_t UDC_DESC_STORAGE *conf_lsfs;
#ifdef USB_DEVICE_HS_SUPPORT
//! USB device descriptor for high speed
usb_dev_desc_t UDC_DESC_STORAGE *confdev_hs;
//! USB device qualifier, only use in high speed mode
usb_dev_qual_desc_t UDC_DESC_STORAGE *qualifier;
//! USB configuration descriptor and UDI API pointers for high speed
udc_config_speed_t UDC_DESC_STORAGE *conf_hs;
#endif
usb_dev_bos_desc_t UDC_DESC_STORAGE *conf_bos;
//! USB device descriptor for low or full speed
usb_dev_desc_t UDC_DESC_STORAGE *confdev_lsfs;
//! USB configuration descriptor and UDI API pointers for low or full speed
udc_config_speed_t UDC_DESC_STORAGE *conf_lsfs;
#ifdef USB_DEVICE_HS_SUPPORT
//! USB device descriptor for high speed
usb_dev_desc_t UDC_DESC_STORAGE *confdev_hs;
//! USB device qualifier, only use in high speed mode
usb_dev_qual_desc_t UDC_DESC_STORAGE *qualifier;
//! USB configuration descriptor and UDI API pointers for high speed
udc_config_speed_t UDC_DESC_STORAGE *conf_hs;
#endif
usb_dev_bos_desc_t UDC_DESC_STORAGE *conf_bos;
} udc_config_t;
//! Global variables of USB Device Descriptor and UDI links
+24 -34
View File
@@ -71,8 +71,8 @@ typedef uint8_t udd_ep_id_t;
//! \brief Endpoint transfer status
//! Returned in parameters of callback register via udd_ep_run routine.
typedef enum {
UDD_EP_TRANSFER_OK = 0,
UDD_EP_TRANSFER_ABORT = 1,
UDD_EP_TRANSFER_OK = 0,
UDD_EP_TRANSFER_ABORT = 1,
} udd_ep_status_t;
/**
@@ -82,41 +82,37 @@ typedef enum {
* It can be updated by udc_process_setup() from UDC or *setup() from UDIs.
*/
typedef struct {
//! Data received in USB SETUP packet
//! Note: The swap of "req.wValues" from uin16_t to le16_t is done by UDD.
usb_setup_req_t req;
//! Data received in USB SETUP packet
//! Note: The swap of "req.wValues" from uin16_t to le16_t is done by UDD.
usb_setup_req_t req;
//! Point to buffer to send or fill with data following SETUP packet
//! This buffer must be word align for DATA IN phase (use prefix COMPILER_WORD_ALIGNED for buffer)
uint8_t *payload;
//! Point to buffer to send or fill with data following SETUP packet
//! This buffer must be word align for DATA IN phase (use prefix COMPILER_WORD_ALIGNED for buffer)
uint8_t *payload;
//! Size of buffer to send or fill, and content the number of byte transferred
uint16_t payload_size;
//! Size of buffer to send or fill, and content the number of byte transferred
uint16_t payload_size;
//! Callback called after reception of ZLP from setup request
void (*callback)(void);
//! Callback called after reception of ZLP from setup request
void (*callback)(void);
//! Callback called when the buffer given (.payload) is full or empty.
//! This one return false to abort data transfer, or true with a new buffer in .payload.
bool (*over_under_run)(void);
//! Callback called when the buffer given (.payload) is full or empty.
//! This one return false to abort data transfer, or true with a new buffer in .payload.
bool (*over_under_run)(void);
} udd_ctrl_request_t;
extern udd_ctrl_request_t udd_g_ctrlreq;
//! Return true if the setup request \a udd_g_ctrlreq indicates IN data transfer
#define Udd_setup_is_in() \
(USB_REQ_DIR_IN == (udd_g_ctrlreq.req.bmRequestType & USB_REQ_DIR_MASK))
#define Udd_setup_is_in() (USB_REQ_DIR_IN == (udd_g_ctrlreq.req.bmRequestType & USB_REQ_DIR_MASK))
//! Return true if the setup request \a udd_g_ctrlreq indicates OUT data transfer
#define Udd_setup_is_out() \
(USB_REQ_DIR_OUT == (udd_g_ctrlreq.req.bmRequestType & USB_REQ_DIR_MASK))
#define Udd_setup_is_out() (USB_REQ_DIR_OUT == (udd_g_ctrlreq.req.bmRequestType & USB_REQ_DIR_MASK))
//! Return the type of the SETUP request \a udd_g_ctrlreq. \see usb_reqtype.
#define Udd_setup_type() \
(udd_g_ctrlreq.req.bmRequestType & USB_REQ_TYPE_MASK)
#define Udd_setup_type() (udd_g_ctrlreq.req.bmRequestType & USB_REQ_TYPE_MASK)
//! Return the recipient of the SETUP request \a udd_g_ctrlreq. \see usb_recipient
#define Udd_setup_recipient() \
(udd_g_ctrlreq.req.bmRequestType & USB_REQ_RECIP_MASK)
#define Udd_setup_recipient() (udd_g_ctrlreq.req.bmRequestType & USB_REQ_RECIP_MASK)
/**
* \brief End of halt callback function type.
@@ -134,8 +130,7 @@ typedef void (*udd_callback_halt_cleared_t)(void);
* \param status UDD_EP_TRANSFER_ABORT, if transfer is aborted
* \param n number of data transferred
*/
typedef void (*udd_callback_trans_t) (udd_ep_status_t status,
iram_size_t nb_transferred, udd_ep_id_t ep);
typedef void (*udd_callback_trans_t) (udd_ep_status_t status, iram_size_t nb_transferred, udd_ep_id_t ep);
/**
* \brief Authorizes the VBUS event
@@ -239,8 +234,7 @@ void udd_set_setup_payload( uint8_t *payload, uint16_t payload_size );
*
* \return \c 1 if the endpoint is enabled, otherwise \c 0.
*/
bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes,
uint16_t MaxEndpointSize);
bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes, uint16_t MaxEndpointSize);
/**
* \brief Disables an endpoint
@@ -294,8 +288,7 @@ bool udd_ep_clear_halt(udd_ep_id_t ep);
*
* \return \c 1 if the register is accepted, otherwise \c 0.
*/
bool udd_ep_wait_stall_clear(udd_ep_id_t ep,
udd_callback_halt_cleared_t callback);
bool udd_ep_wait_stall_clear(udd_ep_id_t ep, udd_callback_halt_cleared_t callback);
/**
* \brief Allows to receive or send data on an endpoint
@@ -321,9 +314,8 @@ bool udd_ep_wait_stall_clear(udd_ep_id_t ep,
*
* \return \c 1 if function was successfully done, otherwise \c 0.
*/
bool udd_ep_run(udd_ep_id_t ep, bool b_shortpacket,
uint8_t * buf, iram_size_t buf_size,
udd_callback_trans_t callback);
bool udd_ep_run(udd_ep_id_t ep, bool b_shortpacket, uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback);
/**
* \brief Aborts transfer on going on endpoint
*
@@ -339,7 +331,6 @@ void udd_ep_abort(udd_ep_id_t ep);
//@}
/**
* \name High speed test mode management
*
@@ -352,7 +343,6 @@ void udd_test_mode_se0_nak(void);
void udd_test_mode_packet(void);
//@}
/**
* \name UDC callbacks to provide for UDD
*
+47 -47
View File
@@ -72,57 +72,57 @@ extern "C" {
* selected by UDC.
*/
typedef struct {
/**
* \brief Enable the interface.
*
* This function is called when the host selects a configuration
* to which this interface belongs through a Set Configuration
* request, and when the host selects an alternate setting of
* this interface through a Set Interface request.
*
* \return \c 1 if function was successfully done, otherwise \c 0.
*/
bool (*enable)(void);
/**
* \brief Enable the interface.
*
* This function is called when the host selects a configuration
* to which this interface belongs through a Set Configuration
* request, and when the host selects an alternate setting of
* this interface through a Set Interface request.
*
* \return \c 1 if function was successfully done, otherwise \c 0.
*/
bool (*enable)(void);
/**
* \brief Disable the interface.
*
* This function is called when this interface is currently
* active, and
* - the host selects any configuration through a Set
* Configuration request, or
* - the host issues a USB reset, or
* - the device is detached from the host (i.e. Vbus is no
* longer present)
*/
void (*disable)(void);
/**
* \brief Disable the interface.
*
* This function is called when this interface is currently
* active, and
* - the host selects any configuration through a Set
* Configuration request, or
* - the host issues a USB reset, or
* - the device is detached from the host (i.e. Vbus is no
* longer present)
*/
void (*disable)(void);
/**
* \brief Handle a control request directed at an interface.
*
* This function is called when this interface is currently
* active and the host sends a SETUP request
* with this interface as the recipient.
*
* Use udd_g_ctrlreq to decode and response to SETUP request.
*
* \return \c 1 if this interface supports the SETUP request, otherwise \c 0.
*/
bool (*setup)(void);
/**
* \brief Handle a control request directed at an interface.
*
* This function is called when this interface is currently
* active and the host sends a SETUP request
* with this interface as the recipient.
*
* Use udd_g_ctrlreq to decode and response to SETUP request.
*
* \return \c 1 if this interface supports the SETUP request, otherwise \c 0.
*/
bool (*setup)(void);
/**
* \brief Returns the current setting of the selected interface.
*
* This function is called when UDC when know alternate setting of selected interface.
*
* \return alternate setting of selected interface
*/
uint8_t (*getsetting)(void);
/**
* \brief Returns the current setting of the selected interface.
*
* This function is called when UDC when know alternate setting of selected interface.
*
* \return alternate setting of selected interface
*/
uint8_t (*getsetting)(void);
/**
* \brief To signal that a SOF is occurred
*/
void (*sof_notify)(void);
/**
* \brief To signal that a SOF is occurred
*/
void (*sof_notify)(void);
} udi_api_t;
//@}

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