Compare commits

...

2740 Commits

Author SHA1 Message Date
Scott Lahteine 66c0fc9913 chmod script 2022-12-05 11:27:57 -06:00
Scott Lahteine d7f05bd0d4 Merge branch 'bugfix-2.1.x' into pr/23899 2022-12-05 09:02:20 -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
InsanityAutomation ecdb4f64d9 Fix rebase issues 2022-10-16 12:46:09 -04:00
InsanityAutomation 9aee4b831f Update dwin.cpp 2022-10-16 12:36:44 -04:00
InsanityAutomation 39259bb79c Create use_example_configs 2022-10-16 12:36:12 -04:00
InsanityAutomation 98d6bf0733 Delete use_example_configs 2022-10-16 12:36:12 -04:00
Scott Lahteine 5977eb461d 🔖 Moving to bugfix-2.1.x 2022-10-16 12:36:12 -04:00
Scott Lahteine 60360658d2 try REPEAT 2022-10-16 12:34:33 -04:00
Scott Lahteine 0df5153222 try REPEAT 2022-10-16 12:34:33 -04:00
Scott Lahteine 33d3aace79 Fix parameters with values 2022-10-16 12:34:33 -04:00
Scott Lahteine d352f036e0 🧑‍💻 Strip #errors in Configurations deployment 2022-10-16 12:34:33 -04:00
InsanityAutomation 331f1f5d4b Update dwin.cpp 2022-10-16 12:34:08 -04:00
InsanityAutomation 2ddbd030bc Trim output on slim menus 2022-10-16 12:34:08 -04:00
InsanityAutomation 424ac75c3e M591Fixes 2022-10-16 12:34:08 -04:00
Scott Lahteine bc21ecdef0 Extend enum 2022-10-16 12:34:08 -04:00
Scott Lahteine b7ddd541c9 Simplify menu items, use enum, adjust settings 2022-10-16 12:32:42 -04:00
Scott Lahteine 74574449a9 Simplify menu items, use enum 2022-10-16 12:30:46 -04:00
InsanityAutomation b1d2d5d1fa Update menu_advanced.cpp 2022-10-16 12:30:46 -04:00
InsanityAutomation f3d29fdcb1 Add runout menu, small fixes 2022-10-16 12:30:46 -04:00
InsanityAutomation bdca8681a0 Reorganize config options, remove obsolete option. 2022-10-16 12:30:46 -04:00
Scott Lahteine 083d15c6b0 glue for CI test 2022-10-16 12:30:46 -04:00
Scott Lahteine 6c17be693f Allow user to change 2022-10-16 12:30:45 -04:00
Scott Lahteine 6149c14740 misc. cleanup 2022-10-16 12:30:45 -04:00
InsanityAutomation 975314fbcc Remove obsolete state from tests 2022-10-16 12:29:37 -04:00
InsanityAutomation b16eef5f52 Fix up pause trigger, adjust config options minor changes 2022-10-16 12:29:36 -04:00
InsanityAutomation b4d5324202 M591 Cleanup and tweaks 2022-10-16 12:29:12 -04:00
InsanityAutomation bf25765ef2 Update Configuration.h 2022-10-16 12:29:12 -04:00
InsanityAutomation 80d4e77354 Initial commit - Flexible Runout Configuration M591 2022-10-16 12:29:11 -04: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
ellensp 5756f8898e Zonestar ZM3E2, ZM3E4 V1, ZM3E4 V2 (#22498) 2021-08-08 02:45:51 -05:00
luzpaz 8a7673ac1e 🎨 Spellcheck code (#22531) 2021-08-08 02:26:54 -05:00
Scott Lahteine a63e0477da 💚 Fix tests for new sanity-checks 2021-08-08 01:24:15 -05:00
Marcio T 26b1ed7c2a 🐛 Fix FTDI Eve Touch UI (#22530) 2021-08-07 22:23:06 -05:00
mks-viva c1a533b45e 📌 MKS pins for PSU_CONTROL (#22528) 2021-08-07 22:17:43 -05:00
thinkyhead 0f3e938c9b [cron] Bump distribution date (2021-08-08) 2021-08-08 00:58:57 +00:00
Scott Lahteine 22ae09ace4 🔧 Sanity-check DEFAULT_EJERK with LIN_ADVANCE
See #20649
2021-08-07 18:26:46 -05:00
Scott Lahteine f4ab0a0c91 🔧 Sanity-check Mixing plus Disable Inactive Extruder
See #22166
2021-08-07 15:59:00 -05:00
thinkyhead f732cb1a7f [cron] Bump distribution date (2021-08-07) 2021-08-07 00:53:48 +00:00
ellensp e7c33840dc 🐛 Fix MKS 'USB Flash MSC' environments (#22515) 2021-08-06 15:54:02 -05:00
Tanguy Pruvot 9a8c9d4ed0 🎨 Fix "'EEPROM' unused" warning (#22511) 2021-08-06 15:51:10 -05:00
Scott Lahteine 526b6cdf5b 🐛 Fix fan index for Singlenozzle, chamber fan
Fixes #22512
Followup to #19152, #19519
2021-08-05 23:24:20 -05:00
thinkyhead ff3db550ee [cron] Bump distribution date (2021-08-06) 2021-08-06 01:02:27 +00:00
Scott Lahteine 03b0a6371d 🎨 Simplify endstops flags (#22525) 2021-08-05 15:03:26 -05:00
Scott Lahteine b55cf3c9f6 🚸 Fix BLTouch spelling 2021-08-05 00:27:09 -05:00
Tanguy Pruvot f35e0b9382 🚸 Prevent M42 unintended pin change to output (#22493) 2021-08-04 23:47:31 -05:00
Vert 5cb961e98b Mixer Presets (#21562) 2021-08-04 23:45:49 -05:00
thinkyhead b06d2f789b [cron] Bump distribution date (2021-08-05) 2021-08-05 00:58:49 +00:00
Scott Lahteine c2c7a03706 🐛 Fix report_a_position ABC criteria 2021-08-04 17:01:42 -05:00
Scott Lahteine 9130f58f3f 🐛 Prevent ABL G29 setting a funky feedrate
See #22472
2021-08-04 16:37:02 -05:00
Tanguy Pruvot 0e065579aa 🐛 Fix Longer3D STM32 boot, add Maple test (#22473) 2021-08-04 01:14:54 -05:00
Bob Anthony 53a5cd0c38 🐛 Fix extra E move in toolchange with ..._NO_RETURN (#22504) 2021-08-03 23:45:08 -05:00
thinkyhead 8d454fd6f1 [cron] Bump distribution date (2021-08-04) 2021-08-04 01:04:15 +00:00
Marcio T 092b5942c1 🐛 Fix FTDI Eve Touch UI (#22500) 2021-08-03 19:06:16 -05:00
luzpaz afca6e7459 🐛 Spellcheck comments (#22496)
codespell -q 3 --builtin=clear,rare,informal,code -S ./Marlin/src/lcd/language -L alo,amin,endcode,stdio,uint
2021-08-03 19:02:34 -05:00
Scott Lahteine 6a25e4e56f 🐛 Allow SKR Pro CONTROLLER_FAN_PIN override
Followup to #22411
2021-08-03 18:29:20 -05:00
thinkyhead 444992c12f [cron] Bump distribution date (2021-08-03) 2021-08-03 01:02:55 +00:00
Scott Lahteine 0060dbc49e 🐛 Fix up endstop flags (#22487) 2021-08-02 17:08:35 -05:00
DerAndere 0eda34e07d 🐛 Followup to 6 linear axes (#22482) 2021-08-02 00:13:57 -05:00
thinkyhead 1e4470484a [cron] Bump distribution date (2021-08-02) 2021-08-02 00:58:08 +00:00
Tanguy Pruvot 5a72a39706 🔨 Offset/encrypt/rename for Maple STM32F1 (#22477) 2021-08-01 14:43:31 -05:00
Scott Lahteine 1e33c1a2a7 M256 LCD brightness (#22478) 2021-08-01 14:28:53 -05:00
ellensp 7110c4562e 🐛 Fix sprintf_P compile error (Maple) (#22479) 2021-08-01 02:09:29 -05:00
Scott Lahteine ab96ada2e2 🎨 Adjust settings.cpp indent 2021-07-31 23:27:10 -05:00
Grayson a90c8b762c 🐛 Fix G38 with probe on Z_MIN (#22452) 2021-07-31 22:55:22 -05:00
ldursw 381a23773b 🔨 Fix (RRF E3) RX/TX buffer size override (#22475) 2021-07-31 22:42:26 -05:00
Malderin b8cc0667bb 🐛 Fix custom menus on MKS UI (#22470) 2021-07-31 22:00:18 -05:00
thinkyhead 0085ebce4d [cron] Bump distribution date (2021-08-01) 2021-08-01 01:06:23 +00:00
Scott Lahteine 9bb5b10c0c 🚚 Relocate and adjust DWIN E3V2 (#22471) 2021-07-31 05:32:13 -05:00
mks-viva 332dde935d MKS Monster8 board (#22455) 2021-07-31 00:47:30 -05:00
Tanguy Pruvot 002c500b71 🔨 Update Longer and Chitu envs (#22467) 2021-07-30 23:49:12 -05:00
Scott Lahteine 35b0083dfe 🐛 Fix custom menus on TFT LVGL
Fixes #21423. Regression from #18177.
2021-07-30 23:05:53 -05:00
Scott Lahteine b6f720ca1a Custom logging for MBL 2021-07-30 22:44:07 -05:00
thinkyhead d9ab20ec27 [cron] Bump distribution date (2021-07-31) 2021-07-31 01:01:28 +00:00
ellensp 9e68aea8a1 🐛 Fix DGUS displays compile (#22464) 2021-07-30 19:50:22 -05:00
Scott Lahteine 1fed25c440 🔨 Fix: BIGTREE_E3_RRF doesn't use user RX/TX sizes
Fixes #22466. Regression from #22377.
2021-07-30 19:39:38 -05:00
Marcio T 39e5c86544 🐛 Fix FTDI Eve unicode and spinner dialog (#22468) 2021-07-30 18:57:50 -05:00
Scott Lahteine 5ecef6e584 🐛 One-based G35 point index output 2021-07-29 23:41:48 -05:00
Scott Lahteine 84ca21edf7 🎨 abs => ABS 2021-07-29 23:40:27 -05:00
Scott Lahteine 14d40fb957 🐛 Fix PAUSE_MESSAGE_PAUSING=>PARKING
Fixes #22250. Regression from #17460.
2021-07-29 22:59:33 -05:00
Scott Lahteine 6efd7285cc 🐛 Fix PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED
Fixes #22295. Regression from #20241.
2021-07-29 22:23:36 -05:00
George Fu 6eae68c402 ️ Larger FYSETC S6 I2C EEPROM size (#22424) 2021-07-29 20:09:38 -05:00
thinkyhead 2b8ef74162 [cron] Bump distribution date (2021-07-30) 2021-07-30 01:01:02 +00:00
Scott Lahteine 99a53e2c86 🐛 Fix 5-axis no extruder compile
Fixes #22446
2021-07-29 19:55:04 -05:00
Scott Lahteine 46dc8e916f 🐛 Fix 3-point leveling position
See #22457. Fixes a G29 regression from #19112.
2021-07-29 19:34:49 -05:00
ellensp 543d834a25 📝 Document DGUS display options (#22443) 2021-07-29 18:25:06 -05:00
Marcio T cdcb45b87e 🐛 Fix FTDI Eve unicode and spinner dialog (#22459) 2021-07-29 18:19:49 -05:00
Scott Lahteine 363e83731f 🔧 HAS_CUSTOM_PROBE_PIN => USES_Z_MIN_PROBE_PIN 2021-07-28 23:24:30 -05:00
mks-viva a70d0726ca 📺 MKS MINI12864 V3 for Robin E3P, etc. (#22453) 2021-07-28 21:56:22 -05:00
thinkyhead b37e851f36 [cron] Bump distribution date (2021-07-29) 2021-07-29 00:57:39 +00:00
Marcio T 4111d1d5ad 🐛 Fix FTDI Eve Touch UI progmem strings (#22439) 2021-07-28 18:15:01 -05:00
borland1 885c63c35f 🐛 Fix LCD Menu MBL Z-Offset Adjustment (#22450) 2021-07-28 17:45:32 -05:00
charlespick eacf1e33c4 M76 Host Pause Feature (#21738) 2021-07-28 16:09:33 -05:00
Keith Bennett d5a9a04abe 🐛 Fix SKR Pro bad directive (#22438) 2021-07-28 14:56:26 -05:00
vyacheslav-shubin 4ca5f6da3f 🐛 Reset workDirDepth in cdroot() (#22441) 2021-07-28 14:55:04 -05:00
Tanguy Pruvot 296d0d495c 🐛 Fix Longer3D SDSS / SD_SS (#22444) 2021-07-27 23:30:41 -05:00
ellensp 4942cb796c 🐛 SAV_3DGLCD conditionals (#22447) 2021-07-27 23:28:15 -05:00
thinkyhead 284d0bf5a0 [cron] Bump distribution date (2021-07-28) 2021-07-28 01:01:06 +00:00
ellensp bf39c66d34 💚 Specify compatible Teensy @4.12 (#22448) 2021-07-27 16:05:44 -05:00
thinkyhead 70038a9961 [cron] Bump distribution date (2021-07-27) 2021-07-27 01:00:06 +00:00
thinkyhead fc4f4ab5f5 [cron] Bump distribution date (2021-07-26) 2021-07-26 00:58:34 +00:00
Scott Lahteine 52718f3385 🎨 Add DWIN_StatusChanged_P 2021-07-25 03:59:01 -05:00
George Fu 91db603893 🔨 Fix FYSETC S6 envs (#22421)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-25 03:40:43 -05:00
Scott Lahteine b1bc2e8003 🌐 Level Corners => Bed Tramming 2021-07-25 02:25:35 -05:00
Scott Lahteine 3b57c3316a Misc. Cleanup 2021-07-25 02:25:32 -05:00
Scott Lahteine a76d8c70dd 🐛 Fix some board names 2021-07-25 02:07:34 -05:00
Scott Lahteine e1907a99e2 🎨 Fix some formatting, F() versus PSTR() 2021-07-24 22:07:26 -05:00
thinkyhead 4b94fb7558 [cron] Bump distribution date (2021-07-25) 2021-07-25 01:00:36 +00:00
InsanityAutomation a66d85c7e5 🐛 Fix delta calibrate manual move scale (#22430) 2021-07-24 16:08:47 -05:00
Scott Lahteine 27f5e64acf 🎨 NULL => nullptr 2021-07-24 15:55:45 -05:00
thinkyhead c56109c7a4 [cron] Bump distribution date (2021-07-24) 2021-07-24 05:00:51 +00:00
Marcio T b925130db1 📺 Fix and optimize FTDI Eve Touch Interface (#22427) 2021-07-23 17:02:39 -05:00
tome9111991 78be63b8a4 📝 SKR E3 Turbo custom cable description (#22426) 2021-07-23 16:47:38 -05:00
chendo 2c49283e97 D576 Buffer Monitoring (#19674) 2021-07-22 22:53:00 -05:00
thinkyhead 283d70bfd3 [cron] Bump distribution date (2021-07-23) 2021-07-23 01:14:46 +00:00
thinkyhead 6bc9c09c1f [cron] Bump distribution date (2021-07-22) 2021-07-22 01:00:19 +00:00
Chris Pepper 21011eefa8 Simulator HAL and build targets (#22418) 2021-07-21 19:01:23 -05:00
ellensp d819de46d3 🎨 MKS Hardware Test followup (#22414)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-21 16:31:11 -05:00
Luke Harrison eb2f086522 🔧 Octopus SPI display pins, fix USB build env (#22412) 2021-07-21 00:43:33 -05:00
Scott Lahteine af4c281af5 🔧 Clean up PTC_PROBE_HEATING_OFFSET 2021-07-21 00:12:26 -05:00
Scott Lahteine eb3ad3e4fe 🎨 BTT SKR Pro pins auto-assign (#22411)
Co-authored-by: MarkusThur <83773817+MarkusThur@users.noreply.github.com>
2021-07-20 23:35:56 -05:00
VTXtruder 50ada44e7e Chitu3D V9 board (#22401)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-20 22:27:19 -05:00
thinkyhead 909834683a [cron] Bump distribution date (2021-07-21) 2021-07-21 01:00:14 +00:00
Katelyn Schiesser 86feddb75f 🐛 Fix BTC_SAMPLE_RES sanity check (#22394) 2021-07-20 15:13:25 -05:00
vyacheslav-shubin e4ac55089e 🩹 Init var to suppress invalid warning (#22396) 2021-07-20 15:12:08 -05:00
Malderin a90968b0ce 🎨 MKS hardware test followup (#22395)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-20 15:07:32 -05:00
Keith Bennett 2d4be74db9 🎨 Fix unused lambda warning (#22399) 2021-07-20 14:54:02 -05:00
Yash 497541e199 🐛 Fix G2/G3 angular motion calculation (#22407) 2021-07-20 14:51:41 -05:00
ellensp 178f9a77a8 🐛 Fix STATUS_COMBINE_HEATERS compile (#22405) 2021-07-20 14:44:15 -05:00
Katelyn Schiesser da0450605a ♻️ Refactor STM32 ini files (#22377)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-20 14:20:28 -05:00
thinkyhead 3fdf40fd29 [cron] Bump distribution date (2021-07-20) 2021-07-20 01:04:54 +00:00
Roxy-3D 154decfc66 Update vector_3.cpp
Fix the regression for G29 J in UBL
2021-07-19 18:59:06 -06:00
Serhiy-K c2f72cde10 Laser support for TFT GLCD (#22391) 2021-07-18 21:39:01 -05:00
Malderin 67019bc277 Fix MKS UI compile (#22388)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-18 21:21:51 -05:00
Katelyn Schiesser 273ff6fedc 🐛 Ensure Software SPI pins for Max Thermocouple (#22389) 2021-07-18 20:24:27 -05:00
Mike La Spina 286f6ba0bd 🐛 Fix Ammeter display on DOGM (#22384) 2021-07-18 20:11:24 -05:00
thinkyhead 1a0103d276 [cron] Bump distribution date (2021-07-19) 2021-07-19 01:03:15 +00:00
Scott Lahteine b34a009bb1 🐛 Change font for selected language (#22381) 2021-07-18 19:56:28 -05:00
Katelyn Schiesser e55427aaa2 🎨 Prefer DELAY_NS over DELAY_CYCLES (#22382) 2021-07-18 01:10:13 -05:00
squiddity 49da4ee4e2 🐛 Fix M913 typos (#22385) 2021-07-18 00:50:39 -05:00
Scott Lahteine 9d86241d30 🐛 No translated serial strings 2021-07-18 00:46:06 -05:00
thinkyhead be5dec9795 [cron] Bump distribution date (2021-07-18) 2021-07-18 01:00:12 +00:00
Tanguy Pruvot cb461b5daf 🐛 Fix Longer3D build environment (#22378) 2021-07-17 17:16:57 -05:00
Scott Lahteine be1801703c 🎨 Add MMU2 enabled() accessor 2021-07-17 03:10:54 -05:00
thinkyhead 7b64bbf384 [cron] Bump distribution date (2021-07-17) 2021-07-17 00:56:52 +00:00
bilsef 665cb5ea10 M115: Axis Count (#22219) 2021-07-15 20:59:52 -05:00
mks-viva 5d63173297 MKS Mini12864 v3 for Robin E3/E3D (#22368) 2021-07-15 20:57:34 -05:00
Tanguy Pruvot 5b43795f54 🐛 Followup to HAL/STM32 targets (Longer3D timers) (#22369) 2021-07-15 20:40:05 -05:00
thinkyhead 0207569ca6 [cron] Bump distribution date (2021-07-16) 2021-07-16 00:59:11 +00:00
Taylor Talkington aec4a82a99 🐛 Fix Filament Change menu (#22370)
Followup to #22277
2021-07-15 16:32:40 -05:00
Marcio T 3be35a6bd6 📺 Fix Makefile build, improve Touch UI button titles (#22361) 2021-07-14 22:34:49 -05:00
ellensp 7e50d8761d 🔨 More HAL/STM32 targets (#22358) 2021-07-14 22:34:49 -05:00
thinkyhead 2b828446fd [cron] Bump distribution date (2021-07-15) 2021-07-14 22:34:49 -05:00
Scott Lahteine 5ca9ebfa6b 🔨 Consolidate STM32 extra_scripts (#22365) 2021-07-14 22:34:49 -05:00
Katelyn Schiesser 972b1e2f00 🎨 Call millis() once in manage_inactivity (#22363) 2021-07-14 18:56:02 -05:00
Scott Lahteine 3bc1d2dd85 🎨 Minor cleanup of TFT/FSMC pins 2021-07-14 18:51:58 -05:00
Keith Bennett a13d90093d 🩹 FLYmaker FLY Mini followup (#22364)
Followup to #22355, #22356.
2021-07-14 17:55:24 -05:00
Scott Lahteine 826a34b0b1 🎨 Remove extraneous pin defs 2021-07-14 02:21:26 -05:00
Scott Lahteine 082c61ebb9 🐛 Fix SD pins for MKS Robin Lite 2021-07-14 02:14:55 -05:00
Keith Bennett 7f5c9d273e 💡 Update FLYmaker comments, URL (#22355) 2021-07-14 02:03:24 -05:00
ellensp f479a2ef6f FLY Mini for stm32duino (#22356) 2021-07-14 01:57:26 -05:00
Victor Oliveira 65cfbc0741 MSC Support for STM32 + SDIO boards -> SKR 2 (#22354) 2021-07-14 00:34:18 -05:00
thinkyhead 9a0d4d666f [cron] Bump distribution date (2021-07-14) 2021-07-14 00:54:43 +00:00
ellensp 88dad3a164 🐛 Define MT_DET_PIN_INVERTING for MKS_ROBIN_NANO_V3 (#22348) 2021-07-13 19:32:21 -05:00
mks-viva 4ac32b1993 🐛 Fix Robin Nano V3 X_DIAG_PIN (#22340) 2021-07-13 19:14:34 -05:00
Katelyn Schiesser 9a7727e61c 🎨 Define temp sensor conditionals earlier (#22342) 2021-07-13 19:13:06 -05:00
Keith Bennett 3797549e7e 🐛 Board Temp Sensor followup (#22350) 2021-07-13 19:08:04 -05:00
Katelyn Schiesser 4479b0222b 🐛 Followup to TEMP_SENSOR_BOARD (#22343, #22344)
Followup to #22279
2021-07-12 23:01:29 -05:00
Scott Lahteine 315a722b42 🐛 TM3D fixes and improvements
Co-Authored-By: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com>
2021-07-12 22:52:17 -05:00
thinkyhead d95e32f950 [cron] Bump distribution date (2021-07-13) 2021-07-13 00:59:56 +00:00
Marcio T fa6b01c677 ️ Fixes to FTDI Eve Touch UI (#22347) 2021-07-12 19:35:00 -05:00
lujios 05ebde3812 ️ Improve Sensorless homing/probing for G28, G33 (#21899) 2021-07-12 19:19:29 -05:00
MKS-Sean 4febb23521 MKS Robin Nano v3 + TFT_LVGL_UI + WiFi module (#22109) 2021-07-12 19:17:28 -05:00
Mike La Spina c0ecc6625f 🏗️ Allow headless Flow Meter (#22234) 2021-07-12 00:22:08 -05:00
ellensp 2c6a053ce1 🎨 Optional Custom Button description (#22336) 2021-07-12 00:15:48 -05:00
Katelyn Schiesser c8ee056cc6 ♻️ Consolidate PSU_CONTROL (#22304) 2021-07-12 00:13:58 -05:00
Mike La Spina 37cf94b888 🔨 Update LPC176x platform to 0.2.8 (#22333) 2021-07-11 20:45:47 -05:00
Katelyn Schiesser 2f6c8e1176 Add TEMP_SENSOR_BOARD (#22279) 2021-07-11 20:41:33 -05:00
thinkyhead 4b63578a10 [cron] Bump distribution date (2021-07-12) 2021-07-12 00:56:59 +00:00
Scott Lahteine 01ae1ced38 🚸 M666: Fix value filter, add report (#22337)
In reference to #22325
2021-07-11 18:25:51 -05:00
Scott Lahteine ec84770c22 🚸 Limit LCD delta endstop adjustment like M666
In reference to #22325
2021-07-11 13:18:16 -05:00
thinkyhead 95f96fec13 [cron] Bump distribution date (2021-07-11) 2021-07-11 01:03:04 +00:00
Scott Lahteine bd60d77904 🎨 Strip trailing whitespace 2021-07-09 22:24:43 -05:00
thinkyhead 6547b16c45 [cron] Bump distribution date (2021-07-10) 2021-07-10 00:56:46 +00:00
Skruppy e487900069 🐛 Fix HAS_KILL && SOFT_RESET_ON_KILL soft reset button logic (#22269) 2021-07-09 18:25:47 -05:00
InsanityAutomation 3ba5eda0b2 📺 ExtUI pause state response (#22164) 2021-07-09 18:24:14 -05:00
mks-viva 938d86d1c5 MKS MINI12864 V3 for MKS Robin Nano V2/3 (#22285) 2021-07-09 17:59:36 -05:00
Scott Lahteine 26bfc26797 🎨 Check flags without ENABLED 2021-07-09 17:09:58 -05:00
Tanguy Pruvot 6cbd21d0d4 🌐 Update French language (#22323) 2021-07-09 16:07:55 -05:00
Scott Lahteine cd55b5f5cc 📌 Require U8glib-HAL@~0.5.0 (#22324) 2021-07-09 16:02:27 -05:00
BigTreeTech e7e1c51402 🐛 Fixes for BTT Octopus (#22314) 2021-07-09 15:06:10 -05:00
Katelyn Schiesser 79405ce2af 🐛 Fix manage_heaters recursion on servo move (#22313)
Followup to e297748b22
2021-07-08 23:48:11 -05:00
Scott Lahteine 2fa24a637d Revert FLASH_EEPROM_EMULATION include 2021-07-08 23:02:43 -05:00
Skruppy cc1145302b 🐛 Fix AVR DELAY_US int overflow (#22268) 2021-07-08 21:55:34 -05:00
thinkyhead edc037355f [cron] Bump distribution date (2021-07-09) 2021-07-09 00:58:56 +00:00
Scott Lahteine de0fc08744 👽️ Update FLASH_EEPROM_EMULATION include 2021-07-08 00:22:10 -05:00
Scott Lahteine 504c569f9c 🐛 Followup to M20 L
- Fix `printListing` after #22271
2021-07-08 00:22:01 -05:00
Katelyn Schiesser a90b864a3b 🐛 Fix Einsy RAMBo FAN1_PIN (#22305) 2021-07-07 23:45:15 -05:00
Zs.Antal 20b3403ee8 🌐 Update Hungarian language (#22307) 2021-07-07 23:44:07 -05:00
InsanityAutomation 0d5db6aa75 🐛 Fix redundant heater / sensor pin assignments (#22309) 2021-07-07 23:41:33 -05:00
thinkyhead 9642a36895 [cron] Bump distribution date (2021-07-08) 2021-07-08 00:56:59 +00:00
Mihai 094caadf94 Enable 'M20 L' with LONG_FILENAME_HOST_SUPPORT (#22271) 2021-07-06 23:10:35 -05:00
Krzysztof Błażewicz 82193b0923 DWIN LCD for BTT SKR Mini E3 (#22288) 2021-07-06 21:10:40 -05:00
Marcio T e5e939bb4c 📺 Assorted small FTDI Eve Touch UI fixes (#22273) 2021-07-06 20:32:08 -05:00
thinkyhead 3c746645cc [cron] Bump distribution date (2021-07-07) 2021-07-07 01:18:25 +00:00
Serhiy-K bec2c50d29 🌐 Update Russian and Ukrainian (#22290) 2021-07-06 19:55:31 -05:00
Scott Lahteine 3d333c4e5d ♻️ Fix up and use YESNO_ITEM macros 2021-07-06 19:54:02 -05:00
ldursw 0595b87d9a 🐛 Fix Maple / STM32 serial buffer (#22292) 2021-07-06 19:50:01 -05:00
George Fu 1093224ba2 🔨 FYSETC S6 small bootloader target (#22207)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-06 19:40:11 -05:00
Katelyn Schiesser b2f0913083 🐛 Redundant Temp Sensor followup (#22196) 2021-07-06 19:36:41 -05:00
thinkyhead 9eb5444c20 [cron] Bump distribution date (2021-07-06) 2021-07-06 01:00:11 +00:00
thinkyhead de38cae00c [cron] Bump distribution date (2021-07-05) 2021-07-05 00:56:12 +00:00
thinkyhead cff2d16be6 [cron] Bump distribution date (2021-07-04) 2021-07-04 00:58:37 +00:00
thinkyhead ee4c1839d4 [cron] Bump distribution date (2021-07-03) 2021-07-03 00:55:59 +00:00
thinkyhead 2566f5e0f3 [cron] Bump distribution date (2021-07-02) 2021-07-02 01:01:44 +00:00
Cytown 71bf61901c 🚸 Filament Change add confirm step (#22277) 2021-07-01 19:37:44 -05:00
ellensp e96720c076 🐛 Fix Arduino IDE build (TOUCH_UI_FTDI_EVE includes) (#22276)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-01 16:27:27 -05:00
Scott Lahteine 03a469724a 📝 Update Z_SAFE_HOMING description 2021-06-30 21:59:58 -05:00
thinkyhead 106eee071b [cron] Bump distribution date (2021-07-01) 2021-07-01 01:00:20 +00:00
thinkyhead 415166e02c [cron] Bump distribution date (2021-06-30) 2021-06-30 01:00:32 +00:00
Scott Lahteine b90de62197 🔨 Clean up build scripts (#22264)
* Add 10K to marlin_blackSTM32F407VET6 (typo?)
* Document custom build scripts.
* Add a Robin common build script.
* Extraneous .ldscript specifiers
2021-06-29 16:25:37 -05:00
Cytown 61c48b8513 🚸 Retain power during Pause (#22227) 2021-06-29 15:36:08 -05:00
Glought 0a655c84bf 🚸 Sanity-check Slim LCD menus with Probe Offset Wizard (#22259) 2021-06-29 15:36:08 -05:00
Katelyn Schiesser a5b2498de9 🐛 Fix ExtUI 'lcd_clicked' definition (#22257) 2021-06-29 12:30:55 -05:00
Katelyn Schiesser c15d9e5b42 🐛 Fix PTC/BTC whole number tests (#22255) 2021-06-28 20:43:05 -05:00
thinkyhead 93c2f9607e [cron] Bump distribution date (2021-06-29) 2021-06-29 00:54:53 +00:00
tome9111991 e00407d820 Ender-3 V2 Display for SKR E3 Turbo (#22229) 2021-06-28 12:08:37 -05:00
Scott Lahteine ff12ea4ab1 🔖 Update configurations version 2021-06-28 01:36:55 -05:00
Katelyn Schiesser 7888584fec 🐛 Use setTargetHotend in menus (#22247) 2021-06-28 01:00:55 -05:00
Katelyn Schiesser 1f6768a87e 🐛 No HOTEND_LOOP with EXTRUDERS 0 (#22245) 2021-06-27 23:02:11 -05:00
thinkyhead f66a771e71 [cron] Bump distribution date (2021-06-28) 2021-06-28 00:58:55 +00:00
Sébastien Gariépy 81ca2dd273 🌐 MSG_MOVE_100MM (#22242) 2021-06-27 16:44:49 -05:00
Cytown d32feb7cd5 🐛 Fix wide glyph characters display (#22237) 2021-06-27 12:39:09 -05:00
Scott Lahteine f9051e5469 ♻️ Refactor status screen timeout 2021-06-27 00:33:44 -05:00
thinkyhead 761d7b77d8 [cron] Bump distribution date (2021-06-27) 2021-06-27 01:03:53 +00:00
Scott Lahteine a789cb4fb6 🎨 Small tweak, ms => now 2021-06-26 14:28:50 -05:00
Scott Lahteine ecb727c3ef 🎨 Format onboard_sd.cpp 2021-06-26 14:01:47 -05:00
ellensp d882a16b80 🐛 Fix Z_MULTI_ENDSTOPS + NUM_Z_STEPPER_DRIVERS 4 compile (#22203) 2021-06-26 13:28:56 -05:00
cr20-123 33185b090e Update/extend Quiet Probing (#22205) 2021-06-26 13:17:18 -05:00
ellensp 7328a6e3a7 🔧 Fix E.S.T. sanity-check errors (#22224) 2021-06-26 11:32:51 -05:00
Cytown 5ceeb8b5ff 🚸 Expand box in draw_boxed_string (#22209) 2021-06-26 11:21:34 -05:00
Marcio T a37cc76cb9 🎨 Fix and improve FTDI Eve Touch UI (#22223) 2021-06-25 23:38:27 -05:00
thinkyhead 696d878b5e [cron] Bump distribution date (2021-06-26) 2021-06-26 00:55:17 +00:00
Keith Bennett e5f06c814b 📝 Update TMC SPI endstops comment (#22221) 2021-06-25 16:12:21 -05:00
Cytown f399706911 🎨 Power-off tone followup (#22222) 2021-06-25 14:50:09 -05:00
Scott Lahteine 500b7872fb 🐛 Trigger existing endstops on G38 hit 2021-06-25 14:44:51 -05:00
thinkyhead 8eee94dbca [cron] Bump distribution date (2021-06-25) 2021-06-25 01:02:43 +00:00
bwspath ba26e902b2 🐛 Fix Octopus build on case-sensitive FS (#22206) 2021-06-24 15:27:54 -05:00
thinkyhead b3b1dbaceb [cron] Bump distribution date (2021-06-24) 2021-06-24 00:44:58 +00:00
Cytown 0bd113b944 Power-off confirm / beep options (#22191) 2021-06-23 11:40:32 -05:00
thinkyhead 48161cf091 [cron] Bump distribution date (2021-06-23) 2021-06-23 00:50:45 +00:00
Serhiy-K b5085bbd1d 🌐 Update Russian language (#22193) 2021-06-22 13:48:56 -05:00
ellensp 41daf63768 🚸 MarlinUI Move Z >= 1000 (#22192) 2021-06-22 13:42:24 -05:00
thinkyhead 5326fdc382 [cron] Bump distribution date (2021-06-22) 2021-06-22 00:54:36 +00:00
Marcio T 0f5126acb2 🎨 Fix and enhance FTDI Eve Touch UI (#22189) 2021-06-21 16:38:28 -05:00
Scott Lahteine b6d8fec6cc 🐛🌐 Fix extra axis translations 2021-06-21 16:31:41 -05:00
Scott Lahteine e5991f786f 🎨 Cosmetic cleanup 2021-06-21 16:24:50 -05:00
Katelyn Schiesser de4b3498c7 🐛 Fix IJK axis references, E stepper indices (#22176)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-21 15:36:06 -05:00
Grumpy 59f01b417a 🐛 Fix dual Neopixels (#22174) 2021-06-21 15:12:39 -05:00
ellensp 6bf6973e9d 🐛 Fix heater display options/compile (#22185) 2021-06-21 15:09:21 -05:00
Scott Lahteine 44c41ce54f 🐛 Fix compact sensitive pins array (#22184) 2021-06-20 22:49:57 -05:00
Serhiy-K fb97e43ca3 🌐 Update Ukrainian language (#22183) 2021-06-20 22:48:06 -05:00
Giuliano Zaro 0713862719 🌐 Update Italian language (#22182) 2021-06-20 22:45:26 -05:00
thinkyhead 4d386fdeb5 [cron] Bump distribution date (2021-06-21) 2021-06-21 01:01:00 +00:00
Scott Lahteine a006752fc2 🐛 Fix LCD define typos 2021-06-20 01:19:09 -05:00
thinkyhead 84e50f5fda [cron] Bump distribution date (2021-06-20) 2021-06-20 00:59:38 +00:00
Scott Lahteine 5ce6d8aa1f Cosmetic changes for G28 2021-06-19 14:09:09 -05:00
Katelyn Schiesser f944ec3ac6 🐛 Redundant Temp Sensor followup (#22173) 2021-06-19 13:44:28 -05:00
thinkyhead 758d495d08 [cron] Bump distribution date (2021-06-19) 2021-06-19 00:57:37 +00:00
ellensp ad1ad93ea9 🚸 Manual Move coordinates >= 1000 (#22165) 2021-06-18 14:59:44 -05:00
Scott Lahteine 55feb8ac8d 🐛 Define 'HEAD' axes for Markforged
Fixes #22167
2021-06-18 13:12:55 -05:00
Mike La Spina 135801d9a6 🐛 Fix Air Assist (#22159)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-17 22:46:59 -05:00
thinkyhead ab7e622e4a [cron] Bump distribution date (2021-06-18) 2021-06-18 01:08:37 +00:00
Keith Bennett 34c7b6ddae 🐛 TFT encoder pin for BTT GTR (#22162) 2021-06-17 19:39:48 -05:00
gjdodd a2be93c541 🩹 Extruders 0 patch for PWM Motor Current (#22163) 2021-06-17 19:37:27 -05:00
Ari-SSO aeb21a3516 🚸 Include 'H' value in M412 report (#22138)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-17 19:34:40 -05:00
Katelyn Schiesser d0df8bc3cb 💡 Add G28 L description (#22144) 2021-06-17 01:15:16 -05:00
Victor Oliveira dd9f91f0f0 🐛 Fix env validation for 1280/2560 boards (#22150)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-17 00:58:48 -05:00
Victor Oliveira d4943a607e 🐛 Fix MKS Robin E3 build (#22149) 2021-06-17 00:49:42 -05:00
thinkyhead 43771842d6 [cron] Bump distribution date (2021-06-17) 2021-06-17 00:55:23 +00:00
thinkyhead 9d1e370534 [cron] Bump distribution date (2021-06-16) 2021-06-16 00:57:35 +00:00
thinkyhead 8e06e9ca40 [cron] Bump distribution date (2021-06-15) 2021-06-15 00:59:53 +00:00
ellensp d436c93f37 Redundant Part Cooling Fan (#21888)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-06-14 18:45:54 -05:00
Scott Lahteine 6b3dc80b55 🐛 Prevent stepper sleep during long UBL idle (#22137) 2021-06-14 18:44:27 -05:00
qwewer0 6bdd0fcda1 ️ Home Z (and maybe XY) at the start of G35 (#22060) 2021-06-14 17:02:21 -05:00
ellensp a9eff3597d 🚑️ Prevent BFT unaligned compressed data corruption (#22134) 2021-06-14 16:43:50 -05:00
Bo Herrmannsen 3d0e8346be Extruder with Dual Stepper Drivers (#21403) 2021-06-14 04:28:13 -05:00
Victor Oliveira e130aa39c0 🔥 Remove Chitu default Touch Calibration (#22133) 2021-06-14 02:24:49 -05:00
Victor Oliveira d6a7ebce6c MULTI_VOLUME for Color UI and MarlinUI (#22004) 2021-06-14 00:39:16 -05:00
InsanityAutomation a3e8bb99e4 🎨 ExtUI "user click" and other tweaks (#22122)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-13 22:08:46 -05:00
Victor Oliveira ef321cb723 🐛 Include common TFT driver macros (#22125) 2021-06-13 20:47:38 -05:00
Katelyn Schiesser 3a03f76f3c 🐛 Fix UBL 'R' parameter and adjust 'P' (#22129) 2021-06-13 20:43:43 -05:00
Sola b87e2ceda1 🐛 Fix ExtUI/DGUS Celsius display (#22121) 2021-06-13 20:31:38 -05:00
Scott Lahteine d5510ea519 🎨 General cleanup of extui/dgus
In relation to #22121
2021-06-13 20:19:43 -05:00
thinkyhead 82ac7da0a7 [cron] Bump distribution date (2021-06-14) 2021-06-14 00:55:40 +00:00
Victor Oliveira 0669053b78 🔨 Fix Serial+MSC for _USB envs (#22116) 2021-06-13 19:01:53 -05:00
Katelyn Schiesser 31d84bac4c 🐛 Use whole PROBE_TEMP_COMPENSATION values (#22130) 2021-06-13 16:56:18 -05:00
Scott Lahteine 90dc41139f 🏗️ Refactor build encrypt / rename (#22124) 2021-06-13 15:43:33 -05:00
thinkyhead a9faf9effa [cron] Bump distribution date (2021-06-13) 2021-06-13 00:59:15 +00:00
Scott Lahteine 9bf5cddb46 🩹 Use #pragma once in pins files 2021-06-12 16:28:30 -05:00
Scott Lahteine c221ee1144 📝 Number SKR EXP headers 2021-06-12 12:42:17 -05:00
Scott Lahteine fd3f7b3473 🎨 Clean up LPC1768 SPI init 2021-06-12 12:42:17 -05:00
Scott Lahteine 87344ae7f3 🔨 Remove obsolete ON_BOARD_SPI_DEVICE 2021-06-12 11:40:35 -05:00
mrv96 4eecc20ebc 🔨 Robin Nano V3 overridable POWER_LOSS_PIN (#22123) 2021-06-12 11:19:37 -05:00
thinkyhead cc100429f2 [cron] Bump distribution date (2021-06-12) 2021-06-12 00:52:56 +00:00
Scott Lahteine 799a4ecab9 📝 Describe G12 XYZ 2021-06-11 19:29:59 -05:00
Scott Lahteine 72b9f84723 🐛 Fix Z endstop enum
Followup to 92dea8e6cc
2021-06-11 18:33:07 -05:00
Victor Oliveira 221bec5ce8 🐛 Fix boot / SD for STM32 (F103Rx) boards (#22087) 2021-06-11 16:13:22 -05:00
DerAndere c2f67cf8ee ✏️ Six Linear Axes followup (Fix M503) (#22112) 2021-06-11 15:53:23 -05:00
Katelyn Schiesser 629551d9bc More flexible redundant temp sensor (#22085) 2021-06-11 15:51:29 -05:00
thinkyhead 1daee11db9 [cron] Bump distribution date (2021-06-11) 2021-06-11 00:57:12 +00:00
Keith Bennett 673bccef3e 🔨 Envs for BTT SKR Mini with RET6 (512K) (#22050) 2021-06-10 16:09:29 -05:00
Zs.Antal 8d54f9b847 🌐 Update Hungarian language (#22083) 2021-06-10 16:05:07 -05:00
grauerfuchs eac0f6be3e 🔨 MightyBoard envs for A.B.M. (#22100) 2021-06-10 16:04:18 -05:00
Radek ded1b0c26f 🔧 EEPROM options for BTT SKR 1.4 (#22092) 2021-06-10 12:51:07 -05:00
Marcio T 6d2c7aa227 🎨 Fix and improve FTDI Eve Touch UI (#22093) 2021-06-10 03:24:04 -05:00
Marcio T 9ca121bc5a ✏️ Six Linear Axes followup (typos) (#22094) 2021-06-10 03:08:42 -05:00
ellensp 54d526f6b6 🔧 Enforce BLTouch settings (#22086) 2021-06-10 02:09:52 -05:00
Scott Lahteine 0e1e159187 🎨 Adjust some conditionals 2021-06-10 02:05:04 -05:00
thinkyhead d27d86d596 [cron] Bump distribution date (2021-06-10) 2021-06-10 01:03:10 +00:00
thinkyhead 403b366744 [cron] Bump distribution date (2021-06-09) 2021-06-09 01:05:08 +00:00
Scott Lahteine 77496c8235 ️ Optimize Sensitive Pins array (except STM32) (#22080) 2021-06-08 19:55:27 -05:00
Kyle Repinski 7c5e3b9071 🐛 Fix small/huge I2C EEPROM address (#22081) 2021-06-08 18:56:16 -05:00
ellensp 70b80fcd16 🎨 IJK auto-allocation (#22075) 2021-06-08 17:43:39 -05:00
Scott Lahteine d320545066 🎨 Laser Ammeter followup (#22079)
Followup to #21835
2021-06-08 07:51:28 -05:00
thinkyhead 420d5b0b41 [cron] Bump distribution date (2021-06-08) 2021-06-08 01:26:19 +00:00
Mike La Spina 002e1d49fe Add Laser Based I2C Ammeter Feature (#21835) 2021-06-07 14:15:09 -05:00
ellensp 588a74fd9d expose hidden BLTOUCH setting changes (#22069) 2021-06-07 14:09:12 -05:00
Marcio T 209c44b803 🎨 Reorganize FTDI Touch UI variants (#22066) 2021-06-06 23:26:42 -05:00
DerAndere e31c267481 ✏️ Six Linear Axes followup (Hybrid Threshold init) (#22068) 2021-06-06 23:23:23 -05:00
thinkyhead fa94fc5f35 [cron] Bump distribution date (2021-06-07) 2021-06-07 01:29:19 +00:00
ellensp 3c522fff31 🩹 Fallback ID for MKS TS35 V2.0 (#22031) 2021-06-06 04:21:14 -05:00
Scott Lahteine 0e40d47c72 👷 Add caching to CI workflow 2021-06-06 03:58:24 -05:00
7FM e7e60a50d8 👽️ Include <EEPROM.h> in STM32 (for now) (#22054) 2021-06-06 02:56:24 -05:00
ellensp bc6d8f99b2 📦️ Malyan M200 with HAL/STM32 (#22052) 2021-06-06 02:50:14 -05:00
George Fu 21739f41c2 📌 Update FYSETC E4 to espressif32@2.1.0 (#22049) 2021-06-06 01:37:52 -05:00
DerAndere ba4fa49834 ✏️ Followup to Six Linear Axes (#22056) 2021-06-06 01:30:39 -05:00
Victor Oliveira ce5dece3b5 ⚰️ Remove obsolete CUSTOM_SPI_PINS (#22058) 2021-06-06 00:59:19 -05:00
thinkyhead b4114553c8 [cron] Bump distribution date (2021-06-06) 2021-06-06 01:27:16 +00:00
ellensp 493e6c2cba 🔧 Check G29_RETRY_AND_RECOVER requirements (#21921) 2021-06-05 19:16:40 -05:00
Scott Lahteine daab75b7ea 🔧 FOAMCUTTER_XYUV moved to custom config 2021-06-05 17:08:10 -05:00
DerAndere 7726af9c53 🏗️ Support for up to 6 linear axes (#19112)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-06-05 02:18:47 -05:00
Marcio T 733d5fd57d 📺 Fix and enhance FTDI EVE Touch UI (#22047) 2021-06-05 00:35:05 -05:00
Keith Bennett d18c834029 BigTreeTech Octopus V1.1 (#22042) 2021-06-04 23:56:18 -05:00
ellensp da8576f642 🐛 Fix STM3R / BEAST envs (#22028) 2021-06-04 23:51:17 -05:00
Victor Oliveira c73d47327b 📦️ STM32F103RE_btt(_USB) with HAL/STM32 (#22040) 2021-06-04 23:49:00 -05:00
Scott Lahteine 53a82511ff Update G34 for 4x Z steppers (#22039) 2021-06-04 23:44:16 -05:00
hannesweisbach 9d3bc551bc 🐛 Fix Probe Temp Calibration compile (#22032) 2021-06-04 23:38:43 -05:00
Taylor Talkington c2c771a1cc 🐛 Fix M140 print job timer autostart (#22046) 2021-06-04 23:01:06 -05:00
thinkyhead a6125b859d [cron] Bump distribution date (2021-06-05) 2021-06-05 01:38:30 +00:00
Giuliano Zaro eea9b6d8ae 🐛 Fix MMU compile with >5 EXTRUDERS (#22036) 2021-06-04 20:02:37 -05:00
ldursw 6131d2c5a6 🔨 MKS Robin E3 for HAL/STM32 (#21927) 2021-06-03 22:38:10 -05:00
thinkyhead 29ab4f5982 [cron] Bump distribution date (2021-06-04) 2021-06-04 01:56:49 +00:00
Keith Bennett 30c9b9bbba 🔨 Consolidate BTT linker scripts followup (#22038) 2021-06-03 19:51:22 -05:00
Victor Oliveira 0398a0b780 👽️ Fix usb-host-msc-cdc-msc issue (#22025) 2021-06-03 16:52:25 -05:00
Scott Lahteine 9d1d35f1ed ✏️ Remove whitespace 2021-06-03 03:23:10 -05:00
ellensp 4e9ccffc10 🐛 Fix Creality v4 servo timer (#22021)
Followup to #21999
2021-06-03 03:10:04 -05:00
Scott Lahteine 62dc3e7a22 🔨 Consolidate BTT linker scripts
Originally from #22022
2021-06-03 02:55:30 -05:00
ellensp 67c1075e47 🐛 Fix env:STM32F103RE maple/unified split-up (#22019)
Followup to #21999
2021-06-03 02:40:16 -05:00
thinkyhead a4e955d606 [cron] Bump distribution date (2021-06-03) 2021-06-03 02:28:46 +00:00
Scott Lahteine 25053572ec 📌 Use U8glib-HAL@~0.4.5 2021-06-02 19:38:34 -05:00
Scott Lahteine 8f59d44e4d 📝 Update G61 comment 2021-06-02 17:09:47 -05:00
Scott Lahteine b99411b62b 🎨 Reorganize BTT_E3_RRF_IDEX_BOARD 2021-06-02 15:34:31 -05:00
Scott Lahteine dc202b3cb3 🎨 Clean up stops, sdss pins 2021-06-02 15:34:03 -05:00
ellensp 08155b4875 🔨 Creality v4 with STM32 HAL (#21999)
- New STM32 env for Creality V4 boards.
- Separate Libmaple targets into their own `ini` file.
- Temporarily remove unusable targets from `pins.h`.

Co-authored-by: ellensp <ellensp@hotmsil.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-06-02 01:44:55 -05:00
Scott Lahteine c207111cc6 🔨 Move FLY_MINI env to stm32f1.ini 2021-06-01 23:24:48 -05:00
hannesweisbach 5ceccc95a8 TMC Driver distinct baudrates (#22008) 2021-06-01 23:20:47 -05:00
Scott Lahteine 62a595750d 🔧 Treat TPARA like SCARA in mfconfig 2021-06-01 22:47:06 -05:00
thinkyhead 0987c3a3a3 [cron] Bump distribution date (2021-06-02) 2021-06-02 02:53:34 +00:00
Roman Moravčík d099cb3b5a 🌐 Update Slovak language (#22000) 2021-06-01 21:10:15 -05:00
Scott Lahteine 82ea06e6a4 ♻️ Patches for Zero Extruders (with TMC) 2021-06-01 20:59:47 -05:00
thinkyhead 74be64a1ec [cron] Bump distribution date (2021-06-01) 2021-06-01 02:51:06 +00:00
Krzysztof Błażewicz da76381605 ⚗️ 32-bit float constants (STM32F1) (#21996) 2021-05-31 01:44:38 -05:00
thinkyhead bc6e90f4ab [cron] Bump distribution date (2021-05-31) 2021-05-31 02:26:30 +00:00
thinkyhead 52ae3e6967 [cron] Bump distribution date (2021-05-30) 2021-05-30 02:14:17 +00:00
Timo dceaeeeaf9 Malyan M180 (#21992) 2021-05-29 16:00:39 -05:00
Krzysztof Błażewicz dbed009090 🌐 Update Polish language (#21993) 2021-05-29 13:48:56 -05:00
thinkyhead 25a8bbcbf3 [cron] Bump distribution date (2021-05-29) 2021-05-29 02:01:09 +00:00
thinkyhead b80179d14a [cron] Bump distribution date (2021-05-28) 2021-05-28 01:45:42 +00:00
ellensp 605b539ecd 🥅 Add MESH_EDIT_MENU sanity check (#21922) 2021-05-27 05:13:43 -05:00
Andy Barratt 5c6a2f4d0d 🚸 cap:HOST_ACTION_COMMANDS (#21987) 2021-05-26 21:07:13 -05:00
thinkyhead 6a32d87e58 [cron] Bump distribution date (2021-05-27) 2021-05-27 01:36:38 +00:00
thinkyhead 214fe90a3b [cron] Bump distribution date (2021-05-26) 2021-05-26 01:24:58 +00:00
Allen Bauer e400ef346a 🐛 Fix BTT002 variant MMU2 serial pins 🧩 (#21980) 2021-05-25 19:08:10 -05:00
ellensp e60c38b622 ♻️ LEDs refactor and extend (#21962)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-25 18:38:23 -05:00
thinkyhead d051495dec [cron] Bump distribution date (2021-05-25) 2021-05-25 01:09:52 +00:00
LawnMo 2dd25938cc 🩹 Fix multi_volume + SDIO onboard compile (#21975) 2021-05-24 17:53:48 -05:00
Scott Lahteine dd4990252e ♻️ Refactor Linear / Logical / Distinct Axes (#21953)
* More patches supporting EXTRUDERS 0
* Extend types in prep for more axes
2021-05-24 16:38:57 -05:00
LawnMo 0d7075b90c 🩹 Improved SKR2 12864 LCD Delays (#21956) 2021-05-24 02:21:21 -05:00
BigTreeTech 76e80aa400 🐛 Fix Octopus HS USB (#21961) 2021-05-24 01:57:45 -05:00
gjdodd 9398c43112 🐛 Fix flowmeter calculation (#21959) 2021-05-24 01:54:10 -05:00
Scott Lahteine 84fd0eff17 🎨 Macros for optional arguments (#21969) 2021-05-23 21:33:22 -05:00
ellensp 731370051d ️ PIO filters for M117, M300 and M414 (#21972) 2021-05-23 20:29:19 -05:00
thinkyhead 5fde86406f [cron] Bump distribution date (2021-05-24) 2021-05-24 01:12:27 +00:00
Scott Lahteine d71b35c24f 🎨 Apply shorthand and cleanups 2021-05-23 03:04:36 -05:00
Scott Lahteine ff0318c5bd 🎨 pause => pause_heaters 2021-05-23 03:04:36 -05:00
Scott Lahteine 92dea8e6cc ♻️ Refactor, comment endstop/probe enums 2021-05-23 03:04:31 -05:00
thinkyhead e1921f808c [cron] Bump distribution date (2021-05-23) 2021-05-23 01:15:23 +00:00
Scott Lahteine d8c4be375c 🎨 Null heating message method 2021-05-22 17:56:31 -05:00
Scott Lahteine aee971bcaf 🎨 Combine M104/M109 and M140/M190 code 2021-05-22 17:47:23 -05:00
Scott Lahteine 6689e5ed75 🐛 Fix Selena Compact probe pin 2021-05-22 17:47:23 -05:00
Danol 43b736906a 🐛 Fix wrong Z_ENDSTOP flag bit (#21963)
Bug introduced in #18424
2021-05-22 17:47:23 -05:00
Alvaro Segura Del Barco 7c2834c33c 🐛 Fix Teensy PINS_DEBUG compile (#21958)
Followup to 84a11cfedc
2021-05-22 15:52:41 -05:00
Scott Lahteine 464a9f0ab6 📝 Update ExtUI example 2021-05-21 23:04:11 -05:00
Scott Lahteine 8af4d70922 🎨 Shorten lcd relative paths 2021-05-21 23:04:01 -05:00
Scott Lahteine 4ea4fa78aa 📝 Document diveToFile, printListing 2021-05-21 22:45:54 -05:00
thinkyhead 7985f7f116 [cron] Bump distribution date (2021-05-22) 2021-05-22 01:06:28 +00:00
Scott Lahteine 2de54dab84 🎨 Move HAS_EXTRUDERS 2021-05-21 08:40:30 -05:00
Scott Lahteine ad30909a2d 🎨 Update a condition 2021-05-21 08:37:46 -05:00
Scott Lahteine f4951ed56b 🎨 Rename all/no axis enums 2021-05-21 08:36:54 -05:00
Scott Lahteine 2db640ea80 Add a test for SAVED_POSITIONS 2021-05-21 00:31:56 -05:00
Scott Lahteine 8f0f6c1ac1 🐛 Fix compile with PREVENT_COLD_EXTRUSION off 2021-05-21 00:30:57 -05:00
thinkyhead 67f08ef07f [cron] Bump distribution date (2021-05-21) 2021-05-21 01:07:03 +00:00
Scott Lahteine 000388b1d9 🎨 MULTI_MANUAL => MULTI_E_MANUAL 2021-05-20 17:12:18 -05:00
Pascal de Bruijn 781b34709b MEDIA_MENU_AT_TOP for MarlinUI (#21925) 2021-05-20 06:35:38 -05:00
Moonglow 7da4ed7340 🐛 Fix Toshiba FlashAir (SDCARD_COMMANDS_SPLIT) (#21944) 2021-05-20 06:09:10 -05:00
charlespick 29ad42e54e Independent baud rates (#21949)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-20 06:06:26 -05:00
Scott Lahteine e018f041ba 🎨 Move switch sensor strings 2021-05-20 00:59:58 -05:00
Scott Lahteine 49771c4a9e 🎨 Flags for homing directions 2021-05-20 00:59:58 -05:00
Scott Lahteine 0dae140080 🐛 Fix DELTA with SENSORLESS_PROBING 2021-05-20 00:59:58 -05:00
Scott Lahteine 458677c63a ♻️ Refactor axis homing/trusted state bits 2021-05-20 00:59:58 -05:00
Scott Lahteine 02f904dbf9 ♻️ Minimize endstop bits 2021-05-20 00:59:58 -05:00
Scott Lahteine 18b1ccda27 Fix tests for EXTRUDERS 0 2021-05-20 00:59:58 -05:00
Scott Lahteine 926a7f27c6 ♻️ Simplify TMC utilities for more axes 2021-05-20 00:59:58 -05:00
Scott Lahteine a6e5492b08 ♻️ Refactor axis counts and loops 2021-05-20 00:59:58 -05:00
Scott Lahteine abbe3f0dc7 🎨 Misc cleanup and fixes 2021-05-20 00:59:58 -05:00
Scott Lahteine 50355f4607 Fix 'G29 K' value 2021-05-19 22:02:28 -05:00
thinkyhead 419d67237c [cron] Bump distribution date (2021-05-20) 2021-05-20 01:03:10 +00:00
thinkyhead 90f46d1226 [cron] Bump distribution date (2021-05-19) 2021-05-19 01:05:23 +00:00
Scott Lahteine ad8c16177e Use defined strings 2021-05-17 21:17:42 -05:00
ellensp 1e189506ef Fix EEPROM_CHITCHAT (#21934)
Fix #21929
2021-05-17 21:16:47 -05:00
thinkyhead 4d7feea72e [cron] Bump distribution date (2021-05-18) 2021-05-18 01:09:42 +00:00
ellensp c3a65eef7a Fix envs using mks_encrypt.py (#21933)
Fix #21928
2021-05-17 18:22:33 -05:00
thinkyhead 9c61e6f1c0 [cron] Bump distribution date (2021-05-17) 2021-05-17 01:06:01 +00:00
ekef ebb75a529b Fix MKS Robin E3 BLTOUCH and Fan PWM timer conflicts (#21889) 2021-05-16 13:59:15 -05:00
thinkyhead 533ba2ac96 [cron] Bump distribution date (2021-05-16) 2021-05-16 01:12:19 +00:00
Scott Lahteine 05bb3bde7a Update Hex Version to 02000801 2021-05-15 15:21:02 -05:00
Luu Lac 7f774cab90 M154 Position Auto-Report (#18427)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:02:20 -05:00
Moonglow 376f0be5da Fix MKS UI missing font select condition (#21905) 2021-05-14 22:30:16 -05:00
ondrada 874c531f27 Fix G29_RETRY_AND_RECOVER dependency (#21907)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-14 22:29:17 -05:00
thinkyhead 3b4643d31a [cron] Bump distribution date (2021-05-15) 2021-05-15 01:05:33 +00:00
Victor Oliveira 2a5ab55c36 🚑️ Fix TFT for Robin Pro (#21900) 2021-05-14 00:22:43 -05:00
Keith Bennett e5b280c309 🚑️ BTT Octopus Step Timer (#21901) 2021-05-14 00:20:24 -05:00
Scott Lahteine a69e2923dd 🐛 Fix RR collision with MM (#21902) 2021-05-14 00:17:04 -05:00
Jamie d97c1f1c62 Instant Freeze/Resume Function (#17462)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-14 00:14:59 -05:00
thinkyhead 558b60858c [cron] Bump distribution date (2021-05-14) 2021-05-14 01:08:17 +00:00
Keith Bennett fe60a18923 Fix Octopus 12864 LCD Delays (#21883) 2021-05-13 15:25:39 -05:00
ellensp 90f1436764 Fix nextion compile error (#21884) 2021-05-13 15:19:12 -05:00
Alexander D. Kanevskiy 9336517258 Fix compilation failure in M1001 (#21897) 2021-05-13 15:10:48 -05:00
FilippoR e72fe0ad14 fix compilation for home hon top (#21894) 2021-05-13 10:56:49 -05:00
Scott Lahteine 69473daa3d 🔧 Improve SD_DETECT_STATE default (#21885) 2021-05-13 01:14:37 -05:00
thinkyhead 75f76cbf26 [cron] Bump distribution date (2021-05-13) 2021-05-13 01:06:32 +00:00
Scott Lahteine eb7f75461a Clean up hasty PR 2021-05-12 19:44:21 -05:00
Victor Oliveira c8f9a32610 Update Robin Pro TFT Pins (#21879) 2021-05-12 18:10:31 -05:00
Victor Oliveira b3804fb277 minor multi volume config typo (#21880) 2021-05-12 17:57:43 -05:00
Keith Bennett 175fac8fe8 Always Invert Octopus Onboard SD Detect Pin (#21882) 2021-05-12 17:48:24 -05:00
Scott Lahteine 75dadcc669 📝 Fix version reference 2021-05-12 03:27:56 -05:00
Keith Bennett 3734e8e02f BigTreeTech Octopus board (STM32F446ZET6) (#21826) 2021-05-12 03:26:19 -05:00
Elton Law de77dbedf1 🐛 Fix G5 IJ with Motion Mode (#21858) 2021-05-12 02:21:55 -05:00
ellensp 10a1ff1622 Fix compile error (#21877) 2021-05-12 02:18:44 -05:00
vyacheslav-shubin 0d629c80c7 🩹 G60-G61 Save E position (#21810) 2021-05-12 02:17:06 -05:00
thinkyhead 5353a1ed1a [cron] Bump distribution date (2021-05-12) 2021-05-12 01:01:39 +00:00
Scott Lahteine 0c8a53e507 🎨 Misc. code cleanup 2021-05-11 10:47:50 -05:00
Scott Lahteine 390878e78a 🎨 Additional utility macros 2021-05-11 10:47:50 -05:00
Scott Lahteine 398ce22c2e 🎨 Better error message for bad array sizes 2021-05-11 10:45:57 -05:00
Victor Oliveira a42760d38a BTT SKR Mini E3 for HAL/STM32 (#21488) 2021-05-11 10:44:54 -05:00
Scott Lahteine e5dc2c5321 Simplify macro expansion with recursion (#21859) 2021-05-11 08:30:16 -05:00
Scott Lahteine 0264316797 Fix L64xx init for Z4 2021-05-11 03:48:52 -05:00
Scott Lahteine 9746a8427c Use adafruit/Adafruit NeoPixel@~1.8.0 2021-05-11 03:46:34 -05:00
Scott Lahteine dd16d6ad6e Update Chart.js to 2.9.4
Addressing CVE-2020-7746
2021-05-10 22:47:34 -05:00
thinkyhead 782ced6ff7 [cron] Bump distribution date (2021-05-11) 2021-05-11 01:00:06 +00:00
ellensp 61ac1ed2f6 update FLSUN_HISPEED env to flsun_hispeedv1 (#21510) 2021-05-10 16:33:43 -05:00
tobuh 8e56f9366d Fix and improve Power-Loss Recovery (#21779)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-10 07:24:35 -05:00
thinkyhead 4a7f5603de [cron] Bump distribution date (2021-05-10) 2021-05-10 01:00:29 +00:00
Giuliano Zaro fff5e9ba4a Fix insane mmu2 timeout (#21855)
* Fix insane mmu2 timeout

Fix insane timeout value. Now match original Prusa firmware.

* Update mmu2.cpp

Co-authored-by: Luu Lac <45380455+shitcreek@users.noreply.github.com>
2021-05-09 16:58:36 -04:00
Keith Bennett b12d0d06eb Unify BTT Motor Expansion Options (#21823) 2021-05-09 03:52:53 -05:00
Scott Lahteine 49548c343d Optimize G-code flag parameters (#21849) 2021-05-09 03:50:51 -05:00
charlespick 4588d836a3 Update Advanced Pause description (#21829)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-08 22:46:35 -05:00
Victor Oliveira 4335f4e41f 🐛 Fix Lerdge USB Flash Drive envs (#21847) 2021-05-08 21:05:47 -05:00
BigTreeTech c9de9d4f9b Capacitive Touch Screen (GT911) for SKR SE BX (#21843)
Co-authored-by: Msq001 <alansayyeah@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-08 21:02:16 -05:00
thinkyhead 6cc45d2578 [cron] Bump distribution date (2021-05-09) 2021-05-09 01:08:03 +00:00
Scott Lahteine 9f10695b3f Fix TFT typo 2021-05-08 19:00:47 -05:00
Scott Lahteine 42a2b5c3ec Move temp errors calling kill() out of ISR (#21832) 2021-05-08 17:34:21 -05:00
sanek88lbl f95f18c8e5 Lerdge K EEPROM and TFT (#21812)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-08 17:06:21 -05:00
Antonino Di Guardo adefecca6c Always prompt in M125 if host-prompt (as with Ext UI) (#21828)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-08 06:27:02 -05:00
Scott Lahteine 4f2ff42003 Update SKR 1.3 touch pins 2021-05-08 06:01:52 -05:00
Scott Lahteine 98e7e63240 TFT pins for BTT GTR V1
Proposed in #21772
2021-05-08 06:01:52 -05:00
Scott Lahteine 6f494e9bed Better opt_set comment of old val 2021-05-08 05:49:06 -05:00
Scott Lahteine b65cdbed91 Signal SD completion later (#21840) 2021-05-08 04:35:35 -05:00
Adrian DC 57025b75e1 Fix E3V2 Control Menu icon/text order (#21838)
Fixes #21837
2021-05-08 01:46:21 -05:00
charlespick 01741576eb Active MMU slot indicator (#21842) 2021-05-08 01:44:34 -05:00
Scott Lahteine f09fa69e86 Add and apply REPEAT_1 macro 2021-05-08 01:41:40 -05:00
Scott Lahteine a03811f4e8 Update MF states 2021-05-07 22:58:31 -05:00
Scott Lahteine 206d495ba4 Misc. code cleanup 2021-05-07 22:56:54 -05:00
Scott Lahteine 1292ff76b3 Debounce for Power-Loss pin 2021-05-07 22:56:54 -05:00
Scott Lahteine 9f7177c67d Misc Power Loss cleanup 2021-05-07 22:56:54 -05:00
thinkyhead 8fd4bfc0e7 [cron] Bump distribution date (2021-05-08) 2021-05-08 00:57:21 +00:00
Scott Lahteine 4428affc20 Let M421 C select any point
Fixing #21147
2021-05-07 00:56:01 -05:00
ellensp 02405add76 Support a third serial port (#21784) 2021-05-07 00:31:45 -05:00
Scott Lahteine be6fbc76a1 Serial and pins debug cleanup
- Rename some AVR / DUE / ESP32 serial types
- Reduce two #error to one static_assert
- Update AVR/DUE error messages
2021-05-06 22:39:34 -05:00
thinkyhead 32bf447644 [cron] Bump distribution date (2021-05-07) 2021-05-07 00:58:41 +00:00
Scott Lahteine ecca81beba Reformat features.ini 2021-05-06 19:34:15 -05:00
sanek88lbl 9485d44903 Patches for CASE_LIGHT_USE_RGB_LED (#21811)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-06 06:10:18 -05:00
Luu Lac 64ad96e19e TFT SPI for BTT SKR v1.3 (#21794) 2021-05-06 04:52:18 -05:00
Scott Lahteine a7cb13f339 Tweak SKR pins comments 2021-05-06 04:44:55 -05:00
Scott Lahteine 6f06801f1d Detab 2021-05-06 04:44:53 -05:00
Scott Lahteine 8d9021e806 Move ExtUI subfolders up a level (#21820) 2021-05-06 04:17:59 -05:00
ellensp fb87b2d1ad Simplify / undef extra endstops (#21808)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-06 01:54:02 -05:00
Scott Lahteine 28318f27d9 Use SERIAL_ECHOLNPAIR for resend 2021-05-06 01:51:19 -05:00
ellensp b1cca43252 Fix MMU2 compile with include (#21809) 2021-05-06 01:43:16 -05:00
hannesweisbach 857976b29f Allow undefined [XYZ]_ENABLE_PIN (for sensitive pins) (#21801) 2021-05-05 20:13:21 -05:00
Keith Bennett cbcc6ef9c4 Split up SKR V2 Rev A / B (#21805) 2021-05-05 20:11:54 -05:00
ManuelMcLure bac72ff0cc Only look for target disk during Upload (#21804) 2021-05-05 19:59:56 -05:00
thinkyhead 2470dc822f [cron] Bump distribution date (2021-05-06) 2021-05-06 00:55:43 +00:00
Scott Lahteine 1eb68e9f9a Echo LCD message to serial in kill 2021-05-05 17:43:01 -05:00
Scott Lahteine 301ee6c57a Add MKS_LCD12864B 2021-05-05 17:03:08 -05:00
Scott Lahteine fccfcfbe5f Cleanup, hex formatting, includes 2021-05-05 08:04:04 -05:00
thinkyhead f3f82f56bf [cron] Bump distribution date (2021-05-05) 2021-05-05 00:57:34 +00:00
Scott Lahteine 9405a5e443 Fix flush_and_request_resend 2021-05-04 01:47:42 -05:00
Vert f4f41d01bf UMW follow-up (#21791) 2021-05-03 21:07:57 -05:00
Scott Lahteine dfc906930c Pause and PLR refinements
- Move `pause_print` argument `unload_length` after `show_lcd` so it's next to `DXC_ARGS`.
- Tweak the position and conditions of PLR save in `resume_print`.
- Add `Nozzle::park_mode_0_height` accessor to get the raised Z height.
- Remove extraneous `recovery.save` from `dwin.cpp`.
- Move PLR `info.volumetric...` to `flag`.
- Remove some G-code spaces in PLR code
- Document `pause.h` function declarations.
2021-05-03 20:55:05 -05:00
Scott Lahteine 01825d883e Apply SBI/CBI/TEST in HAL 2021-05-03 20:23:14 -05:00
thinkyhead 65b1139d93 [cron] Bump distribution date (2021-05-04) 2021-05-04 00:59:46 +00:00
Victor Oliveira dc18769010 Prevent watchdog reset in setup() (#21776)
Cause `manage_heaters` to only reset the watchdog and return until `setup()` is completed.

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-02 21:37:54 -05:00
Scott Lahteine 9dd884a324 Drop early_safe_delay 2021-05-02 21:32:42 -05:00
Scott Lahteine becdac19ea Temperature cleanup 2021-05-02 21:32:21 -05:00
thinkyhead eaa64967b5 [cron] Bump distribution date (2021-05-03) 2021-05-03 01:04:25 +00:00
Victor Oliveira fb2bfe1cef Fix bad DELTA probe move (#21781) 2021-05-02 17:05:15 -05:00
Vert cb5e6bfef6 UBL Mesh Wizard (#21556)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-02 16:38:55 -05:00
Scott Lahteine 30c299fd26 Fix parser temperature rounding 2021-05-02 16:07:27 -05:00
Victor Oliveira ae06ee24c5 Fix bad call to 'diskIODriver' (#21775) 2021-05-02 16:06:44 -05:00
Scott Lahteine fbc7a3775a SOFT_RESET_VIA_SERIAL sanity-check 2021-05-02 03:02:24 -05:00
Ken Sanislo 78de32e552 Allow Creality V4 SERVO0 and PROBE pin overrides (#21770) 2021-05-02 02:09:23 -05:00
Elton Law 661395a3b2 Allow disable of POWER_TIMEOUT (#21771)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-02 02:06:55 -05:00
Scott Lahteine 257ae51275 Use ststm32@~12.1 2021-05-01 21:15:12 -05:00
vyacheslav-shubin 46eb12da51 ExtUI event for PID tuning start (#21734) 2021-05-01 20:28:49 -05:00
thinkyhead 4d544e35e3 [cron] Bump distribution date (2021-05-02) 2021-05-02 01:16:57 +00:00
Scott Lahteine 95a5d63622 Air Assist tests 2021-05-01 20:10:16 -05:00
Scott Lahteine ffbf7a9141 Fix undefined abl_points 2021-05-01 20:07:20 -05:00
Scott Lahteine a95a21a353 Define 'filelist' for dgus/origin 2021-05-01 20:07:20 -05:00
Mike La Spina 741e3c1280 Laser Cutter Air Assist (#21753) 2021-05-01 19:59:45 -05:00
ellensp 9d43570ada Add missing ExtUI method (#21763)
Fixes #21761
2021-05-01 19:42:38 -05:00
Sebastiaan Dammann b356b44849 Fix Z raise in filament load M701 (#21762)
Fixes #21750
2021-05-01 19:38:31 -05:00
tobuh 05c25b8cdb Fix Power-Loss Save on Pause (#21749) 2021-05-01 03:46:26 -05:00
hartmannathan eddce4182b Comment correction (#21729) 2021-05-01 03:43:32 -05:00
ellensp ef9ca61039 Fix Singlenozzle Standby issues (#21759)
Fixes #21758

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-01 03:21:18 -05:00
ellensp 8c912d7ece Fix SDCARD_CONNECTION default for BTT SKR (#21755) 2021-04-30 23:15:16 -05:00
thinkyhead ff41bf5be8 [cron] Bump distribution date (2021-05-01) 2021-05-01 01:04:09 +00:00
Scott Lahteine 2f537768bc MKS Robin flash address 2021-04-30 08:30:41 -05:00
Nikolay March 68c010f82a Sanity-check for COREnn backlash (#21731) 2021-04-30 04:45:43 -05:00
lujios 4e4c3ef8fc Fix compile with DISTINCT_E_FACTORS + SLIM_LCD_MENUS (#21733)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-30 04:38:30 -05:00
Scott Lahteine e4f60f82a4 Heater error status 2021-04-30 03:24:57 -05:00
Keith Bennett f58b923fd4 Fix BTT E3 RRF and SKR V2 (Generic PIO) (#21741)
Follow-up to #21655
2021-04-30 03:07:18 -05:00
David cfdfd16779 Fix Thermal Runaway false-alarm in M303, add HeaterWatch::check (#21743)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-30 01:51:26 -05:00
Scott Lahteine 636facf40d Silence warning in gcode_D 2021-04-29 21:13:54 -05:00
thinkyhead b5fac1ac95 [cron] Bump distribution date (2021-04-30) 2021-04-30 00:24:56 +00:00
thinkyhead 082fce5e3e [cron] Bump distribution date (2021-04-29) 2021-04-29 00:34:04 +00:00
David 2e0a1f1aff Color UI Move Screen for 320x240 TFT (#21708) 2021-04-28 04:08:21 -05:00
thinkyhead f7f88b7187 [cron] Bump distribution date (2021-04-28) 2021-04-28 00:34:25 +00:00
Keith Bennett f04b2a9390 Clean up TFT comments (#21723) 2021-04-27 19:21:13 -05:00
Keith Bennett 516fe131be BTT SKR V2 probe and chamber pins (#21717) 2021-04-27 07:16:19 -05:00
Scott Lahteine ee016e605c Rename, clean up boards/variants (#21655)
* Consolidate variant scripts
* Rename Marlin-local boards
* Simplify variants where possible
* Rename variants
* CHITU_F103 and MEEB_3DP: Maple platform `platformio-build-stm32f1.py` uses the 'board' name, not 'board_build.variant' so folder names match 'board' and not `board_build.variant`.
2021-04-27 04:49:21 -05:00
Keith Bennett 69d85cce2d BTT SKR V2.0 / Stepper Driver Anti-Reverse Protection (#21503) 2021-04-27 02:22:09 -05:00
Adrian DC fe7f5ca7f4 Fix E3V2 Advanced Settings with PLR off (#21700)
Fixes #21534
2021-04-26 23:42:28 -05:00
Marcio T 9c7344487a FTDI EVE Touch UI fixes (#21706) 2021-04-26 23:40:59 -05:00
ellensp 5f9aac2027 Use temp_info_t for temp_redundant (#21715)
Fixes #21712

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-26 23:36:39 -05:00
thinkyhead 43fc1bd21c [cron] Bump distribution date (2021-04-27) 2021-04-27 00:35:59 +00:00
Victor Oliveira a981c33bad Remove compiler flag merge-constants (#21711) 2021-04-26 19:30:34 -05:00
Sebastiaan Dammann 36ec7ab150 Make Cancel Objects reporting optional (#21698) 2021-04-26 18:32:13 -05:00
hartmannathan 5301ec618b typo (#21710) 2021-04-26 18:30:26 -05:00
Vert a0a24e9380 Help users confused by "bed size" (#21714) 2021-04-26 18:23:00 -05:00
Keith Bennett 40d789ce18 Fix "continuous" typo (#21701) 2021-04-25 23:34:42 -05:00
Scott Lahteine 641bca87bc Prettier output from opt scripts (#21707) 2021-04-25 23:33:52 -05:00
Vert 5ad473fc62 Fix relocated LiquidCrystal library (#21699)
Followup to 770e539859
2021-04-25 20:55:15 -05:00
thinkyhead 7aeb6b5200 [cron] Bump distribution date (2021-04-26) 2021-04-26 00:36:31 +00:00
Scott Lahteine e250f6a275 whitespace 2021-04-25 17:17:33 -05:00
Scott Lahteine e59192b9ea Fix HMI_HomeOffN axis
Followup to #21534
2021-04-25 04:15:13 -05:00
pinchies a1ee5124d3 Fix usage, commentary of MANUAL_PROBE_START_Z, Z_AFTER_PROBING (#21692)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-25 03:48:20 -05:00
thinkyhead a280077820 [cron] Bump distribution date (2021-04-25) 2021-04-25 00:36:37 +00:00
Miguel Risco-Castillo 13f3ccb85d E3V2 DWIN Advanced Settings (#21534)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-24 18:50:44 -05:00
Scott Lahteine 770e539859 Use Adafruit LiquidCrystal 2021-04-24 15:41:01 -05:00
Scott Lahteine 993f9f3efd Remove extra platform_packages line 2021-04-24 15:23:28 -05:00
Scott Lahteine f3c7b61f29 Add INO to .editorconfig 2021-04-24 15:23:28 -05:00
Vert 3b8f83a5ae Sanity check MIXING_EXTRUDER + DISTINCT_E_FACTORS (#21689) 2021-04-24 05:35:02 -05:00
Scott Lahteine 836c4e0198 Drop Deviot workaround 2021-04-24 05:28:50 -05:00
Scott Lahteine dfcccb63a1 Use temperature accessors 2021-04-24 05:20:55 -05:00
Nikolay March 6f5800bd74 Backlash Compensation for COREnn (#21612)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-24 04:38:00 -05:00
fedetony d3a2c6a0b4 Soft Reset via Serial or post-kill button click (#21652)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-24 02:53:52 -05:00
Ramiro Polla 7a8e3cc258 Avoid + 0.0f in menu items (#21642) 2021-04-24 02:52:34 -05:00
Malderin e7f26cabfe Fix Bed Tramming 5th point (#21646) 2021-04-24 02:42:44 -05:00
Scott Lahteine a29aefc9c0 Move last bootscreen delay to end of setup (#21665) 2021-04-24 01:29:30 -05:00
Ryan Finnie a73dce4a56 Clean up / improve generate_version script (#21674) 2021-04-24 01:26:17 -05:00
vyacheslav-shubin f424da498a ExtUI::onPostprocessSettings (#21683) 2021-04-24 01:16:14 -05:00
Sebastiaan Dammann 8b5e7429d7 Prevent extrusion on M600 un-park (#21670)
Fixes #21669
2021-04-24 01:01:17 -05:00
unknownlamer 5dfe28db2a MCP4451 Digipot Support for Azteeg X5 GT (#21680) 2021-04-24 00:59:31 -05:00
ellensp 949d2d9e50 Fix MP_SCARA compile (#21686) 2021-04-24 00:11:11 -05:00
Jim Hyslop 0fe30d14a8 Don't display service prompt unless needed (#21654) 2021-04-24 00:09:51 -05:00
Victor Oliveira 46f272b669 Fix Celsius precision, current temp accessors (#21678) 2021-04-23 20:29:15 -05:00
Scott Lahteine c4620bb528 Add whole-degree accessors, simplify some temperature-related features (#21685) 2021-04-23 20:19:23 -05:00
thinkyhead 384e09aa7c [cron] Bump distribution date (2021-04-24) 2021-04-24 00:54:41 +00:00
Scott Lahteine 54ad22a455 Let compiler do Temperature inlining 2021-04-23 19:40:46 -05:00
Scott Lahteine 3bddbb1110 Clean up formatting, wrap macros 2021-04-23 19:21:39 -05:00
Scott Lahteine 72e3d2492f Update temperature types 2021-04-23 19:20:11 -05:00
Scott Lahteine 51a61c5431 Nextion cleanup 2021-04-23 19:15:22 -05:00
Scott Lahteine 4e10f46899 Use configured temp window for Chiron 2021-04-23 19:10:32 -05:00
thinkyhead a729cdcfdd [cron] Bump distribution date (2021-04-23) 2021-04-23 00:34:45 +00:00
BigTreeTech a58276c4c1 Enable Purge More / Resume with EP + Host Prompt (#21671)
Co-authored-by: Msq001 <alansayyeah@gmail.com>
2021-04-22 18:43:28 -05:00
Mike La Spina f075dd0db3 M10-M11 Air Evacuation for Spindle/Laser (#21668)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-22 18:19:41 -05:00
thinkyhead 4d34d16bd8 [cron] Bump distribution date (2021-04-22) 2021-04-22 00:41:44 +00:00
Scott Lahteine 57d0f0ce2e Fix Chiron typos, file nav 2021-04-21 15:28:50 -05:00
thinkyhead 778b8a45e9 [cron] Bump distribution date (2021-04-21) 2021-04-21 00:34:13 +00:00
Scott Lahteine 3c46a4062e Fix mfconfig 'copying' message 2021-04-20 16:36:19 -05:00
Axel Sepúlveda 2a7ba427dd Fix Grand Central SD dependency (#21660)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-20 05:14:21 -05:00
Scott Lahteine d87a71bd04 Extra dependency script logging 2021-04-20 05:11:43 -05:00
Scott Lahteine 6bb10b1898 Changes supporting "Prussia3D" MK3 (#21617) 2021-04-20 00:44:19 -05:00
Scott Lahteine f52351d116 Update mftest help 2021-04-20 00:32:51 -05:00
thinkyhead 7d72004742 [cron] Bump distribution date (2021-04-20) 2021-04-20 00:34:39 +00:00
Scott Lahteine 09de17fb59 Trigorilla Pro: Allow for swapped Z-stops 2021-04-19 13:30:21 -05:00
Scott Lahteine 2c2984fd29 Update realtime, DLP comments 2021-04-19 00:07:57 -05:00
Nick d5143c2c15 Support new style Anycubic Chiron TFT (#21597) 2021-04-18 23:04:38 -05:00
Scott Lahteine 59fd6428ae Skip preflight checks only (#21658)
Followup to e8af38cc2d
2021-04-18 22:46:43 -05:00
thinkyhead 07c5a4fa04 [cron] Bump distribution date (2021-04-19) 2021-04-19 00:34:55 +00:00
Scott Lahteine 550a806d77 More detailed serial config error 2021-04-18 18:24:58 -05:00
Scott Lahteine dc6c977766 Fix CHDK warning 2021-04-18 17:13:35 -05:00
Scott Lahteine 86397df32d BTT E3 RRF Support 2021-04-18 15:55:04 -05:00
Scott Lahteine 8e60b19662 Disable assert() by default 2021-04-18 15:55:04 -05:00
Scott Lahteine c508c2213e Misc. pio cleanup 2021-04-18 15:55:04 -05:00
thinkyhead 5d8727a59c [cron] Bump distribution date (2021-04-18) 2021-04-18 00:34:57 +00:00
Scott Lahteine e8af38cc2d Skip scripts during 'platformio init' (#21643) 2021-04-17 14:19:33 -05:00
fedetony b8cf818dac Fix Realtime Reporting with G-code Motion Modes (#21630) 2021-04-17 03:54:43 -05:00
Scott Lahteine bca4652c5e Leave Hybrid Threshold as-is for now
Reverting 253ee0c407
2021-04-17 02:03:16 -05:00
thinkyhead 3c4308b7b6 [cron] Bump distribution date (2021-04-17) 2021-04-17 00:33:21 +00:00
Scott Lahteine 464b2242e2 Better chopper defaults 2021-04-16 09:30:39 -05:00
MangaValk 553487cc8a Tool sensors (#17239) 2021-04-16 08:02:31 -05:00
Scott Lahteine 73f6426114 Use itoa for sprintf int 2021-04-16 05:14:37 -05:00
Scott Lahteine 07cac80fb0 Drop extraneous inlines 2021-04-16 05:03:46 -05:00
Scott Lahteine 253ee0c407 Init pwm_thrs to 0 when HYBRID_THRESHOLD is off (#21623) 2021-04-16 04:04:07 -05:00
Luca Zimmermann 2d1d628340 Always swap with PRIME_FIRST_USED disabled (#21622) 2021-04-16 04:01:50 -05:00
Scott Lahteine c6c6c56186 SDIO cleanup 2021-04-16 03:16:44 -05:00
Scott Lahteine 528b9bd872 Revert experimental NAN patch
Hold changes from #21575 (24a095c) for more testing.
2021-04-16 02:43:59 -05:00
fedetony 32dba5e0c7 Realtime Reporting, S000, P000, R000 (#19330) 2021-04-16 01:59:28 -05:00
Scott Lahteine 58cc4b7043 Use celsius_t for temperature accessors 2021-04-15 20:18:20 -05:00
thinkyhead 795253a9d5 [cron] Bump distribution date (2021-04-16) 2021-04-16 00:32:47 +00:00
Sola 3cdf363cce Fix MKS H43 compile (#21619) 2021-04-15 04:45:30 -05:00
Andrea 63673d3ce0 Fix Custom Menu audio and return (#21616) 2021-04-15 04:37:37 -05:00
thinkyhead 2d8ee3a496 [cron] Bump distribution date (2021-04-15) 2021-04-15 00:34:28 +00:00
Scott Lahteine 0561d5bea3 Add E1 for RAMPS 1.4.4 / AGC 2021-04-14 05:55:14 -05:00
XDA-Bam cc5297d637 Space-separate scrolling Status Message (#21523)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-14 04:42:04 -05:00
Scott Lahteine 1595fdb54b Use sq 2021-04-13 23:25:25 -05:00
Scott Lahteine d705a5b45e Fix long acceleration overflow 2021-04-13 23:25:25 -05:00
Scott Lahteine 0e9836649e Misc. formatting, serial out 2021-04-13 21:41:04 -05:00
thinkyhead 4849d313fd [cron] Bump distribution date (2021-04-14) 2021-04-14 00:32:34 +00:00
Marcio T 3ec5cd312b Enhance and fix FTDI Eve Touch UI (#21607) 2021-04-13 18:31:12 -05:00
Victor Oliveira 138340ee99 Multi-Volume. Select Media for LVGL (#21344) 2021-04-13 17:34:19 -05:00
gmarsh a5f0075a60 Fix and improve Power Monitor (#21551) 2021-04-13 15:17:52 -05:00
Scott Lahteine 84c79d7531 Followup to sprintf cleanup 2021-04-13 15:07:25 -05:00
Scott Lahteine fd99ea09ec Add fan percent accessors 2021-04-13 04:00:39 -05:00
Scott Lahteine 4e314ef6d4 More MKS UI sprintf 2021-04-13 03:53:50 -05:00
Veisen 776c1e66db Fix ANYCUBIC_LCD_I3MEGA compile (#21585) 2021-04-13 03:09:21 -05:00
Scott Lahteine e0ed57db67 Remove extraneous MKS UI sprintf 2021-04-12 23:40:32 -05:00
pinchies 41eb5813e0 Fix Flash size (512KB) for STM32F103ZE (#21590) 2021-04-12 21:14:34 -05:00
ellensp 5fb3ee6101 Fix Max Temperature not enforced (#21592) 2021-04-12 21:02:55 -05:00
Scott Lahteine 3517fbdcbd Blocking move followup 2021-04-12 20:58:43 -05:00
Giuliano Zaro 7f56538602 Chamber Fan mode 3 (#21594) 2021-04-12 20:28:13 -05:00
Scott Lahteine 4044ed8783 Add 'blocking move' comments 2021-04-12 20:15:41 -05:00
espr14 a5d6f6ac98 Fix Resume Print with UBL (#21564)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-12 20:10:21 -05:00
thinkyhead 41c55a30cd [cron] Bump distribution date (2021-04-13) 2021-04-13 00:45:21 +00:00
Scott Lahteine 4a1d2d816c Update old-style axis indexes 2021-04-12 19:34:31 -05:00
Mike La Spina 1e357b3c74 Tweak cooler / flowmeter icons (#21573) 2021-04-12 17:52:18 -05:00
Ramiro Polla f69da7d00d Add 'jump relaxing' compile flag to AVR targets (#21566) 2021-04-12 17:39:22 -05:00
Scott Lahteine 24a095c5c1 Reduce math library code size by 3.4KB (#21575) 2021-04-12 16:49:53 -05:00
thinkyhead 1742fb8655 [cron] Bump distribution date (2021-04-12) 2021-04-12 00:36:20 +00:00
Malderin 76cc736755 MKS LVGL UI: Fix icon layout (#21595) 2021-04-11 16:32:28 -05:00
Scott Lahteine c35e271dba Clean up, update some variants 2021-04-10 21:19:32 -05:00
Scott Lahteine 6ab7baa413 tick() => isr() to spotlight interrupt-time 2021-04-10 19:53:43 -05:00
thinkyhead 1114bdbb04 [cron] Bump distribution date (2021-04-11) 2021-04-11 00:37:24 +00:00
Scott Lahteine f86423972f EXP2_01_PIN for BTT BTT002 1.0 2021-04-10 18:28:13 -05:00
ellensp 62f992af23 Followup to "no status for serial::write" (#21577) 2021-04-10 15:35:45 -05:00
BigTreeTech 37e671612e Fix M114 E / R broken by LIN_ADVANCE (#21579) 2021-04-10 03:44:36 -05:00
thinkyhead 3b3a3fa845 [cron] Bump distribution date (2021-04-10) 2021-04-10 00:34:56 +00:00
Sola 4cba40f9fd Fix manual move with MKS H43 (#21511)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-09 15:29:59 -05:00
Ramiro Polla 8048d1411f Drop return value from Serial::write() (#21567) 2021-04-08 21:05:31 -05:00
Ramiro Polla 1a2cbe100c Macros to eliminate 'f + 0.0' (#21568) 2021-04-08 21:03:34 -05:00
ellensp 19320a1f8f Check for old Marlin files mixed in (#21574) 2021-04-08 20:36:48 -05:00
Victor Oliveira 7124326808 Delay U8glib init using U8glib-HAL 0.4.4 (#21496)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-08 20:35:21 -05:00
thinkyhead ecd5ae890f [cron] Bump distribution date (2021-04-09) 2021-04-09 00:32:51 +00:00
thinkyhead aa2601bb9e [cron] Bump distribution date (2021-04-08) 2021-04-08 00:37:38 +00:00
Scott Lahteine 1879eede0d Fix axis char printing 2021-04-07 15:43:57 -05:00
ellensp facbbba789 Sanity Check newer Configs too (#21550)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-07 15:02:09 -05:00
Radim Karniš d61bc2d136 Park Magnetic Switching Toolhead at the very end (#21552) 2021-04-07 14:41:38 -05:00
thinkyhead 5ab220fa76 [cron] Bump distribution date (2021-04-07) 2021-04-07 00:34:41 +00:00
BigTreeTech b483a8d652 BTT SKR-SE-BX (STM32H743IIT6 ARM Cortex M7) and BIQU_BX_TFT70 (#21536) 2021-04-05 21:40:50 -05:00
Scott Lahteine ed14731146 getHighESpeed => autotemp_task 2021-04-05 21:27:05 -05:00
Malderin 746eae15f3 Cast celsius to int for MKS LVGL UI (#21502) 2021-04-05 20:55:00 -05:00
Victor Oliveira 121b606f9c Fix Rumba32 variant for Marlin (#21497) 2021-04-05 20:46:21 -05:00
Malderin 61af08d499 MKS LVGL UI: Display/edit fan percentage (#21544)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-05 20:39:57 -05:00
thinkyhead a6105ef37f [cron] Bump distribution date (2021-04-06) 2021-04-06 00:35:12 +00:00
Mike La Spina 993609b5aa Make DELAY_NS round up on AVR (#21546) 2021-04-05 16:34:31 -05:00
Scott Lahteine e3116eed2e write_command changes input 2021-04-05 15:34:51 -05:00
Scott Lahteine 98d6c751d3 Fix CardReader string args 2021-04-04 23:52:11 -05:00
thinkyhead 9165749321 [cron] Bump distribution date (2021-04-05) 2021-04-05 00:36:21 +00:00
Marcio T 75b790376d Touch UI Bed Mesh Screen refactor, enhancements (#21521)
- Split mesh view and edit screen into two screens
- The editor now live-updates the graphics
- Added Touch UI mesh progress feedback to `G26`
- Show positive / negative mesh values in different colors
2021-04-04 18:58:03 -05:00
vyacheslav-shubin 8da8bf7e87 Fix FAT delete of items with long name (#21528) 2021-04-04 18:52:16 -05:00
Scott Lahteine 8b6718c632 misc. pointer formatting 2021-04-04 18:08:13 -05:00
InsanityAutomation 98b2b45264 Revert "Optimized string-to-number functions" (#21532)
This reverts #21484
2021-04-04 17:35:58 -05:00
InsanityAutomation c4b69fcddd Fix Hotend-abort-on-idle Check (#21535) 2021-04-04 16:55:34 -05:00
Giuliano Zaro a628559258 Update Italian language (#21537) 2021-04-04 16:45:56 -05:00
Scott Lahteine 895e40190b Suppress redundant serial errors 2021-04-03 20:33:11 -05:00
thinkyhead c442485137 [cron] Bump distribution date (2021-04-04) 2021-04-04 00:35:49 +00:00
thinkyhead dd76a50683 [cron] Bump distribution date (2021-04-03) 2021-04-03 00:33:51 +00:00
XDA-Bam 9d0e82788a Update u8g / AVR display timing defaults (#21518) 2021-04-02 19:11:22 -05:00
Vert d0d5003f45 GT2560 V3 followup (#21512) 2021-04-02 19:06:43 -05:00
Scott Lahteine c2b72c0e73 Remove extraneous 'extern' hints (#21516) 2021-04-02 14:22:43 -05:00
Scott Lahteine 9d0b6c5730 Requiring PIO >= 5.0.3 2021-04-01 21:54:51 -05:00
Scott Lahteine 3229100025 Split up platformio.ini (#21507) 2021-04-01 21:53:19 -05:00
thinkyhead 0dde8f8968 [cron] Bump distribution date (2021-04-02) 2021-04-02 01:13:58 +00:00
Mike La Spina 235ba92602 Followup to Laser Flow Meter (#21498) 2021-04-01 19:29:49 -05:00
Sola 6747d350a5 MKS H43 fix, cleanup (#21500)
Followup to #21485
2021-04-01 19:19:22 -05:00
Marcio T 45c1432946 G26 Hilbert Curve followup (#21480) 2021-04-01 19:12:00 -05:00
Vert 05b39623b0 Board IDs for G2560 Rev B, G2560 v4, GTM32 VD (#21499) 2021-04-01 18:05:02 -05:00
Scott Lahteine 62f37669dc Replace 'const float &' with 'const_float_t' (#21505) 2021-04-01 17:59:57 -05:00
thinkyhead 600ef1e47c [cron] Bump distribution date (2021-04-01) 2021-04-01 00:34:23 +00:00
Sola 4d17613050 MKS H43 fix, cleanup (#21485)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-31 02:34:17 -05:00
Scott Lahteine bfdd1f4662 Update UBL param 2021-03-30 23:58:32 -05:00
Scott Lahteine be775ed72d Move apply_rotation_xyz into matrix_3x3 2021-03-30 23:58:32 -05:00
Scott Lahteine 8d083eb248 Put ABL state into a class 2021-03-30 23:58:32 -05:00
Marcio T 7573524a14 FTDI Touch UI fix and reorganize (#21487) 2021-03-30 21:23:43 -05:00
Ramiro Polla 20d2061f22 Optimized string-to-number functions (#21484) 2021-03-30 21:20:33 -05:00
Marco van Wieringen df297b6ca3 Fix FYSETC_S6 heaters pins (#21483)
When adding support FYSETC Spider board the S6 pins file was broken.
2021-03-30 20:11:33 -05:00
thinkyhead 6175802693 [cron] Bump distribution date (2021-03-31) 2021-03-31 00:29:24 +00:00
Scott Lahteine 0f23090545 Serial flags followup
Followup to #21318
2021-03-29 22:38:33 -05:00
Scott Lahteine f43b250ed2 Adjust microsteps alignment 2021-03-29 21:54:32 -05:00
Victor Oliveira 6e0b79a33b Fix and add STM32 SDIO DMA (#21476) 2021-03-29 21:52:30 -05:00
X-Ryl669 139c149486 Flags for MarlinSerial instance features (#21318) 2021-03-29 21:36:01 -05:00
Giuliano Zaro 3f7cd45df4 Generalize MMU (#21469) 2021-03-29 21:14:11 -05:00
Ste c298095000 Align temp settings (#21329) 2021-03-29 21:07:21 -05:00
Ramiro Polla d30b5481f5 Optimize BLTouch code for size (#21477) 2021-03-29 20:56:44 -05:00
Scott Lahteine f587a4e3f3 Improve uncrust script 2021-03-29 20:44:20 -05:00
Scott Lahteine 3b73b115ca Apply pointer formatting 2021-03-29 20:36:37 -05:00
thinkyhead 71e789943e [cron] Bump distribution date (2021-03-30) 2021-03-30 00:32:47 +00:00
ellensp 1caf8a1f5b GT2560 Rev.A Plus Z Max Pin with BLTouch (#21375) 2021-03-29 04:43:07 -05:00
George Fu 1d3f28da2e FYSETC Spider board (#21458) 2021-03-29 04:38:28 -05:00
Scott Lahteine 86ba0cde35 reduced verbiage 2021-03-29 03:33:19 -05:00
Malderin a335cf2edf Fix MKS LVGL UI Main screen / print buttons (#21468) 2021-03-29 03:19:38 -05:00
Scott Lahteine 33ccf1b931 Adjust mfconfig script 2021-03-29 01:49:35 -05:00
Mike La Spina ccdbffbf3f Laser Coolant Flow Meter / Safety Shutdown (#21431)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-29 01:41:56 -05:00
thinkyhead 8f509b0ae0 [cron] Bump distribution date (2021-03-29) 2021-03-29 00:45:48 +00:00
Vert 001c77d1f7 YHCB2004 pins followup (#21472) 2021-03-28 19:27:02 -05:00
Marcio T c45b91aa94 Refactor Hilbert curve. Enhance Touch UI Bed Level Screen. (#21453) 2021-03-27 22:57:12 -05:00
thinkyhead 5d0e6c21aa [cron] Bump distribution date (2021-03-28) 2021-03-28 00:34:16 +00:00
thinkyhead 5991836e1f [cron] Bump distribution date (2021-03-27) 2021-03-27 00:32:48 +00:00
Leoric 532df198da MKS UI: Monitor state when idle (#21452)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-26 15:41:55 -05:00
Vert 241d2e3fa3 Fix for YHCB2004 (#21450) 2021-03-25 20:44:35 -05:00
thinkyhead c55d53daa6 [cron] Bump distribution date (2021-03-26) 2021-03-26 00:31:14 +00:00
Tomas Rimkus 8a67846872 Avoid watchdog reset in all wired EEPROMs (#21436)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-25 19:16:45 -05:00
Scott Lahteine 704b8cd83c Apply TMC UART to STM32, simplify 2021-03-25 16:53:05 -05:00
Scott Lahteine 84b961cb20 Define HW serial ports needed for TMC UART (#21446) 2021-03-25 16:19:03 -05:00
Ramiro Polla 8bf6b190ff Optimize LSF for size, efficiency (#21443) 2021-03-24 22:56:48 -05:00
ldursw 69c6ffa90b Followup to SDIO patch (#21440) 2021-03-24 22:40:48 -05:00
espr14 e989bf3b0e Endstops always on in G28 (#21441) 2021-03-24 22:39:29 -05:00
espr14 cfdeab70cd Endstops always on after delta homing (#21442) 2021-03-24 22:39:10 -05:00
MarlinFirmware de1161536b [cron] Bump distribution date (2021-03-25) 2021-03-25 00:27:01 +00:00
Scott Lahteine 589bb921ae Tweak disabled variant options 2021-03-24 12:23:10 -05:00
Scott Lahteine b59a4331fa Update common-cxxflags.py comment 2021-03-24 12:23:10 -05:00
Scott Lahteine 832059967c Comment, clean up some PlatformIO scripts 2021-03-24 12:23:10 -05:00
Martijn Bosgraaf 30e7e2c276 Extend M106/M107 for better laser module support (#16082)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-24 12:21:11 -05:00
Bryan Hunwardsen 3ae892bf91 SKR E3 Mini V2.0 Fan Bug Fix (#21079)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-24 12:05:46 -05:00
Miguel Risco-Castillo 930752d46e Ender 3 V2 Status Line (#21369)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-24 10:12:57 -05:00
ldursw d172c71376 Fix SDIO buffer alignment (#21396) 2021-03-24 09:30:19 -05:00
kpishere fd8207dd9a Misc build fixes (#21413)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-24 09:14:11 -05:00
Ramiro Polla e7596d92c7 Update Anet V1.0 display timing (#21425) 2021-03-24 07:45:43 -05:00
Ramiro Polla 3ced55aa93 Optimize MarlinSettings with template methods (#21426) 2021-03-24 07:32:08 -05:00
Scott Lahteine 2d2291d00e More IntelliSense-friendly declarations 2021-03-24 05:50:47 -05:00
Scott Lahteine da4b6896f7 Group UBL parameters, add comments 2021-03-24 05:50:47 -05:00
Scott Lahteine 8fca37f373 Misc LCD cleanup 2021-03-24 05:50:47 -05:00
Scott Lahteine 155dea6f14 Tweak mf helper scripts 2021-03-24 04:15:25 -05:00
Scott Lahteine e5ff55a1be Add typedef celsius_t (#21374) 2021-03-24 04:11:43 -05:00
MarlinFirmware 07c24e72ac [cron] Bump distribution date (2021-03-24) 2021-03-24 00:13:49 +00:00
Scott Lahteine a8ea6e6463 Max temp/target followup 2021-03-23 10:56:10 -05:00
Scott Lahteine 58f0330d3f MKS / E3V2 LCD code cleanup 2021-03-23 10:46:54 -05:00
Scott Lahteine f7aaa2e1c7 Add typedef extra_fan_t 2021-03-23 09:39:44 -05:00
Scott Lahteine cfa6c7d45b Improve max temp / target 2021-03-23 09:39:09 -05:00
borland1 df1ef496d1 Main / Config Custom Submenus (#18177)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-23 08:21:11 -05:00
Scott Lahteine dd92c8e927 Followup to UBL Hilbert 2021-03-23 05:54:41 -05:00
ellensp 10c14bcc05 Check NOZZLE_CLEAN_FEATURE settings (#21332)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-23 01:47:07 -05:00
Marcio T eee726ec7d UBL - Hilbert space-filling curve probing sequence (#21387) 2021-03-23 01:45:51 -05:00
Scott Lahteine 22fc59ab59 Minor process_subcommands_now followup 2021-03-23 01:03:32 -05:00
mihtjel 50a6ffa952 Fix macros that call macros crashing (#21383)
When macros call macros, the null termination should remain in place until the macro is completed, and only then put back. Otherwise, the macro handler interprets this as setting the macro called to a new value.
2021-03-23 01:00:22 -05:00
Sola 2b621eb45d Fix MKS H43 sensorless homing (#21388) 2021-03-23 00:58:52 -05:00
Zs.Antal c44ff3eb3d Update Hungarian language (#21407) 2021-03-23 00:57:50 -05:00
Marcio T 3e7d830f57 Mesh Editor for FTDI Eve Touch UI (#21381) 2021-03-23 00:51:03 -05:00
thinkyhead 26db51fa9d [cron] Bump distribution date (2021-03-23) 2021-03-23 00:13:33 +00:00
thinkyhead fb9502e0fb [cron] Bump distribution date (2021-03-22) 2021-03-22 00:13:40 +00:00
thinkyhead d0ea2b2867 [cron] Bump distribution date (2021-03-21) 2021-03-21 00:14:12 +00:00
thinkyhead 5573d98ecc [cron] Bump distribution date (2021-03-20) 2021-03-20 00:13:15 +00:00
Scott Lahteine 38b44e3fc9 HAL eeprom cleanup 2021-03-19 04:51:41 -05:00
Scott Lahteine d4ab2024f5 Fix bool++ warning 2021-03-19 04:51:41 -05:00
ellensp 790bba1556 Fix preflight motherboard target check (#21372)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-19 00:05:30 -05:00
Skorpi08 b51aed8aa5 Nextion TFT touch screen (#21324)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-18 20:51:19 -05:00
thinkyhead 1f52112d72 [cron] Bump distribution date (2021-03-19) 2021-03-19 00:13:41 +00:00
Scott Lahteine ad907a51e2 Followup to planner cleanup 2021-03-18 00:11:25 -05:00
Scott Lahteine 6673359d89 Move web-ui out of Marlin root folder 2021-03-17 21:36:30 -05:00
Scott Lahteine 560448afed Revert "Fix small wired EEPROM (#21337)"
Reverting commit cc3e878f90 pending further investigation.
2021-03-17 21:36:30 -05:00
Scott Lahteine deaefbf1dc Minor E3 V2 dwin cleanup 2021-03-17 20:06:16 -05:00
Scott Lahteine 9823a37362 E1+ Autotemp and Planner comments 2021-03-17 20:06:16 -05:00
Scott Lahteine 15bda88d04 Un-pause fans on STOP 2021-03-17 19:25:05 -05:00
Scott Lahteine de73b9b934 Update setup() description 2021-03-17 19:25:05 -05:00
thinkyhead 2fc854eda0 [cron] Bump distribution date (2021-03-18) 2021-03-18 00:15:21 +00:00
Scott Lahteine 60607ed18d mftest: usage with error 2021-03-17 02:39:26 -05:00
thinkyhead 546e56ef3d [cron] Bump distribution date (2021-03-17) 2021-03-17 00:13:28 +00:00
Scott Lahteine dc78e0a250 Detect extra ENVS in preflight checks (#21361) 2021-03-16 17:33:10 -05:00
thinkyhead 5ffa6f3331 [cron] Bump distribution date (2021-03-16) 2021-03-16 00:13:07 +00:00
K.3D 1a23ffd776 KRATOS32 / K.32 board and LCD controllers (#21334) 2021-03-15 11:02:40 -05:00
X-Ryl669 c07f99d5e4 Teensy USB / serial followup (#21316) 2021-03-14 20:23:41 -05:00
thinkyhead ae8be31247 [cron] Bump distribution date (2021-03-15) 2021-03-15 00:13:36 +00:00
Victor Oliveira 4f6910c131 Script to generate Marlin TFT Images (#21340) 2021-03-14 12:14:09 -05:00
X-Ryl669 d787cd3076 Fix build with Meatpack only on 2nd port (#21336)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-14 12:11:11 -05:00
Scott Lahteine cc3e878f90 Fix small wired EEPROM (#21337)
Co-Authored-By: jafal99 <26922965+jafal99@users.noreply.github.com>
2021-03-14 11:43:20 -05:00
XDA-Bam b9b9a3115a Update display timing for SKR Pro (#21346) 2021-03-14 11:42:25 -05:00
thinkyhead 36d3b6aa95 [cron] Bump distribution date (2021-03-14) 2021-03-14 00:13:50 +00:00
InsanityAutomation 911cd1a6d3 Custom menu items confirm option (#21338)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-13 07:37:49 -06:00
Victor Oliveira da84b59ee4 No extra build folder for st/jlink upload (#21341) 2021-03-13 05:01:02 -06:00
thinkyhead 11343bb0ea [cron] Bump distribution date (2021-03-13) 2021-03-13 00:16:55 +00:00
Scott Lahteine 3107d8a0f4 Tweak opt_set, opt_enable 2021-03-12 09:29:48 -06:00
Scott Lahteine 7f1fa0d1ff Add M207/8/9 reporting (#21335) 2021-03-12 09:25:41 -06:00
Scott Lahteine 604c5dedf4 MarlinSerial cleanup 2021-03-12 08:38:52 -06:00
Scott Lahteine 71f2617263 Pause SD queue early on M25 (#21317) 2021-03-12 08:34:22 -06:00
Scott Lahteine 8532c2b9b6 Fix MarlinSerial typo 2021-03-12 07:37:50 -06:00
Scott Lahteine 1affbe2100 Clean up, optimize ExtUI/TFT code (#21333) 2021-03-12 06:54:42 -06:00
X-Ryl669 9dc2712c47 Undef unused 2nd serial option(s) (#21331)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-12 05:25:30 -06:00
Evgeny Z 6e1024737d Lerdge-X I²C EEPROM pins, size (#21322) 2021-03-11 20:12:24 -06:00
thinkyhead 03a41021de [cron] Bump distribution date (2021-03-12) 2021-03-12 00:13:16 +00:00
thinkyhead a73cff8e4f [cron] Bump distribution date (2021-03-11) 2021-03-11 00:13:08 +00:00
ellensp 8857fc6c4b Fix password menu stickiness before first auth (#21295) 2021-03-10 16:02:35 -06:00
Evgeny Z f671e6d138 Lerdge-K TMC 2208/9 UART pins (#21299) 2021-03-10 15:02:29 -06:00
Keith Bennett 4d6ebf95fc Fix LERDGE 'extends' env references (#21305)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-10 14:57:54 -06:00
Cal1sto 8c512191b2 Fix TouchMI stow in G34 (#21291) 2021-03-10 14:37:22 -06:00
X-Ryl669 f147a8990a Fix MeatPack with per-serial-port instances (#21306) 2021-03-10 14:22:20 -06:00
Scott Lahteine 048f6b4731 Tricked-out declaration 2021-03-10 13:45:53 -06:00
Scott Lahteine 9cba3c87ef Update MEATPACK test 2021-03-10 13:45:53 -06:00
Scott Lahteine dbd28eecc9 Number serial from 1 to match settings 2021-03-10 13:45:53 -06:00
Scott Lahteine 2c62886c71 Clean up spaces and words 2021-03-10 13:45:53 -06:00
Scott Lahteine fe0b770033 Fix serial index types 2021-03-10 13:45:53 -06:00
Scott Lahteine b75e682c50 Add binary file transfer test 2021-03-10 13:45:53 -06:00
Victor Mateus Oliveira bb6d718e19 fix meat pack internal buffer for multi serial 2021-03-10 06:55:40 -06:00
thinkyhead 28a136d7f4 [cron] Bump distribution date (2021-03-10) 2021-03-10 00:13:12 +00:00
Chris 10ec5c7f34 Fix LPC + TMC boot loop (#21298) 2021-03-09 17:06:00 -06:00
X-Ryl669 55c31fbe9a Distinguish serial index from mask (#21287) 2021-03-09 03:20:37 -06:00
Victor Oliveira 2f1fd4bbaa Host Keepalive followup (#21290)
Followup to #21283

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-08 20:01:45 -06:00
thinkyhead 18a10c0db1 [cron] Bump distribution date (2021-03-09) 2021-03-09 00:13:12 +00:00
ellensp aad0f517b4 CUSTOM_USER_BUTTONS followup (#21284)
Followup to #18389
2021-03-08 04:14:18 -06:00
Victor Oliveira 1b9ff68f8c Fix Host Keepalive serial target (#21283)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-08 01:11:37 -06:00
ellensp aa054471f2 M303 followup (#21282)
Followup to f2ed18d150
2021-03-07 22:06:33 -06:00
thinkyhead f2ff75f3a2 [cron] Bump distribution date (2021-03-08) 2021-03-08 00:18:19 +00:00
Keith Bennett 5dc8f5cfab Extend Heater Overshoot Options (#21273)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-06 22:55:37 -06:00
ellensp ced1bb9404 Update obsolete debug define (#21276) 2021-03-06 21:43:43 -06:00
thinkyhead 9f14127fd6 [cron] Bump distribution date (2021-03-07) 2021-03-07 00:14:45 +00:00
Mike La Spina b95e548ddb Cooler (for Laser) - M143, M193 (#21255) 2021-03-06 14:13:28 -06:00
Scott Lahteine 87bef13a4c Fix DGUS include paths
Followup to #20609
2021-03-06 10:20:01 -06:00
Sola 72cc5a49e6 MKS H43 fixup (#21267)
Co-authored-by: makerbase <4164049@qq.com>
Co-authored-by: MKS-Sean <56996910+MKS-Sean@users.noreply.github.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-06 09:04:05 -06:00
ellensp a94fa7b476 Fix Creality DWIN - Broken (bool)Serial ? (#21272)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-03-06 07:19:15 -06:00
Scott Lahteine 43b712d42b Pins/tests followup 2021-03-06 06:58:00 -06:00
Keith Bennett 2c5967925f Pins/tests followup (#21268)
Missing commit from #21254
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-06 03:50:26 -06:00
Zs.Antal 4182cf3e9e Update Hungarian language (#21266) 2021-03-06 02:00:10 -06:00
qwewer0 a1796ecace Link to bugfix tree (#21263) 2021-03-06 01:56:43 -06:00
Keith Bennett 3eb8e26174 Tweak/Consolidate followup (#21261) 2021-03-06 01:53:44 -06:00
thinkyhead d05bf563a2 [cron] Bump distribution date (2021-03-06) 2021-03-06 00:12:57 +00:00
Scott Lahteine 3ea56ba4c7 Tweak tests, consolidate pins target validation (#21254) 2021-03-05 04:30:52 -06:00
thinkyhead f56929d0df [cron] Bump distribution date (2021-03-05) 2021-03-05 00:17:19 +00:00
Victor Oliveira 101f09aabd Fix multi-serial CRC error crash (#21249) 2021-03-04 17:39:08 -06:00
Tanguy Pruvot a0d312396a Followup to MP_SCARA/TPARA patches (#21248) 2021-03-04 17:34:38 -06:00
Scott Lahteine 6903a2ffc5 Remove extra G42 2021-03-04 16:36:44 -06:00
Oleksii Zelivianskyi 8dee12ff05 Correct fan pins for MKS Robin Nano v3 (#21238) 2021-03-04 03:33:02 -06:00
Keith Bennett 9299f4e98a SMUFF => SMuFF (#21243) 2021-03-04 03:32:02 -06:00
Scott Lahteine 6225870aa9 Implement G42, after all 2021-03-04 03:28:45 -06:00
Scott Lahteine dad486c01b MK2_MULTIPLEXER dependency 2021-03-04 03:25:48 -06:00
Scott Lahteine 0b7e857614 Update some py scripts 2021-03-03 20:48:58 -06:00
Scott Lahteine 431f6bf3a5 Parking Extruder solenoid fix/cleanup 2021-03-03 20:48:33 -06:00
Scott Lahteine 9372aa99af Fix teensy35 tests 2021-03-03 20:48:33 -06:00
thinkyhead 81c29ecc7e [cron] Bump distribution date (2021-03-04) 2021-03-04 00:17:17 +00:00
Scott Lahteine dd388aedfd TPARA followup 2021-03-03 17:57:24 -06:00
Axel a46e025725 TPARA - 3DOF robot arm IK (#21005)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-03 17:46:32 -06:00
Scott Lahteine fd270ddc6c misc. cleanup 2021-03-03 00:18:50 -06:00
Scott Lahteine 369ffe518d Improve opt_set (etc.) used for tests 2021-03-03 00:18:50 -06:00
Sola 0afa4cc957 Fix MKS H43 compile (#21240) 2021-03-02 20:58:42 -06:00
thinkyhead 872f031405 [cron] Bump distribution date (2021-03-03) 2021-03-03 00:15:08 +00:00
Scott Lahteine 35791c6371 Trust XY after Quiet Probing short sleep (#21237) 2021-03-01 19:39:43 -06:00
thinkyhead 137f70b122 [cron] Bump distribution date (2021-03-02) 2021-03-02 00:11:00 +00:00
Scott Lahteine dfa33082bb Fix some config builds 2021-03-01 09:14:17 -06:00
Scott Lahteine b2bc85f6f6 build_all_examples -c -s, silent mftest 2021-03-01 09:14:05 -06:00
Scott Lahteine 21372c3d4e Better mftest order 2021-03-01 09:13:54 -06:00
MoellerDi 7ee9aefed7 G-code Digital Buttons (#18389)
Co-Authored-By: android444 <24375898+android444@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-01 08:03:41 -06:00
Scott Lahteine 8c9a59c29e Fewer warnings 2021-03-01 06:21:51 -06:00
Scott Lahteine 28404f9e87 POWER_LOSS_ZHOME_POS followup 2021-03-01 06:19:38 -06:00
Nick e66e51fa6d Safe Z homing for Power Loss Recovery (#16909) 2021-03-01 04:23:10 -06:00
Ilya 2b9842e094 Default microsteps to axis first stepper (#21230) 2021-03-01 01:33:07 -06:00
Marcio T f52cba6aff Minor FTDI EVE Touch UI fixes (#21232) 2021-02-28 20:52:59 -06:00
Stephan 713de872ce Filament Runout handling for Mixing Extruder (#20327)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-28 20:16:22 -06:00
Scott Lahteine 1aa421efe5 Filament sensor cleanup 2021-02-28 20:02:24 -06:00
Scott Lahteine dd42831cba Serial macros cleanup 2021-02-28 20:02:24 -06:00
thinkyhead f0b662ff58 [cron] Bump distribution date (2021-03-01) 2021-03-01 00:13:41 +00:00
Roman Moravčík e8ca077f30 Update Slovak language (#21224) 2021-02-28 16:12:27 -06:00
Fabio Viappiani 2328f8b9b8 Fix TERN typo (#21229) 2021-02-28 16:09:15 -06:00
Scott Lahteine 680172a084 Tweaks to build scripts 2021-02-27 23:51:56 -06:00
Giuliano Zaro 254b25296b [SAMD51] Respect serial buffer size (#21194) 2021-02-27 22:41:16 -06:00
Scott Lahteine 903d0b91fc Tweaks to build scripts 2021-02-27 22:38:57 -06:00
Scott Lahteine 54ccfcc705 whitespace 2021-02-27 22:34:54 -06:00
ldursw dfacd260bb ST STM32 platform version 12 (#21219) 2021-02-27 22:32:34 -06:00
RudolphRiedel 04b83d50a2 Two additional EVE displays (#18839) 2021-02-27 19:39:32 -06:00
thinkyhead 1236585693 [cron] Bump distribution date (2021-02-28) 2021-02-28 00:13:36 +00:00
Sola c76008bd6a MKS H43 controller (#20609) 2021-02-27 17:35:32 -06:00
LinFor e0aa9ce372 RGB Caselight (#20341) 2021-02-27 16:06:48 -06:00
jbuck2005 ee7701c15b SPEED => FEEDRATE (#21217) 2021-02-27 15:54:43 -06:00
Evgeny Z 6e1c133e33 Apply AUTO_POWER_CONTROL later in setup() (#21193)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-27 13:50:44 -06:00
Kachidoki 969268166e Duplicate fan speed in M106/7 IDEX Duplication Mode (#21208) 2021-02-27 13:45:12 -06:00
Arjan Mels 83a156ef47 Fix M876 when called from EP (#21210) 2021-02-27 13:32:57 -06:00
Giuliano Zaro 6136959a6a [SAMD51] Postmortem Debugging not implemented (#21211) 2021-02-27 13:24:36 -06:00
Giuliano Zaro 4f840c211c [SMUFF] Use EXTRUDERS for extended commands (#21212) 2021-02-27 13:23:00 -06:00
X-Ryl669 db5967472b Fix G-code Queue merge (#21213) 2021-02-27 13:17:21 -06:00
X-Ryl669 e65a84f6ea G-code Queue followup (#21214) 2021-02-27 13:13:04 -06:00
thinkyhead 526924559f [cron] Bump distribution date (2021-02-27) 2021-02-27 00:12:45 +00:00
Alexander D. Kanevskiy 24623d398c Fix preflight complex extend handling (#21191) 2021-02-26 18:03:11 -06:00
X-Ryl669 56462cf082 Make F_CPU a compile-time constant (#21051) 2021-02-26 17:59:28 -06:00
Victor Oliveira f384f81253 Fix GTR / SKR PRO + USB Flash Drive build (#21197) 2021-02-26 17:36:22 -06:00
Victor Oliveira 427b5d61f4 More LERDGE envs followup (#21205) 2021-02-26 17:33:34 -06:00
Fabio Viappiani e27fba0c06 Fix M355 with NEOPIXEL (#21200) 2021-02-26 17:10:50 -06:00
ldursw 7a1ec78563 Init (stow) BLTouch before X/Y homing (#21192) 2021-02-26 17:01:11 -06:00
X-Ryl669 ec42be346d Fix and improve G-code queue (#21122)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-26 16:54:46 -06:00
thinkyhead ccf990a0d7 [cron] Bump distribution date (2021-02-26) 2021-02-26 00:12:56 +00:00
Scott Lahteine fd77251fdd Chamber followup 2021-02-25 10:24:58 -06:00
Vi B-P f7d9305786 Preheat Menu shortcut option (#20350) 2021-02-25 10:23:17 -06:00
swissnorp bcda46e3f3 Combine Z_AFTER_DEACTIVATE with UNKNOWN_Z_NO_RAISE (#20444)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-25 10:09:00 -06:00
Victor Oliveira 7fc75fc482 Zero Endstops followup (#21188) 2021-02-25 09:23:30 -06:00
qwewer0 45fff07a4c Fix LEVEL_CORNERS_USE_PROBE with BLTOUCH_HS_MODE (#21161) 2021-02-25 09:21:17 -06:00
Scott Lahteine 08d54b3d78 Eryone Thinker V2 (#21190)
Co-Authored-By: Bryan Joshua Pedini <b.pedini@bjphoster.com>
2021-02-25 09:16:19 -06:00
Katelyn Schiesser 735c1b6183 PROBING_HEATERS_OFF sub-option WAIT_FOR_HOTEND (#20835) 2021-02-25 08:33:16 -06:00
ellensp bb1039d4c9 Preflight checks for PlatformIO builds (#21068)
Co-authored-by: Alexander D. Kanevskiy <alexander.kanevskiy@intel.com>
2021-02-25 08:15:55 -06:00
Katelyn Schiesser a21d4c06ae Use 'H' value for UBL G29 z-clearance (#21114) 2021-02-25 08:14:24 -06:00
Scott Lahteine 12468f5e9f Tweak case light comment 2021-02-25 05:15:49 -06:00
deirdreobyrne 468e437390 Allow Zero Endstops (e.g., for CNC) (#21120)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-25 04:49:34 -06:00
Tanguy Pruvot d167af4c38 Add BOARD_PREINIT (for Longer3D open drain pins) (#21159) 2021-02-25 04:35:18 -06:00
Scott Lahteine 3061a31c92 Update BLTOUCH_HS_MODE comment 2021-02-25 01:56:47 -06:00
Nick 73e354b7a0 Fix Anycubic Chiron TFT SD menu (#21183) 2021-02-25 01:38:01 -06:00
X-Ryl669 0cc03f912c Let libmaple accept RX/TX_BUFFER_SIZE (#21177) 2021-02-25 01:26:56 -06:00
X-Ryl669 f003e52009 Combined LPC / Serial fixes (#21178)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-25 01:23:29 -06:00
Scott Lahteine 13c4eef637 Expose more env builds in PlatformIO extension 2021-02-25 00:56:15 -06:00
Victor Oliveira d5b06624fb Fix MKS Robin Nano V3 I2C pins (#21174) 2021-02-24 18:36:55 -06:00
Ken Sanislo a3a10b62f2 Chamber Heater PID (#21156)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-24 18:26:51 -06:00
thinkyhead 03160719eb [cron] Bump distribution date (2021-02-25) 2021-02-25 00:12:36 +00:00
Nick b276a7fd17 Fix Chiron TFT serial comms (#21152) 2021-02-23 20:13:24 -06:00
thinkyhead 37e2250992 [cron] Bump distribution date (2021-02-24) 2021-02-24 00:12:40 +00:00
Scott Lahteine bdb8c07bb2 Outdent UBL code 2021-02-23 16:09:54 -06:00
Scott Lahteine 27f9437d31 G92, subcodes flag cleanup 2021-02-23 16:08:00 -06:00
Marcio T ba301fd800 FTDI Touch UI followup (#21167) 2021-02-23 16:03:40 -06:00
thinkyhead 53d7ae4e9b [cron] Bump distribution date (2021-02-23) 2021-02-23 00:12:43 +00:00
thinkyhead 7a027be255 [cron] Bump distribution date (2021-02-22) 2021-02-22 00:12:47 +00:00
Marcio T ece06c26a9 Enhance and fix FTDI Touch UI (#21148) 2021-02-21 04:05:59 -06:00
X-Ryl669 8d28853774 Postmortem Debugging to serial port (#20492) 2021-02-20 20:22:20 -06:00
kpishere fb8b421aac Fix SPI on SMART RAMPS with mega2560 (#21128) 2021-02-20 20:20:55 -06:00
ellensp b3ecede429 Fix G29 missing defines (#21145)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-02-20 20:14:47 -06:00
thinkyhead b8d7925d0d [cron] Bump distribution date (2021-02-21) 2021-02-21 00:13:04 +00:00
thinkyhead 95e0ed2826 [cron] Bump distribution date (2021-02-20) 2021-02-20 00:12:21 +00:00
thinkyhead 11e11b8767 [cron] Bump distribution date (2021-02-19) 2021-02-19 00:12:24 +00:00
espr14 a4c73860a1 Fix cleaning_buffer_counter check (#21115) 2021-02-17 23:22:29 -06:00
thinkyhead 241297b6d6 [cron] Bump distribution date (2021-02-18) 2021-02-18 00:12:54 +00:00
Scott Lahteine 65e24f812f Fixes for MP_SCARA (#21113)
Co-Authored-By: svsergo <52426708+svsergo@users.noreply.github.com>
2021-02-17 17:04:51 -06:00
Vert fd455be55c YHCB2004 followup (#21111) 2021-02-16 21:23:54 -06:00
Scott Lahteine 7e172bf456 Fix IDEX broken endstop test (#21110) 2021-02-16 21:13:53 -06:00
jbuck2005 a211dc03b3 Note FAN2_PIN silkscreen label (#21087) 2021-02-16 20:30:54 -06:00
Vert 490d4a504a GT2560 v4.1B, YHCB2004 SPI character LCD (#21091)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-16 20:29:55 -06:00
ellensp c076a7f7a2 Swap Trigorilla Pro Z_MIN / MAX endstop pins (#21095) 2021-02-16 20:28:03 -06:00
X-Ryl669 7b23f41fd4 Fix/improve configs build script (#21086) 2021-02-16 18:41:00 -06:00
thinkyhead f2b9becd7e [cron] Bump distribution date (2021-02-17) 2021-02-17 00:12:26 +00:00
Allen Bauer f298cde47e BTT002 pins for FYSETC mini12864 (#21096) 2021-02-16 17:35:31 -06:00
ellensp 28fa18874b Fix "BUTTON_CLICK redefined" warning (#21098) 2021-02-16 16:59:38 -06:00
thinkyhead e699f9cbf6 [cron] Bump distribution date (2021-02-16) 2021-02-16 00:12:28 +00:00
jbuck2005 31a434b9d7 Update platform ststm32 to 11.0 (#20928) 2021-02-15 06:03:44 -06:00
X-Ryl669 d86910ce94 Script to download & build Configurations (#20992)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-15 05:48:11 -06:00
ellensp 79ee2fa20a EXP headers for RAMPS 1.x (#21054)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-15 05:15:08 -06:00
Giuliano Zaro 9e0fc44210 Fix MMU2 compile error (#21065) 2021-02-15 04:45:38 -06:00
ellensp 35e9c131d6 Fix remaining time divide-by-zero (#21080) 2021-02-15 04:42:33 -06:00
Steven Haigh e27a2a96a0 E3V2 Status Area followup (#21072) 2021-02-14 18:21:47 -06:00
thinkyhead 29fa369f71 [cron] Bump distribution date (2021-02-15) 2021-02-15 00:12:40 +00:00
InsanityAutomation db82a25177 E3V2 DWIN live movement (#21035) 2021-02-14 16:45:36 -06:00
InsanityAutomation b2f77bb050 Use configuration website, fix edit color 2021-02-14 16:42:56 -06:00
Scott Lahteine d9e79fd728 Fix a board comment 2021-02-14 16:27:21 -06:00
Scott Lahteine 52e8d8db54 anet_et4_openblt.py => openblt.py 2021-02-13 22:05:35 -06:00
Scott Lahteine cbf325a6b8 Coolant Control sanity-checks 2021-02-13 22:05:25 -06:00
Giuliano Zaro 8fd88eee2b Don't create unused Serial Port instances (#21066)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-13 21:04:22 -06:00
Scott Lahteine 98a27bff0d Allow mftest -t to select by number 2021-02-13 19:06:55 -06:00
Scott Lahteine 00985cffea Update helpful links 2021-02-13 19:05:53 -06:00
thinkyhead 0fe1051101 [cron] Bump distribution date (2021-02-14) 2021-02-14 00:12:44 +00:00
Scott Lahteine fd2477923c Minor serial code cleanup 2021-02-12 19:33:19 -06:00
thinkyhead d4fb372899 [cron] Bump distribution date (2021-02-13) 2021-02-13 00:12:10 +00:00
X-Ryl669 ce1ec22704 Use -g3 to include macros in debug symbols (#21052) 2021-02-12 08:33:27 -06:00
X-Ryl669 03789c4d97 Improve Delay test report (#21047) 2021-02-12 07:49:07 -06:00
kpishere e0ca244623 Fix AZSMZ_12864 on SMART RAMPS (#21056) 2021-02-12 05:00:41 -06:00
Jyers 3c41f108df Improved Ender 3 V2 display status area (#20983)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-12 04:55:06 -06:00
kpishere 7069d03ab2 Support SMART RAMPS 1.4 with Mega2560 (#21059) 2021-02-12 04:42:31 -06:00
Scott Lahteine 01215f5015 Ender 3 V2 DWIN cleanup (#21061) 2021-02-12 03:52:21 -06:00
Michael Telatynski 42d00b13df Improve probe preheat behavior (#21033)
Co-authored-by: InsanityAutomation <d.menzel@insanityautomation.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-11 18:32:31 -06:00
thinkyhead 1f21a499d4 [cron] Bump distribution date (2021-02-12) 2021-02-12 00:12:23 +00:00
thinkyhead 274c729fd3 [cron] Bump distribution date (2021-02-11) 2021-02-11 00:12:23 +00:00
Scott Lahteine 9d24ee8daf chmod and paths 2021-02-10 02:57:27 -06:00
thinkyhead dd5e0f724a [cron] Bump distribution date (2021-02-10) 2021-02-10 00:12:10 +00:00
Scott Lahteine 653d73ff07 Reheat bed first 2021-02-08 21:55:48 -06:00
Scott Lahteine 662d81c801 Ender 3 V2 DWIN cleanup (#21026) 2021-02-08 21:27:00 -06:00
Scott Lahteine 187602dfaf Update M808 comment 2021-02-08 20:25:08 -06:00
JoAnn Manges 8707ae23e2 MAX Thermocouples rework (#20447)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-08 19:51:57 -06:00
thinkyhead 0127763ade [cron] Bump distribution date (2021-02-09) 2021-02-09 00:12:14 +00:00
X-Ryl669 e7c711996b Serial refactor. Default 8-bit ECHO to int, not char (#20985)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-08 00:37:24 -06:00
Arjan Mels 1e726fe405 Fix STM32F1 emergency parser (#21011) 2021-02-07 22:47:08 -06:00
Alexander D. Kanevskiy 24e18a9fbd Allow SERVO0_PIN override on Creality Melzi (#21007) 2021-02-07 22:44:49 -06:00
Scott Lahteine 5f824c5708 Fix animated boot screen 2021-02-07 21:51:32 -06:00
MKS-Sean 57e4b82b66 Fix: Unsupported use of %f in printf (#21001) 2021-02-07 20:36:57 -06:00
ellensp 6dcb77f7b5 Fix mini12864 v2.1 + PSU control + NeoPixel backlight (#21021) 2021-02-07 20:36:04 -06:00
thinkyhead 42761acf4f [cron] Bump distribution date (2021-02-08) 2021-02-08 00:15:33 +00:00
Malderin 01756b6b02 Fix LVGL "more" menu user items (#21004)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-07 17:45:14 -06:00
Scott Lahteine b35bfeb1c3 Fix TEMP_0_TR_ENABLE, rename temp conditions (#21016) 2021-02-07 16:58:06 -06:00
Simon Jouet af4e8b171c Fix ESP32 I2S init placement (#21019) 2021-02-07 16:56:39 -06:00
Chris Pepper 5233e66762 Improve RPi host kernel panic mitigation
It was still possible to cause a Kernel panic, this additional 500ms delay before disconnect appears to mitigate it completely.
2021-02-07 20:46:24 +00:00
Scott Lahteine 52c246ae19 Melzi, comments cleanup 2021-02-06 18:19:37 -06:00
thinkyhead e34f279295 [cron] Bump distribution date (2021-02-07) 2021-02-07 00:12:48 +00:00
Marcio Teixeira ee66d9ccf9 Refactor FTDI EVE Touch Screen (#20987) 2021-02-06 14:25:10 -06:00
X-Ryl669 1c19af2c8f Fix ARM delay function (#20901) 2021-02-05 22:43:51 -06:00
Scott Lahteine 10aaab6350 Use 'false' 2021-02-05 18:48:11 -06:00
thinkyhead 62f060a389 [cron] Bump distribution date (2021-02-06) 2021-02-06 00:12:05 +00:00
Chris Pepper 004bed8a7f Mitigate RPi hosts kernel panic on M997
Work around M997 sometimes causing a kernel panic on the host when sent from a Raspbery Pi, the root cause is currently unknown.
2021-02-05 22:43:36 +00:00
ellensp a971233068 Fix MKS SGen-L DOGLCD_MOSI pin for FYSETC_MINI_12864 LCD (#20998) 2021-02-05 07:07:10 -06:00
Zs.Antal 67ae845b3c Update Hungarian language (#20996) 2021-02-05 06:28:30 -06:00
Scott Lahteine 708ea3d0bb Use serial shorthand 2021-02-04 23:34:09 -06:00
Scott Lahteine 49564e5310 Nybbles & Bits 2021-02-04 19:38:07 -06:00
Scott Lahteine 604afd52d1 Fix some serial char, echo
Co-Authored-By: X-Ryl669 <3277165+X-Ryl669@users.noreply.github.com>
2021-02-04 19:20:28 -06:00
thinkyhead 6dac71e618 [cron] Bump distribution date (2021-02-05) 2021-02-05 00:12:11 +00:00
Victor Oliveira d58bbd5da1 Re-calibrate touch after EEPROM reset, if needed (#20934) 2021-02-04 15:31:46 -06:00
thinkyhead 68299c6a5e [cron] Bump distribution date (2021-02-04) 2021-02-04 00:11:57 +00:00
thinkyhead d079634c5e [cron] Bump distribution date (2021-02-03) 2021-02-03 00:13:01 +00:00
Malderin 9025c63c43 Add "more" menu in LVGL interface (#20940)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-02 16:04:23 -06:00
Scott Lahteine c6ef86029c Evaluate ANY_SERIAL_IS in place 2021-02-02 16:00:11 -06:00
ellensp e3deb6e9a5 Note (MarlinUI) limit on PREHEAT settings (#20966)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-02 15:00:41 -06:00
Giuliano Zaro 6eec242a07 Update a UBL comment (#20931) 2021-02-02 14:57:30 -06:00
Victor Oliveira 28b8bf566b STM32 Shared Media - USB Mass Storage Device (#20956) 2021-02-02 14:55:11 -06:00
Tanguy Pruvot 0ce3f6efe0 Multi-language pertains to Color UI (#20972) 2021-02-02 14:33:07 -06:00
Victor Oliveira 617f5dfe5e Touch Calibration Screen auto-save option (#20971) 2021-02-02 14:31:51 -06:00
Victor Oliveira 1f12273de1 Include ui_common for MARLIN_LOGO_FULL_SIZE (#20963) 2021-02-02 14:31:01 -06:00
ellensp 65483dcc95 Fix host_response_handler compile (#20962) 2021-02-02 14:30:19 -06:00
thinkyhead 32d859eede [cron] Bump distribution date (2021-02-02) 2021-02-02 00:17:47 +00:00
X-Ryl669 c74f972627 LVGL UI G-code console (#20755) 2021-01-31 18:18:39 -06:00
thinkyhead 33c78d2bb2 [cron] Bump distribution date (2021-02-01) 2021-02-01 00:17:15 +00:00
Tanguy Pruvot 7626ef57b9 Refresh screen on M22 (detach) (#20958) 2021-01-31 18:15:14 -06:00
X-Ryl669 07b4cc145b Fix AutoReporter implementation (#20959) 2021-01-31 18:11:50 -06:00
X-Ryl669 27366197f3 Serial refactor followup (#20932) 2021-01-31 17:21:27 -06:00
zeleps d49969ddf3 Init serial ports first (#20944) 2021-01-31 16:50:12 -06:00
qwewer0 c91a91008c Remove extra G29 V newlines (#20955) 2021-01-31 16:47:16 -06:00
thinkyhead 92b4c05090 [cron] Bump distribution date (2021-01-31) 2021-01-31 00:16:38 +00:00
ConstantijnCrijnen d45ad8f827 Language selection auto-save option (#20915) 2021-01-30 00:07:35 -06:00
ellensp fa3bd72eea KILL, BEEPER pins for LCD_FOR_MELZI (#20924) 2021-01-29 23:44:32 -06:00
ellensp d3068125c5 Fix G28_STR (#20925) 2021-01-29 23:41:45 -06:00
thinkyhead e269e936e3 [cron] Bump distribution date (2021-01-30) 2021-01-30 00:17:43 +00:00
rafaljot 0d2645b3e1 MPX_ARM_MINI board (Mingda MD-16) (#20711) 2021-01-28 23:22:18 -06:00
Scott Lahteine 9d0e64a725 AutoReport class (Temperature, Cardreader) (#20913) 2021-01-28 20:40:20 -06:00
X-Ryl669 9e004a9496 Optimize serial output code for size (#20911) 2021-01-28 19:59:16 -06:00
George Fu 5ac08a44c6 FYSETC Cheetah 2.0 (#20897) 2021-01-28 19:52:49 -06:00
ellensp c72b1c5893 Fix undefined G28_STR (#20912) 2021-01-28 19:44:52 -06:00
ellensp c65bf64756 Fix LED_CONTROL_MENU compile (#20914) 2021-01-28 19:44:16 -06:00
thinkyhead 7201433060 [cron] Bump distribution date (2021-01-29) 2021-01-29 00:17:07 +00:00
Scott Lahteine 7bbdbcfb6d Serial refactor followup 2021-01-28 02:19:12 -06:00
X-Ryl669 3f01b222b2 Refactor serial class with templates (#20783) 2021-01-28 02:02:06 -06:00
ellensp c929fb52dd Meatpack::report_state on serial port init (#20903)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-28 01:47:12 -06:00
ellensp 11b407045a MeatPack followup - unused command (#20893) 2021-01-28 01:46:17 -06:00
thinkyhead 811bb7997c [cron] Bump distribution date (2021-01-28) 2021-01-28 00:17:20 +00:00
Scott Lahteine d932cd9be1 Remove extra cast 2021-01-27 15:23:04 -06:00
Scott Mudge 5e5dfff6fe MeatPack followup (#20896) 2021-01-27 15:18:20 -06:00
ellensp 107f692de8 ZONESTAR_LCD warning for RAMPS / ReARM (#20702) 2021-01-27 15:11:25 -06:00
thinkyhead a1019413f4 [cron] Bump distribution date (2021-01-27) 2021-01-27 00:15:06 +00:00
ConstantijnCrijnen b95f5c5bea Configure / disable PRINTCOUNTER save interval (#20856)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-26 02:30:31 -06:00
Scott Lahteine 8c0cb6cce8 Custom G26 FR followup 2021-01-26 02:15:27 -06:00
Scott Lahteine ee93101b24 Custom G26 FR followup 2021-01-25 23:53:39 -06:00
ScrewThisBanana 7f4c5b86db Adding custom move feedrate for G26 Travel moves, Original #20729 (#20879)
* Adding custom move feedrate for G26

This commit adds an additional configuration parameter that can be used to specify the movement speed during the G26 validation pattern command during moves without extrusion.

Closes MarlinFirmware/Marlin#20615
2021-01-25 20:14:26 -07:00
thinkyhead 9bf33e4dcd [cron] Bump distribution date (2021-01-26) 2021-01-26 00:17:22 +00:00
Giuliano Zaro 876c2586b9 Clean up MMU2 code (#20794)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-25 08:58:52 -06:00
Rockman18 b9ed139546 Init KILL, SUICIDE, PSU earlier (#20810) 2021-01-25 08:50:39 -06:00
Gabriele Besta 85d61de61c "Move … code" followup (#20869)
Fix regression from #20832
2021-01-25 08:39:24 -06:00
Scott Lahteine b8186b5081 Apply SEC_TO_MS and other fixes 2021-01-25 08:32:58 -06:00
Scott Lahteine fb67b9bdad Reformat abortSDPrinting 2021-01-25 04:57:00 -06:00
Alexander D. Kanevskiy 2c983d6c7a Fix sign warning (#20872) 2021-01-25 01:53:48 -06:00
qwewer0 7c28d6b869 Cosmetic changes (2) (#20876) 2021-01-25 01:52:45 -06:00
ellensp 53035de136 "Move … code" followup (#20868)
Fix regression from #20832
2021-01-25 01:51:54 -06:00
Kairali d7ca3ea27c "Move … code" followup (#20874)
Fix regression from #20832
2021-01-25 01:48:31 -06:00
Tanguy Pruvot c12be1f98c Graphical TFT fixes, cleanup (#20861)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-25 01:44:39 -06:00
qwewer0 90be1c3fa7 🧻 Cosmetic changes (#20859) 2021-01-25 01:11:34 -06:00
Scott Lahteine 727bf7dd8c 🛠Fix deps script version regex 2021-01-24 21:20:51 -06:00
Scott Lahteine e9425d711d Fix Ender 3 V2 DWIN manual move (#20837) 2021-01-24 20:13:02 -06:00
thinkyhead 9d42beb2e6 [cron] Bump distribution date (2021-01-25) 2021-01-25 00:43:47 +00:00
Jason Smith ea8d682664 Fix LiquidCrystal CI failures (#20873)
Fix incorrect dependency syntax for LPC.
Disambiguate LiquidCrystal library names.
2021-01-24 13:24:16 -08:00
Roxy-3D 8f7bac4999 Revert "Adding custom move feedrate for G26 (#20729)" (#20870)
This reverts commit 14567f3459.
2021-01-24 07:47:22 -07:00
ellensp 3921369f98 MeatPack serial encoding (#20802)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-24 00:43:23 -06:00
thinkyhead a243996aca [cron] Bump distribution date (2021-01-24) 2021-01-24 00:43:17 +00:00
Tanguy Pruvot 0f612d5021 lcd_put_wchar_max for COLOR_UI (#20838)
Co-Authored-By: Victor Oliveira <github@victormo.com.br>
2021-01-22 23:23:35 -06:00
ScrewThisBanana 14567f3459 Adding custom move feedrate for G26 (#20729)
* Adding custom move feedrate for G26

This commit adds an additional configuration parameter that can be used to specify the movement speed during the G26 validation pattern command during moves without extrusion.

Closes MarlinFirmware/Marlin#20615

* Fixing missing default 'G26_XY_FEEDRATE_MOVE' value

This commit adds a default 'G26_XY_FEEDRATE_MOVE' value (max movement speed / 1.5) in the G26.cpp - same behaviour as the default 'G26_XY_FEEDRATE' value

* Adding comment describing functionality in G26.cpp

* Renaming 'G26_XY_FEEDRATE_MOVE' to 'G26_XY_FEEDRATE_TRAVEL'

Configuration parameter renamed for better readability and consistency

MarlinFirmware/Marlin#20615

* Setting 'G26_XY_FEEDRATE_TRAVEL' to a safer value, aligned comments

Changed default value for 'G26_XY_FEEDRATE_TRAVEL' from 150 mm/s to 100 mm/s for safety purposes, comment alignment

MarlinFirmware/Marlin#20615
2021-01-22 20:02:22 -07:00
Scott Lahteine a54154e760 🛠 Replace lib_deps for custom_marlin.FEATURE (#20858) 2021-01-22 20:51:58 -06:00
thinkyhead ac10fdc50f [cron] Bump distribution date (2021-01-23) 2021-01-23 00:44:51 +00:00
Giuliano Zaro 90c0194598 "Move … code" followup (#20852)
Fix regression from #20832
2021-01-22 15:58:08 -06:00
Scott Lahteine 09d07f76b3 Add labels, condition for BTT GTR M5 pins (#20772)
Co-Authored-By: NAPCAL <47440988+NAPCAL@users.noreply.github.com>
2021-01-22 15:15:45 -06:00
Scott Lahteine d33fe2378c Move common strings (#20846) 2021-01-22 15:01:19 -06:00
thinkyhead 7b9f7d8aba [cron] Bump distribution date (2021-01-22) 2021-01-22 00:44:13 +00:00
Scott Lahteine 0681b8096c Fix undefined E_LBL 2021-01-21 17:32:12 -06:00
Jason Smith d879853e8f Ender 3 V2: Sync reset E in manual move (#20806) 2021-01-21 04:14:24 -06:00
Jason Smith 0a279cf666 Fix ANYCUBIC_LCD_CHIRON compilation (#20807)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-21 03:44:03 -06:00
Scott Lahteine c0870d417a Move some MarlinCore and MarlinUI code (#20832) 2021-01-21 03:40:07 -06:00
Katelyn Schiesser ac82dc418a Increase filament runout distance edit limit (#20828) 2021-01-21 03:30:15 -06:00
Keith Bennett 144272e735 USB Flash Drive env hints for ABM (#20592) 2021-01-21 01:28:38 -06:00
Keith Bennett d62aa6221b Lerdge K/S/X support for Flash Drive (#20593) 2021-01-21 01:26:12 -06:00
Scott Lahteine 68abaeab19 MarlinUI multi-language support (#20725) 2021-01-20 18:52:06 -06:00
Scott Lahteine 00bc094914 Keep G29 N on the DL 2021-01-20 18:51:00 -06:00
thinkyhead 84a47a6691 [cron] Bump distribution date (2021-01-21) 2021-01-21 00:46:33 +00:00
ellensp 03b53ffde1 More PlatformIO source filters (#20822) 2021-01-20 18:18:22 -06:00
Tanguy Pruvot ef14b18f8e PSTR alias followup (#20831) 2021-01-20 16:52:09 -06:00
Scott Lahteine 3f90ecfd77 Move singlenozzle temp/fan (#20829) 2021-01-19 20:58:50 -06:00
devin122 a275e4e5b8 Fix reporting of TMC_S2VSA/B (#20730) 2021-01-19 20:57:12 -06:00
ellensp fd45854000 USE_M73_REMAINING_TIME sanity-check (#20751) 2021-01-19 20:55:57 -06:00
Giuliano Zaro a10626705d MMU2 serial followup (#20811) 2021-01-19 20:55:01 -06:00
Scott Lahteine 0cbc44d8bf Fix SINGLENOZZLE compile 2021-01-19 19:19:35 -06:00
thinkyhead 5c93b49a6f [cron] Bump distribution date (2021-01-20) 2021-01-20 00:47:05 +00:00
EmilGustafsson df238fe6a0 Swedish language for MarlinUI (#20826) 2021-01-19 16:52:04 -06:00
Rockman18 f1d4713097 Fix MKS UI manual move (#20813) 2021-01-19 16:27:57 -06:00
Rockman18 d0f953218f Fix, consolidate PSTR aliases (#20812)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-19 16:26:25 -06:00
2429 changed files with 242613 additions and 83634 deletions
+7 -3
View File
@@ -4,16 +4,20 @@ root = true
[{*.patch,syntax_test_*}]
trim_trailing_whitespace = false
[{*.c,*.cpp,*.h}]
[{*.c,*.cpp,*.h,*.ino}]
charset = utf-8
[{*.c,*.cpp,*.h,Makefile}]
[{*.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}]
[{*.py}]
indent_style = space
indent_size = 4
[{*.conf,*.sublime-project}]
indent_style = tab
indent_size = 4
+178
View File
@@ -0,0 +1,178 @@
name: 🪲 Report a bug
description: Create a bug report to help improve Marlin Firmware
title: "[BUG] (bug summary)"
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: Add-ons
description: Please list any 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.
+10 -7
View File
@@ -34,8 +34,11 @@ This project and everyone participating in it is governed by the [Marlin Code of
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 +53,13 @@ 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.
#### 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 +91,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 +119,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. -->
+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.1.x
uses: actions/checkout@v2
with:
ref: bugfix-2.1.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@v2
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
+34
View File
@@ -0,0 +1,34 @@
#
# 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
- 2.1.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.0.x`.
See [this page](https://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions.
+39
View File
@@ -0,0 +1,39 @@
#
# 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"
- "Needs: Discussion"
- "Needs: Documentation"
- "Needs: More Data"
- "Needs: Patch"
- "Needs: Testing"
- "Needs: Work"
steps:
- uses: actions/checkout@v2
- name: Remove Labels
uses: actions-ecosystem/action-remove-labels@v1
with:
github_token: ${{ github.token }}
labels: ${{ matrix.label }}
+28
View File
@@ -0,0 +1,28 @@
#
# 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@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 10 days.'
days-before-stale: 60
days-before-close: 10
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: ''
+55 -24
View File
@@ -8,7 +8,7 @@ name: CI
on:
pull_request:
branches:
- bugfix-2.0.x
- bugfix-2.1.x
paths-ignore:
- config/**
- data/**
@@ -16,7 +16,7 @@ on:
- '**/*.md'
push:
branches:
- bugfix-2.0.x
- bugfix-2.1.x
paths-ignore:
- config/**
- data/**
@@ -45,6 +45,7 @@ jobs:
- teensy35
- teensy41
- SAMD51_grandcentral_m4
- PANDA_PI_V29
# Extended AVR Environments
@@ -56,28 +57,33 @@ jobs:
# STM32F1 (Maple) Environments
- STM32F103RC_btt
- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RC_fysetc
- STM32F103RC_meeb
- jgaurora_a5s_a1
- STM32F103VE_longer
- mks_robin
- mks_robin_lite
- mks_robin_pro
- STM32F103RET6_creality
- mks_robin_nano35
#- STM32F103RC_btt_maple
- STM32F103RC_btt_USB_maple
- STM32F103RC_fysetc_maple
- STM32F103RC_meeb_maple
- jgaurora_a5s_a1_maple
- STM32F103VE_longer_maple
#- mks_robin_maple
- mks_robin_lite_maple
- mks_robin_pro_maple
#- mks_robin_nano_v1v2_maple
#- STM32F103RE_creality_maple
- STM32F103VE_ZM3E4V2_USB_maple
# STM32 (ST) Environments
- STM32F103RC_btt
#- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RE_creality
- STM32F401RC_creality
- STM32F103VE_longer
- STM32F407VE_black
- STM32F401VE_STEVAL
- BIGTREE_BTT002
- BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin_stm32
- mks_robin
- ARMED
- FYSETC_S6
- STM32F070CB_malyan
@@ -86,9 +92,18 @@ jobs:
- FLYF407ZG
- rumba32
- LERDGEX
- mks_robin_nano35_stm32
- LERDGEK
- mks_robin_nano_v1v2
#- mks_robin_nano_v1v2_usbmod
#- mks_robin_nano_v1_3_f4_usbmod
- NUCLEO_F767ZI
- REMRAM_V1
- BTT_SKR_SE_BX
- chitu_f103
- Opulo_Lumen_REV3
# ESP32 environments
- mks_tinybee
# Put lengthy tests last
@@ -98,23 +113,39 @@ jobs:
# Non-working environment tests
#- at90usb1286_cdc
#- STM32F103CB_malyan
#- STM32F103RE
#- mks_robin_mini
steps:
- name: Check out the PR
uses: actions/checkout@v3
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
- name: Select Python 3.7
uses: actions/setup-python@v1
uses: actions/setup-python@v3
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
- name: Install PlatformIO
run: |
pip install -U https://github.com/platformio/platformio-core/archive/develop.zip
platformio update
- name: Check out the PR
uses: actions/checkout@v2
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 }}"
+17 -37
View File
@@ -19,15 +19,19 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# Our automatic versioning scheme generates the following file
# NEVER put it in the repository
# Generated files
_Version.h
bdf2u8g
marlin_config.json
mczip.h
*.gen
*.sublime-workspace
#
# OS
#
applet/
*.DS_Store
.DS_Store
#
# Misc
@@ -37,7 +41,6 @@ applet/
*.rej
*.bak
*.idea
*.s
*.i
*.ii
*.swp
@@ -122,29 +125,6 @@ tags
.gcc-flags.json
/lib/
# Workaround for Deviot+platformio quirks
Marlin/lib
Marlin/platformio.ini
Marlin/*/platformio.ini
Marlin/*/*/platformio.ini
Marlin/*/*/*/platformio.ini
Marlin/*/*/*/*/platformio.ini
Marlin/.travis.yml
Marlin/*/.travis.yml
Marlin/*/*/.travis.yml
Marlin/*/*/*/.travis.yml
Marlin/*/*/*/*/.travis.yml
Marlin/.gitignore
Marlin/*/.gitignore
Marlin/*/*/.gitignore
Marlin/*/*/*/.gitignore
Marlin/*/*/*/*/.gitignore
Marlin/readme.txt
Marlin/*/readme.txt
Marlin/*/*/readme.txt
Marlin/*/*/*/readme.txt
Marlin/*/*/*/*/readme.txt
# Secure Credentials
Configuration_Secure.h
@@ -160,16 +140,20 @@ __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
# cmake
#Simulation
imgui.ini
eeprom.dat
spi_flash.bin
fs.img
#cmake
CMakeLists.txt
src/CMakeLists.txt
CMakeListsPrivate.txt
build/
# CLion
cmake-build-*
@@ -186,7 +170,3 @@ __pycache__
# IOLogger logs
*_log.csv
# Simulation / Native
eeprom.dat
imgui.ini
+11
View File
@@ -0,0 +1,11 @@
{
// 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.cpptools-extension-pack"
]
}
+2 -2
View File
@@ -27,7 +27,7 @@ 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
@@ -38,7 +38,7 @@ tests-single-local-docker:
.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
.PHONY: tests-all-local
+1056 -322
View File
File diff suppressed because it is too large Load Diff
+1405 -877
View File
File diff suppressed because it is too large Load Diff
+99 -57
View File
@@ -109,8 +109,8 @@ 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)
# Disabling this (and SPEAKER) saves approximatively 350 bytes of memory.
# 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
# This defines if U8GLIB is needed (may require RELOC_WORKAROUND)
@@ -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 knock off 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
@@ -323,6 +340,8 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1203)
else ifeq ($(HARDWARE_MOTHERBOARD),1204)
# abee Scoovo X9H
else ifeq ($(HARDWARE_MOTHERBOARD),1205)
# Rambo ThinkerV2
else ifeq ($(HARDWARE_MOTHERBOARD),1206)
#
# Other ATmega1280, ATmega2560
@@ -356,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
@@ -443,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
@@ -991,5 +1033,5 @@ clean:
.PHONY: all build elf hex eep lss sym program coff extcoff clean depend sizebefore sizeafter
# Automaticaly include the dependency files created by gcc
# Automatically include the dependency files created by gcc
-include ${patsubst %.o, %.d, ${OBJ}}
+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 "2019-07-10"
//#define STRING_DISTRIBUTION_DATE "2022-12-05"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
+211
View File
@@ -0,0 +1,211 @@
#
# Marlin Firmware
# config.ini - Options to apply before the build
#
[config:base]
ini_use_config = none
# Load all config: sections in this file
;ini_use_config = all
# 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 = BANG_MAX
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
use_xmin_plug = on
use_ymin_plug = on
use_zmin_plug = on
x_min_endstop_inverting = false
y_min_endstop_inverting = false
z_min_endstop_inverting = false
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
invert_e_step_pin = false
invert_x_step_pin = false
invert_y_step_pin = false
invert_z_step_pin = false
disable_x = false
disable_y = false
disable_z = false
disable_e = false
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_inactive_extruder = 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_deactive_time = 120
default_volumetric_extruder_limit = 0.00
disable_inactive_e = true
disable_inactive_x = true
disable_inactive_y = true
disable_inactive_z = true
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
+108 -14
View File
@@ -23,18 +23,45 @@
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include <avr/wdt.h>
#ifdef USBCON
DefaultSerial1 MSerial0(false, Serial);
#ifdef BLUETOOTH
BTSerial btSerial(false, bluetoothSerial);
#endif
#endif
// ------------------------
// 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();
}
void MarlinHAL::init() {
// Init Servo Pins
#define INIT_SERVO(N) OUT_WRITE(SERVO##N##_PIN, LOW)
#if HAS_SERVO_0
@@ -49,8 +76,75 @@ void HAL_init() {
#if HAS_SERVO_3
INIT_SERVO(3);
#endif
init_pwm_timers(); // Init user timers to default frequency - 1000HZ
}
void MarlinHAL::reboot() {
#if ENABLED(USE_WATCHDOG)
while (1) { /* run out the watchdog */ }
#else
void (*resetFunc)() = 0; // Declare resetFunc() at address 0
resetFunc(); // Jump to address 0
#endif
}
// ------------------------
// 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 ENABLED(SDSUPPORT)
#include "../../sd/SdFatUtil.h"
@@ -58,20 +152,20 @@ void HAL_init() {
#else // !SDSUPPORT
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
+168 -92
View File
@@ -19,17 +19,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 +42,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 +77,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,42 +87,56 @@
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
#define MYSERIAL0 TERN(BLUETOOTH, bluetoothSerial, Serial)
#else
#if !WITHIN(SERIAL_PORT, -1, 3)
#error "SERIAL_PORT must be from -1 to 3. Please update your configuration."
#include "../../core/serial_hook.h"
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#ifdef BLUETOOTH
typedef ForwardSerial1Class< decltype(bluetoothSerial) > BTSerial;
extern BTSerial btSerial;
#endif
#define MYSERIAL0 customizedSerial1
#define MYSERIAL1 TERN(BLUETOOTH, btSerial, MSerial0)
#else
#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 -1 to 3. Please update your configuration."
#if !WITHIN(SERIAL_PORT_2, 0, 3)
#error "SERIAL_PORT_2 must be from 0 to 3."
#endif
#define MYSERIAL1 customizedSerial2
#define MYSERIAL2 customizedSerial2
#endif
#ifdef SERIAL_PORT_3
#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 -1 to 3. Please update your configuration."
#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 -1 to 3. Please update your configuration."
#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
@@ -114,64 +144,20 @@ typedef int8_t pin_t;
#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; }
inline void HAL_reboot() {} // reboot the board or restart the bootloader
#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)
//
// 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)
#define HAL_SENSITIVE_PINS 0, 1
#define HAL_SENSITIVE_PINS 0, 1,
#ifdef __AVR_AT90USB1286__
#define JTAG_DISABLE() do{ MCUCR = 0x80; MCUCR = 0x80; }while(0)
@@ -180,23 +166,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);
};
+17 -16
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);
@@ -88,7 +89,7 @@ void spiBegin() {
}
/** SPI read data */
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (nbyte-- == 0) return;
SPDR = 0xFF;
for (uint16_t i = 0; i < nbyte; i++) {
@@ -107,7 +108,7 @@ void spiBegin() {
}
/** SPI send block */
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
SPDR = token;
for (uint16_t i = 0; i < 512; i += 2) {
while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ }
@@ -215,7 +216,7 @@ void spiBegin() {
}
// Soft SPI read data
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
for (uint16_t i = 0; i < nbyte; i++)
buf[i] = spiRec();
}
@@ -242,7 +243,7 @@ void spiBegin() {
}
// Soft SPI send block
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
spiSend(token);
for (uint16_t i = 0; i < 512; i++)
spiSend(buf[i]);
@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -21,5 +21,6 @@
*/
#pragma once
void watchdog_init();
void HAL_watchdog_refresh();
#include <SPI.h>
using MarlinSPI = SPIClass;
+30 -180
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) {
@@ -556,161 +556,6 @@ void MarlinSerial<Cfg>::flushTX() {
}
}
/**
* Imports from print.h
*/
template<typename Cfg>
void MarlinSerial<Cfg>::print(char c, int base) {
print((long)c, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned char b, int base) {
print((unsigned long)b, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(int n, int base) {
print((long)n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned int n, int base) {
print((unsigned long)n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(long n, int base) {
if (base == 0) write(n);
else if (base == 10) {
if (n < 0) { print('-'); n = -n; }
printNumber(n, 10);
}
else
printNumber(n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned long n, int base) {
if (base == 0) write(n);
else printNumber(n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(double n, int digits) {
printFloat(n, digits);
}
template<typename Cfg>
void MarlinSerial<Cfg>::println() {
print('\r');
print('\n');
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(const String& s) {
print(s);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(const char c[]) {
print(c);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(char c, int base) {
print(c, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned char b, int base) {
print(b, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(int n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned int n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(long n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned long n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(double n, int digits) {
print(n, digits);
println();
}
// Private Methods
template<typename Cfg>
void MarlinSerial<Cfg>::printNumber(unsigned long n, uint8_t base) {
if (n) {
unsigned char buf[8 * sizeof(long)]; // Enough space for base 2
int8_t i = 0;
while (n) {
buf[i++] = n % base;
n /= base;
}
while (i--)
print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10)));
}
else
print('0');
}
template<typename Cfg>
void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// Handle negative numbers
if (number < 0.0) {
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits) {
print('.');
// Extract digits from the remainder one at a time
while (digits--) {
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
}
// Hookup ISR handlers
ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _RX_vect)) {
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>::store_rxd_char();
@@ -720,11 +565,9 @@ ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _UDRE_vect)) {
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>::_tx_udr_empty_irq();
}
// Preinstantiate
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>;
// Instantiate
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
// Because of the template definition above, it's required to instantiate the template to have all methods generated
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
MSerialT1 customizedSerial1(MSerialT1::HasEmergencyParser);
#ifdef SERIAL_PORT_2
@@ -737,13 +580,26 @@ MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>::_tx_udr_empty_irq();
}
// Preinstantiate
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>;
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> >;
MSerialT2 customizedSerial2(MSerialT2::HasEmergencyParser);
// Instantiate
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#endif // SERIAL_PORT_2
#endif
#ifdef SERIAL_PORT_3
// Hookup ISR handlers
ISR(SERIAL_REGNAME(USART, SERIAL_PORT_3, _RX_vect)) {
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_3>>::store_rxd_char();
}
ISR(SERIAL_REGNAME(USART, SERIAL_PORT_3, _UDRE_vect)) {
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_3>>::_tx_udr_empty_irq();
}
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> >;
MSerialT3 customizedSerial3(MSerialT3::HasEmergencyParser);
#endif // SERIAL_PORT_3
#ifdef MMU2_SERIAL_PORT
@@ -755,13 +611,10 @@ MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
MarlinSerial<MMU2SerialCfg<MMU2_SERIAL_PORT>>::_tx_udr_empty_irq();
}
// Preinstantiate
template class MarlinSerial<MMU2SerialCfg<MMU2_SERIAL_PORT>>;
template class MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> >;
MSerialMMU2 mmuSerial(MSerialMMU2::HasEmergencyParser);
// Instantiate
MarlinSerial<MMU2SerialCfg<MMU2_SERIAL_PORT>> mmuSerial;
#endif
#endif // MMU2_SERIAL_PORT
#ifdef LCD_SERIAL_PORT
@@ -773,11 +626,8 @@ MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
MarlinSerial<LCDSerialCfg<LCD_SERIAL_PORT>>::_tx_udr_empty_irq();
}
// Preinstantiate
template class MarlinSerial<LCDSerialCfg<LCD_SERIAL_PORT>>;
// Instantiate
MarlinSerial<LCDSerialCfg<LCD_SERIAL_PORT>> lcdSerial;
template class MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> >;
MSerialLCD lcdSerial(MSerialLCD::HasEmergencyParser);
#if HAS_DGUS_LCD
template<typename Cfg>
@@ -790,13 +640,13 @@ MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
}
#endif
#endif
#endif // LCD_SERIAL_PORT
#endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H)
// For AT90USB targets use the UART for BT interfacing
#if defined(USBCON) && ENABLED(BLUETOOTH)
HardwareSerial bluetoothSerial;
MSerialBT bluetoothSerial(false);
#endif
#endif // __AVR__
+49 -84
View File
@@ -34,6 +34,7 @@
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#include "../../core/serial_hook.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
@@ -135,10 +136,6 @@
UART_DECL(3);
#endif
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#define BYTE 0
// Templated type selector
@@ -194,68 +191,38 @@
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();
public:
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();
FORCE_INLINE static void _tx_udr_empty_irq();
public:
MarlinSerial() {};
static void begin(const long);
static void end();
static int peek();
static int read();
static void flush();
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static void flushTX();
#if HAS_DGUS_LCD
static ring_buffer_pos_t get_tx_buffer_free();
#endif
public:
static void begin(const long);
static void end();
static int peek();
static int read();
static void flush();
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static void flushTX();
#if HAS_DGUS_LCD
static ring_buffer_pos_t get_tx_buffer_free();
#endif
static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
enum { HasEmergencyParser = 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; }
FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; }
FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return Cfg::MAX_RX_QUEUED ? rx_max_enqueued : 0; }
FORCE_INLINE static void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE static void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); }
FORCE_INLINE static void print(const char* str) { write(str); }
static void print(char, int = BYTE);
static void print(unsigned char, int = BYTE);
static void print(int, int = DEC);
static void print(unsigned int, int = DEC);
static void print(long, int = DEC);
static void print(unsigned long, int = DEC);
static void print(double, int = 2);
static void println(const String& s);
static void println(const char[]);
static void println(char, int = BYTE);
static void println(unsigned char, int = BYTE);
static void println(int, int = DEC);
static void println(unsigned int, int = DEC);
static void println(long, int = DEC);
static void println(unsigned long, int = DEC);
static void println(double, int = 2);
static void println();
operator bool() { return true; }
private:
static void printNumber(unsigned long, const uint8_t);
static void printFloat(double, uint8_t);
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; }
FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; }
FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return Cfg::MAX_RX_QUEUED ? rx_max_enqueued : 0; }
};
template <uint8_t serial>
@@ -270,12 +237,18 @@
static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT1;
extern MSerialT1 customizedSerial1;
#ifdef SERIAL_PORT_2
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> > > MSerialT2;
extern MSerialT2 customizedSerial2;
#endif
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#ifdef SERIAL_PORT_3
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> > > MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
#endif // !USBCON
@@ -284,49 +257,41 @@
template <uint8_t serial>
struct MMU2SerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = 32;
static constexpr unsigned int TX_SIZE = 32;
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = false;
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
static constexpr unsigned int RX_SIZE = 32;
static constexpr unsigned int TX_SIZE = 32;
static constexpr bool RX_OVERRUNS = false;
};
extern MarlinSerial<MMU2SerialCfg<MMU2_SERIAL_PORT>> mmuSerial;
typedef Serial1Class< MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> > > MSerialMMU2;
extern MSerialMMU2 mmuSerial;
#endif
#ifdef LCD_SERIAL_PORT
template <uint8_t serial>
struct LCDSerialCfg {
static constexpr int PORT = serial;
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
#if HAS_DGUS_LCD
static constexpr unsigned int RX_SIZE = DGUS_RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = DGUS_TX_BUFFER_SIZE;
static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
#elif EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON)
static constexpr unsigned int RX_SIZE = 64;
static constexpr unsigned int TX_SIZE = 128;
static constexpr bool RX_OVERRUNS = false;
#else
static constexpr unsigned int RX_SIZE = 64;
static constexpr unsigned int TX_SIZE = 128;
static constexpr bool RX_OVERRUNS = false
#endif
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = TERN(HAS_DGUS_LCD, DGUS_RX_BUFFER_SIZE, 64);
static constexpr unsigned int TX_SIZE = TERN(HAS_DGUS_LCD, DGUS_TX_BUFFER_SIZE, 128);
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
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);
};
extern MarlinSerial<LCDSerialCfg<LCD_SERIAL_PORT>> lcdSerial;
typedef Serial1Class< MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> > > MSerialLCD;
extern MSerialLCD lcdSerial;
#endif
// Use the UART for Bluetooth in AT90USB configurations
#if defined(USBCON) && ENABLED(BLUETOOTH)
extern HardwareSerial bluetoothSerial;
typedef Serial1Class<HardwareSerial> MSerialBT;
extern MSerialBT bluetoothSerial;
#endif
+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
}
+3 -3
View File
@@ -40,13 +40,13 @@ bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0;
while (size--) {
uint8_t * const p = (uint8_t * const)pos;
uint8_t v = *value;
// EEPROM has only ~100,000 write cycles,
// so only write bytes that have changed!
if (v != eeprom_read_byte(p)) {
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
eeprom_write_byte(p, v);
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
if (eeprom_read_byte(p) != v) {
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
+90
View File
@@ -168,6 +168,96 @@ void setup_endstop_interrupts() {
pciSetup(Z_MIN_PIN);
#endif
#endif
#if HAS_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");
pciSetup(I_MAX_PIN);
#endif
#elif HAS_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");
pciSetup(I_MIN_PIN);
#endif
#endif
#if HAS_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");
pciSetup(J_MAX_PIN);
#endif
#elif HAS_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");
pciSetup(J_MIN_PIN);
#endif
#endif
#if HAS_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");
pciSetup(K_MAX_PIN);
#endif
#elif HAS_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");
pciSetup(K_MIN_PIN);
#endif
#endif
#if HAS_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");
pciSetup(U_MAX_PIN);
#endif
#elif HAS_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");
pciSetup(U_MIN_PIN);
#endif
#endif
#if HAS_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");
pciSetup(V_MAX_PIN);
#endif
#elif HAS_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");
pciSetup(V_MIN_PIN);
#endif
#endif
#if HAS_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");
pciSetup(W_MAX_PIN);
#endif
#elif HAS_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");
pciSetup(W_MIN_PIN);
#endif
#endif
#if HAS_X2_MAX
#if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MAX_PIN);
+135 -195
View File
@@ -21,11 +21,7 @@
*/
#ifdef __AVR__
#include "../../inc/MarlinConfigPre.h"
#if NEEDS_HARDWARE_PWM // Specific meta-flag for features that mandate PWM
#include "HAL.h"
#include "../../inc/MarlinConfig.h"
struct Timer {
volatile uint8_t* TCCRnQ[3]; // max 3 TCCR registers per timer
@@ -33,250 +29,194 @@ 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) {
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;
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) / (2 * 1024 * maxtop) + 1; // Start with the lowest non-zero frequency achievable (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;
LOOP_L_N(i, COUNT(prescaler)) { // Loop through all prescaler values
const uint16_t p = prescaler[i];
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;
#else
res_fast_temp = 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);
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) / (2 * p * res_pc_temp);
const int 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;
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;
}
// 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;
}
}
}
_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
};
LOOP_L_N(i, COUNT(pwm_pin))
set_pwm_frequency(pwm_pin[i], 1000);
}
#endif // __AVR__
+9 -9
View File
@@ -241,11 +241,11 @@ uint8_t extDigitalRead(const int8_t pin) {
*
* DC values -1.0 to 1.0. Negative duty cycle inverts the pulse.
*/
uint16_t set_pwm_frequency_hz(const float &hz, const float dca, const float dcb, const float dcc) {
uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb, const float dcc) {
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 &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 &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);
+26 -49
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)
@@ -284,8 +261,8 @@ enum ClockSource2 : char {
* PWM availability macros
*/
// Determine which harware 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)
// 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
@@ -316,11 +293,11 @@ enum ClockSource2 : char {
#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)
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_E0 || P == MOTOR_CURRENT_PWM_E1 || P == MOTOR_CURRENT_PWM_Z || P == MOTOR_CURRENT_PWM_XY)
#elif PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_Z)
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_E0 || P == MOTOR_CURRENT_PWM_E1 || P == MOTOR_CURRENT_PWM_Z)
#else
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E)
#define PWM_CHK_MOTOR_CURRENT(P) (P == MOTOR_CURRENT_PWM_E || P == MOTOR_CURRENT_PWM_E0 || P == MOTOR_CURRENT_PWM_E1)
#endif
#else
#define PWM_CHK_MOTOR_CURRENT(P) false
+58 -5
View File
@@ -25,25 +25,67 @@
* Test AVR-specific configuration values for errors at compile-time.
*/
/**
* 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 \
)
#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 && FAN_PIN == 9 && DISABLED(FAN_SOFT_PWM) && ENABLED(SPEAKER)
#error "FAN_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
/**
@@ -56,3 +98,14 @@
#if BOTH(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
/**
* Postmortem debugging
*/
#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
+2 -2
View File
@@ -35,7 +35,7 @@
// C B A is longIn1
// D C B A is longIn2
//
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;
@@ -89,7 +89,7 @@ static FORCE_INLINE uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2
// 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) {
FORCE_INLINE static uint16_t MultiU16X8toH16(uint8_t charIn1, uint16_t intIn2) {
uint8_t tmp;
uint16_t intRes;
__asm__ __volatile__ (
+38 -41
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
@@ -38,7 +41,7 @@
// portModeRegister takes a different argument
#define digitalPinToTimer_DEBUG(p) digitalPinToTimer(p)
#define digitalPinToBitMask_DEBUG(p) digitalPinToBitMask(p)
#define digitalPinToPort_DEBUG(p) digitalPinToPort_Teensy(p)
#define digitalPinToPort_DEBUG(p) digitalPinToPort(p)
#define GET_PINMODE(pin) (*portModeRegister(pin) & digitalPinToBitMask_DEBUG(pin))
#elif AVR_ATmega2560_FAMILY_PLUS_70 // So we can access/display all the pins on boards using more than 70
@@ -71,7 +74,7 @@
#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);
PGM_P const name_mem_pointer = (PGM_P)pgm_read_ptr(&pin_array[x].name);
LOOP_L_N(y, MAX_NAME_LENGTH) {
char temp_char = pgm_read_byte(name_mem_pointer + y);
if (temp_char != 0)
@@ -99,7 +102,7 @@ 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.
@@ -110,7 +113,7 @@ static bool pwm_status(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
PWM_CASE(0, A);
@@ -119,20 +122,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 +149,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 +166,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 +195,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 +211,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
};
@@ -235,9 +238,9 @@ static void print_is_also_tied() { SERIAL_ECHOPGM(" is also tied to this pin");
inline void com_print(const uint8_t N, const uint8_t Z) {
const uint8_t *TCCRA = (uint8_t*)TCCR_A(N);
SERIAL_ECHOPGM(" COM");
SERIAL_CHAR('0' + N, Z);
SERIAL_ECHOPAIR(": ", int((*TCCRA >> (6 - Z * 2)) & 0x03));
SERIAL_ECHOPGM(" COM", AS_DIGIT(N));
SERIAL_CHAR(Z);
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,8 +250,8 @@ 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_ECHOPGM(" TIMER");
SERIAL_CHAR(T + '0', L);
SERIAL_ECHOPGM(" TIMER", AS_DIGIT(T));
SERIAL_CHAR(L);
SERIAL_ECHO_SP(3);
if (N == 3) {
@@ -259,22 +262,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_ECHOPGM(" TCCR");
SERIAL_CHAR(T + '0');
SERIAL_ECHOPAIR("A: ", *TCCRA);
SERIAL_ECHOPGM(" TCCR");
SERIAL_CHAR(T + '0');
SERIAL_ECHOPAIR("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_ECHOPGM(" TIMSK");
SERIAL_CHAR(T + '0');
SERIAL_ECHOPAIR(": ", *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(); }
@@ -286,7 +281,7 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
static 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;
@@ -295,7 +290,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)
@@ -303,12 +298,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
@@ -322,7 +317,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;
@@ -356,7 +351,6 @@ 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
const uint8_t port = digitalPinToPort_DEBUG(pin);
@@ -401,3 +395,6 @@ static void pwm_details(uint8_t pin) {
#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
@@ -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
+3
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
+22 -22
View File
@@ -34,14 +34,14 @@ 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)
@@ -58,13 +58,13 @@ typedef uint16_t hal_timer_t;
#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 +84,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 +109,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 +180,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 +193,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 +223,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 +251,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
@@ -62,10 +62,10 @@
#include "../shared/Marduino.h"
#include "../shared/Delay.h"
#include <U8glib.h>
#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));
-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__
-342
View File
@@ -1,342 +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 ARDUINO_ARCH_SAM
#include "../../core/macros.h"
#include "../../core/serial.h"
#include "../shared/backtrace/unwinder.h"
#include "../shared/backtrace/unwmemaccess.h"
#include <stdarg.h>
// Debug monitor that dumps to the Programming port all status when
// an exception or WDT timeout happens - And then resets the board
// All the Monitor routines must run with interrupts disabled and
// under an ISR execution context. That is why we cannot reuse the
// Serial interrupt routines or any C runtime, as we don't know the
// state we are when running them
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() __asm__ volatile("": : :"memory");
// (re)initialize UART0 as a monitor output to 250000,n,8,1
static void TXBegin() {
// Disable UART interrupt in NVIC
NVIC_DisableIRQ( UART_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();
// Disable clock
pmc_disable_periph_clk( ID_UART );
// Configure PMC
pmc_enable_periph_clk( ID_UART );
// Disable PDC channel
UART->UART_PTCR = UART_PTCR_RXTDIS | UART_PTCR_TXTDIS;
// Reset and disable receiver and transmitter
UART->UART_CR = UART_CR_RSTRX | UART_CR_RSTTX | UART_CR_RXDIS | UART_CR_TXDIS;
// Configure mode: 8bit, No parity, 1 bit stop
UART->UART_MR = UART_MR_CHMODE_NORMAL | US_MR_CHRL_8_BIT | US_MR_NBSTOP_1_BIT | UART_MR_PAR_NO;
// Configure baudrate (asynchronous, no oversampling) to BAUDRATE bauds
UART->UART_BRGR = (SystemCoreClock / (BAUDRATE << 4));
// Enable receiver and transmitter
UART->UART_CR = UART_CR_RXEN | UART_CR_TXEN;
}
// Send character through UART with no interrupts
static void TX(char c) {
while (!(UART->UART_SR & UART_SR_TXRDY)) { WDT_Restart(WDT); sw_barrier(); };
UART->UART_THR = c;
}
// Send String through UART
static void TX(const char* s) {
while (*s) TX(*s++);
}
static void TXDigit(uint32_t d) {
if (d < 10) TX((char)(d+'0'));
else if (d < 16) TX((char)(d+'A'-10));
else TX('?');
}
// Send Hex number thru UART
static void TXHex(uint32_t v) {
TX("0x");
for (uint8_t i = 0; i < 8; i++, v <<= 4)
TXDigit((v >> 28) & 0xF);
}
// Send Decimal number thru UART
static void TXDec(uint32_t v) {
if (!v) {
TX('0');
return;
}
char nbrs[14];
char *p = &nbrs[0];
while (v != 0) {
*p++ = '0' + (v % 10);
v /= 10;
}
do {
p--;
TX(*p);
} while (p != &nbrs[0]);
}
// Dump a backtrace entry
static bool UnwReportOut(void* ctx, const UnwReport* bte) {
int* p = (int*)ctx;
(*p)++;
TX('#'); TXDec(*p); TX(" : ");
TX(bte->name?bte->name:"unknown"); TX('@'); TXHex(bte->function);
TX('+'); TXDec(bte->address - bte->function);
TX(" PC:");TXHex(bte->address); TX('\n');
return true;
}
#ifdef UNW_DEBUG
void UnwPrintf(const char* format, ...) {
char dest[256];
va_list argptr;
va_start(argptr, format);
vsprintf(dest, format, argptr);
va_end(argptr);
TX(&dest[0]);
}
#endif
/* Table of function pointers for passing to the unwinder */
static const UnwindCallbacks UnwCallbacks = {
UnwReportOut,
UnwReadW,
UnwReadH,
UnwReadB
#ifdef UNW_DEBUG
, UnwPrintf
#endif
};
/**
* HardFaultHandler_C:
* This is called from the HardFault_HandlerAsm with a pointer the Fault stack
* as the parameter. We can then read the values from the stack and place them
* into local variables for ease of reading.
* We then read the various Fault Status and Address Registers to help decode
* cause of the fault.
* The function ends with a BKPT instruction to force control back into the debugger
*/
extern "C"
void HardFault_HandlerC(unsigned long *sp, unsigned long lr, unsigned long cause) {
static const char* causestr[] = {
"NMI","Hard","Mem","Bus","Usage","Debug","WDT","RSTC"
};
UnwindFrame btf;
// Dump report to the Programming port (interrupts are DISABLED)
TXBegin();
TX("\n\n## Software Fault detected ##\n");
TX("Cause: "); TX(causestr[cause]); TX('\n');
TX("R0 : "); TXHex(((unsigned long)sp[0])); TX('\n');
TX("R1 : "); TXHex(((unsigned long)sp[1])); TX('\n');
TX("R2 : "); TXHex(((unsigned long)sp[2])); TX('\n');
TX("R3 : "); TXHex(((unsigned long)sp[3])); TX('\n');
TX("R12 : "); TXHex(((unsigned long)sp[4])); TX('\n');
TX("LR : "); TXHex(((unsigned long)sp[5])); TX('\n');
TX("PC : "); TXHex(((unsigned long)sp[6])); TX('\n');
TX("PSR : "); TXHex(((unsigned long)sp[7])); TX('\n');
// Configurable Fault Status Register
// Consists of MMSR, BFSR and UFSR
TX("CFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED28)))); TX('\n');
// Hard Fault Status Register
TX("HFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED2C)))); TX('\n');
// Debug Fault Status Register
TX("DFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED30)))); TX('\n');
// Auxiliary Fault Status Register
TX("AFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED3C)))); TX('\n');
// Read the Fault Address Registers. These may not contain valid values.
// Check BFARVALID/MMARVALID to see if they are valid values
// MemManage Fault Address Register
TX("MMAR : "); TXHex((*((volatile unsigned long *)(0xE000ED34)))); TX('\n');
// Bus Fault Address Register
TX("BFAR : "); TXHex((*((volatile unsigned long *)(0xE000ED38)))); TX('\n');
TX("ExcLR: "); TXHex(lr); TX('\n');
TX("ExcSP: "); TXHex((unsigned long)sp); TX('\n');
btf.sp = ((unsigned long)sp) + 8*4; // The original stack pointer
btf.fp = btf.sp;
btf.lr = ((unsigned long)sp[5]);
btf.pc = ((unsigned long)sp[6]) | 1; // Force Thumb, as CORTEX only support it
// Perform a backtrace
TX("\nBacktrace:\n\n");
int ctr = 0;
UnwindStart(&btf, &UnwCallbacks, &ctr);
// Disable all NVIC interrupts
NVIC->ICER[0] = 0xFFFFFFFF;
NVIC->ICER[1] = 0xFFFFFFFF;
// Relocate VTOR table to default position
SCB->VTOR = 0;
// Disable USB
otg_disable();
// Restart watchdog
WDT_Restart(WDT);
// Reset controller
NVIC_SystemReset();
for (;;) WDT_Restart(WDT);
}
__attribute__((naked)) void NMI_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#0")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void HardFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#1")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void MemManage_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#2")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void BusFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#3")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void UsageFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#4")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void DebugMon_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#5")
A("b HardFault_HandlerC")
);
}
/* This is NOT an exception, it is an interrupt handler - Nevertheless, the framing is the same */
__attribute__((naked)) void WDT_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#6")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void RSTC_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#7")
A("b HardFault_HandlerC")
);
}
#endif // ARDUINO_ARCH_SAM
+126 -30
View File
@@ -25,7 +25,7 @@
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include "../../MarlinCore.h"
#include <Wire.h>
#include "usb/usb_task.h"
@@ -34,36 +34,33 @@
// Public Variables
// ------------------------
uint16_t HAL_adc_result;
uint16_t MarlinHAL::adc_result;
// ------------------------
// Public functions
// ------------------------
// HAL initialization task
void HAL_init() {
// Initialize the USB stack
#if ENABLED(POSTMORTEM_DEBUGGING)
extern void install_min_serial();
#endif
void MarlinHAL::init() {
#if ENABLED(SDSUPPORT)
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;
@@ -74,11 +71,105 @@ uint8_t HAL_get_reset_source() {
}
}
void _delay_ms(const int delay_ms) {
// Todo: port for Due?
delay(delay_ms);
void MarlinHAL::reboot() { rstc_start_software_reset(RSTC); }
// ------------------------
// 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
}
@@ -90,16 +181,21 @@ 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);
#endif
#if USING_HW_SERIAL1
DefaultSerial2 MSerial1(false, Serial1);
#endif
#if USING_HW_SERIAL2
DefaultSerial3 MSerial2(false, Serial2);
#endif
#if USING_HW_SERIAL3
DefaultSerial4 MSerial3(false, Serial3);
#endif
#endif // ARDUINO_ARCH_SAM
+126 -74
View File
@@ -32,113 +32,106 @@
#include "../shared/math_32bit.h"
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "watchdog.h"
#include <stdint.h>
#define _MSERIAL(X) Serial##X
#define MSERIAL(X) _MSERIAL(X)
#define Serial0 Serial
#include "../../core/serial_hook.h"
// ------------------------
// Serial ports
// ------------------------
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
typedef ForwardSerial1Class< decltype(Serial1) > DefaultSerial2;
typedef ForwardSerial1Class< decltype(Serial2) > DefaultSerial3;
typedef ForwardSerial1Class< decltype(Serial3) > DefaultSerial4;
extern DefaultSerial1 MSerial0;
extern DefaultSerial2 MSerial1;
extern DefaultSerial3 MSerial2;
extern DefaultSerial4 MSerial3;
#define _MSERIAL(X) MSerial##X
#define MSERIAL(X) _MSERIAL(X)
// Define MYSERIAL0/1 before MarlinSerial includes!
#if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL0 customizedSerial1
#define MYSERIAL1 customizedSerial1
#elif WITHIN(SERIAL_PORT, 0, 3)
#define MYSERIAL0 MSERIAL(SERIAL_PORT)
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#error "The required SERIAL_PORT must be from -1 to 3. Please update your configuration."
#error "The required SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL1 customizedSerial2
#define MYSERIAL2 customizedSerial2
#elif WITHIN(SERIAL_PORT_2, 0, 3)
#define MYSERIAL1 MSERIAL(SERIAL_PORT_2)
#define MYSERIAL2 MSERIAL(SERIAL_PORT_2)
#else
#error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration."
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
#endif
#endif
#ifdef SERIAL_PORT_3
#if SERIAL_PORT_3 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL3 customizedSerial3
#elif WITHIN(SERIAL_PORT_3, 0, 3)
#define MYSERIAL3 MSERIAL(SERIAL_PORT_3)
#else
#error "SERIAL_PORT_3 must be from 0 to 3, or -1 for USB Serial."
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if WITHIN(MMU2_SERIAL_PORT, 0, 3)
#define MMU2_SERIAL MSERIAL(SERIAL_PORT)
#define MMU2_SERIAL MSERIAL(MMU2_SERIAL_PORT)
#else
#error "MMU2_SERIAL_PORT must be from 0 to 3. Please update your configuration."
#error "MMU2_SERIAL_PORT must be from 0 to 3."
#endif
#endif
#ifdef LCD_SERIAL_PORT
#if LCD_SERIAL_PORT == -1
#define LCD_SERIAL lcdSerial
#elif WITHIN(LCD_SERIAL_PORT, 0, 3)
#if WITHIN(LCD_SERIAL_PORT, 0, 3)
#define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT)
#else
#error "LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#error "LCD_SERIAL_PORT must be from 0 to 3."
#endif
#endif
#include "MarlinSerial.h"
#include "MarlinSerialUSB.h"
// On AVR this is in math.h?
#define square(x) ((x)*(x))
#ifndef strncpy_P
#define strncpy_P(dest, src, num) strncpy((dest), (src), (num))
#endif
// Fix bug in pgm_read_ptr
#undef pgm_read_ptr
#define pgm_read_ptr(addr) (*((void**)(addr)))
#undef pgm_read_word
#define pgm_read_word(addr) (*((uint16_t*)(addr)))
// ------------------------
// 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
inline void HAL_reboot() {} // reboot the board or restart the bootloader
#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 3.3
#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
@@ -147,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" {
@@ -179,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);
}
};
+26 -32
View File
@@ -31,8 +31,6 @@
/**
* HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
*/
#ifdef ARDUINO_ARCH_SAM
@@ -56,8 +54,8 @@
#pragma GCC optimize (3)
typedef uint8_t (*pfnSpiTransfer)(uint8_t b);
typedef void (*pfnSpiRxBlock)(uint8_t* buf, uint32_t nbyte);
typedef void (*pfnSpiTxBlock)(const uint8_t* buf, uint32_t nbyte);
typedef void (*pfnSpiRxBlock)(uint8_t *buf, uint32_t nbyte);
typedef void (*pfnSpiTxBlock)(const uint8_t *buf, uint32_t nbyte);
/* ---------------- Macros to be able to access definitions from asm */
#define _PORT(IO) DIO ## IO ## _WPORT
@@ -240,7 +238,7 @@
}
// all the others
static uint32_t spiDelayCyclesX4 = (F_CPU) / 1000000; // 4µs => 125khz
static uint16_t spiDelayNS = 4000; // 4000ns => 125khz
static uint8_t spiTransferX(uint8_t b) { // using Mode 0
int bits = 8;
@@ -249,12 +247,12 @@
b <<= 1; // little setup time
WRITE(SD_SCK_PIN, HIGH);
__delay_4cycles(spiDelayCyclesX4);
DELAY_NS_VAR(spiDelayNS);
b |= (READ(SD_MISO_PIN) != 0);
WRITE(SD_SCK_PIN, LOW);
__delay_4cycles(spiDelayCyclesX4);
DELAY_NS_VAR(spiDelayNS);
} while (--bits);
return b;
}
@@ -270,7 +268,7 @@
static pfnSpiTransfer spiTransferTx = (pfnSpiTransfer)spiTransferX;
// Block transfers run at ~8 .. ~10Mhz - Tx version (Rx data discarded)
static void spiTxBlock0(const uint8_t* ptr, uint32_t todo) {
static void spiTxBlock0(const uint8_t *ptr, uint32_t todo) {
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(SD_MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(SD_MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
@@ -349,7 +347,7 @@
);
}
static void spiRxBlock0(uint8_t* ptr, uint32_t todo) {
static void spiRxBlock0(uint8_t *ptr, uint32_t todo) {
uint32_t bin = 0;
uint32_t work = 0;
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */
@@ -425,19 +423,19 @@
);
}
static void spiTxBlockX(const uint8_t* buf, uint32_t todo) {
static void spiTxBlockX(const uint8_t *buf, uint32_t todo) {
do {
(void)spiTransferTx(*buf++);
} while (--todo);
}
static void spiRxBlockX(uint8_t* buf, uint32_t todo) {
static void spiRxBlockX(uint8_t *buf, uint32_t todo) {
do {
*buf++ = spiTransferRx(0xFF);
} while (--todo);
}
// Pointers to generic functions for block tranfers
// Pointers to generic functions for block transfers
static pfnSpiTxBlock spiTxBlock = (pfnSpiTxBlock)spiTxBlockX;
static pfnSpiRxBlock spiRxBlock = (pfnSpiRxBlock)spiRxBlockX;
@@ -463,7 +461,7 @@
return b;
}
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (nbyte) {
_SS_WRITE(LOW);
WRITE(SD_MOSI_PIN, HIGH); // Output 1s 1
@@ -478,7 +476,7 @@
_SS_WRITE(HIGH);
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
_SS_WRITE(LOW);
(void)spiTransferTx(token);
spiTxBlock(buf, 512);
@@ -510,7 +508,7 @@
spiRxBlock = (pfnSpiRxBlock)spiRxBlockX;
break;
default:
spiDelayCyclesX4 = ((F_CPU) / 1000000) >> (6 - spiRate);
spiDelayNS = 4000 >> (6 - spiRate); // spiRate of 2 gives the maximum error with current CPU
spiTransferTx = (pfnSpiTransfer)spiTransferX;
spiTransferRx = (pfnSpiTransfer)spiTransferX;
spiTxBlock = (pfnSpiTxBlock)spiTxBlockX;
@@ -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);
@@ -645,7 +639,7 @@
}
// Read from SPI into buffer
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (!nbyte) return;
--nbyte;
for (int i = 0; i < nbyte; i++) {
@@ -668,7 +662,7 @@
//DELAY_US(1U);
}
void spiSend(const uint8_t* buf, size_t nbyte) {
void spiSend(const uint8_t *buf, size_t nbyte) {
if (!nbyte) return;
--nbyte;
for (size_t i = 0; i < nbyte; i++) {
@@ -689,7 +683,7 @@
FLUSH_RX();
}
void spiSend(uint32_t chan, const uint8_t* buf, size_t nbyte) {
void spiSend(uint32_t chan, const uint8_t *buf, size_t nbyte) {
if (!nbyte) return;
--nbyte;
for (size_t i = 0; i < nbyte; i++) {
@@ -702,7 +696,7 @@
}
// Write from buffer to SPI
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
SPI0->SPI_TDR = (uint32_t)token | SPI_PCS(SPI_CHAN);
WHILE_TX(0);
//WHILE_RX(0);
@@ -801,19 +795,19 @@
uint8_t spiRec() { return (uint8_t)spiTransfer(0xFF); }
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
for (int i = 0; i < nbyte; i++)
buf[i] = spiTransfer(0xFF);
}
void spiSend(uint8_t data) { spiTransfer(data); }
void spiSend(const uint8_t* buf, size_t nbyte) {
void spiSend(const uint8_t *buf, size_t nbyte) {
for (uint16_t i = 0; i < nbyte; i++)
spiTransfer(buf[i]);
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
spiTransfer(token);
for (uint16_t i = 0; i < 512; i++)
spiTransfer(buf[i]);
+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.
@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -21,5 +21,6 @@
*/
#pragma once
void watchdog_init();
void HAL_watchdog_refresh();
#include <SPI.h>
using MarlinSPI = SPIClass;
+15 -162
View File
@@ -382,7 +382,7 @@ void MarlinSerial<Cfg>::flush() {
}
template<typename Cfg>
void MarlinSerial<Cfg>::write(const uint8_t c) {
size_t MarlinSerial<Cfg>::write(const uint8_t c) {
_written = true;
if (Cfg::TX_SIZE == 0) {
@@ -400,13 +400,13 @@ void MarlinSerial<Cfg>::write(const uint8_t c) {
// XOFF char at the RX isr, but it is properly handled there
if (!(HWUART->UART_IMR & UART_IMR_TXRDY) && (HWUART->UART_SR & UART_SR_TXRDY)) {
HWUART->UART_THR = c;
return;
return 1;
}
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) {
@@ -428,6 +428,7 @@ void MarlinSerial<Cfg>::write(const uint8_t c) {
// Enable TX isr - Non atomic, but it will eventually enable TX isr
HWUART->UART_IER = UART_IER_TXRDY;
}
return 1;
}
template<typename Cfg>
@@ -453,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)) {
@@ -473,169 +474,21 @@ void MarlinSerial<Cfg>::flushTX() {
}
}
/**
* Imports from print.h
*/
template<typename Cfg>
void MarlinSerial<Cfg>::print(char c, int base) {
print((long)c, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned char b, int base) {
print((unsigned long)b, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(int n, int base) {
print((long)n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned int n, int base) {
print((unsigned long)n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(long n, int base) {
if (base == 0) write(n);
else if (base == 10) {
if (n < 0) { print('-'); n = -n; }
printNumber(n, 10);
}
else
printNumber(n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned long n, int base) {
if (base == 0) write(n);
else printNumber(n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(double n, int digits) {
printFloat(n, digits);
}
template<typename Cfg>
void MarlinSerial<Cfg>::println() {
print('\r');
print('\n');
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(const String& s) {
print(s);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(const char c[]) {
print(c);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(char c, int base) {
print(c, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned char b, int base) {
print(b, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(int n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned int n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(long n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned long n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(double n, int digits) {
print(n, digits);
println();
}
// Private Methods
template<typename Cfg>
void MarlinSerial<Cfg>::printNumber(unsigned long n, uint8_t base) {
if (n) {
unsigned char buf[8 * sizeof(long)]; // Enough space for base 2
int8_t i = 0;
while (n) {
buf[i++] = n % base;
n /= base;
}
while (i--)
print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10)));
}
else
print('0');
}
template<typename Cfg>
void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// Handle negative numbers
if (number < 0.0) {
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits) {
print('.');
// Extract digits from the remainder one at a time
while (digits--) {
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
}
// If not using the USB port as serial port
#if SERIAL_PORT >= 0
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1; // Instantiate
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
MSerialT1 customizedSerial1(MarlinSerialCfg<SERIAL_PORT>::EMERGENCYPARSER);
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2; // Instantiate
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> >;
MSerialT2 customizedSerial2(MarlinSerialCfg<SERIAL_PORT_2>::EMERGENCYPARSER);
#endif
#if defined(SERIAL_PORT_3) && SERIAL_PORT_3 >= 0
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> >;
MSerialT3 customizedSerial3(MarlinSerialCfg<SERIAL_PORT_3>::EMERGENCYPARSER);
#endif
#endif // ARDUINO_ARCH_SAM
+13 -39
View File
@@ -30,11 +30,7 @@
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#include "../../core/serial_hook.h"
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
@@ -119,44 +115,15 @@ public:
static int read();
static void flush();
static ring_buffer_pos_t available();
static void write(const uint8_t c);
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; }
FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; }
FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return Cfg::MAX_RX_QUEUED ? rx_max_enqueued : 0; }
FORCE_INLINE static void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE static void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); }
FORCE_INLINE static void print(const char* str) { write(str); }
static void print(char, int = 0);
static void print(unsigned char, int = 0);
static void print(int, int = DEC);
static void print(unsigned int, int = DEC);
static void print(long, int = DEC);
static void print(unsigned long, int = DEC);
static void print(double, int = 2);
static void println(const String& s);
static void println(const char[]);
static void println(char, int = 0);
static void println(unsigned char, int = 0);
static void println(int, int = DEC);
static void println(unsigned int, int = DEC);
static void println(long, int = DEC);
static void println(unsigned long, int = DEC);
static void println(double, int = 2);
static void println();
operator bool() { return true; }
private:
static void printNumber(unsigned long, const uint8_t);
static void printFloat(double, uint8_t);
};
// Serial port configuration
@@ -173,10 +140,17 @@ struct MarlinSerialCfg {
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
#if SERIAL_PORT >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT1;
extern MSerialT1 customizedSerial1;
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> > > MSerialT2;
extern MSerialT2 customizedSerial2;
#endif
#if defined(SERIAL_PORT_3) && SERIAL_PORT_3 >= 0
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> > > MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
+18 -166
View File
@@ -19,13 +19,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#ifdef ARDUINO_ARCH_SAM
/**
* MarlinSerial_Due.cpp - Hardware serial library for Arduino DUE
* Copyright (c) 2017 Eduardo José Tagle. All right reserved
* Based on MarlinSerial for AVR, copyright (c) 2006 Nicholas Zambetti. All right reserved.
*/
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
@@ -33,10 +33,6 @@
#include "MarlinSerialUSB.h"
#if ENABLED(EMERGENCY_PARSER)
#include "../../feature/e_parser.h"
#endif
// Imports from Atmel USB Stack/CDC implementation
extern "C" {
bool usb_task_cdc_isenabled();
@@ -45,15 +41,11 @@ 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;
#if ENABLED(EMERGENCY_PARSER)
static EmergencyParser::State emergency_state; // = EP_RESET
#endif
// Public Methods
void MarlinSerialUSB::begin(const long) {}
@@ -73,7 +65,7 @@ int MarlinSerialUSB::peek() {
pending_char = udi_cdc_getc();
TERN_(EMERGENCY_PARSER, emergency_parser.update(emergency_state, (char)pending_char));
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT1*>(this)->emergency_state, (char)pending_char));
return pending_char;
}
@@ -95,29 +87,27 @@ int MarlinSerialUSB::read() {
int c = udi_cdc_getc();
TERN_(EMERGENCY_PARSER, emergency_parser.update(emergency_state, (char)c));
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT1*>(this)->emergency_state, (char)c));
return c;
}
bool MarlinSerialUSB::available() {
/* If Pending chars */
return pending_char >= 0 ||
/* or USB CDC enumerated and configured on the PC side and some
bytes where sent to us */
(usb_task_cdc_isenabled() && udi_cdc_is_rx_ready());
int MarlinSerialUSB::available() {
if (pending_char > 0) return pending_char;
return pending_char == 0 ||
// or USB CDC enumerated and configured on the PC side and some bytes where sent to us */
(usb_task_cdc_isenabled() && udi_cdc_is_rx_ready());
}
void MarlinSerialUSB::flush() { }
void MarlinSerialUSB::flushTX() { }
void MarlinSerialUSB::write(const uint8_t c) {
size_t MarlinSerialUSB::write(const uint8_t c) {
/* Do not even bother sending anything if USB CDC is not enumerated
or not configured on the PC side or there is no program on the PC
listening to our messages */
if (!usb_task_cdc_isenabled() || !usb_task_cdc_dtr_active())
return;
return 0;
/* Wait until the PC has read the pending to be sent data */
while (usb_task_cdc_isenabled() &&
@@ -129,161 +119,23 @@ void MarlinSerialUSB::write(const uint8_t c) {
or not configured on the PC side or there is no program on the PC
listening to our messages at this point */
if (!usb_task_cdc_isenabled() || !usb_task_cdc_dtr_active())
return;
return 0;
// Fifo full
// udi_cdc_signal_overrun();
udi_cdc_putc(c);
}
/**
* Imports from print.h
*/
void MarlinSerialUSB::print(char c, int base) {
print((long)c, base);
}
void MarlinSerialUSB::print(unsigned char b, int base) {
print((unsigned long)b, base);
}
void MarlinSerialUSB::print(int n, int base) {
print((long)n, base);
}
void MarlinSerialUSB::print(unsigned int n, int base) {
print((unsigned long)n, base);
}
void MarlinSerialUSB::print(long n, int base) {
if (base == 0)
write(n);
else if (base == 10) {
if (n < 0) {
print('-');
n = -n;
}
printNumber(n, 10);
}
else
printNumber(n, base);
}
void MarlinSerialUSB::print(unsigned long n, int base) {
if (base == 0) write(n);
else printNumber(n, base);
}
void MarlinSerialUSB::print(double n, int digits) {
printFloat(n, digits);
}
void MarlinSerialUSB::println() {
print('\r');
print('\n');
}
void MarlinSerialUSB::println(const String& s) {
print(s);
println();
}
void MarlinSerialUSB::println(const char c[]) {
print(c);
println();
}
void MarlinSerialUSB::println(char c, int base) {
print(c, base);
println();
}
void MarlinSerialUSB::println(unsigned char b, int base) {
print(b, base);
println();
}
void MarlinSerialUSB::println(int n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(unsigned int n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(long n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(unsigned long n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(double n, int digits) {
print(n, digits);
println();
}
// Private Methods
void MarlinSerialUSB::printNumber(unsigned long n, uint8_t base) {
if (n) {
unsigned char buf[8 * sizeof(long)]; // Enough space for base 2
int8_t i = 0;
while (n) {
buf[i++] = n % base;
n /= base;
}
while (i--)
print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10)));
}
else
print('0');
}
void MarlinSerialUSB::printFloat(double number, uint8_t digits) {
// Handle negative numbers
if (number < 0.0) {
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
LOOP_L_N(i, digits)
rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits) {
print('.');
// Extract digits from the remainder one at a time
while (digits--) {
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
return 1;
}
// Preinstantiate
#if SERIAL_PORT == -1
MarlinSerialUSB customizedSerial1;
MSerialT1 customizedSerial1(TERN0(EMERGENCY_PARSER, true));
#endif
#if SERIAL_PORT_2 == -1
MarlinSerialUSB customizedSerial2;
MSerialT2 customizedSerial2(TERN0(EMERGENCY_PARSER, true));
#endif
#if SERIAL_PORT_3 == -1
MSerialT3 customizedSerial3(TERN0(EMERGENCY_PARSER, true));
#endif
#endif // HAS_USB_SERIAL
+19 -53
View File
@@ -27,73 +27,39 @@
*/
#include "../../inc/MarlinConfig.h"
#if HAS_USB_SERIAL
#include "../../core/serial_hook.h"
#include <WString.h>
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
class MarlinSerialUSB {
public:
MarlinSerialUSB() {};
static void begin(const long);
static void end();
static int peek();
static int read();
static void flush();
static void flushTX();
static bool available();
static void write(const uint8_t c);
struct MarlinSerialUSB {
void begin(const long);
void end();
int peek();
int read();
void flush();
int available();
size_t write(const uint8_t c);
#if ENABLED(SERIAL_STATS_DROPPED_RX)
FORCE_INLINE static uint32_t dropped() { return 0; }
FORCE_INLINE uint32_t dropped() { return 0; }
#endif
#if ENABLED(SERIAL_STATS_MAX_RX_QUEUED)
FORCE_INLINE static int rxMaxEnqueued() { return 0; }
FORCE_INLINE int rxMaxEnqueued() { return 0; }
#endif
FORCE_INLINE static void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE static void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); }
FORCE_INLINE static void print(const char* str) { write(str); }
static void print(char, int = 0);
static void print(unsigned char, int = 0);
static void print(int, int = DEC);
static void print(unsigned int, int = DEC);
static void print(long, int = DEC);
static void print(unsigned long, int = DEC);
static void print(double, int = 2);
static void println(const String& s);
static void println(const char[]);
static void println(char, int = 0);
static void println(unsigned char, int = 0);
static void println(int, int = DEC);
static void println(unsigned int, int = DEC);
static void println(long, int = DEC);
static void println(unsigned long, int = DEC);
static void println(double, int = 2);
static void println();
operator bool() { return true; }
private:
static void printNumber(unsigned long, const uint8_t);
static void printFloat(double, uint8_t);
};
#if SERIAL_PORT == -1
extern MarlinSerialUSB customizedSerial1;
typedef Serial1Class<MarlinSerialUSB> MSerialT1;
extern MSerialT1 customizedSerial1;
#endif
#if SERIAL_PORT_2 == -1
extern MarlinSerialUSB customizedSerial2;
typedef Serial1Class<MarlinSerialUSB> MSerialT2;
extern MSerialT2 customizedSerial2;
#endif
#endif // HAS_USB_SERIAL
#if SERIAL_PORT_3 == -1
typedef Serial1Class<MarlinSerialUSB> MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
+91
View File
@@ -0,0 +1,91 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfigPre.h"
#if ENABLED(POSTMORTEM_DEBUGGING)
#include "../shared/MinSerial.h"
#include <stdarg.h>
static void TXBegin() {
// Disable UART interrupt in NVIC
NVIC_DisableIRQ( UART_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();
// Disable clock
pmc_disable_periph_clk( ID_UART );
// Configure PMC
pmc_enable_periph_clk( ID_UART );
// Disable PDC channel
UART->UART_PTCR = UART_PTCR_RXTDIS | UART_PTCR_TXTDIS;
// Reset and disable receiver and transmitter
UART->UART_CR = UART_CR_RSTRX | UART_CR_RSTTX | UART_CR_RXDIS | UART_CR_TXDIS;
// Configure mode: 8bit, No parity, 1 bit stop
UART->UART_MR = UART_MR_CHMODE_NORMAL | US_MR_CHRL_8_BIT | US_MR_NBSTOP_1_BIT | UART_MR_PAR_NO;
// Configure baudrate (asynchronous, no oversampling) to BAUDRATE bauds
UART->UART_BRGR = (SystemCoreClock / (BAUDRATE << 4));
// Enable receiver and transmitter
UART->UART_CR = UART_CR_RXEN | UART_CR_TXEN;
}
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() __asm__ volatile("": : :"memory");
static void TX(char c) {
while (!(UART->UART_SR & UART_SR_TXRDY)) { WDT_Restart(WDT); sw_barrier(); };
UART->UART_THR = c;
}
void install_min_serial() {
HAL_min_serial_init = &TXBegin;
HAL_min_serial_out = &TX;
}
#if DISABLED(DYNAMIC_VECTORTABLE)
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();
}
#endif
#endif // POSTMORTEM_DEBUGGING
#endif // ARDUINO_ARCH_SAM
+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,7 +20,6 @@
*
*/
/**
* Based on u8g_com_msp430_hw_spi.c
*
@@ -60,7 +59,7 @@
#if HAS_MARLINUI_U8GLIB
#include <U8glib.h>
#include <U8glib-HAL.h>
#include "../../../MarlinCore.h"
@@ -57,11 +57,12 @@
#include "../../../inc/MarlinConfigPre.h"
#if ENABLED(U8GLIB_ST7920)
#if IS_U8GLIB_ST7920
#include "../../../inc/MarlinConfig.h"
#include "../../shared/Delay.h"
#include <U8glib.h>
#include <U8glib-HAL.h>
#include "u8g_com_HAL_DUE_sw_spi_shared.h"
@@ -181,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,14 +57,14 @@
#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"
#include "../../shared/Marduino.h"
#include "../../shared/Delay.h"
#include <U8glib.h>
#include <U8glib-HAL.h>
#if ENABLED(FYSETC_MINI_12864)
#define SPISEND_SW_DUE u8g_spiSend_sw_DUE_mode_3
@@ -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
@@ -59,9 +59,10 @@
#if HAS_MARLINUI_U8GLIB
#include "../../../inc/MarlinConfig.h"
#include "../../shared/Delay.h"
#include <U8glib.h>
#include <U8glib-HAL.h>
#include "u8g_com_HAL_DUE_sw_spi_shared.h"
@@ -23,7 +23,7 @@
#include "../../../inc/MarlinConfigPre.h"
#include "../../shared/Marduino.h"
#include <U8glib.h>
#include <U8glib-HAL.h>
void u8g_SetPIOutput_DUE(u8g_t *u8g, uint8_t pin_index);
void u8g_SetPILevel_DUE(u8g_t *u8g, uint8_t pin_index, uint8_t level);
+29 -42
View File
@@ -135,11 +135,11 @@ static uint8_t buffer[256] = {0}, // The RAM buffer to accumulate writes
#define DEBUG_OUT ENABLED(EE_EMU_DEBUG)
#include "../../core/debug_out.h"
static void ee_Dump(const int page, const void* data) {
static void ee_Dump(const int page, const void *data) {
#ifdef EE_EMU_DEBUG
const uint8_t* c = (const uint8_t*) data;
const uint8_t *c = (const uint8_t*) data;
char buffer[80];
sprintf_P(buffer, PSTR("Page: %d (0x%04x)\n"), page, page);
@@ -181,7 +181,7 @@ static void ee_Dump(const int page, const void* data) {
* @param data (pointer to the data buffer)
*/
__attribute__ ((long_call, section (".ramfunc")))
static bool ee_PageWrite(uint16_t page, const void* data) {
static bool ee_PageWrite(uint16_t page, const void *data) {
uint16_t i;
uint32_t addrflash = uint32_t(getFlashStorage(page));
@@ -199,10 +199,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 +244,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 +268,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,15 +283,14 @@ 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);
// Calculate count of changed bits
uint32_t* p1 = (uint32_t*)addrflash;
uint32_t* p2 = (uint32_t*)data;
uint32_t *p1 = (uint32_t*)addrflash;
uint32_t *p2 = (uint32_t*)data;
int count = 0;
for (i =0; i<PageSize >> 2; i++) {
if (p1[i] != p2[i]) {
@@ -306,7 +302,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 +321,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 +365,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 +388,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 +403,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;
}
@@ -470,7 +462,7 @@ static uint8_t ee_Read(uint32_t address, bool excludeRAMBuffer=false) {
for (int page = curPage - 1; page >= 0; --page) {
// Get a pointer to the flash page
uint8_t* pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint8_t *pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint16_t i = 0;
while (i <= (PageSize - 4)) { /* (PageSize - 4) because otherwise, there is not enough room for data and headers */
@@ -550,7 +542,7 @@ static uint32_t ee_GetAddrRange(uint32_t address, bool excludeRAMBuffer=false) {
for (int page = curPage - 1; page >= 0; --page) {
// Get a pointer to the flash page
uint8_t* pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint8_t *pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint16_t i = 0;
while (i <= (PageSize - 4)) { /* (PageSize - 4) because otherwise, there is not enough room for data and headers */
@@ -589,7 +581,7 @@ static uint32_t ee_GetAddrRange(uint32_t address, bool excludeRAMBuffer=false) {
}
static bool ee_IsPageClean(int page) {
uint32_t* pflash = (uint32_t*) getFlashStorage(page);
uint32_t *pflash = (uint32_t*) getFlashStorage(page);
for (uint16_t i = 0; i < (PageSize >> 2); ++i)
if (*pflash++ != 0xFFFFFFFF) return false;
return true;
@@ -599,7 +591,7 @@ static bool ee_Flush(uint32_t overrideAddress = 0xFFFFFFFF, uint8_t overrideData
// Check if RAM buffer has something to be written
bool isEmpty = true;
uint32_t* p = (uint32_t*) &buffer[0];
uint32_t *p = (uint32_t*) &buffer[0];
for (uint16_t j = 0; j < (PageSize >> 2); j++) {
if (*p++ != 0xFFFFFFFF) {
isEmpty = false;
@@ -921,8 +913,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 +922,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 +938,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);
@@ -976,14 +964,13 @@ bool PersistentStore::access_start() { ee_Init(); return true; }
bool PersistentStore::access_finish() { ee_Flush(); return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0;
while (size--) {
uint8_t * const p = (uint8_t * const)pos;
uint8_t v = *value;
// EEPROM has only ~100,000 write cycles,
// so only write bytes that have changed!
if (v != ee_Read(uint32_t(p))) {
if (v != ee_Read(uint32_t(p))) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
ee_Write(uint32_t(p), v);
delay(2);
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
if (ee_Read(uint32_t(p)) != v) {
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
+3 -4
View File
@@ -42,14 +42,13 @@ bool PersistentStore::access_start() { eeprom_init(); return true; }
bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0;
while (size--) {
uint8_t * const p = (uint8_t * const)pos;
uint8_t v = *value;
// EEPROM has only ~100,000 write cycles,
// so only write bytes that have changed!
if (v != eeprom_read_byte(p)) {
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
eeprom_write_byte(p, v);
delay(2);
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
if (eeprom_read_byte(p) != v) {
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
+12
View File
@@ -64,4 +64,16 @@ void setup_endstop_interrupts() {
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_(HAS_U_MAX, _ATTACH(U_MAX_PIN));
TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN));
TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN));
TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN));
TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN));
TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN));
}
+1 -1
View File
@@ -33,7 +33,7 @@
* For ARDUINO_ARCH_SAM
* Note the code here was specifically crafted by disassembling what GCC produces
* out of it, so GCC is able to optimize it out as much as possible to the least
* amount of instructions. Be very carefull if you modify them, as "clean code"
* amount of instructions. Be very careful if you modify them, as "clean code"
* leads to less efficient compiled code!!
*/
+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
+29 -1
View File
@@ -25,6 +25,30 @@
* Test Arduino Due specific configuration values for errors at compile-time.
*/
/**
* 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
*
@@ -57,5 +81,9 @@
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on this platform."
#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
+7 -4
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
*
@@ -64,9 +67,10 @@
#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,11 +86,10 @@ 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);
}
}
+17 -10
View File
@@ -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);
}
+27 -26
View File
@@ -35,37 +35,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 +93,7 @@ typedef struct {
// Public Variables
// ------------------------
extern const tTimerConfig TimerConfig[];
extern const tTimerConfig timer_config[];
// ------------------------
// Public functions
@@ -101,17 +102,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 +121,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
+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
@@ -71,7 +71,7 @@
/* ------------------------------------------------------------------------ */
/**
* \page arduino_due_x_board_info "Arduino Due/X - Board informations"
* \page arduino_due_x_board_info "Arduino Due/X - Board information"
* This page lists several definition related to the board description.
*
*/
+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;
}
}
+12 -12
View File
@@ -10,7 +10,7 @@
#include "../../../sd/cardreader.h"
extern "C" {
#include "sd_mmc_spi_mem.h"
#include "sd_mmc_spi_mem.h"
}
#define SD_MMC_BLOCK_SIZE 512
@@ -32,7 +32,7 @@ Ctrl_status sd_mmc_spi_test_unit_ready() {
Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector) {
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
*nb_sector = card.getSd2Card().cardSize() - 1;
*nb_sector = card.diskIODriver()->cardSize() - 1;
return CTRL_GOOD;
}
@@ -68,30 +68,30 @@ Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
{
char buffer[80];
sprintf_P(buffer, PSTR("SDRD: %d @ 0x%08x\n"), nb_sector, addr);
PORT_REDIRECT(0);
PORT_REDIRECT(SERIAL_PORTMASK(0));
SERIAL_ECHO(buffer);
}
#endif
// Start reading
if (!card.getSd2Card().readStart(addr))
if (!card.diskIODriver()->readStart(addr))
return CTRL_FAIL;
// For each specified sector
while (nb_sector--) {
// Read a sector
card.getSd2Card().readData(sector_buf);
card.diskIODriver()->readData(sector_buf);
// RAM -> USB
if (!udi_msc_trans_block(true, sector_buf, SD_MMC_BLOCK_SIZE, nullptr)) {
card.getSd2Card().readStop();
card.diskIODriver()->readStop();
return CTRL_FAIL;
}
}
// Stop reading
card.getSd2Card().readStop();
card.diskIODriver()->readStop();
// Done
return CTRL_GOOD;
@@ -108,12 +108,12 @@ Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
{
char buffer[80];
sprintf_P(buffer, PSTR("SDWR: %d @ 0x%08x\n"), nb_sector, addr);
PORT_REDIRECT(0);
PORT_REDIRECT(SERIAL_PORTMASK(0));
SERIAL_ECHO(buffer);
}
#endif
if (!card.getSd2Card().writeStart(addr, nb_sector))
if (!card.diskIODriver()->writeStart(addr, nb_sector))
return CTRL_FAIL;
// For each specified sector
@@ -121,16 +121,16 @@ Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
// USB -> RAM
if (!udi_msc_trans_block(false, sector_buf, SD_MMC_BLOCK_SIZE, nullptr)) {
card.getSd2Card().writeStop();
card.diskIODriver()->writeStop();
return CTRL_FAIL;
}
// Write a sector
card.getSd2Card().writeData(sector_buf);
card.diskIODriver()->writeData(sector_buf);
}
// Stop writing
card.getSd2Card().writeStop();
card.diskIODriver()->writeStop();
// Done
return CTRL_GOOD;
+2 -2
View File
@@ -74,7 +74,7 @@
#define SD_MMC_REMOVING 2
//---- CONTROL FONCTIONS ----
//---- CONTROL FUNCTIONS ----
//!
//! @brief This function initializes the hw/sw resources required to drive the SD_MMC_SPI.
//!/
@@ -134,7 +134,7 @@ extern bool sd_mmc_spi_wr_protect(void);
extern bool sd_mmc_spi_removal(void);
//---- ACCESS DATA FONCTIONS ----
//---- ACCESS DATA FUNCTIONS ----
#if ACCESS_USB == true
// Standard functions for open in read/write mode the device
+4 -4
View File
@@ -90,7 +90,7 @@ typedef struct {
//! 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 transfered
//! 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
@@ -132,10 +132,10 @@ typedef void (*udd_callback_halt_cleared_t)(void);
*
* \param status UDD_EP_TRANSFER_OK, if transfer is complete
* \param status UDD_EP_TRANSFER_ABORT, if transfer is aborted
* \param n number of data transfered
* \param n number of data transferred
*/
typedef void (*udd_callback_trans_t) (udd_ep_status_t status,
iram_size_t nb_transfered, udd_ep_id_t ep);
iram_size_t nb_transferred, udd_ep_id_t ep);
/**
* \brief Authorizes the VBUS event
@@ -303,7 +303,7 @@ bool udd_ep_wait_stall_clear(udd_ep_id_t ep,
* The driver uses a specific DMA USB to transfer data
* from internal RAM to endpoint, if this one is available.
* When the transfer is finished or aborted (stall, reset, ...), the \a callback is called.
* The \a callback returns the transfer status and eventually the number of byte transfered.
* The \a callback returns the transfer status and eventually the number of byte transferred.
* Note: The control endpoint is not authorized.
*
* \param ep The ID of the endpoint to use
+2 -2
View File
@@ -162,7 +162,7 @@ static void udi_cdc_ctrl_state_notify(uint8_t port, udd_ep_id_t ep);
*
* \param status UDD_EP_TRANSFER_OK, if transfer finished
* \param status UDD_EP_TRANSFER_ABORT, if transfer aborted
* \param n number of data transfered
* \param n number of data transferred
*/
static void udi_cdc_serial_state_msg_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep);
@@ -200,7 +200,7 @@ static void udi_cdc_data_received(udd_ep_status_t status, iram_size_t n, udd_ep_
*
* \param status UDD_EP_TRANSFER_OK, if transfer finished
* \param status UDD_EP_TRANSFER_ABORT, if transfer aborted
* \param n number of data transfered
* \param n number of data transferred
*/
static void udi_cdc_data_sent(udd_ep_status_t status, iram_size_t n, udd_ep_id_t ep);
+2 -2
View File
@@ -675,11 +675,11 @@ iram_size_t udi_cdc_multi_write_buf(uint8_t port, const void* buf, iram_size_t s
* - \code // Waits and gets a value on CDC line
int udi_cdc_getc(void);
// Reads a RAM buffer on CDC line
iram_size_t udi_cdc_read_buf(int* buf, iram_size_t size);
iram_size_t udi_cdc_read_buf(int *buf, iram_size_t size);
// Puts a byte on CDC line
int udi_cdc_putc(int value);
// Writes a RAM buffer on CDC line
iram_size_t udi_cdc_write_buf(const int* buf, iram_size_t size); \endcode
iram_size_t udi_cdc_write_buf(const int *buf, iram_size_t size); \endcode
*
* \section udi_cdc_use_cases Advanced use cases
* For more advanced use of the UDI CDC module, see the following use cases:
+1 -1
View File
@@ -106,7 +106,7 @@ extern "C" {
*/
//@{
# if UDI_CDC_PORT_NB > 2
# error USBB, UDP, UDPHS and UOTGHS interfaces have not enought endpoints.
# error USBB, UDP, UDPHS and UOTGHS interfaces have not enough endpoints.
# endif
#define UDI_CDC_DATA_EP_IN_0 (1 | USB_EP_DIR_IN) // TX
#define UDI_CDC_DATA_EP_OUT_0 (2 | USB_EP_DIR_OUT) // RX
+5 -5
View File
@@ -173,7 +173,7 @@ static void udi_msc_cbw_wait(void);
*
* \param status UDD_EP_TRANSFER_OK, if transfer is finished
* \param status UDD_EP_TRANSFER_ABORT, if transfer is aborted
* \param nb_received number of data transfered
* \param nb_received number of data transferred
*/
static void udi_msc_cbw_received(udd_ep_status_t status,
iram_size_t nb_received, udd_ep_id_t ep);
@@ -211,7 +211,7 @@ static void udi_msc_data_send(uint8_t * buffer, uint8_t buf_size);
*
* \param status UDD_EP_TRANSFER_OK, if transfer finish
* \param status UDD_EP_TRANSFER_ABORT, if transfer aborted
* \param nb_sent number of data transfered
* \param nb_sent number of data transferred
*/
static void udi_msc_data_sent(udd_ep_status_t status, iram_size_t nb_sent,
udd_ep_id_t ep);
@@ -244,7 +244,7 @@ void udi_msc_csw_send(void);
*
* \param status UDD_EP_TRANSFER_OK, if transfer is finished
* \param status UDD_EP_TRANSFER_ABORT, if transfer is aborted
* \param nb_sent number of data transfered
* \param nb_sent number of data transferred
*/
static void udi_msc_csw_sent(udd_ep_status_t status, iram_size_t nb_sent,
udd_ep_id_t ep);
@@ -463,7 +463,7 @@ uint8_t udi_msc_getsetting(void)
static void udi_msc_cbw_invalid(void)
{
if (!udi_msc_b_cbw_invalid)
return; // Don't re-stall endpoint if error reseted by setup
return; // Don't re-stall endpoint if error reset by setup
udd_ep_set_halt(UDI_MSC_EP_OUT);
// If stall cleared then re-stall it. Only Setup MSC Reset can clear it
udd_ep_wait_stall_clear(UDI_MSC_EP_OUT, udi_msc_cbw_invalid);
@@ -472,7 +472,7 @@ static void udi_msc_cbw_invalid(void)
static void udi_msc_csw_invalid(void)
{
if (!udi_msc_b_cbw_invalid)
return; // Don't re-stall endpoint if error reseted by setup
return; // Don't re-stall endpoint if error reset by setup
udd_ep_set_halt(UDI_MSC_EP_IN);
// If stall cleared then re-stall it. Only Setup MSC Reset can clear it
udd_ep_wait_stall_clear(UDI_MSC_EP_IN, udi_msc_csw_invalid);
+23 -23
View File
@@ -325,7 +325,7 @@ static void udd_sleep_mode(bool b_idle)
/**
* \name Control endpoint low level management routine.
*
* This function performs control endpoint mangement.
* This function performs control endpoint management.
* It handle the SETUP/DATA/HANDSHAKE phases of a control transaction.
*/
//@{
@@ -397,9 +397,9 @@ static void udd_ctrl_endofrequest(void);
/**
* \brief Main interrupt routine for control endpoint
*
* This switchs control endpoint events to correct sub function.
* This switches control endpoint events to correct sub function.
*
* \return \c 1 if an event about control endpoint is occured, otherwise \c 0.
* \return \c 1 if an event about control endpoint is occurred, otherwise \c 0.
*/
static bool udd_ctrl_interrupt(void);
@@ -410,7 +410,7 @@ static bool udd_ctrl_interrupt(void);
* \name Management of bulk/interrupt/isochronous endpoints
*
* The UDD manages the data transfer on endpoints:
* - Start data tranfer on endpoint with USB Device DMA
* - Start data transfer on endpoint with USB Device DMA
* - Send a ZLP packet if requested
* - Call callback registered to signal end of transfer
* The transfer abort and stall feature are supported.
@@ -431,7 +431,7 @@ typedef struct {
uint8_t *buf;
//! Size of buffer to send or fill
iram_size_t buf_size;
//!< Size of data transfered
//!< Size of data transferred
iram_size_t buf_cnt;
//!< Size of data loaded (or prepared for DMA) last time
iram_size_t buf_load;
@@ -486,7 +486,7 @@ static void udd_ep_finish_job(udd_ep_job_t * ptr_job, bool b_abort, uint8_t ep_n
#ifdef UDD_EP_DMA_SUPPORTED
/**
* \brief Start the next transfer if necessary or complet the job associated.
* \brief Start the next transfer if necessary or complete the job associated.
*
* \param ep endpoint number without direction flag
*/
@@ -496,9 +496,9 @@ static void udd_ep_finish_job(udd_ep_job_t * ptr_job, bool b_abort, uint8_t ep_n
/**
* \brief Main interrupt routine for bulk/interrupt/isochronous endpoints
*
* This switchs endpoint events to correct sub function.
* This switches endpoint events to correct sub function.
*
* \return \c 1 if an event about bulk/interrupt/isochronous endpoints has occured, otherwise \c 0.
* \return \c 1 if an event about bulk/interrupt/isochronous endpoints has occurred, otherwise \c 0.
*/
static bool udd_ep_interrupt(void);
@@ -520,7 +520,7 @@ static bool udd_ep_interrupt(void);
*
* Note:
* Here, the global interrupt mask is not clear when an USB interrupt is enabled
* because this one can not be occured during the USB ISR (=during INTX is masked).
* because this one can not be occurred during the USB ISR (=during INTX is masked).
* See Technical reference $3.8.3 Masking interrupt requests in peripheral modules.
*/
#ifdef UHD_ENABLE
@@ -787,7 +787,7 @@ void udd_attach(void)
udd_sleep_mode(true);
otg_unfreeze_clock();
// This section of clock check can be improved with a chek of
// This section of clock check can be improved with a check of
// USB clock source via sysclk()
// Check USB clock because the source can be a PLL
while (!Is_otg_clock_usable());
@@ -803,7 +803,7 @@ void udd_attach(void)
#ifdef USB_DEVICE_HS_SUPPORT
udd_enable_msof_interrupt();
#endif
// Reset following interupts flag
// Reset following interrupts flag
udd_ack_reset();
udd_ack_sof();
udd_ack_msof();
@@ -902,7 +902,7 @@ bool udd_ep_alloc(udd_ep_id_t ep, uint8_t bmAttributes,
}
dbg_print("alloc(%x, %d) ", ep, MaxEndpointSize);
// Bank choise
// Bank choice
switch (bmAttributes & USB_EP_TYPE_MASK) {
case USB_EP_TYPE_ISOCHRONOUS:
nb_bank = UDD_ISOCHRONOUS_NB_BANK(ep);
@@ -1228,7 +1228,7 @@ bool udd_ep_wait_stall_clear(udd_ep_id_t ep,
if (Is_udd_endpoint_stall_requested(ep)
|| ptr_job->stall_requested) {
// Endpoint halted then registes the callback
// Endpoint halted then registers the callback
ptr_job->busy = true;
ptr_job->call_nohalt = callback;
} else {
@@ -1386,7 +1386,7 @@ static void udd_ctrl_setup_received(void)
// Decode setup request
if (udc_process_setup() == false) {
// Setup request unknow then stall it
// Setup request unknown then stall it
udd_ctrl_stall_data();
udd_ack_setup_received(0);
return;
@@ -1447,7 +1447,7 @@ static void udd_ctrl_in_sent(void)
udd_ctrl_prev_payload_buf_cnt += udd_ctrl_payload_buf_cnt;
if ((udd_g_ctrlreq.req.wLength == udd_ctrl_prev_payload_buf_cnt)
|| b_shortpacket) {
// All data requested are transfered or a short packet has been sent
// All data requested are transferred or a short packet has been sent
// then it is the end of data phase.
// Generate an OUT ZLP for handshake phase.
udd_ctrl_send_zlp_out();
@@ -1516,7 +1516,7 @@ static void udd_ctrl_out_received(void)
// End of SETUP request:
// - Data IN Phase aborted,
// - or last Data IN Phase hidden by ZLP OUT sending quiclky,
// - or ZLP OUT received normaly.
// - or ZLP OUT received normally.
udd_ctrl_endofrequest();
} else {
// Protocol error during SETUP request
@@ -1544,7 +1544,7 @@ static void udd_ctrl_out_received(void)
(udd_ctrl_prev_payload_buf_cnt +
udd_ctrl_payload_buf_cnt))) {
// End of reception because it is a short packet
// Before send ZLP, call intermediat calback
// Before send ZLP, call intermediate callback
// in case of data receiv generate a stall
udd_g_ctrlreq.payload_size = udd_ctrl_payload_buf_cnt;
if (NULL != udd_g_ctrlreq.over_under_run) {
@@ -1565,7 +1565,7 @@ static void udd_ctrl_out_received(void)
if (udd_g_ctrlreq.payload_size == udd_ctrl_payload_buf_cnt) {
// Overrun then request a new payload buffer
if (!udd_g_ctrlreq.over_under_run) {
// No callback availabled to request a new payload buffer
// No callback available to request a new payload buffer
udd_ctrl_stall_data();
// Ack reception of OUT to replace NAK by a STALL
udd_ack_out_received(0);
@@ -1805,7 +1805,7 @@ static void udd_ep_trans_done(udd_ep_id_t ep)
// transfer size of UDD_ENDPOINT_MAX_TRANS Bytes
next_trans = UDD_ENDPOINT_MAX_TRANS;
// Set 0 to tranfer the maximum
// Set 0 to transfer the maximum
udd_dma_ctrl = UOTGHS_DEVDMACONTROL_BUFF_LENGTH(0);
} else {
udd_dma_ctrl = UOTGHS_DEVDMACONTROL_BUFF_LENGTH(next_trans);
@@ -1850,7 +1850,7 @@ static void udd_ep_trans_done(udd_ep_id_t ep)
}
cpu_irq_restore(flags);
// Here a ZLP has been recieved
// Here a ZLP has been received
// and the DMA transfer must be not started.
// It is the end of transfer
ptr_job->buf_size = ptr_job->buf_cnt;
@@ -1991,13 +1991,13 @@ static bool udd_ep_interrupt(void)
}
dbg_print("dma%x: ", ep);
udd_disable_endpoint_dma_interrupt(ep);
// Save number of data no transfered
// Save number of data no transferred
nb_remaining = (udd_endpoint_dma_get_status(ep) &
UOTGHS_DEVDMASTATUS_BUFF_COUNT_Msk)
>> UOTGHS_DEVDMASTATUS_BUFF_COUNT_Pos;
if (nb_remaining) {
// Transfer no complete (short packet or ZLP) then:
// Update number of data transfered
// Update number of data transferred
ptr_job->buf_cnt -= nb_remaining;
// Set transfer complete to stop the transfer
ptr_job->buf_size = ptr_job->buf_cnt;
@@ -2056,7 +2056,7 @@ static bool udd_ep_interrupt(void)
udd_disable_endpoint_interrupt(ep);
Assert(ptr_job->stall_requested);
// A stall has been requested during backgound transfer
// A stall has been requested during background transfer
ptr_job->stall_requested = false;
udd_disable_endpoint_bank_autoswitch(ep);
udd_enable_stall_handshake(ep);
+1 -1
View File
@@ -130,7 +130,7 @@ struct usb_msc_cbw {
struct usb_msc_csw {
le32_t dCSWSignature; //!< Must contain 'USBS'
le32_t dCSWTag; //!< Same as dCBWTag
le32_t dCSWDataResidue; //!< Number of bytes not transfered
le32_t dCSWDataResidue; //!< Number of bytes not transferred
uint8_t bCSWStatus; //!< Status code
};
+3 -3
View File
@@ -62,7 +62,7 @@ void usb_task_idle(void) {
// Attend SD card access from the USB MSD -- Prioritize access to improve speed
int delay = 2;
while (main_b_msc_enable && --delay > 0) {
if (udi_msc_process_trans()) delay = 10000;
if (udi_msc_process_trans()) delay = 20;
// Reset the watchdog, just to be sure
REG_WDT_CR = WDT_CR_WDRSTT | WDT_CR_KEY(0xA5);
@@ -264,7 +264,7 @@ bool usb_task_extra_string(void) {
** Handle device requests that the ASF stack doesn't
*/
bool usb_task_other_requests(void) {
uint8_t* ptr = 0;
uint8_t *ptr = 0;
uint16_t size = 0;
if (Udd_setup_type() == USB_REQ_TYPE_VENDOR) {
@@ -322,7 +322,7 @@ void usb_task_init(void) {
char *sptr;
// Patch in the filament diameter
sprintf_P(diam, PSTR("%d"), (int)((DEFAULT_NOMINAL_FILAMENT_DIA) * 1000.0));
itoa((int)((DEFAULT_NOMINAL_FILAMENT_DIA) * 1000), diam, 10);
// And copy it to the proper place, expanding it to unicode
sptr = &diam[0];
-114
View File
@@ -1,114 +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 ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
#include "../../MarlinCore.h"
#include "watchdog.h"
// 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
}
#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 watchdog_init() {
// Reset watchdog to start clean
WDT_Restart(WDT);
}
#endif // USE_WATCHDOG
#endif
@@ -20,14 +20,10 @@
*
*/
#include "FlushableHardwareSerial.h"
#ifdef ARDUINO_ARCH_ESP32
FlushableHardwareSerial::FlushableHardwareSerial(int uart_nr)
: HardwareSerial(uart_nr)
{}
#include "FlushableHardwareSerial.h"
FlushableHardwareSerial flushableSerial(0);
Serial1Class<FlushableHardwareSerial> flushableSerial(false, 0);
#endif // ARDUINO_ARCH_ESP32
#endif
@@ -21,17 +21,14 @@
*/
#pragma once
#ifdef ARDUINO_ARCH_ESP32
#include <HardwareSerial.h>
#include "../shared/Marduino.h"
#include "../../core/serial_hook.h"
class FlushableHardwareSerial : public HardwareSerial {
public:
FlushableHardwareSerial(int uart_nr);
inline void flushTX() { /* No need to flush the hardware serial, but defined here for compatibility. */ }
FlushableHardwareSerial(int uart_nr) : HardwareSerial(uart_nr) {}
};
extern FlushableHardwareSerial flushableSerial;
#endif // ARDUINO_ARCH_ESP32
extern Serial1Class<FlushableHardwareSerial> flushableSerial;
+199 -44
View File
@@ -28,6 +28,10 @@
#include <esp_adc_cal.h>
#include <HardwareSerial.h>
#if ENABLED(USE_ESP32_TASK_WDT)
#include <esp_task_wdt.h>
#endif
#if ENABLED(WIFISUPPORT)
#include <ESPAsyncWebServer.h>
#include "wifi.h"
@@ -40,11 +44,15 @@
#endif
#endif
#if ENABLED(ESP3D_WIFISUPPORT)
DefaultSerial1 MSerial0(false, Serial2Socket);
#endif
// ------------------------
// Externs
// ------------------------
portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED;
portMUX_TYPE MarlinHAL::spinlock = portMUX_INITIALIZER_UNLOCKED;
// ------------------------
// Local defines
@@ -56,7 +64,8 @@ portMUX_TYPE spinlock = portMUX_INITIALIZER_UNLOCKED;
// Public Variables
// ------------------------
uint16_t HAL_adc_result;
uint16_t MarlinHAL::adc_result;
pwm_pin_t MarlinHAL::pwm_pin_data[MAX_EXPANDER_BITS];
// ------------------------
// Private Variables
@@ -65,9 +74,16 @@ uint16_t HAL_adc_result;
esp_adc_cal_characteristics_t characteristics[ADC_ATTEN_MAX];
adc_atten_t attenuations[ADC1_CHANNEL_MAX] = {};
uint32_t thresholds[ADC_ATTEN_MAX];
volatile int numPWMUsed = 0,
pwmPins[MAX_PWM_PINS],
pwmValues[MAX_PWM_PINS];
volatile int numPWMUsed = 0;
volatile struct { pin_t pin; int value; } pwmState[MAX_PWM_PINS];
pin_t chan_pin[CHANNEL_MAX_NUM + 1] = { 0 }; // PWM capable IOpins - not 0 or >33 on ESP32
struct {
uint32_t freq; // ledcReadFreq doesn't work if a duty hasn't been set yet!
uint16_t res;
} pwmInfo[(CHANNEL_MAX_NUM + 1) / 2];
// ------------------------
// Public functions
@@ -86,10 +102,26 @@ volatile int numPWMUsed = 0,
#endif
void HAL_init() { TERN_(I2S_STEPPER_STREAM, i2s_init()); }
#if ENABLED(USE_ESP32_EXIO)
void HAL_init_board() {
HardwareSerial YSerial2(2);
void Write_EXIO(uint8_t IO, uint8_t v) {
if (hal.isr_state()) {
hal.isr_off();
YSerial2.write(0x80 | (((char)v) << 5) | (IO - 100));
hal.isr_on();
}
else
YSerial2.write(0x80 | (((char)v) << 5) | (IO - 100));
}
#endif
void MarlinHAL::init_board() {
#if ENABLED(USE_ESP32_TASK_WDT)
esp_task_wdt_init(10, true);
#endif
#if ENABLED(ESP3D_WIFISUPPORT)
esp3dlib.init();
#elif ENABLED(WIFISUPPORT)
@@ -122,27 +154,61 @@ void HAL_init_board() {
#endif
#endif
// Initialize the i2s peripheral only if the I2S stepper stream is enabled.
// The following initialization is performed after Serial1 and Serial2 are defined as
// their native pins might conflict with the i2s stream even when they are remapped.
#if ENABLED(USE_ESP32_EXIO)
YSerial2.begin(460800 * 3, SERIAL_8N1, 16, 17);
#elif ENABLED(I2S_STEPPER_STREAM)
i2s_init();
#endif
}
void HAL_idletask() {
void MarlinHAL::idletask() {
#if BOTH(WIFISUPPORT, OTASUPPORT)
OTA_handle();
#endif
TERN_(ESP3D_WIFISUPPORT, esp3dlib.idletask());
}
void HAL_clear_reset_source() { }
uint8_t MarlinHAL::get_reset_source() { return rtc_get_reset_reason(1); }
uint8_t HAL_get_reset_source() { return rtc_get_reset_reason(1); }
void MarlinHAL::reboot() { ESP.restart(); }
void _delay_ms(int delay_ms) { delay(delay_ms); }
// return free memory between end of heap (or end bss) and whatever is current
int freeMemory() { return ESP.getFreeHeap(); }
int MarlinHAL::freeMemory() { return ESP.getFreeHeap(); }
// ------------------------
// Watchdog Timer
// ------------------------
#if ENABLED(USE_WATCHDOG)
#define WDT_TIMEOUT_US TERN(WATCHDOG_DURATION_8S, 8000000, 4000000) // 4 or 8 second timeout
extern "C" {
esp_err_t esp_task_wdt_reset();
}
void watchdogSetup() {
// do whatever. don't remove this function.
}
void MarlinHAL::watchdog_init() {
// TODO
}
// Reset watchdog.
void MarlinHAL::watchdog_refresh() { esp_task_wdt_reset(); }
#endif
// ------------------------
// ADC
// ------------------------
#define ADC1_CHANNEL(pin) ADC1_GPIO ## pin ## _CHANNEL
adc1_channel_t get_channel(int pin) {
@@ -164,21 +230,24 @@ void adc1_set_attenuation(adc1_channel_t chan, adc_atten_t atten) {
}
}
void HAL_adc_init() {
void MarlinHAL::adc_init() {
// Configure ADC
adc1_config_width(ADC_WIDTH_12Bit);
// Configure channels only if used as (re-)configuring a pin for ADC that is used elsewhere might have adverse effects
TERN_(HAS_TEMP_ADC_0, adc1_set_attenuation(get_channel(TEMP_0_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_1, adc1_set_attenuation(get_channel(TEMP_1_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_2, adc1_set_attenuation(get_channel(TEMP_2_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_3, adc1_set_attenuation(get_channel(TEMP_3_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_4, adc1_set_attenuation(get_channel(TEMP_4_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_5, adc1_set_attenuation(get_channel(TEMP_5_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_6, adc2_set_attenuation(get_channel(TEMP_6_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_7, adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db));
TERN_(HAS_HEATED_BED, adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_CHAMBER, adc1_set_attenuation(get_channel(TEMP_CHAMBER_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_0, adc1_set_attenuation(get_channel(TEMP_0_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_1, adc1_set_attenuation(get_channel(TEMP_1_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_2, adc1_set_attenuation(get_channel(TEMP_2_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_3, adc1_set_attenuation(get_channel(TEMP_3_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_4, adc1_set_attenuation(get_channel(TEMP_4_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_5, adc1_set_attenuation(get_channel(TEMP_5_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_6, adc2_set_attenuation(get_channel(TEMP_6_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_ADC_7, adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db));
TERN_(HAS_HEATED_BED, adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_CHAMBER, adc1_set_attenuation(get_channel(TEMP_CHAMBER_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_PROBE, adc1_set_attenuation(get_channel(TEMP_PROBE_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_COOLER, adc1_set_attenuation(get_channel(TEMP_COOLER_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_BOARD, adc1_set_attenuation(get_channel(TEMP_BOARD_PIN), ADC_ATTEN_11db));
TERN_(FILAMENT_WIDTH_SENSOR, adc1_set_attenuation(get_channel(FILWIDTH_PIN), ADC_ATTEN_11db));
// Note that adc2 is shared with the WiFi module, which has higher priority, so the conversion may fail.
@@ -193,11 +262,16 @@ void HAL_adc_init() {
}
}
void HAL_adc_start_conversion(const uint8_t adc_pin) {
const adc1_channel_t chan = get_channel(adc_pin);
#ifndef ADC_REFERENCE_VOLTAGE
#define ADC_REFERENCE_VOLTAGE 3.3
#endif
void MarlinHAL::adc_start(const pin_t pin) {
const adc1_channel_t chan = get_channel(pin);
uint32_t mv;
esp_adc_cal_get_voltage((adc_channel_t)chan, &characteristics[attenuations[chan]], &mv);
HAL_adc_result = mv * 1023.0 / 3300.0;
adc_result = mv * isr_float_t(1023) / isr_float_t(ADC_REFERENCE_VOLTAGE) / isr_float_t(1000);
// Change the attenuation level based on the new reading
adc_atten_t atten;
@@ -214,25 +288,106 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) {
adc1_set_attenuation(chan, atten);
}
void analogWrite(pin_t pin, int value) {
// Use ledc hardware for internal pins
if (pin < 34) {
static int cnt_channel = 1, pin_to_channel[40] = { 0 };
if (pin_to_channel[pin] == 0) {
ledcAttachPin(pin, cnt_channel);
ledcSetup(cnt_channel, 490, 8);
ledcWrite(cnt_channel, value);
pin_to_channel[pin] = cnt_channel++;
// ------------------------
// PWM
// ------------------------
int8_t channel_for_pin(const uint8_t pin) {
for (int i = 0; i <= CHANNEL_MAX_NUM; i++)
if (chan_pin[i] == pin) return i;
return -1;
}
// get PWM channel for pin - if none then attach a new one
// return -1 if fail or invalid pin#, channel # (0-15) if success
int8_t get_pwm_channel(const pin_t pin, const uint32_t freq, const uint16_t res) {
if (!WITHIN(pin, 1, MAX_PWM_IOPIN)) return -1; // Not a hardware PWM pin!
int8_t cid = channel_for_pin(pin);
if (cid >= 0) return cid;
// Find an empty adjacent channel (same timer & freq/res)
for (int i = 0; i <= CHANNEL_MAX_NUM; i++) {
if (chan_pin[i] == 0) {
if (chan_pin[i ^ 0x1] != 0) {
if (pwmInfo[i / 2].freq == freq && pwmInfo[i / 2].res == res) {
chan_pin[i] = pin; // Allocate PWM to this channel
ledcAttachPin(pin, i);
return i;
}
}
else if (cid == -1) // Pair of empty channels?
cid = i & 0xFE; // Save lower channel number
}
ledcWrite(pin_to_channel[pin], value);
}
// not attached, is an empty timer slot avail?
if (cid >= 0) {
chan_pin[cid] = pin;
pwmInfo[cid / 2].freq = freq;
pwmInfo[cid / 2].res = res;
ledcSetup(cid, freq, res);
ledcAttachPin(pin, cid);
}
return cid; // -1 if no channel avail
}
void MarlinHAL::set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size/*=_BV(PWM_RESOLUTION)-1*/, const bool invert/*=false*/) {
#if ENABLED(I2S_STEPPER_STREAM)
if (pin > 127) {
const uint8_t pinlo = pin & 0x7F;
pwm_pin_t &pindata = pwm_pin_data[pinlo];
const uint32_t duty = map(invert ? v_size - v : v, 0, v_size, 0, pindata.pwm_cycle_ticks);
if (duty == 0 || duty == pindata.pwm_cycle_ticks) { // max or min (i.e., on/off)
pindata.pwm_duty_ticks = 0; // turn off PWM for this pin
duty ? SBI32(i2s_port_data, pinlo) : CBI32(i2s_port_data, pinlo); // set pin level
}
else
pindata.pwm_duty_ticks = duty; // PWM duty count = # of 4µs ticks per full PWM cycle
}
else
#endif
{
const int8_t cid = get_pwm_channel(pin, PWM_FREQUENCY, PWM_RESOLUTION);
if (cid >= 0) {
const uint32_t duty = map(invert ? v_size - v : v, 0, v_size, 0, _BV(PWM_RESOLUTION)-1);
ledcWrite(cid, duty);
}
}
}
int8_t MarlinHAL::set_pwm_frequency(const pin_t pin, const uint32_t f_desired) {
#if ENABLED(I2S_STEPPER_STREAM)
if (pin > 127) {
pwm_pin_data[pin & 0x7F].pwm_cycle_ticks = 1000000UL / f_desired / 4; // # of 4µs ticks per full PWM cycle
return 0;
}
else
#endif
{
const int8_t cid = channel_for_pin(pin);
if (cid >= 0) {
if (f_desired == ledcReadFreq(cid)) return cid; // no freq change
ledcDetachPin(chan_pin[cid]);
chan_pin[cid] = 0; // remove old freq channel
}
return get_pwm_channel(pin, f_desired, PWM_RESOLUTION); // try for new one
}
}
// use hardware PWM if avail, if not then ISR
void analogWrite(const pin_t pin, const uint16_t value, const uint32_t freq/*=PWM_FREQUENCY*/, const uint16_t res/*=8*/) { // always 8 bit resolution!
// Use ledc hardware for internal pins
const int8_t cid = get_pwm_channel(pin, freq, res);
if (cid >= 0) {
ledcWrite(cid, value); // set duty value
return;
}
// not a hardware PWM pin OR no PWM channels available
int idx = -1;
// Search Pin
for (int i = 0; i < numPWMUsed; ++i)
if (pwmPins[i] == pin) { idx = i; break; }
if (pwmState[i].pin == pin) { idx = i; break; }
// not found ?
if (idx < 0) {
@@ -241,34 +396,34 @@ void analogWrite(pin_t pin, int value) {
// Take new slot for pin
idx = numPWMUsed;
pwmPins[idx] = pin;
pwmState[idx].pin = pin;
// Start timer on first use
if (idx == 0) HAL_timer_start(PWM_TIMER_NUM, PWM_TIMER_FREQUENCY);
if (idx == 0) HAL_timer_start(MF_TIMER_PWM, PWM_TIMER_FREQUENCY);
++numPWMUsed;
}
// Use 7bit internal value - add 1 to have 100% high at 255
pwmValues[idx] = (value + 1) / 2;
pwmState[idx].value = (value + 1) / 2;
}
// Handle PWM timer interrupt
HAL_PWM_TIMER_ISR() {
HAL_timer_isr_prologue(PWM_TIMER_NUM);
HAL_timer_isr_prologue(MF_TIMER_PWM);
static uint8_t count = 0;
for (int i = 0; i < numPWMUsed; ++i) {
if (count == 0) // Start of interval
WRITE(pwmPins[i], pwmValues[i] ? HIGH : LOW);
else if (pwmValues[i] == count) // End of duration
WRITE(pwmPins[i], LOW);
digitalWrite(pwmState[i].pin, pwmState[i].value ? HIGH : LOW);
else if (pwmState[i].value == count) // End of duration
digitalWrite(pwmState[i].pin, LOW);
}
// 128 for 7 Bit resolution
count = (count + 1) & 0x7F;
HAL_timer_isr_epilogue(PWM_TIMER_NUM);
HAL_timer_isr_epilogue(MF_TIMER_PWM);
}
#endif // ARDUINO_ARCH_ESP32
+124 -64
View File
@@ -32,7 +32,6 @@
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "watchdog.h"
#include "i2s.h"
#if ENABLED(WIFISUPPORT)
@@ -49,42 +48,45 @@
// Defines
// ------------------------
extern portMUX_TYPE spinlock;
#define MYSERIAL0 flushableSerial
#define MYSERIAL1 flushableSerial
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
#if ENABLED(ESP3D_WIFISUPPORT)
#define MYSERIAL1 Serial2Socket
typedef ForwardSerial1Class< decltype(Serial2Socket) > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#define MYSERIAL2 MSerial0
#else
#define MYSERIAL1 webSocketSerial
#define MYSERIAL2 webSocketSerial
#endif
#endif
#define CRITICAL_SECTION_START() portENTER_CRITICAL(&spinlock)
#define CRITICAL_SECTION_END() portEXIT_CRITICAL(&spinlock)
#define ISRS_ENABLED() (spinlock.owner == portMUX_FREE_VAL)
#define ENABLE_ISRS() if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock)
#define DISABLE_ISRS() portENTER_CRITICAL(&spinlock)
#define CRITICAL_SECTION_START() portENTER_CRITICAL(&hal.spinlock)
#define CRITICAL_SECTION_END() portEXIT_CRITICAL(&hal.spinlock)
// Fix bug in pgm_read_ptr
#undef pgm_read_ptr
#define pgm_read_ptr(addr) (*(addr))
#define HAL_CAN_SET_PWM_FREQ // This HAL supports PWM Frequency adjustment
#define PWM_FREQUENCY 1000u // Default PWM frequency when set_pwm_duty() is called without set_pwm_frequency()
#define PWM_RESOLUTION 10u // Default PWM bit resolution
#define CHANNEL_MAX_NUM 15u // max PWM channel # to allocate (7 to only use low speed, 15 to use low & high)
#define MAX_PWM_IOPIN 33u // hardware pwm pins < 34
#ifndef MAX_EXPANDER_BITS
#define MAX_EXPANDER_BITS 32 // I2S expander bit width (max 32)
#endif
// ------------------------
// Types
// ------------------------
typedef double isr_float_t; // FPU ops are used for single-precision, so use double for ISRs.
typedef int16_t pin_t;
#define HAL_SERVO_LIB Servo
typedef struct pwm_pin {
uint32_t pwm_cycle_ticks = 1000000UL / (PWM_FREQUENCY) / 4; // # ticks per pwm cycle
uint32_t pwm_tick_count = 0; // current tick count
uint32_t pwm_duty_ticks = 0; // # of ticks for current duty cycle
} pwm_pin_t;
// ------------------------
// Public Variables
// ------------------------
/** result of last ADC conversion */
extern uint16_t HAL_adc_result;
class Servo;
typedef Servo hal_servo_t;
// ------------------------
// Public functions
@@ -93,56 +95,21 @@ extern uint16_t HAL_adc_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);
int8_t get_pwm_channel(const pin_t pin, const uint32_t freq, const uint16_t res);
void analogWrite(const pin_t pin, const uint16_t value, const uint32_t freq=PWM_FREQUENCY, const uint16_t res=8);
// clear reset reason
void HAL_clear_reset_source();
// reset reason
uint8_t HAL_get_reset_source();
inline void HAL_reboot() {} // reboot the board or restart the bootloader
void _delay_ms(int delay);
#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
void analogWrite(pin_t pin, int value);
// ADC
#define HAL_ANALOG_SELECT(pin)
void HAL_adc_init();
#define HAL_ADC_VREF 3.3
#define HAL_ADC_RESOLUTION 10
#define HAL_START_ADC(pin) HAL_adc_start_conversion(pin)
#define HAL_READ_ADC() HAL_adc_result
#define HAL_ADC_READY() true
void HAL_adc_start_conversion(const uint8_t adc_pin);
//
// 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)
// Enable hooks into idle and setup for HAL
#define HAL_IDLETASK 1
#define BOARD_INIT() HAL_init_board();
void HAL_idletask();
void HAL_init();
void HAL_init_board();
#if ENABLED(USE_ESP32_EXIO)
void Write_EXIO(uint8_t IO, uint8_t v);
#endif
//
// Delay in cycles (used by DELAY_NS / DELAY_US)
@@ -184,3 +151,96 @@ FORCE_INLINE static void DELAY_CYCLES(uint32_t x) {
}
}
// ------------------------
// Class Utilities
// ------------------------
#pragma GCC diagnostic push
#if GCC_VERSION <= 50000
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
int freeMemory();
#pragma GCC diagnostic pop
void _delay_ms(const int ms);
// ------------------------
// MarlinHAL Class
// ------------------------
#define HAL_ADC_VREF 3.3
#define HAL_ADC_RESOLUTION 10
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 portMUX_TYPE spinlock;
static bool isr_state() { return spinlock.owner == portMUX_FREE_VAL; }
static void isr_on() { if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock); }
static void isr_off() { portENTER_CRITICAL(&spinlock); }
static void delay_ms(const int ms) { _delay_ms(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();
static pwm_pin_t pwm_pin_data[MAX_EXPANDER_BITS];
//
// 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 pin_t pin) {}
// Begin ADC sampling on the given pin. Called from Temperature::isr!
static void adc_start(const pin_t pin);
// 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; }
/**
* If not already allocated, allocate a hardware PWM channel
* to the pin and set the duty cycle..
* 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);
/**
* Allocate and set the frequency of a hardware PWM pin
* Returns -1 if no pin available.
*/
static int8_t set_pwm_frequency(const pin_t pin, const uint32_t f_desired);
};
+4 -6
View File
@@ -53,11 +53,9 @@ static SPISettings spiConfig;
// ------------------------
void spiBegin() {
#if !PIN_EXISTS(SD_SS)
#error "SD_SS_PIN not defined!"
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_SS)
OUT_WRITE(SD_SS_PIN, HIGH);
#endif
OUT_WRITE(SD_SS_PIN, HIGH);
}
void spiInit(uint8_t spiRate) {
@@ -85,7 +83,7 @@ uint8_t spiRec() {
return returnByte;
}
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
SPI.beginTransaction(spiConfig);
SPI.transferBytes(0, buf, nbyte);
SPI.endTransaction();
@@ -97,7 +95,7 @@ void spiSend(uint8_t b) {
SPI.endTransaction();
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
SPI.beginTransaction(spiConfig);
SPI.transfer(token);
SPI.writeBytes(const_cast<uint8_t*>(buf), 512);
@@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
@@ -21,8 +21,6 @@
*/
#pragma once
void watchdog_init();
void HAL_watchdog_refresh();
#include <SPI.h>
bool watchdog_timed_out();
void watchdog_clear_timeout_flag();
using MarlinSPI = SPIClass;
+8 -10
View File
@@ -31,20 +31,18 @@
// so we only allocate servo channels up high to avoid side effects with regards to analogWrite (fans, leds, laser pwm etc.)
int Servo::channel_next_free = 12;
Servo::Servo() {
channel = channel_next_free++;
}
Servo::Servo() {}
int8_t Servo::attach(const int inPin) {
if (channel >= CHANNEL_MAX_NUM) return -1;
if (inPin > 0) pin = inPin;
ledcSetup(channel, 50, 16); // channel X, 50 Hz, 16-bit depth
ledcAttachPin(pin, channel);
return true;
channel = get_pwm_channel(pin, 50u, 16u);
return channel; // -1 if no PWM avail.
}
void Servo::detach() { ledcDetachPin(pin); }
// leave channel connected to servo - set duty to zero
void Servo::detach() {
if (channel >= 0) ledcWrite(channel, 0);
}
int Servo::read() { return degrees; }
@@ -52,7 +50,7 @@ void Servo::write(int inDegrees) {
degrees = constrain(inDegrees, MIN_ANGLE, MAX_ANGLE);
int us = map(degrees, MIN_ANGLE, MAX_ANGLE, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH);
int duty = map(us, 0, TAU_USEC, 0, MAX_COMPARE);
ledcWrite(channel, duty);
if (channel >= 0) ledcWrite(channel, duty); // don't save duty for servos!
}
void Servo::move(const int value) {
+1 -2
View File
@@ -30,8 +30,7 @@ class Servo {
MAX_PULSE_WIDTH = 2400, // Longest pulse sent to a servo
TAU_MSEC = 20,
TAU_USEC = (TAU_MSEC * 1000),
MAX_COMPARE = _BV(16) - 1, // 65535
CHANNEL_MAX_NUM = 16;
MAX_COMPARE = _BV(16) - 1; // 65535
public:
Servo();
+4 -4
View File
@@ -35,19 +35,19 @@
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);
WRITE(_pin, LOW);
}
HAL_TONE_TIMER_ISR() {
HAL_timer_isr_prologue(TONE_TIMER_NUM);
HAL_timer_isr_prologue(MF_TIMER_TONE);
if (toggles) {
toggles--;
+2 -6
View File
@@ -29,7 +29,7 @@
#include "wifi.h"
#include <ESPAsyncWebServer.h>
WebSocketSerial webSocketSerial;
MSerialWebSocketT webSocketSerial(false);
AsyncWebSocket ws("/ws"); // TODO Move inside the class.
// RingBuffer impl
@@ -137,16 +137,12 @@ size_t WebSocketSerial::write(const uint8_t c) {
return ret;
}
size_t WebSocketSerial::write(const uint8_t* buffer, size_t size) {
size_t WebSocketSerial::write(const uint8_t *buffer, size_t size) {
size_t written = 0;
for (size_t i = 0; i < size; i++)
written += write(buffer[i]);
return written;
}
void WebSocketSerial::flushTX() {
// No need to do anything as there's no benefit to sending partial lines over the websocket connection.
}
#endif // WIFISUPPORT
#endif // ARDUINO_ARCH_ESP32
+5 -6
View File
@@ -22,6 +22,7 @@
#pragma once
#include "../../inc/MarlinConfig.h"
#include "../../core/serial_hook.h"
#include <Stream.h>
@@ -53,7 +54,7 @@ public:
ring_buffer_pos_t read(uint8_t *buffer);
void flush();
ring_buffer_pos_t write(const uint8_t c);
ring_buffer_pos_t write(const uint8_t* buffer, ring_buffer_pos_t size);
ring_buffer_pos_t write(const uint8_t *buffer, ring_buffer_pos_t size);
};
class WebSocketSerial: public Stream {
@@ -68,11 +69,8 @@ public:
int peek();
int read();
void flush();
void flushTX();
size_t write(const uint8_t c);
size_t write(const uint8_t* buffer, size_t size);
operator bool() { return true; }
size_t write(const uint8_t *buffer, size_t size);
#if ENABLED(SERIAL_STATS_DROPPED_RX)
FORCE_INLINE uint32_t dropped() { return 0; }
@@ -83,4 +81,5 @@ public:
#endif
};
extern WebSocketSerial webSocketSerial;
typedef Serial1Class<WebSocketSerial> MSerialWebSocketT;
extern MSerialWebSocketT webSocketSerial;
+12
View File
@@ -59,4 +59,16 @@ void setup_endstop_interrupts() {
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_(HAS_U_MAX, _ATTACH(U_MAX_PIN));
TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN));
TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN));
TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN));
TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN));
TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN));
}
+6
View File
@@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x180000,
app1, app, ota_1, 0x190000, 0x180000,
spiffs, data, spiffs, 0x310000, 0xF0000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xe000 0x2000
4 app0 app ota_0 0x10000 0x180000
5 app1 app ota_1 0x190000 0x180000
6 spiffs data spiffs 0x310000 0xF0000
+12 -6
View File
@@ -40,13 +40,19 @@
// Set pin as input with pullup mode
#define _PULLUP(IO, v) pinMode(IO, v ? INPUT_PULLUP : INPUT)
// Read a pin wrapper
#define READ(IO) (IS_I2S_EXPANDER_PIN(IO) ? i2s_state(I2S_EXPANDER_PIN_INDEX(IO)) : digitalRead(IO))
#if ENABLED(USE_ESP32_EXIO)
// Read a pin wrapper
#define READ(IO) digitalRead(IO)
// Write to a pin wrapper
#define WRITE(IO, v) (IO >= 100 ? Write_EXIO(IO, v) : digitalWrite(IO, v))
#else
// Read a pin wrapper
#define READ(IO) (IS_I2S_EXPANDER_PIN(IO) ? i2s_state(I2S_EXPANDER_PIN_INDEX(IO)) : digitalRead(IO))
// Write to a pin wrapper
#define WRITE(IO, v) (IS_I2S_EXPANDER_PIN(IO) ? i2s_write(I2S_EXPANDER_PIN_INDEX(IO), v) : digitalWrite(IO, v))
#endif
// Write to a pin wrapper
#define WRITE(IO, v) (IS_I2S_EXPANDER_PIN(IO) ? i2s_write(I2S_EXPANDER_PIN_INDEX(IO), v) : digitalWrite(IO, v))
// Set pin as input wrapper
// Set pin as input wrapper (0x80 | (v << 5) | (IO - 100))
#define SET_INPUT(IO) _SET_INPUT(IO)
// Set pin as input with pullup wrapper
+63 -24
View File
@@ -23,6 +23,8 @@
#include "../../inc/MarlinConfigPre.h"
#if DISABLED(USE_ESP32_EXIO)
#include "i2s.h"
#include "../shared/Marduino.h"
@@ -62,12 +64,9 @@ uint32_t i2s_port_data = 0;
#define I2S_EXIT_CRITICAL() portEXIT_CRITICAL(&i2s_spinlock[i2s_num])
static inline void gpio_matrix_out_check(uint32_t gpio, uint32_t signal_idx, bool out_inv, bool oen_inv) {
//if pin = -1, do not need to configure
if (gpio != -1) {
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
gpio_set_direction((gpio_num_t)gpio, (gpio_mode_t)GPIO_MODE_DEF_OUTPUT);
gpio_matrix_out(gpio, signal_idx, out_inv, oen_inv);
}
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
gpio_set_direction((gpio_num_t)gpio, (gpio_mode_t)GPIO_MODE_DEF_OUTPUT);
gpio_matrix_out(gpio, signal_idx, out_inv, oen_inv);
}
static esp_err_t i2s_reset_fifo(i2s_port_t i2s_num) {
@@ -139,23 +138,41 @@ static void IRAM_ATTR i2s_intr_handler_default(void *arg) {
I2S0.int_clr.val = I2S0.int_st.val; //clear pending interrupt
}
void stepperTask(void* parameter) {
uint32_t remaining = 0;
void stepperTask(void *parameter) {
uint32_t nextMainISR = 0;
#if ENABLED(LIN_ADVANCE)
uint32_t nextAdvanceISR = Stepper::LA_ADV_NEVER;
#endif
while (1) {
for (;;) {
xQueueReceive(dma.queue, &dma.current, portMAX_DELAY);
dma.rw_pos = 0;
while (dma.rw_pos < DMA_SAMPLE_COUNT) {
// Fill with the port data post pulse_phase until the next step
if (remaining) {
if (nextMainISR && TERN1(LIN_ADVANCE, nextAdvanceISR))
i2s_push_sample();
remaining--;
}
else {
// i2s_push_sample() is also called from Stepper::pulse_phase_isr() and Stepper::advance_isr()
// in a rare case where both are called, we need to double decrement the counters
const uint8_t push_count = 1 + (!nextMainISR && TERN0(LIN_ADVANCE, !nextAdvanceISR));
#if ENABLED(LIN_ADVANCE)
if (!nextAdvanceISR) {
Stepper::advance_isr();
nextAdvanceISR = Stepper::la_interval;
}
else if (nextAdvanceISR == Stepper::LA_ADV_NEVER)
nextAdvanceISR = Stepper::la_interval;
#endif
if (!nextMainISR) {
Stepper::pulse_phase_isr();
remaining = Stepper::block_phase_isr();
nextMainISR = Stepper::block_phase_isr();
}
nextMainISR -= push_count;
TERN_(LIN_ADVANCE, nextAdvanceISR -= push_count);
}
}
}
@@ -254,13 +271,7 @@ int i2s_init() {
I2S0.fifo_conf.dscr_en = 0;
I2S0.conf_chan.tx_chan_mod = (
#if ENABLED(I2S_STEPPER_SPLIT_STREAM)
4
#else
0
#endif
);
I2S0.conf_chan.tx_chan_mod = TERN(I2S_STEPPER_SPLIT_STREAM, 4, 0);
I2S0.fifo_conf.tx_fifo_mod = 0;
I2S0.conf.tx_mono = 0;
@@ -311,9 +322,16 @@ int i2s_init() {
xTaskCreatePinnedToCore(stepperTask, "StepperTask", 10000, nullptr, 1, nullptr, CONFIG_ARDUINO_RUNNING_CORE); // run I2S stepper task on same core as rest of Marlin
// Route the i2s pins to the appropriate GPIO
gpio_matrix_out_check(I2S_DATA, I2S0O_DATA_OUT23_IDX, 0, 0);
gpio_matrix_out_check(I2S_BCK, I2S0O_BCK_OUT_IDX, 0, 0);
gpio_matrix_out_check(I2S_WS, I2S0O_WS_OUT_IDX, 0, 0);
// If a pin is not defined, no need to configure
#if defined(I2S_DATA) && I2S_DATA >= 0
gpio_matrix_out_check(I2S_DATA, I2S0O_DATA_OUT23_IDX, 0, 0);
#endif
#if defined(I2S_BCK) && I2S_BCK >= 0
gpio_matrix_out_check(I2S_BCK, I2S0O_BCK_OUT_IDX, 0, 0);
#endif
#if defined(I2S_WS) && I2S_WS >= 0
gpio_matrix_out_check(I2S_WS, I2S0O_WS_OUT_IDX, 0, 0);
#endif
// Start the I2S peripheral
return i2s_start(I2S_NUM_0);
@@ -337,7 +355,28 @@ uint8_t i2s_state(uint8_t pin) {
}
void i2s_push_sample() {
// Every 4µs (when space in DMA buffer) toggle each expander PWM output using
// the current duty cycle/frequency so they sync with any steps (once
// through the DMA/FIFO buffers). PWM signal inversion handled by other functions
LOOP_L_N(p, MAX_EXPANDER_BITS) {
if (hal.pwm_pin_data[p].pwm_duty_ticks > 0) { // pin has active pwm?
if (hal.pwm_pin_data[p].pwm_tick_count == 0) {
if (TEST32(i2s_port_data, p)) { // hi->lo
CBI32(i2s_port_data, p);
hal.pwm_pin_data[p].pwm_tick_count = hal.pwm_pin_data[p].pwm_cycle_ticks - hal.pwm_pin_data[p].pwm_duty_ticks;
}
else { // lo->hi
SBI32(i2s_port_data, p);
hal.pwm_pin_data[p].pwm_tick_count = hal.pwm_pin_data[p].pwm_duty_ticks;
}
}
else
hal.pwm_pin_data[p].pwm_tick_count--;
}
}
dma.current[dma.rw_pos++] = i2s_port_data;
}
#endif // !USE_ESP32_EXIO
#endif // ARDUINO_ARCH_ESP32
@@ -20,3 +20,10 @@
*
*/
#pragma once
//
// Board-specific options need to be defined before HAL.h
//
#if MB(MKS_TINYBEE)
#define MAX_EXPANDER_BITS 24 // TinyBee has 3 x HC595
#endif

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