4373 Commits

Author SHA1 Message Date
c7bd3ef462 Update e_jerk 2023-06-07 20:09:39 -05:00
9f4c131ec8 Enable linear advance. 2023-06-07 20:07:02 -05:00
691d011459 Merge tag '2.1.2' 2023-06-07 20:05:48 -05:00
3334582f86 🔖 Version 2.1.2 2022-12-19 14:42:28 -06:00
b2d72de494 📝 Update 2.1.x README 2022-12-19 14:41:09 -06:00
cfa747ed08 🧑‍💻 M593 F "min" freq 2022-12-18 15:49:20 -06:00
92b2076dda 🐛 Fix Melzi encoder 2022-12-18 15:49:20 -06:00
eff6c407a5 🩹 Fix LCD_FOR_MELZI with Tronxy Melzi 2022-12-17 22:17:38 -06:00
569bbb18d0 🐛 Fix DOGM time overflow, alignment (#25103) 2022-12-17 22:17:38 -06:00
471330b56e 🎨 Suppress warning (#25101) 2022-12-17 22:17:38 -06:00
2a724bd94e BTT Octopus with STM32-F407 (#25031) 2022-12-17 22:17:38 -06:00
cea2ab1d7f BigTreeTech EBB42 v1.1 (#24964) 2022-12-17 22:17:38 -06:00
5198a55457 🔧 Use multi-XYZ 'STOP' pins for MIN/MAX (#24855)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-17 22:17:38 -06:00
cbb56e3536 Robin Nano v1 CDC (USB mod)
Followup to #24619
2022-12-17 22:17:38 -06:00
b3f4eaf6fd 🩹 Fix M115_GEOMETRY_REPORT (#25092) 2022-12-16 14:23:26 -06:00
7815b20051 🩹 Inverted probe pin flag (K8400) (#25085) 2022-12-16 14:23:26 -06:00
ffbf6acd6c 🩹 Fix M502 init of default motion
Fix regression from #25035
2022-12-16 14:23:26 -06:00
8bafc1d9ae 🩹 Use custom I2C pins for OLED (#24970) 2022-12-16 14:23:26 -06:00
ac05f0cb8b SAMD21 HAL / Minitronics v2.0 (#24976) 2022-12-16 14:23:26 -06:00
ec6349f2ac TFT_COLOR_UI async DMA SPI (#24980) 2022-12-16 14:23:26 -06:00
d082223fee 📝 Replace Twitter with Fosstodon 2022-12-16 14:23:26 -06:00
e07a059b2d 🔧 Anycubic alternate Z1/Z2 wiring (#25071) 2022-12-16 14:23:26 -06:00
313716e7fc JyersUI TMC Settings (#25048) 2022-12-16 14:23:26 -06:00
726555901c 🔧 Custom Menu Sanity Check (#25079) 2022-12-16 14:23:26 -06:00
3ad684b10b 🔨 Updated 'mfconfig init' 2022-12-16 14:23:26 -06:00
408a53bcdd 🔨 No env:mega1280 for MIGHTYBOARD_REVE (#25080) 2022-12-16 14:23:26 -06:00
eae339b8dc ️ Better IS buffer size calc (#25035) 2022-12-16 14:23:25 -06:00
79b88471f0 Two controller fans (#24995) 2022-12-16 14:23:25 -06:00
86a3362bf6 📌 Pins updates for Longer LK5, etc. (#25012)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:23:25 -06:00
0efeedf262 🚸 Progress display followup (#24879) 2022-12-16 14:23:25 -06:00
c86f20010d M150 S default index (#23066)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:23:25 -06:00
5a97ffc414 🔨 Return error on mftest exit 2022-12-16 14:23:25 -06:00
2737286021 📝 Update config comments 2022-12-16 14:23:25 -06:00
86a10dc459 🐛 Fix Fast PWM on AVR (#25030)
Followup to #25005
2022-12-16 14:23:25 -06:00
ecdf07f055 ✏️ Fix missing ) (#25055) 2022-12-16 14:23:25 -06:00
686ce0c0e2 🔨 Fix CI Test clean step (2) 2022-12-16 14:23:25 -06:00
3c550e0f19 🎨 Misc. cleanup 2022-12-16 14:23:25 -06:00
071dae0c28 🔨 Fix CI Test clean step 2022-12-16 14:23:25 -06:00
df2a2488a8 🐛 Fix TMC5160 + Input Shaping overcurrent (#25050) 2022-12-16 14:23:25 -06:00
c3090bd4e8 🩹 Ender 3v2 DWIN MarlinUI Fixup (#24984) 2022-12-16 14:23:25 -06:00
0fadb56150 🎨 Trailing whitespace 2022-12-16 14:23:25 -06:00
eb125c95b6 🔨 Update renamed.ini (#25042) 2022-12-16 14:23:25 -06:00
26edeefeb9 🩹 Fix MSG_MOVE_N_MM substitution (#25043) 2022-12-16 14:23:25 -06:00
96b8c28376 🚸 G30 move to logical XY (#24953) 2022-12-16 14:23:25 -06:00
db3865520f 🎨 Misc. cleanup 2022-12-16 14:23:25 -06:00
51c1645ceb 🧑‍💻 Use spaces indent for Python 2022-12-16 14:23:25 -06:00
5eb39d5277 📝 Formatted Team Overview (#25029) 2022-12-16 14:23:25 -06:00
0537e78572 🐛 Fix G-code resend race condition
As pointed out in #24972 by @silycr, but simplified.
2022-12-16 14:23:25 -06:00
95019bf526 Ender-3 V2 DWIN for BTT Octopus V1.1 (#24983) 2022-12-16 14:23:25 -06:00
6f5ad55953 ️ More SCURVE cycles on unoptimized cortex-m0 (#24955) 2022-12-16 14:23:25 -06:00
57f6c93192 ️ Input Shaping improvements (#24951) 2022-12-16 14:23:25 -06:00
d2ece1e713 🐛 Fix missing va_end in UnwPrintf (#25027) 2022-12-16 14:23:25 -06:00
12017887f4 🐛 Fix MILLISECONDS_PREHEAT_TIME / mintemp (#24967) 2022-12-16 14:23:25 -06:00
3a28a1fd1d 🩹 Fix ADVANCE_K + DISTINCT_E_FACTORS sanity check (#25007) 2022-12-16 14:23:25 -06:00
360e03797f 🔧 Merge TMC26X with TMC config (#24373) 2022-12-16 14:23:25 -06:00
6185b50dbe 🐛 Fix SKR mini E2 V2 + BTT_MINI_12864_V1 (#24827)
See https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/686#issuecomment-1296545443
2022-12-16 14:23:25 -06:00
b2b8407a75 🍻 Fix Z increase on toolchange without UBL (#22942) 2022-12-16 14:23:25 -06:00
c1684a1dbe 🩹 Fix UBL menu compile (#25020) 2022-12-16 14:23:25 -06:00
7d0f1dd17c 🚸 Add 50mm manual move (#24884) 2022-12-16 14:23:25 -06:00
b6051fe847 🚸 Optional Cutter/Laser status for HD44780 (#25003) 2022-12-16 14:23:25 -06:00
b9bed1ca69 🚸 COLOR_UI sleep timeout / setting (#24994) 2022-12-16 14:23:25 -06:00
b8ba9d60bb 🔧 Fix TPARA (…SCARA, DELTA) settings (#25016) 2022-12-16 14:23:25 -06:00
8fd42eeeb6 ✏️ Fix Robin nano env typo (#24993) 2022-12-16 14:23:25 -06:00
19b73a6f29 📺 FYSETC_MINI_12864_2_1 with BTT_SKR_E3_DIP (#24986) 2022-12-16 14:23:25 -06:00
db60e0e7dc 🩹 Fix planner typo (#24977) 2022-12-16 14:23:25 -06:00
505d73d2ba 🐛 MKS_MINI_12864 on SKR 1.3 needs FORCE_SOFT_SPI (#24850) 2022-12-16 14:23:25 -06:00
d05419a8d9 🔧 Check Delta homing direction (#24865) 2022-12-16 14:23:25 -06:00
9772f7806b 🩹 Fix SERVICE_INTERVAL reset (#24888) 2022-12-16 14:23:25 -06:00
473d2b888a Fix FAST_PWM_FAN / TouchUI with NO_MOTION_BEFORE_HOMING (#25005)
Fix regressions from #20323, #23463
2022-12-16 14:23:25 -06:00
968f04defb 🩹 Fix 2 thermocouples (#24982)
Followup to #24898
2022-12-16 14:23:25 -06:00
30a885a7ef 🐛 Fix M808 starting count
Reported by adcurtin on Discord
2022-12-16 14:23:25 -06:00
847391cfc1 🩹 Fix Overlord compile (#24947) 2022-12-16 14:23:25 -06:00
6ea192abe9 🚸 M306: Indicate MPC Autotune (#24949) 2022-12-16 14:23:25 -06:00
0de4ec4099 🩹 Allow max endstops MKS Monster 8 V2 (#24944) 2022-12-16 14:23:25 -06:00
c9fa680db9 🐛 Fix Anycubic / Trigorilla pins, etc. (#24971) 2022-12-16 14:23:25 -06:00
379d388b07 🎨 Prefer axis element over index 2022-12-16 14:23:25 -06:00
7002e72f1c 🩹 Fix EEPROM write for !LIN_ADVANCE
Fixes #24963
Followup to #24821
2022-12-16 14:23:25 -06:00
fc2f3cdf40 🩹 MAX Thermocouple followup
Followup to #24898
2022-12-16 14:23:25 -06:00
7feeffdf06 🩹 leds.update needed for reset_timeout
Followup to #23590
2022-12-16 14:23:25 -06:00
ac5464c37c 🧑‍💻 More direct encoder spin 2022-12-16 14:23:25 -06:00
a121c80e1a 🎨 Update SAMD51 headers 2022-12-16 14:23:25 -06:00
2778b00765 🎨 Format some lib-uhs3 code 2022-12-16 14:23:25 -06:00
4737af7d70 📌 ZRIB V52-V53 Servo Pins (#24880) 2022-12-16 14:23:25 -06:00
38375cf7a7 Tenlog MB1V23 IDEX board (#24896) 2022-12-16 14:23:25 -06:00
ddec5faf5a 🌐 Update Italian language (#24915) 2022-12-16 14:23:25 -06:00
cbdafd36e0 📌 Remove unused RX/TX pins (#24932) 2022-12-16 14:23:25 -06:00
9f5b0b8567 🔧 Update Display Sleep LCD Check (#24934) 2022-12-16 14:23:25 -06:00
d9ffae6578 🩹 Buttons Followup (#24935)
Followup to #24878
2022-12-16 14:23:25 -06:00
1540e8e1d4 🩹 Allow for last non-servo extruder 2022-12-16 14:23:25 -06:00
9a4715f31a 🐛 Fix move_extruder_servo (#24908) 2022-12-16 14:23:25 -06:00
a9969d92ea 🐛 Fix FTDUI Status Screen Timeout (#24899) 2022-12-16 14:23:25 -06:00
d87d7474c9 🩹 Fix spurious "bad command" (#24923) 2022-12-16 14:23:25 -06:00
4ce2f1e5ba 🩹 Fix M593 report 2022-12-16 14:23:25 -06:00
44636f3b74 🚸 Up to 3 MAX Thermocouples (#24898) 2022-12-16 14:23:24 -06:00
e812540f26 🔧 Clean up unused ESP_WIFI pins 2022-12-16 14:23:24 -06:00
c1f0f26bff 🚀 ZV Input Shaping (#24797) 2022-12-16 14:23:24 -06:00
5765449867 🔨 gcc-12 for macOS native 2022-12-16 14:23:24 -06:00
c8b2d0c0fd Controllerfan PWM scaling, kickstart (#24873) 2022-12-16 14:23:24 -06:00
bdd5da5098 🚸 Probe pins for Chitu V5 (#24910) 2022-12-16 14:23:24 -06:00
4d9bf91edc 🔧 Some STM32 UART Sanity Checks (#24795) 2022-12-16 14:23:24 -06:00
682a9b6fbe 🎨 Misc. variant cleanup, translation
Followup to #24787
2022-12-16 14:23:24 -06:00
a913b2437b 🐛 Fix Print Timer stop with MarlinUI abort (#24902) 2022-12-16 14:23:24 -06:00
6b1d738995 🔧 No Native USB on AVR (#24906) 2022-12-16 14:23:24 -06:00
dd224b4eb9 🧑‍💻 Pins and debug list cleanup (#24878) 2022-12-16 14:23:24 -06:00
2e2abbcb48 🎨 CONF_SERIAL_IS => SERIAL_IN_USE 2022-12-16 14:23:24 -06:00
485fb77596 Tronxy v10 (#24787) 2022-12-16 14:22:44 -06:00
29294007ef 🔧 No Sleep for CR-10 Stock Display (#24875) 2022-12-16 14:22:44 -06:00
256ac01ca2 🐛 Fix compile without Y/Z (#24858)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:22:44 -06:00
ca1968a842 🔧 Check Sensorless Homing on all axes (#24872) 2022-12-16 14:22:44 -06:00
6a084e3704 🐛 Fix bed/chamber PID P edit (#24861) 2022-12-16 14:22:44 -06:00
9ae0789166 🎨 HAS_SPI_FLASH => SPI_FLASH 2022-12-16 14:22:44 -06:00
031ff2d024 🐛 Fix and improve Polargraph (#24847)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:22:44 -06:00
b3e7d1e91e 🐛 Fix operators for V axis (#24866)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:09:29 -06:00
f39f4d0288 🩹 Fix TFT LCD in Simulation (#24871) 2022-12-16 14:09:26 -06:00
a4d58e8876 🎨 MMU2 cleanup 2022-12-16 14:09:23 -06:00
c52cf77d0a 🐛 Fix M876 without emergency parser
Fix regression from 1fb2fffdbf
2022-12-16 14:09:19 -06:00
bfcb8c704a DOGM Display Sleep (#24829) 2022-12-16 14:09:16 -06:00
0047b3064d 🩹 Fix temperature include (#24834) 2022-12-16 14:09:12 -06:00
5c195078ff 🎨 Misc. variant cleanup 2022-12-16 14:09:09 -06:00
1a6f9daee8 🧑‍💻 Min and max for base types 2022-12-16 14:09:06 -06:00
505f0a647e MKS SKIPR board (#24791) 2022-12-16 14:08:55 -06:00
62b7db9bb7 🔨 Update mfinfo for 2.1.x 2022-12-16 14:08:52 -06:00
3c870f2d4b 🧑‍💻 Min and max for base types 2022-12-16 14:08:48 -06:00
0203e32c73 ADVANCE_K per-extruder (#24821)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:08:45 -06:00
8481264566 ♻️ Set Progress without LCD (#24767)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:08:40 -06:00
b0f02b8f9e 🩹 Fix Color UI touchscreen sleep (#24826) 2022-12-16 14:08:36 -06:00
d6ff8f0062 🩹 Fix Switching Toolhead compile (#24814) 2022-12-16 14:08:33 -06:00
8b37b60e58 🧑‍💻 Einsy Rambo EXP headers (#24825) 2022-12-16 14:08:29 -06:00
5c68d26d4e 🔨 Detect feature parsing error (#24824) 2022-12-16 14:08:26 -06:00
74435b0dcb Creality v5.2.1 board (#24815)
Followup to #24760
2022-12-16 14:08:23 -06:00
f17a07df99 🔧 Thermistor (66) sanity-check (#24803) 2022-12-16 14:08:20 -06:00
a58f27763f 🐛 Fix DUE compile and errors (#24809) 2022-12-16 14:08:17 -06:00
5aca6ff4f2 🩹 Fix some vector_3 cast operators 2022-12-16 14:08:13 -06:00
7b000966f0 🔧 Update Creality 4.2.2 Driver Warning (#24806) 2022-12-16 14:08:10 -06:00
6ae0708840 🩹 Disable DEBUG_DGUSLCD (#24798) 2022-12-16 14:08:04 -06:00
44e4a9c7b1 🎨 Remove non-const compare operators (#24810) 2022-12-16 14:07:59 -06:00
215fcefc1b Creality v5.2.1 board (#24760) 2022-12-16 14:07:56 -06:00
827f9ae792 Pt1000 with 2k2 pullup (SKR 3 / EZ) (#24790) 2022-12-16 14:07:52 -06:00
e44f156535 ✏️ Followup for M524 (#24775)
Followup to #24761
2022-12-16 14:07:49 -06:00
f1a05d19b0 🚸 UUID fallback to STM32 device SN (#24759)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-12-16 14:07:45 -06:00
a7a493d795 📌 Specify MarlinFirmware/U8glib (#24792) 2022-12-16 14:07:38 -06:00
d9967f5395 🔨 Fix LPC1768 autodetect path on Linux (#24773) 2022-12-16 14:07:34 -06:00
5ee74668cf Anycubic i3 Mega LCD file menu fix (#24752) 2022-12-16 14:07:23 -06:00
be149336f0 M217 G wipe retract length 2022-12-16 14:07:08 -06:00
1f72c8341f XY_COUNTERPART_BACKOFF_MM 2022-12-16 14:07:04 -06:00
3d03f96205 RGB_STARTUP_TEST 2022-12-16 14:06:59 -06:00
c996bfddb7 Permit Linear Advance with I2S Streaming (#24684) 2022-12-16 14:06:54 -06:00
647d459a15 Robin Nano v1 CDC (USB mod)
Followup to #24619
2022-12-16 14:06:19 -06:00
29156ffe5d 🐛 Fix recalculate_max_e_jerk 2022-11-09 20:54:40 -06:00
eff60964da 🐛 Fix VW axis fields in types.h (#24780) 2022-09-23 00:17:24 -05:00
5fe1f66478 🚸 Strict index 2 for M913 / M914 XY (#24680) 2022-09-22 13:27:31 -05:00
2fc97aa240 🚸 Emergency Parse M524 (#24761) 2022-09-22 13:27:31 -05:00
aa28358267 🐛 Fix / refactor shared PID (#24673)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-09-22 13:27:31 -05:00
e04e18a590 🧑‍💻 STM32G0B1RE Pins Debugging (#24748) 2022-09-22 13:27:31 -05:00
bdb7f3af3f 🩹 Fix MKS TinyBee + MKS MINI 12864 SD blank on write (#24670) 2022-09-22 13:27:31 -05:00
2f24c31454 🚸 Sanity check Integrated Babystepping + I2S stream + ESP32 (#24691) 2022-09-22 13:27:31 -05:00
96d050c7ba FYSETC SPIDER KING407 (#24696) 2022-09-22 13:27:31 -05:00
aabd3e9e19 BTT SKR Mini E3 V3.0.1 (#24722) 2022-09-22 13:27:31 -05:00
38b3105900 ️ Minor planner optimization (#24737) 2022-09-22 13:27:31 -05:00
02810616cc 🚸 On pause report "SD printing byte X/Y" (#24709) 2022-09-22 13:27:31 -05:00
7daff755f2 🩹 Report M22 / M23 success / fail (#24706) 2022-09-22 13:27:31 -05:00
53564fb6f3 🚸 M115 spindle/laser (#24681, #24747) 2022-09-22 13:27:31 -05:00
9d9f303c5e 📺 FYSETC Mini 12864 2.1 pins for Creality V4 (#24624) 2022-09-22 13:27:31 -05:00
FBN
b9428bf087 🚸 More automatic MMU2 load (#24750, #24770) 2022-09-22 13:27:08 -05:00
0642cd8a83 👷 Array macros to …26 elements (#24789) 2022-09-22 13:26:50 -05:00
d2b1467ab3 🌐 Some short menu strings 2022-09-22 13:26:26 -05:00
03aba439f6 ️ Only Sync Emulated EEPROM Print Counter (#24731) 2022-09-22 13:26:26 -05:00
85a47d61e6 🐛 Fix heater timeout PID output (#24682) 2022-09-22 13:17:54 -05:00
78577b13cb 🧑‍💻 Microsteps to stepper.cpp 2022-09-22 13:17:54 -05:00
b29cd4c510 📝 Fix example comment (#24744) 2022-09-22 13:17:54 -05:00
0eb6a8d12e 📝 Fix comment 2022-09-22 13:17:54 -05:00
8a8218a8f2 ️ BTT SKR V3.0 / EZ = 480MHz (#24721) 2022-09-22 13:17:54 -05:00
3a18ba0412 🔨 Fix config-labels.py 2022-09-22 13:17:54 -05:00
2828f1d1db 🔨 Outdent py string 2022-09-22 13:17:54 -05:00
63507acf98 🔨 Clean up Python imports (#24736) 2022-09-22 13:17:54 -05:00
cc2cc7d081 🔨 Fix config.ini custom items, and 'all' (#24720) 2022-09-22 13:17:54 -05:00
b676b43874 🔨 Fix configuration.py with encoding UTF-8 (#24719)
- Opening files with Windows-1252 encoding.
2022-09-22 13:17:54 -05:00
2f1b89bd1f Opulo LumenPnP REV04 (#24718) 2022-09-22 13:17:54 -05:00
1a2e591d03 🔨 Update SKR 3 env (#24711) 2022-09-22 13:17:54 -05:00
dc65e299fa 📝 Format some comments 2022-09-22 13:17:53 -05:00
033bca1773 🔨 Native USB modified env followup (#24669)
Followup to #24619
2022-09-22 13:17:53 -05:00
e350acb360 🐛 Fix UBL regression (#24622)
Fix regression from #24188
2022-09-22 13:17:53 -05:00
7d8d2e2c58 🩹 Fix a BUZZ (#24740) 2022-09-09 15:33:54 -05:00
3c6b3e5af4 🔖 Config version 02010200 2022-08-29 19:25:38 -05:00
d5e9b25a31 🐛 Fix back button (#24694) 2022-08-29 19:17:32 -05:00
9313c2fd18 ✏️ Fix http:// links 2022-08-29 19:17:31 -05:00
d8a280bf53 ✏️ Fix LCD sleep conditional (#24685) 2022-08-29 19:17:31 -05:00
d244389998 🩹 Constrain UBL within mesh bounds (#24631)
Fixes #24630
2022-08-29 19:17:31 -05:00
d140be0281 🚸 Up to 10 Preheat Constants (#24636) 2022-08-29 19:17:31 -05:00
27bea56025 🔧 Fix Auto-Fan / Controller-Fan pin conflict check (#24648) 2022-08-29 19:17:31 -05:00
98ee3fc2b5 🩹 Fix PID debug output (#24647) 2022-08-29 19:17:31 -05:00
e8394c391e 🐛 Fix Bed Distance Sensor reading (#24649) 2022-08-29 19:17:31 -05:00
e24d5f9315 M20_TIMESTAMP_SUPPORT (#24679)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-29 19:17:31 -05:00
ef1cf0d5a1 ♻️ Display sleep minutes, encoder disable option (#24618)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-29 19:17:31 -05:00
f088722ae8 🩹 Fix SainSmart LCD (#24672) 2022-08-29 19:17:31 -05:00
68c5e97fd7 🩹 Fix Freeze Feature (#24664) 2022-08-29 19:17:31 -05:00
a8cf886aa5 🔨 Suppressible Creality 4.2.2 warning (#24683) 2022-08-29 19:17:31 -05:00
a31e65e30b Robin Nano v1 CDC (USB mod) (#24619) 2022-08-29 19:17:31 -05:00
d94a41527f 🐛 Fix JyersUI (#24652) 2022-08-29 19:17:31 -05:00
37a7da075f 🔧 Fix Skew Correction defaults (#24601) 2022-08-29 19:17:31 -05:00
5145266b0d 🎨 Some automated cleanup 2022-08-29 19:17:31 -05:00
bdd5f3678e 📺 Add to MKS UI About Screen (#24610) 2022-08-29 19:17:31 -05:00
b4af335b7a 🔧 Remove STM32F4 Print Counter Sanity Check (#24605) 2022-08-29 19:17:31 -05:00
cfe1d52bf2 🐛 Fix DGUS Reloaded + STM32 (#24600) 2022-08-29 19:17:31 -05:00
ff09ea13a4 🧑‍💻 Use spaces indent for Python 2022-08-29 19:17:31 -05:00
d93c41a257 🔨 Misc. schema updates 2022-08-29 19:17:31 -05:00
98e6aacbef 🔨 Fix LPC1768 automatic upload port (#24599) 2022-08-29 19:17:31 -05:00
0adee8fae0 🩹 Fix strtof interpreting a hex value
Bug introduced in #21532
2022-08-29 19:17:31 -05:00
c154302ece 🔨 Add args to schema.py 2022-08-29 19:17:31 -05:00
b5ccddbe35 🎨 Fix '…if_chain' Uncrustify option 2022-08-29 19:17:31 -05:00
d69893309e 🔨 Misc. config py updates 2022-08-29 19:17:31 -05:00
fc3ea96ff9 🧑‍💻 Add operator== for C++20 2022-08-29 19:17:31 -05:00
3892d08b06 🧑‍💻 Fix UBL Build Mesh preheat items (#24598)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-29 19:17:31 -05:00
857dc73be5 🔨 Fix a PlatformIO debug issue (#24569) 2022-08-29 19:17:31 -05:00
419a145fa3 🔨 Update schema export 2022-08-08 04:42:19 -05:00
398cae7625 🔖 Version 2.1.1 2022-08-06 18:50:49 -05:00
8192cc12d3 🎨 Misc. config cleanup 2022-08-06 18:50:49 -05:00
7f2a836251 SD Endstop Abort G-Code (#24461) 2022-08-06 18:50:49 -05:00
b02c3258b5 Bed Distance Sensor (#24554) 2022-08-06 18:50:49 -05:00
a0462eb017 🩹 Fix AUTO_FAN_PIN sanity check (#24593) 2022-08-06 18:50:49 -05:00
a1704c10b9 🩹 G0/G1 S seen => seenval 2022-08-06 18:50:49 -05:00
7196f13125 M150 K – Keep unspecified components (#24315) 2022-08-06 18:50:49 -05:00
e06340abd1 🔨 Trigorilla Pro disk based update (#24591) 2022-08-06 18:50:49 -05:00
98095ddad6 🩹 Fix LPC176x USB Host Shield (#24588) 2022-08-06 18:50:49 -05:00
2f4b121709 👔 Keep "Needs: More Data" open 2022-08-06 18:50:49 -05:00
a0409289c8 🚸 Laser with only PWM pin (#24345) 2022-08-06 18:50:49 -05:00
2ccdc4f9ed 🧑‍💻 MARLIN_TEST_BUILD – for future use (#24077) 2022-08-06 18:50:49 -05:00
bbf2033211 🔧 Config INI, dump options (#24528) 2022-08-06 18:50:49 -05:00
9a42d1e577 🩹 Fix Malyan M300 with S-Curve compile
Fixes #24548
2022-08-05 21:54:27 -05:00
17794e18ae 🔧 Update 644p/1284p Serial 1 sanity check (#24575) 2022-08-01 01:59:37 -05:00
3b30951e83 🔨 Simplify scripts with pathlib (#24574) 2022-08-01 01:59:37 -05:00
c3f2586445 🐛 Fix laser menu enable_state (#24557) 2022-08-01 01:59:37 -05:00
c0cb7e35af Configurable Switching Nozzle dwell (#24304) 2022-08-01 01:59:37 -05:00
fd319928d2 Fix, improve Linear Advance (#24533) 2022-08-01 01:59:37 -05:00
5dad7e0d03 🩹 Use _MIN/_MAX macros for native compatibility (#24570) 2022-08-01 01:59:37 -05:00
9ee558afe1 🐛 Fix kinematic feedrate (#24568) 2022-08-01 01:59:37 -05:00
bbaccd342e Encoder Noise Filter (#24538) 2022-08-01 01:59:37 -05:00
6134d55360 📝 README Updates (#24564) 2022-08-01 01:59:37 -05:00
868e76b965 🎨 Renum boards.h 2022-08-01 01:59:37 -05:00
5f105e254d 🐛 Fix M125 for 9 Axis 2022-08-01 01:59:37 -05:00
9534c6e903 🎨 Misc. 'else' cleanup 2022-08-01 01:59:37 -05:00
ec9a2ee557 🌐 Update German language (#24555) 2022-08-01 01:59:37 -05:00
d8db00e31f 🧑‍💻 Update planner/stepper includes 2022-08-01 01:59:37 -05:00
e7c262dc30 🩹 Fix lcd_preheat compile 2022-08-01 01:59:37 -05:00
cee9da6132 🔨 Update build/CI scripts 2022-08-01 01:59:37 -05:00
a24b9e16ff 🎨 PIO scripts cleanup 2022-08-01 01:59:37 -05:00
1e9232723d 📺 Fix TFT Classic UI non-Touchscreen 1024x600 (#24541) 2022-08-01 01:59:37 -05:00
66369f8236 🩹 Fix JyersUI include (#24540) 2022-08-01 01:59:37 -05:00
0ca76bf9ed 📝 Update MPCTEMP G-Code M306 T (#24535)
M306 simply reports current values. M306 T starts autotune process.
2022-08-01 01:59:37 -05:00
0f3c3c419e Reinstate JyersUI 2022-08-01 01:59:37 -05:00
89e9ae0662 🧑‍💻 Give the simulator Stepper access 2022-08-01 01:59:37 -05:00
5b8f7686cb 🧑‍💻 Fix and improve build_all_examples 2022-08-01 01:59:37 -05:00
6e02f15dd6 🔨 Minor build script changes 2022-08-01 01:59:37 -05:00
c9445cfc41 🩹 Fix TFT image PACKED conflict 2022-08-01 01:59:37 -05:00
beacb73d93 🩹 Fix gcode.h include (#24527) 2022-08-01 01:59:37 -05:00
53a57ff7bf 🐛 Fix Archim2 USB Hang (#24314) 2022-08-01 01:59:37 -05:00
d726f641a5 EXP header pin numbers redux (#24525)
Followup to 504fec98
2022-08-01 01:59:37 -05:00
feafa321d7 🚸 Use Tool 0 for G30 (#24511) 2022-08-01 01:59:37 -05:00
f5b972bb10 📺 SKR_MINI_SCREEN_ADAPTER for BTT SKR Mini E3 V3 (#24521) 2022-08-01 01:59:37 -05:00
196795c0cc More ESP32 (MKS TinyBee) tests (#24493) 2022-08-01 01:59:36 -05:00
c3085d666f 📝 Update Contributing Guide (#24320) 2022-08-01 01:59:36 -05:00
807f2ef969 🚸 Machine-relative Z_STEPPER_ALIGN_XY (#24261)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-08-01 01:59:36 -05:00
f752fe75ee ♻️ Small sound / buzz refactor (#24520) 2022-08-01 01:59:36 -05:00
97a73147fa 🩹 Fix manual move titles (#24518) 2022-08-01 01:59:36 -05:00
915203f545 🩹 Arc/Planner optimization followup (#24509) 2022-08-01 01:59:36 -05:00
173eb3ff71 🚸 Renumber EXP pins to match schematics/RRF/Klipper 2022-08-01 01:59:36 -05:00
96d3c66b64 Steinhart-Hart C Coeff for Custom Thermistor (#24428) 2022-08-01 01:59:36 -05:00
cc4fc28fe0 ️ Optimize Planner calculations (#24484) 2022-08-01 01:59:36 -05:00
0a164a88fe Polargraph M665 settings (#24401) 2022-08-01 01:59:36 -05:00
c72fe1a2f9 🩹 Add'l ProUI fixes (#24500, #24508) 2022-08-01 01:59:17 -05:00
2add8ca4eb eMotion-Tech eMotronic (Micro-Delta rework) (#24488) 2022-08-01 01:58:45 -05:00
779c24122d 🔨 Update mfprep comment 2022-08-01 01:58:45 -05:00
6ac3f2738e 🔨 Add mftest --default flag 2022-08-01 01:57:17 -05:00
77c6d9af20 🩹 Fix TFT tImage struct packing 2022-08-01 01:57:11 -05:00
929e12bf49 🔨 Remove log2file monitor filter (#24502) 2022-08-01 01:57:01 -05:00
fd18ac5667 📝 Update board MCU comments (#24486) 2022-07-29 18:42:42 -05:00
06c1409843 🩹 Fix MAX31865 approximations
Followup to #24407
2022-07-29 18:42:42 -05:00
ec95e66ff0 🔧 Base NUM_AXES on defined DRIVER_TYPEs (#24106) 2022-07-29 18:42:42 -05:00
53ee7fce5b 🐛 Fix SDIO for STM32 (#24470)
Followup to #24271
2022-07-29 18:42:42 -05:00
10f5f878ce 🚑️ Fix XYZEval = N not setting E 2022-07-29 18:42:42 -05:00
733ca940c0 🐛 Fix 2d mesh print (#24536) 2022-07-22 23:33:30 -05:00
c880c7ed45 🔨 Fix and update Makefile
Followup to 89fe5f6d
2022-07-15 18:48:15 -05:00
e5e4cf920d 📌 Pin ESP32SSDP to 1.1.1 (#24489) 2022-07-15 18:48:15 -05:00
3315f6faa4 Creality3D v4.2.5 / CR200B (#24491) 2022-07-15 18:48:15 -05:00
4a6ad1c98b 🩹 Fix ProUI LED compile (#24473) 2022-07-15 18:48:15 -05:00
3c9789fda8 🚸 Fix and update ProUI (#24477) 2022-07-15 18:48:15 -05:00
3a19d34c75 🩹 Fix MKS UI extruder speed (#24476) 2022-07-15 18:48:15 -05:00
6b19a58f03 🔥 Drop STM L64** drivers, STEVAL_3DP001V1 (#24427) 2022-07-15 18:48:15 -05:00
9283859b1e 🎨 ANY => EITHER 2022-07-15 18:48:15 -05:00
e840015cad 🔨 Abort firmware update on transfer error (#24472, #24499) 2022-07-15 18:48:15 -05:00
efe04e1016 🧑‍💻 Update Mac Sim directions 2022-07-15 18:48:15 -05:00
f543b3cb84 📌 Ask for PlatformIO 6.1.1 or newer (#24435) 2022-07-15 18:48:15 -05:00
6a86c5bad3 MKS Monster8 V2 (#24483) 2022-07-15 18:48:15 -05:00
7207a32434 🧑‍💻 Add Sim debug with lldb 2022-07-15 18:48:15 -05:00
678474d55c 🔧 Assert Probe Temp Comp requirements (#24468) 2022-07-15 18:48:15 -05:00
24c211307d 🐛 Fix laser/fan sync (#24460)
Followup to #22690, 307dfb15
2022-07-15 18:48:15 -05:00
0c78a6f657 ️ Optimize G2-G3 Arcs (#24366) 2022-07-15 18:48:15 -05:00
79a332b57e 🩹 Fix LCD_BACKLIGHT_TIMEOUT compile (#24463) 2022-07-15 18:48:15 -05:00
d9ecbdcdbb 🩹 Fix safe homing sanity-check (#24462) 2022-07-15 18:48:15 -05:00
527fe2496a MAG_MOUNTED_PROBE (#24420)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-07-15 18:48:14 -05:00
6c2ffe9d34 🔥 Remove JyersUI (#24459) 2022-07-15 18:48:14 -05:00
0fdedfa2fb 📝 Configurations 02010100 (#24458) 2022-07-15 18:48:14 -05:00
e93a1dd2fa 🚸 JyersUI updates (#24451) 2022-07-15 18:48:14 -05:00
03760fd79e 🩹 Fix ST7565 LCD contrast init (#24457) 2022-07-15 18:48:14 -05:00
d3aed23e18 🐛 Fix Sensorless Probing compile (#24455) 2022-07-15 18:48:14 -05:00
893707711e 🐛 Fix MKS TinyBee compile (#24454) 2022-07-15 18:48:14 -05:00
d965303a7a ️ Fix and improve Inline Laser Power (#22690) 2022-07-15 18:48:14 -05:00
5b6c46db29 BigTreeTech SKR SE BX V3.0 (#24449)
SKR SE BX V3.0 removes the Reverse Driver Protection feature.
2022-07-15 18:48:14 -05:00
8f40a2f257 🔨 Fix OpenBLT encode; no-bootloader envs (#24446) 2022-07-15 18:48:14 -05:00
e4f85e8fbc ♻️ Encapsulate PID in class (#24389) 2022-07-15 18:48:14 -05:00
678955949f 🔨 Disable stack protector on macOS simulator (#24443) 2022-07-15 18:48:14 -05:00
923d34550a 🔨 PlatformIO "--target upload" == "--target exec" 2022-07-15 18:48:14 -05:00
ed643e634f 🔨 Fix Warnings/settings force-recompile 2022-07-15 18:48:14 -05:00
3f4c8c31c6 Fix SDIO for STM32
Followup to #24271
2022-07-09 18:19:47 -05:00
171ed66de0 🚸 MPCTEMP: Home before cooling (#24434) 2022-07-04 00:29:53 -05:00
5f2e4487e7 🩹 Fix MKS TinyBee ADC Vref (#24432) 2022-07-04 00:29:53 -05:00
80c7abd727 🩹 Remove poison wchar_t macro 2022-07-04 00:29:53 -05:00
814b53750f 🩹 Remove obsolete split_move 2022-07-01 22:05:44 -05:00
23e93c51fd 🐛 Fix M149 (#24430) 2022-07-01 07:54:53 -05:00
afbdcc8eee 🚸 Vertical Max7219::quantity in portrait orientation (#24415) 2022-07-01 07:54:53 -05:00
4820947203 Update path to Ender-3 S1 configs 2022-07-01 07:54:53 -05:00
d44aef8b6b 📝 Index Mobo Rev03 => Opulo Lumen Rev3 2022-06-30 22:10:31 -05:00
c1c0496073 🩹 Fix memset block warning 2022-06-30 22:10:26 -05:00
a48831d600 🐛 Fix Axis Homing (#24425)
Followup to 4520a51
2022-06-30 22:10:26 -05:00
c076094fa9 🐛 Fix MAX31865 PT1000 normalization (#24407)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-30 22:10:26 -05:00
57c137a60f ♻️ reset_acceleration_rates => refresh_… 2022-06-30 22:10:05 -05:00
05bdc5640d ♻️ Planner flags refactor 2022-06-30 22:10:05 -05:00
83784bd8b7 📝 Note about UBL bad splits 2022-06-30 22:10:05 -05:00
23f19e9ce8 🎨 Misc. shorthand operators 2022-06-26 10:02:36 -05:00
0435b2220a 🐛 Fix Manual Move axis selection (#24404) 2022-06-26 06:49:14 -05:00
ab2fceda2c 📝 Add STM32F4 example, Ruby (#24399) 2022-06-26 06:39:00 -05:00
88dc360e9d 🌐 Update Italian language (#24398) 2022-06-26 06:39:00 -05:00
f5bdb8b4d2 🌐 Update Slovak language (#24397) 2022-06-26 06:39:00 -05:00
3e01e08989 🩹 Fix LCD contrast with K8800 board 2022-06-26 06:39:00 -05:00
4694a7fe74 MAX7219 idle profiler (#24375) 2022-06-26 06:39:00 -05:00
537af0bb03 🌐 Drop unused delta strings 2022-06-24 22:09:59 -05:00
0dc59311ec 🐛 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-24 18:03:19 -05:00
0523874e9c 🐛 Fix G2/G3 Arcs stutter / JD speed (#24362) 2022-06-24 18:03:19 -05:00
106537ff43 ✏️ 9-axis followup (sanity-check) 2022-06-24 18:03:19 -05:00
ad96c36730 🐛 Fix Lerdge build / encrypt (#24391)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-24 18:03:19 -05:00
a3629a7c28 Classic UI BIQU BX (#24387) 2022-06-24 18:03:19 -05:00
b7e1b6b893 🩹 Fix DGUS (MKS) compile (#24378) 2022-06-24 18:03:19 -05:00
253e35e066 🚑️ Fix BIQU BX touch freeze (#24383) 2022-06-24 18:03:19 -05:00
831e1b5ecf 🐛 Fix M423 invocation (#24360)
Followup to #23745
2022-06-24 18:03:19 -05:00
c89ca2deb8 🩹 LCD strings followup, fix warning (#24328) 2022-06-24 18:03:19 -05:00
85e94038aa FOAMCUTTER_XYUV (for RAMPS) (#24325)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-06-24 18:03:19 -05:00
7c85f25042 🚑️ Fix SD mount bug (#24319)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-06-24 18:03:19 -05:00
eca5e46d17 🎨 Simplify move menus with substitution 2022-06-24 18:03:19 -05:00
78b42ed387 🎨 Use MAP for home axis items 2022-06-24 18:03:19 -05:00
95339c9561 🧑‍💻 Fix STATIC_ITEM_N arg order 2022-06-24 18:03:19 -05:00
da6c16a9cd 🎨 Fix comments, formatting 2022-06-24 18:03:19 -05:00
cc27cfb660 👷 CI test without src filter (emulate Arduino) (#24335) 2022-06-24 01:19:42 -05:00
25c0593c9b 👷 Use Biqu BX for CI test (#24331) 2022-06-24 01:19:36 -05:00
5fff7bbef4 👔 Fix and comment use_example_configs 2022-06-24 01:11:07 -05:00
3fd592e64b 👔 Update Marlin actions for 2.1.x 2022-06-24 01:11:07 -05:00
c34dd64469 ️ PWM for ESP32 I2S expander (#24193) 2022-06-24 01:11:07 -05:00
7677368aaf 🔖 Moving to bugfix-2.1.x 2022-06-24 01:11:06 -05:00
ece124fdea 🩹 M919 9-axis update 2022-06-20 21:09:20 -05:00
9aa499dbe9 🌐 Fix LCD string, typos (#24324) 2022-06-20 21:09:20 -05:00
78a3ea0ed4 🧑‍💻 Apply F() to some LCD / TFT strings
Followup to #24228
2022-06-13 21:02:31 -05:00
c605c1ebb5 🩹 Fix missing ProUI cpp wrapper (#24313) 2022-06-13 21:02:31 -05:00
b2c4fb5f3a 🐛 Fix JGAurora A5S A1 build (#24326) 2022-06-13 04:32:49 -05:00
60cedf63f2 🩹 Fix ProUI compile (#24310)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-06-13 04:32:49 -05:00
1156557a47 🧑‍💻 Misc. servo code cleanup 2022-06-13 04:32:49 -05:00
ea22640d78 🧑‍💻 Remove servo macros 2022-06-13 04:32:49 -05:00
d886320799 🩹 Fix G33 Delta Sensorless Probing compile (#24291) 2022-06-13 04:32:30 -05:00
a65189c637 👔 Fix and comment use_example_configs 2022-06-13 04:31:26 -05:00
dfc8acf376 🩹 Fix Mesh Leveling + Debug compile (#24297) 2022-06-07 02:15:48 -05:00
48d03ca0a9 🩹 Media Change followup (#24302)
Followup to #24015
2022-06-07 02:00:38 -05:00
85e8d1f9fa 🚸 ProUI G-code preview, PID plot (#24282) 2022-06-07 02:00:38 -05:00
679f4608ab 👔 Update mfconfig import 2022-06-06 23:40:26 -05:00
5c225ba887 🔖 Marlin 2.1 2022-06-05 23:11:32 -05:00
2685119332 🩹 Fix EXTRUDERS 0 manual move compile (#24255) 2022-06-05 23:11:32 -05:00
fc350701b2 💥 More M306 M => M306 H (#24258)
Followup to #24253
2022-06-05 23:11:32 -05:00
0ad695d45a 🚸 Fix, improve, update ProUI (#24251) 2022-06-05 23:11:32 -05:00
f1802bc7fe 🔨 BTT STM32G0B1RE xfer build (#24245) 2022-06-05 23:11:32 -05:00
d6c673b9de ♻️ More updates for multi-axis 2022-06-05 23:11:32 -05:00
6a2a592c26 🧑‍💻 Combined axis strings 2022-06-05 23:11:32 -05:00
c4ac695c15 🧑‍💻 Forward-compatible axis strings (167672d, #24259) 2022-06-05 23:11:32 -05:00
8465818754 🎨 Fix/adjust warnings (#24225) 2022-06-05 23:11:32 -05:00
3c482a9ba1 🧑‍💻 MAP macro for axis lists, etc. (#24191) 2022-06-05 23:11:32 -05:00
ecfe7b6400 🩹 Fix some parameters w/out values (#24051) 2022-06-05 23:11:32 -05:00
85599abba7 🚸 Better M350, M114 with more axes (#23986) 2022-06-05 23:11:32 -05:00
494a2fc80c 🚨 Fix some compiler warnings 2022-06-05 23:11:31 -05:00
f7bea2846f 🏗️ Axis name arrays
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2022-06-05 23:11:31 -05:00
d56731cd07 🏗️ Extend AXIS_CHAR to include E
Co-Authored-By: DerAndere <26200979+DerAndere1@users.noreply.github.com>
2022-06-05 23:11:31 -05:00
0041de1a8a 💥 Update Motor Current G-codes for extra axes (#23975) 2022-06-05 23:11:31 -05:00
d58497bc8e 🐛 Fix BACKLASH_COMPENSATION compile (#24072)
Followup to #23826
2022-06-05 23:11:31 -05:00
fd13a928c1 Support for up to 9 axes (#23112, #24036, #24231) 2022-06-05 23:11:31 -05:00
369542db3b 🔖 Marlin 2.0.9.4 2022-06-05 21:33:29 -05:00
40d96c3460 👔 Remove actions from misc. branch 2022-06-05 21:33:29 -05:00
d7a71beaf4 🔧 LEVEL_BED_CORNERS => LCD_BED_TRAMMING 2022-06-05 21:33:29 -05:00
f3b593ae73 🎨 Fix spelling, whitespace 2022-06-05 21:11:27 -05:00
1d8d8dccf4 💥 Num Axes / Multi-Stepper based on Driver Types (#24106, #24120) 2022-06-05 20:58:39 -05:00
1e127a93c4 🧑‍💻 Extend LCD string substitution (#24278) 2022-06-04 00:57:34 -05:00
fcef8d946c ️ 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-04 00:57:34 -05:00
0253500ccd Use default null args in select_screen 2022-06-04 00:57:34 -05:00
0d783a7690 🐛 Init Stepper SPI before PSU Control (#24269) 2022-06-04 00:57:34 -05:00
e784e04132 BigTreeTech SKR3 - STM32H743 (#24271, #24272, #24275)
Co-Authored-By: Alan.Ma <alansayyeah@gmail.com>
2022-06-04 00:57:34 -05:00
11d68e3127 🚸 Custom Menu Items for JyersUI (#24270) 2022-06-04 00:57:34 -05:00
8b8b2a7ed3 📌 Tenlog PSU pin (#24266) 2022-06-04 00:57:34 -05:00
fc1a620b87 🚩 MPC update (#24253) 2022-06-04 00:57:34 -05:00
9799907dc9 👔 Configs required to submit a Bug Report (#24256) 2022-06-03 22:06:51 -05:00
6fc4dbbbc4 🚸 Change M201 G to S 2022-06-03 22:06:51 -05:00
74596ad4d7 🩹 Adjust manage_media for slow/late media init (USB FD) (#24015) 2022-06-03 22:06:51 -05:00
28f8646aa6 ♻️ Apply F() to more LCD code (#24228) 2022-06-03 22:06:51 -05:00
9a74bcd4cf Laser Safety Timeout (#24189) 2022-06-03 22:06:50 -05:00
07cd248b91 ♻️ Move watchdog to MarlinHAL 2022-06-03 22:06:50 -05:00
209c792ef7 🔧 Remove LCD_SERIAL_PORT defaults, warn on auto-assign (#24170) 2022-06-03 22:06:50 -05:00
dbd00d9927 DOGM Display Sleep (#23992)
Co-authored-by: borland1 <barryorlando@hotmail.com>
2022-06-03 22:06:50 -05:00
4ae54a6229 🐛 Update German language, Fix FTDI (#24047, #24048, #24227) 2022-06-03 22:06:50 -05:00
ce0af56d0a 🚸 Improve MPC tuning, add menu items (#23984, #24018, #24049, #24059) 2022-06-03 22:06:50 -05:00
6c557a2480 🐛 Fix Bed/Chamber PID Autotune with MPCTEMP (#23983) 2022-06-03 22:06:50 -05:00
a6ce9bf559 Autoreport Redundant Sensor option (#24014) 2022-06-03 22:06:50 -05:00
21c838cb1b ⚗️ Temperature Model Predictive Control (#23751) 2022-06-03 22:06:50 -05:00
3443a9e18b SOUND_ON_DEFAULT option (#24102) 2022-06-03 22:06:50 -05:00
b2b5b85045 🐛 Fix Tool Change priming (#21142) 2022-06-03 22:06:50 -05:00
2086cc9f4e 📝 Refer to 'PROGMEM' as 'flash' 2022-06-03 22:06:50 -05:00
8eccfd4a6f 🔧 Bed/Chamber PID Autotune menus
Derived from MarlinFirmware/Marlin#23983
2022-06-03 22:06:50 -05:00
9ab654adcb 🐛 Fix min/max temp evaluation
Fixes #24257
2022-06-03 22:06:50 -05:00
0ae982188c 🐛 Fix M203 report 2022-06-03 18:40:06 -05:00
bed0788f72 🩹 Fix G60/G61 debug code (#24231) 2022-06-03 01:20:39 -05:00
deb1ba73bb 🎨 Use pos.set method 2022-05-31 17:31:15 -05:00
57f0ac88af 🎨 Misc. boards/pins cleanup 2022-05-31 17:31:14 -05:00
915bce495c 📝 Fix Mightyboard MOSFET comments (#24183) 2022-05-31 17:31:13 -05:00
800a936caa 🎨 Combine serial echos 2022-05-27 17:05:35 -05:00
ccf39b1c42 🔨 Add src_filter for I2C_AMMETER (#24242) 2022-05-27 17:05:08 -05:00
d19179ce28 ✏️ Fix some motherboard checks (#24238) 2022-05-27 17:04:45 -05:00
4a6ae1b64d 🎨 Remove MKS custom pins, TinyBee cleanup (#24186) 2022-05-27 17:04:22 -05:00
0daaef589c 📌 Use MarlinSimUI/bugfix-2.0.x (#24232) 2022-05-27 17:04:06 -05:00
4831cbebd8 🎨 Add EXP1/2 headers, adjust TFT pins (#24230) 2022-05-27 17:03:06 -05:00
e0deb75764 🐛 Fix Leveling apply/unapply (#24188)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-27 17:01:38 -05:00
a0fe4f4895 🎨 Minor HAL cleanup 2022-05-27 17:01:20 -05:00
4d65d7f142 📝 Add logo, helpful links to README (#24226) 2022-05-23 02:40:38 -05:00
1b879f0ee4 🔨 Fix mfprep string test 2022-05-22 19:52:38 -05:00
b6abc760ce 🔨 Move, tweak maple envs 2022-05-22 19:52:38 -05:00
0ae061713c 👔 Move GitHub templates, update README (#24199) 2022-05-22 19:52:18 -05:00
1d12e72bf6 🐛 Fix SEGMENT_LEVELED_MOVES with UBL 2022-05-22 17:06:22 -05:00
c97cf10956 🩹 Fix const warning 2022-05-22 17:02:08 -05:00
b72f9277e9 ♻️ Common Bed Leveling object name, accessors (#24214) 2022-05-21 18:13:30 -05:00
06c4a9acdb 🐛 Fix FLSUN Hispeed FIL_RUNOUT_PIN, MKS Robin Mini TFT pins (#24204) 2022-05-21 18:13:30 -05:00
8a301196e1 🐛 Fix Polargraph G92 command (#24223) 2022-05-21 14:46:49 -05:00
1e7219f4a6 🐛 Fix FTDI_EVE_TOUCH_UI reboot loop (#24195) 2022-05-19 12:11:03 -05:00
02c267f542 🔨 Require PIO >= 6.0.1 (#24205) 2022-05-19 09:29:46 -05:00
fe77fc66c0 🔨 Use PlatformIO Core 6.0 Dev for CI (#24194) 2022-05-17 16:47:34 -05:00
268a16b1ef 🚸 ProUI APRIL2022 updates (#24084) 2022-05-17 15:54:34 -05:00
8351b1431f 🩹 Fix MarlinUI allow-cold-extrude (#24176)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-17 03:04:30 -05:00
718806761f 🩹 Suppress ZERO() warning (#24178) 2022-05-17 03:04:30 -05:00
78c7fedcea 🐛 Fix Due cli/sei (#24182)
Followup to #23357
2022-05-16 21:49:30 -05:00
c4b8339b84 🎨 HAL_MinSerial.* => MinSerial.* 2022-05-16 21:49:30 -05:00
94ed67e36e 🩹 Run TMC test last in setup (#24160) 2022-05-13 19:53:19 -05:00
03b819bdb2 🚸 DWIN/DACAI for Creality 4.2.3 (#24132) 2022-05-13 19:53:19 -05:00
2204f05dca 🧑‍💻 Clarify MSerialUSB, drop HardwareSerial workaround 2022-05-13 19:53:19 -05:00
a13cceaad1 🚸 Improve MKS SGEN_L V2, Robin Nano V3 pins (#24147) 2022-05-13 19:53:19 -05:00
5c25ed60c8 🐛 Fix AIR_ASSIST (#24162) 2022-05-13 19:18:27 -05:00
1c516bdd5e 🔧 Allow board & probe dummy thermistors (#24165) 2022-05-13 19:18:27 -05:00
425684e2ff 🐛 Fix Mightyboard LED pin, fan override (#24168) 2022-05-13 19:09:55 -05:00
63aecad7ee 🔨 BTT Octopus ST-Link programming/debugging 2022-05-13 19:09:55 -05:00
dcd769b4a1 🎨 Nextion cleanup 2022-05-13 01:19:45 -05:00
f9b7f00d1e 🚚 Move speed_lookuptable.h 2022-05-13 01:19:45 -05:00
a6ff63d506 🎨 Clean up warnings / extra check (#24163) 2022-05-13 00:42:05 -05:00
7d37ae2b2b 🔧 AVR/DUE Serial Port pin conflict checks (#24148)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-13 00:36:57 -05:00
a7d40ec654 Add BOARD_CREALITY_V24S1_301F4
Co-Authored-By: Miguel Risco-Castillo <mriscoc@users.noreply.github.com>
2022-05-13 00:36:57 -05:00
7ed339cfa0 Creality CR-10 SmartPro (#24151)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-13 00:36:57 -05:00
cb4ad020af 🧑‍💻 Misc. LCD cleanup 2022-05-13 00:36:57 -05:00
0805f9bf3f 🩹 Fix ProUI leveling start message 2022-05-12 21:28:52 -05:00
d235bc9e1c 🧑‍💻 General and Axis-based bitfield flags (#23989) 2022-05-12 04:18:02 -05:00
d5f472a6cf 🔨 Fix g++ locator for CI 2022-05-12 04:18:02 -05:00
d67fa98cf6 🩹 Fix accel dividend 2022-05-12 04:17:16 -05:00
d3fe0caa7f 🧑‍💻 Clarify acceleration factor 2022-05-09 18:55:42 -05:00
bd09f8acff 📌 Define RAMPS_SMART EXP headers, AZSMZ_12864
See #23501
2022-05-09 17:46:23 -05:00
a9aca5f5e8 ✏️ Fix spurious UTF 2022-05-09 17:46:23 -05:00
13d1eb7241 🔨 OpenOCD Debug for VSCode 2022-05-09 17:46:23 -05:00
238ab1dd06 🩹 Fix Fan Tail Speed Init (#24076)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-09 17:46:23 -05:00
a7e4061d12 🔧 Fix Neo RGB sanity check (#24146) 2022-05-09 17:46:23 -05:00
31c87adba8 📌 Use ESP3DLib master branch (#24140) 2022-05-09 17:46:23 -05:00
727e7e7fd7 ✏️Fix Markforged endstops/G38 (#24141) 2022-05-09 17:46:23 -05:00
975b90c0b7 🎨 Tweak NEOPIXEL_LED format (#24110) 2022-05-07 18:46:20 -05:00
8f0180802a 🔧 Move LASER_COOLANT_FLOW_METER to LASER_FEATURE 2022-05-07 18:46:20 -05:00
aa4c991755 📝 Obsolete freeze comment (#23964)
Followup to #23944
2022-05-07 18:46:20 -05:00
9ab1a57d72 ♻️ Consolidate DGUSScreenHandler class (#24067) 2022-05-07 18:46:20 -05:00
044bf8ab7e ⚰️ Clean up dead option (#24006) 2022-05-07 18:46:12 -05:00
4bdec5e993 🚸 More ExtUI events for ABL / UBL 2022-05-07 18:40:42 -05:00
7444933d5d 🩹 Fix ESP32 servos, SD_IGNORE_AT_STARTUP
Fixes #24007
Followup to aaf5bf02
2022-05-07 18:40:42 -05:00
f35404f853 🧑‍💻 Handle PLR in manage_media 2022-05-07 18:40:42 -05:00
7fa2dcedda 🐛 Fix ProUI / JyersUI leveling preheat (#24060, #24064)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 18:40:42 -05:00
4c84769a81 🩹 Fix ADVANCED_PAUSE_RESUME_PRIME check
Fixes #23824
2022-05-07 18:40:42 -05:00
8fb3074901 🩹 Fix DEBUG_CARDREADER (#24023) 2022-05-07 18:40:42 -05:00
230db90b70 🩹 Fix DGUS_PREHEAT_UI enable with DGUS_LCD_CLASSIC (#24066) 2022-05-07 18:40:42 -05:00
28d2bc353e 🎨 Use LEDColor default C-CTOR 2022-05-07 18:27:56 -05:00
7b5e2cd786 🐛 Update M913, M914 report
Followup to #11248, #11249, #23400
2022-05-07 18:27:56 -05:00
4b456078dd 🌐 Update Italian language (#24019) 2022-05-07 18:27:56 -05:00
8d3c84a6d9 ✏️ Fix FYSETC Mini Panel neopixel type (#24011, #24111) 2022-05-07 18:13:09 -05:00
cbc6f23a8a 🔧 Sanity-check SWITCHING_TOOLHEAD_X_POS (#23985) 2022-05-07 18:13:09 -05:00
bed8abe5b6 🐛 Fix PID edit menu for Bed, Chamber (#23987) 2022-05-07 18:13:09 -05:00
74565890f3 ♻️ Refactor and fix ABL Bilinear (#23868, #24009, #24107) 2022-05-07 18:13:09 -05:00
4ec9af42b8 💥 Rename ExtUI settings methods 2022-05-07 18:13:09 -05:00
b0d621d8b9 🧑‍💻 Define isr_float_t to assert a non-FPU float (#23969)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 18:13:09 -05:00
995221e68e Add M3426 A<addr> parameter (#24130)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-07 18:13:09 -05:00
54e543872b 🌐 Update Chinese language (#23865) 2022-05-07 18:12:18 -05:00
7b39604d6f 🌐 Update Russian language (#23978) 2022-05-07 18:12:18 -05:00
01c9c26661 🧑‍💻 Preheat menu improvements (#24017)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 18:11:03 -05:00
27b1484428 🐛 Fix Manual Move cold extrude override (#24045)
Followup to #19606

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 18:11:03 -05:00
7f1c5ad7aa 🩹 Fix and clean up E3V2 draw (#23979, #24013) 2022-05-07 18:11:03 -05:00
4fd7d1b056 🐛 Fix STM32 Pins Debugging (#22896) 2022-05-07 18:11:03 -05:00
7ffe4de021 🩹 Use LCD_CONTRAST_INIT in pins files 2022-05-07 18:11:03 -05:00
eada17ed69 🩹 Apply 100% leveling correction below the bed
See #24002
2022-05-07 18:11:03 -05:00
cd5c5ea60e 🔨 Fix LPC176x debug build
See #23635
2022-05-07 18:07:01 -05:00
e9ea82e78d 🐛 Prefer os.replace, fix TFT_LVGL_UI build (#24001) 2022-05-07 18:07:01 -05:00
18b17fc97d 🐛 Fix MKS_MINI_12864 build for ESP32 (#24071) 2022-05-07 18:07:01 -05:00
89d5ed0c9e 🎨 Combine common LPC1768 I2C code 2022-05-07 18:07:01 -05:00
a56bf9045d 🧑‍💻 Simplify BIGTREE_SKR_2_F429 env 2022-05-07 17:59:30 -05:00
c23d035149 🧑‍💻 Strip #errors in Configurations deployment 2022-05-07 17:58:27 -05:00
7ff4b70694 🚸 Prevent accidental button press 2022-05-07 17:56:18 -05:00
421c38ff2e 🐛 Home Z to Max after Z_SAFE_HOMING 2022-05-07 17:56:18 -05:00
ec447dba04 🚸 Home Y before X on belt printers 2022-05-07 17:56:18 -05:00
be6535e5f7 🩹 Fix PRINTCOUNTER with EXTRUDERS 0 (#24063)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 17:56:04 -05:00
99252cf0cd 🐛 Prevent BABYSTEP freeze
See #22830, #13300
2022-05-07 17:55:13 -05:00
f6f31434b8 🧑‍💻 IS_ULTRA_LCD => HAS_WIRED_LCD 2022-05-07 17:55:13 -05:00
2f3960904e 🎨 Misc. USB flash code cleanup 2022-05-07 17:55:13 -05:00
2dc4c642e7 🎨 Misc. adjustments, spacing 2022-05-07 17:55:08 -05:00
70ea0e7c34 ✏️ Remove extra G29 line
Followup to 85a62bbf
2022-05-07 17:55:02 -05:00
a81fd009f0 🎨 misc. cleanup 2022-05-07 17:54:10 -05:00
e667d4e6e4 🌐 Rename "LCD Timeout" string 2022-05-07 17:34:02 -05:00
2d0af75d37 ✏️ No such pin 2022-05-07 17:34:02 -05:00
5e68a86968 🔨 Preflight check old abl files (#24010) 2022-05-07 17:34:02 -05:00
8bd1547c3b enwi ESPNP board support (#24029) 2022-05-07 17:34:02 -05:00
a5e083603f 📝 Fix 'M150 S' comment 2022-05-07 17:34:02 -05:00
c5f7547e8c 🩹 Fix "elapsed" text on DOGLCD (#24087) 2022-05-07 17:34:02 -05:00
5c5b380fda 🐛 Fix MarlinUI on Ender 3 S1 (#23949) 2022-05-07 17:34:02 -05:00
bb0e0cf7f3 🐛 Fix MKS Gen. L - EEB (#23965) 2022-05-07 16:53:59 -05:00
Jon
5ee99dfc49 🩹 SKR2 Pins DIAG flag (#23968)
Followup to #23050
2022-05-07 16:53:59 -05:00
a083b1280e 📌 SKR Mini V1.1 TMC UART Pins (#23970) 2022-05-07 16:53:59 -05:00
b7b5cee88b 🐛 Fix MightyBoard Rev. E EX2, extra MOSFETs (#23976) 2022-05-07 16:53:59 -05:00
7456fd68a4 ✏️ Fix NOZZLE_PARK_Y_ONLY sanity-check (#23990) 2022-05-07 16:53:59 -05:00
20154718b5 🌐 Clean up languages 2022-05-07 16:49:47 -05:00
a6794c1862 🐛 Use ADC_VREF for Filament Width ADC Vref (#23977) 2022-05-07 16:49:47 -05:00
bd5c6bf23c ✏️ Fix parking extruder compile (#23961)
Followup to d3e3e6a491
2022-05-07 16:49:21 -05:00
68ee64283a 🎨 INI cleanup 2022-05-07 16:49:21 -05:00
dd29394bbe 🔨 Improved mfprep script 2022-05-07 16:49:21 -05:00
ceb99e89a0 🔨 Prevent build attribute define conflicts 2022-05-07 16:49:21 -05:00
6112277f9b 🔨 Use first g++ in path for 'native' targets 2022-05-07 16:49:21 -05:00
81f403025c 🐛 Some EEPROM size fixes (#24113)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-07 16:49:21 -05:00
eeda8b451a 📝 Replace KB with K in pins 2022-05-07 16:47:33 -05:00
c7e8ba7857 📝 Fix extraneous URL args (#24125) 2022-05-07 16:47:16 -05:00
071e5c336a 🐛 Fix MMU2 buzz (#23950)
Followup to #23943
2022-05-07 16:17:47 -05:00
be08d4c4f0 🔨 Fix Makefile GCC warning (#23957) 2022-05-07 16:17:47 -05:00
e99104a004 Configurable FREEZE pin state (#23944, #23948)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 16:17:47 -05:00
edc4089121 🐛 Fix pulldown sanity check 2022-05-07 16:17:47 -05:00
3bce266ef7 🐛 Fix MMU2 buzz (#23943)
Followup to 89a9c3a391
2022-05-07 16:17:47 -05:00
c89d0114ac STATUS_MESSAGE_TIMEOUT_SEC (#23135)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 16:17:47 -05:00
0e693854d0 🚸 Clear "heating/cooling" message on temp reached 2022-05-07 16:17:47 -05:00
9324132a40 🎨 Format, use status macros 2022-05-07 16:17:47 -05:00
5632ad65f5 🐛 Fix status_printf alert level 2022-05-07 16:17:47 -05:00
eccbfbcede 🩹 Print English to serial out 2022-05-07 16:17:47 -05:00
5ef4fb378e ✏️ Encoder noise followup
Followup to #23925
2022-05-07 16:17:47 -05:00
21f0945d2c 📌 Custom cable for Mini 12864 V1 + SKR Mini E3 V3.0 (#23936) 2022-05-07 16:17:47 -05:00
b2a318af9a 🌐 Update Ukrainian language (#23935) 2022-05-07 16:17:47 -05:00
1c89c0470f 🩹 Wrap endstop_diag.cpp (#23931) 2022-05-07 16:17:47 -05:00
2ee4a667e1 💡 Misc. cleanup, comments 2022-05-07 16:17:47 -05:00
f8e177a43e 🧑‍💻 Improve STATUS_BED_X 2022-05-07 16:01:19 -05:00
9ac1c73041 🎨 General cleanup, comments 2022-05-07 16:01:17 -05:00
4a8b99d505 🧑‍💻 EXTRUDER_LOOP macro 2022-05-07 16:01:13 -05:00
b094a3fc0d 🎨 Clean up tool change with tool sensor 2022-05-07 16:01:10 -05:00
2d99a608fd 🔨 Fix 'mftest -s' 2022-05-07 16:01:08 -05:00
fba8805c0c 🩹 Fix ADC math overflow 2022-05-07 16:01:06 -05:00
039a22649f 🧑‍💻 PIO --silent in build_example 2022-05-07 16:01:03 -05:00
ced0ad8e09 🎨 Apply _TERN where possible 2022-05-07 16:01:01 -05:00
10a0c9a9b3 🔨 Suppress MMU2 resume_position warning 2022-05-07 16:00:59 -05:00
abfb041180 🧑‍💻 Add neo.set_background_color(rgbw) 2022-05-07 16:00:56 -05:00
72f207f489 🔧 Sanity-checks for PULLDOWN, SINGLENOZZLE 2022-05-07 16:00:54 -05:00
7186037f20 🔧 No Switching Nozzle with MMU2 2022-05-07 16:00:51 -05:00
b0a400da72 🩹 No PE_MAGNET_ON_STATE without PARKING_EXTRUDER 2022-05-07 16:00:49 -05:00
cc4c2c2f98 🔨 Allow I2CPE_ENC_n_INVERT set to false 2022-05-07 16:00:46 -05:00
5dae8a6734 🚸 Allow one servo with cutter on RAMPS 2022-05-07 16:00:44 -05:00
05dea4e30a Encoder button noise filter (#23925) 2022-05-07 16:00:41 -05:00
7e88ee8c5c 📌 PandaPi V2.9 – Standalone mode (#23908) 2022-05-07 16:00:38 -05:00
cc8e485e1c ESP32 - Hardware PWM for fan, cutter, servos (#23802) 2022-05-07 16:00:36 -05:00
c7a2ecc31a 🩹 Fix xatc EEPROM debug (#23911) 2022-05-07 16:00:34 -05:00
260b40d145 ️ Fix noisy ADC - 16x oversampling with 12-bit ADC (#23867) 2022-05-07 16:00:31 -05:00
c87eded8f6 🩹 Fix redundant var declaration (#23913) 2022-05-07 16:00:28 -05:00
2f2a999368 🐛 MKS TinyBee - 2.5V ADC Vref (#23903) 2022-05-07 16:00:25 -05:00
2558b323e8 🩹 Fix DWIN E3V2 display issues by allowing re-init (#23879) 2022-05-07 15:59:57 -05:00
1db6855939 🧑‍💻 Allow DIGIPOT Rsx / Vrefmax override (#23885) 2022-05-07 15:58:31 -05:00
62f298aca3 🩹 Fix ExtUI build with Host Keepalive disabled (#23898) 2022-05-07 15:58:31 -05:00
8d20c5aadf 📝 Fix X2_MAX_POS comment (#23873) 2022-05-07 15:58:31 -05:00
61b470249c 📝 Fix DEFAULT_DUAL_X_CARRIAGE_MODE comment 2022-05-07 15:58:31 -05:00
4ffa88f814 🚸 Test LIN_ADVANCE in a pins file 2022-05-07 15:58:31 -05:00
8257040faf ️ G12 - Only require used axes to be homed (#23422)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:31 -05:00
5d9ab7e71e 🔨 Drop extraneous build flag (#23862) 2022-05-07 15:58:31 -05:00
1a76d4d467 🐛 Fix Chiron new TFT SD print after reset (#23855) 2022-05-07 15:58:31 -05:00
4028c1cfc7 🩹 Fix FSTR / PSTR usage 2022-05-07 15:58:31 -05:00
c49f26a7ae 🧑‍💻 Add standard BUZZ types 2022-05-07 15:58:31 -05:00
f82b133595 🌐 Fix, add some menu labels (#23895) 2022-05-07 15:58:31 -05:00
2c3f2a1471 🐛 Fix UBL 'G29 Q1' bug 2022-05-07 15:58:31 -05:00
4817efcf81 🧑‍💻 Add ExtUI::onLevelingDone, match DWIN to ExtUI 2022-05-07 15:58:31 -05:00
16271377e2 🧑‍💻 STM32G0Bx : Use PLLQ for USB clock (#23870) 2022-05-07 15:58:31 -05:00
61fb382868 🚸 M401 H - Report BLTouch HS State (#23724) 2022-05-07 15:58:31 -05:00
7dae720de5 📌 Fix, extend Index Rev03 Mobo (#23851)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:31 -05:00
c6f4b38877 🚸 Fix, extend X Axis Twist Compensation (#23745)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:31 -05:00
eabeac29fd 🚸 Update Ender3 V2/S1 Pro UI (#23878) 2022-05-07 15:58:31 -05:00
b045c91f26 fix g29 (#23887) 2022-05-07 15:58:31 -05:00
56955c179d 🐛 Fix UI include
Followup to ~2
2022-05-07 15:58:31 -05:00
4eb1326355 📝 Update laser/spindle docs link (#23886) 2022-05-07 15:58:31 -05:00
b669aa49cc 🔧 DWIN_CREALITY_LCD_ENHANCED => DWIN_LCD_PROUI
Followup to #23624
2022-05-07 15:58:31 -05:00
152ec49b8b 🩹 Fix 'hdsl' warning 2022-05-07 15:58:31 -05:00
e4ca822dcf 🚸 Improve M422 error messages 2022-05-07 15:58:30 -05:00
0fafcd20cd 🔧 Mark Thermal Variance Monitor EXPERIMENTAL 2022-05-07 15:58:30 -05:00
bd72df3bb6 🐛 Emergency Parser with STM32 Mass Storage (#23827) 2022-05-07 15:58:30 -05:00
fd582dc863 🩹 Improve and apply XATC reset() (#23840) 2022-05-07 15:58:30 -05:00
2986bc3b76 ️ Use seen_test in M422 2022-05-07 15:58:30 -05:00
e082a141f6 🚸 Use Z_STEPPER_ALIGN_STEPPER_XY to enable 2022-05-07 15:58:30 -05:00
575c3150f9 🚸 Universal X_AXIS_TWIST_COMPENSATION (#23828) 2022-05-07 15:58:30 -05:00
43d4e30668 🐛 Fix M_State_grbl when G29 calls G28 2022-05-07 15:58:30 -05:00
9b17699b9b Weedo 62A Tina2 / Monoprice Cadet (#23817) 2022-05-07 15:58:30 -05:00
0337602bbe ️ E3V2 blank bg for S1 compatibility (#23822) 2022-05-07 15:58:30 -05:00
fbfe0642b6 🚨 Fix BLTouch 5V pin tolerance checks (#23823) 2022-05-07 15:58:30 -05:00
41a51e9527 🐛 Fix backlash applied steps when config changes (#23826)
Followup to #23814
2022-05-07 15:58:30 -05:00
2d648e4dd9 🔨 Fix 'renamed' env (platform = ststm32) (#23831) 2022-05-07 15:58:30 -05:00
35d11070b4 🌐 Update German language (#23832) 2022-05-07 15:58:30 -05:00
feafb7d49a M21 P / S / U - Select Volume (#23780)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:30 -05:00
39001bd8d2 LCD Backlight Timer (#23768)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:30 -05:00
3db2fecaa4 🔧 SHOW_CUSTOM_BOOTSCREEN sanity-check (#23807) 2022-05-07 15:58:30 -05:00
sam
c0288590b3 📺 BTT SKR Mini E3 with Fysetc V2.1 / MKS V3 / BTT V1 Mini 12864 (#23793) 2022-05-07 15:58:30 -05:00
d2cd3f2e68 MKS Robin Nano 3.1 (#23795) 2022-05-07 15:58:30 -05:00
893c662438 🐛 ESP32 _delay_ms, fix u8g_esp32_spi.cpp (#23810) 2022-05-07 15:58:30 -05:00
b0fdbede9c 🐛 Fix steps-to-mm with backlash (#23814)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:30 -05:00
8e11a2bb83 🎨 Move PROPORTIONAL_FONT_RATIO 2022-05-07 15:58:30 -05:00
9588f21d2e 🔨 More renamed.ini envs (#23786) 2022-05-07 15:58:30 -05:00
80e569015b 🐛 Fix TMC26X CS pins init (#23778) 2022-05-07 15:58:30 -05:00
be70352203 🔧 Warning for MK3_FAN_PINS (#23727) 2022-05-07 15:58:30 -05:00
980c009fc7 Dyze Design PT100 Amplifier Board (#23760) 2022-05-07 15:58:30 -05:00
8a02646f52 📝 Update Toolchange FS comments 2022-05-07 15:58:30 -05:00
7ec2167a73 ️ Apply PTC on all probing (#23764)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:30 -05:00
56cec9690a ♻️ Refactor HAL as singleton (#23357, #23871, #23897) 2022-05-07 15:58:30 -05:00
428b67db31 More Nozzle Park move options (#23158)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:30 -05:00
1b2715ccf2 🚸 Enhanced UI => Professional UI - with updates (#23624) 2022-05-07 15:58:30 -05:00
ac76ed7ece 🚸 Case Light, LED menus for E3V2 DWIN Enhanced UI (#23590) 2022-05-07 15:58:30 -05:00
4ba4ab1c75 📌 Creality RAMPS optional SD_DETECT_PIN (#23740)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:58:30 -05:00
c0f6d2f78c ✏️ Fix getLFNName parameter (#23752) 2022-05-07 15:56:08 -05:00
0b4f5298f5 🚨 Fix TEMP_SENSOR_BOARD warnings (#23754) 2022-05-07 15:56:08 -05:00
195383bc33 🧑‍💻 Update MightyBoard FET pins (#23728) 2022-05-07 15:56:08 -05:00
4199191e99 ♻️ Rename XATC z_values => z_offset 2022-05-07 15:56:08 -05:00
7da28768f7 ♻️ No ui.reinit_lcd on any ExtUI (#23722)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:56:08 -05:00
172cd2eefb 📝 Update conditionals descriptions 2022-05-07 15:55:58 -05:00
341113bcfb 🔧 HAS_LCDPRINT conditional 2022-05-07 15:55:58 -05:00
5f0e1a15df ✏️ Fix E3V2 display with BTT SKR Mini E3 v3 (#23719) 2022-05-07 15:55:16 -05:00
3abf4de4ae 🚸 Align MKS UI heated bed status with HAS_MULTI_HOTEND (#23718) 2022-05-07 15:55:16 -05:00
cc1a48ad2d 💥 Change 'M42 M' to 'M42 T' 2022-05-07 15:55:16 -05:00
2a584cea96 🎨 Misc. DGUS cleanup 2022-05-07 15:55:08 -05:00
9f57f6f36f Pxmalion Core i3 (#23711) 2022-05-07 15:55:08 -05:00
59548410b8 🧑‍💻 Wrap MMU1 pins 2022-05-07 15:55:08 -05:00
65c4f14a9e 🩹 Simplify quick homing feedrate (#23714)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-07 15:55:08 -05:00
3e18cf2b6a 🚸 Fix, Improve Power-Loss Recovery (#22828)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-07 15:55:07 -05:00
11071c7472 🚸 Restore active tool after ABL G29 (#23692)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:55:07 -05:00
38484c6eb6 🧑‍💻 Drop hostui.flag 2022-05-07 15:54:55 -05:00
b964d2fff0 Optional HOST_STATUS_NOTIFICATIONS (#22833) 2022-05-07 15:54:55 -05:00
973366e6aa 🔧 Update MIXING_EXTRUDER sanity checks
Fixing #23693
2022-05-07 15:54:55 -05:00
e255e4a69f PLR accessors for Ext UI (#23687) 2022-05-07 15:54:46 -05:00
942f088522 🩹 Fix Maple HAL compile errors (#23685) 2022-05-07 15:54:46 -05:00
c4341a4e35 🚨 Cleaner errors for renamed envs (#23690) 2022-05-07 15:54:46 -05:00
6e23ffd12c 🧑‍💻 Generic Maple STM32F103RC envs for devs (#23686) 2022-05-07 15:54:33 -05:00
58239c65cb 🐛 Fix init of delta safe height (for G29, G33, etc.) (#23622) 2022-05-07 15:54:33 -05:00
82ae3646cb 🐛 Fix missing u8g_esp32_spi (#23562) 2022-05-07 15:54:33 -05:00
8799837d75 🔨 Clean up upload.py (#23679) 2022-05-07 15:53:47 -05:00
cdcf31453b 🐛 Fix dual MAX31865 initialization issues (#23496) 2022-05-07 15:53:47 -05:00
a23ecf0d2f 🩹 Prevent Z error with UBL + Park unscaled E move (#23568) 2022-05-07 15:53:47 -05:00
f5046a41cd 🚨 Deprecate Maple build (#23661)
Update Warnings.cpp
2022-05-07 15:53:06 -05:00
0d07c49c1d 🩹 Init brightness/contrast later (#23645) 2022-05-07 15:48:34 -05:00
f193729f54 🐛 Fix Index Mobo Rev03 upload (#23676) 2022-05-07 15:48:34 -05:00
22db62d95a SAMD51 Bricolemon / Bricolemon Lite boards (#23658) 2022-05-07 15:48:13 -05:00
50ffacfb90 📌 Distinct BOARD_CREALITY_V422 (#23674) 2022-05-07 15:48:13 -05:00
21935b41f0 Add ZRIB v53, patch G35 Z drop, related issues (#23636) 2022-05-07 15:48:13 -05:00
15eabba11d 🧑‍💻 Relocate a variant 2022-05-07 15:48:13 -05:00
b2d0f2fd8c 🐛 Fix RUMBA + MKS Mini12864 Neopixel pin (#23646) 2022-05-07 15:48:13 -05:00
a07d7e4b8a 🍻 STM32 set_pwm_duty "on/off" for digital pins (#23665) 2022-05-07 15:48:13 -05:00
d4801461f5 💡 Comment variant timers 2022-05-07 15:48:13 -05:00
f42c1b4cae 🔧 Sanity-check AVR D9 Fan PWM / SPEAKER Timer2 (#23672) 2022-05-07 15:48:13 -05:00
f8571fc18f 🐛 Creality v4 cleanup, pin correction (#23666) 2022-05-07 15:47:49 -05:00
fbbf556e08 🔨 Workspace file with recommendation 2022-05-07 15:47:08 -05:00
1cdaddaaf2 🔧 Board temp sensor check 2022-05-07 15:38:56 -05:00
4d8976bf6b 🐛 Fix FYSETC S6, S6 V2 Serial RX pins (#23642) 2022-05-07 15:38:56 -05:00
c02bc3887a 🐛 Fix AVR 644/1284 Timer / PWM conflicts (#23629) 2022-05-07 15:38:56 -05:00
68dfc50564 🧑‍💻 Simplify Fast PWM timer macros 2022-05-07 15:38:56 -05:00
c7b0626b02 🐛 Fix SPI DMA and default mode (#23627)
Followup to #23464
2022-05-07 15:38:56 -05:00
30d1f0ba81 📝 Update Creality 4.2.2 driver warning 2022-05-07 15:38:56 -05:00
758dc7af9d 🚸 Better "Bed Tramming Done" dialog (#23616)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-07 15:38:56 -05:00
361dab93b3 BOARD_CREALITY_V24S1_301 (#23620)
Co-Authored-By: Miguel Risco-Castillo <mriscoc@users.noreply.github.com>
2022-05-07 15:38:55 -05:00
f0f1d33980 FYSETC TFT81050 CI Test (#23604) 2022-05-07 15:38:55 -05:00
38e0e92e9d ✏️ Fix MKS enum 2022-05-07 15:38:55 -05:00
2dcc3ddeed 🧑‍💻 HAS_MARLINUI_MENU, HAS_MANUAL_MOVE_MENU 2022-05-07 15:38:55 -05:00
33c89547f0 ️ Tuned Thermistor 66 (T-D500) (#23585) 2022-05-07 15:38:55 -05:00
a4ea8bc1e1 🐛 Fix DGUS_Reloaded G-code execution (#23592) 2022-05-07 15:38:55 -05:00
9f06079549 🐛 Fix Creality DWIN LCD with SKR Mini E3 V3 (#23593) 2022-05-07 15:38:55 -05:00
2f48c30445 🩹 Fix DWIN float debugging (#23601) 2022-05-07 15:38:55 -05:00
5090687682 🔨 Creality RCT6 (256K) variants (#23599)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:38:55 -05:00
2d032b734c 🧑‍💻 Fix up some AUX / EXP pins (#23577) 2022-05-07 15:38:55 -05:00
2142456a25 🐛 Fix LCD contrast/brightness init (#23567)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:38:55 -05:00
99f3b8b4a8 ♻️ Adjust LCD init, contrast default, settings load 2022-05-07 15:38:55 -05:00
de0bc19230 🚸 TH3D EZBoard V2 TMC slave addresses (#23857) 2022-05-07 15:38:55 -05:00
17099e7973 🩹 Fix power.h compile (#23573) 2022-05-07 15:38:55 -05:00
63f3e347d9 🩹 BOARD_INIT followup 2022-05-07 15:38:55 -05:00
32ff8c1489 🧑‍💻 Add chmod to mfprep 2022-05-07 15:38:55 -05:00
369ba99fdb 🩹 Fix Robin Nano BOARD_INIT 2022-05-07 15:38:55 -05:00
f33ec4aacf 📝 Tweak G26 Q description 2022-05-07 15:38:55 -05:00
1d0ca179b5 🎨 LCD_SCREEN_ROT_* => LCD_SCREEN_ROTATE 2022-05-07 15:38:55 -05:00
8ea172cafe 🎨 Misc. style and cleanup 2022-05-07 15:27:24 -05:00
7b4f5108ac 🐛 Fix conditional M81 suicide (#23549) 2022-05-07 15:27:20 -05:00
6f82d1befb 📌 RAMPS AUX 1-2 headers (#23544) 2022-05-07 15:27:17 -05:00
5d5be55ef9 🐛 Fix RAMPS 1.4 Plus EXP headers (#23523) 2022-05-07 15:27:10 -05:00
e704de9bb0 Long filename open/create/write (#23526)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2022-05-07 15:26:59 -05:00
8695f462b7 Z Offset Wizard for TFT_LVGL_UI (English) (#23489) 2022-05-07 15:26:59 -05:00
d8c5e49281 MagLev V4 probe by MDD (#23192) 2022-05-07 15:26:59 -05:00
4e72df9a28 🐛 Fix Octopus v1.x probe pin (#23548) 2022-05-07 15:26:59 -05:00
ac6c1a9e12 💥 Generalize extra debugging 2022-05-07 15:26:45 -05:00
3f4112aee4 💄 Improve Ender3 v2 DWIN MarlinUI (#23369)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:25:08 -05:00
31ec8f2449 🔨 Suppressible CONFIGURATION_EMBEDDING warning (#23545) 2022-05-07 15:25:08 -05:00
d18558bbd3 🚸 Suppressible pin warnings (#23530)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:24:42 -05:00
70f03ad852 🐛 Finish and organize temp sensors (#23519)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2022-05-07 15:24:42 -05:00
ab40c99893 🐛 Fix Ultimain 2 E-autofan pin mapping (#23466) 2022-05-07 15:24:42 -05:00
420f074915 🐛 Fix PLR for E3V2 Enhanced UI (#23543) 2022-05-07 15:14:44 -05:00
4f2ed67324 💄 MarlinUI+DOGM leveled bed bitmaps (#23539) 2022-05-07 15:14:44 -05:00
a80cafbcfc ️ SPI+DMA+interrupt method (STM32 / MKS UI) (#23464) 2022-05-07 15:13:40 -05:00
01cb7c19f9 🐛 Fix, improve PWM on AVR (#23520) 2022-05-07 15:13:40 -05:00
44249b1380 🔧 Skip unused axis names 2022-05-07 15:12:59 -05:00
d7287e7db8 🔨 Set upload_command for CHEETAH v20 (#23515) 2022-05-07 15:12:59 -05:00
cf654bbba2 🩹 Followup to extra axes 2022-05-07 15:12:59 -05:00
5617edbb96 🧑‍💻 Misc. updates for extra axes (#23521) 2022-05-07 15:12:45 -05:00
39e4310c7b 🐛 Fix, improve PWM on AVR (#23463) 2022-05-07 15:12:45 -05:00
0204547c09 🚸 Fix E3V2 Enhanced UI time labels (#23502) 2022-05-07 15:12:45 -05:00
7b79d53de0 🎨 Misc. spindle/laser adjustments 2022-05-07 15:12:45 -05:00
c478ed08c8 🧑‍💻 Adjust FastIO AVR timer enums, macros 2022-05-07 15:12:45 -05:00
67e5298a34 Firmware Upload via Binary Transfer (#23462) 2022-05-07 15:10:28 -05:00
2ca1d844d7 Temperature variance monitor (#23373) 2022-05-07 15:10:28 -05:00
b435487da7 🚸 Wait for cooldown in MarlinUI power-off (#23476) 2022-05-07 15:10:28 -05:00
d7b7b570c7 🎨 Misc. cleanup, comments 2022-05-07 15:10:19 -05:00
2690bb1bc2 M81 D / S - Power-off Delay (#23396, #23455) 2022-05-07 15:10:19 -05:00
b6c37960e8 📝 KHz => kHz (#23512) 2022-05-07 15:10:19 -05:00
c1d3e4634c 💚 Lock CI testing to PlatformIO 5.2.5 2022-05-04 15:00:52 -05:00
9df0dbc981 💚 Use PIO-develop for CI 2022-04-20 04:30:15 -05:00
d418f3bfba 🔨 Skip cron with exit code 0 2022-04-19 19:30:08 -05:00
2893060302 💚 Lock CI testing to PlatformIO 5.2.5 2022-03-29 03:24:30 -05:00
ad945017d6 🔨 Update TMC26XStepper link 2022-03-27 00:40:07 -05:00
52a92ca24e 🔨 Use some v3 actions 2022-03-25 20:35:12 -05:00
ba2f6c66d3 🔨 Remove StaleBot age limit (#23907) 2022-03-17 22:19:00 -05:00
19e193410e 🔨 Include "More Data" issues in stale check (#23863) 2022-03-12 18:27:18 -06:00
b9cef2e2e3 🚸 12345.6 num-to-string 2022-03-04 16:56:45 -06:00
186d2ba6b4 🐛 Fix HAS_TMC26X feature path (#23757) 2022-02-17 18:40:16 -06:00
4dfd398d7d 🐛 Patch Creality RAMPS FET / FAN pins
Improvement for multi-hotend setup by TH3D.
2022-02-17 18:40:16 -06:00
bfdb7c7135 🐛 Fix XATC divide-by-zero (#23743) 2022-02-17 18:40:16 -06:00
bf067738f2 🐛 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:01:51 -06:00
e028a3c441 🐛 Fix M852 report (#23660) 2022-02-10 12:01:16 -06:00
9847470b38 🐛 Fix EZBoard V2 Environment for OpenBLT (#23659) 2022-02-01 17:25:02 -06:00
51209667a5 🐛 Fix EZBoard V2 timer conflict (#23648) 2022-01-30 06:38:49 -06:00
db4172b5fa 🔨 Prevent two [cron] in a row 2022-01-17 04:19:12 -06:00
242192d03d 🐛 Fix SHOW_REMAINING_TIME compile (#23503) 2022-01-12 10:23:50 -06:00
7135c3b185 🚑️ Fix M105 regression (#23505)
Fixes #23504
2022-01-12 10:23:50 -06:00
c91d033b5d 🐛 Fix Arduino build issues (#23510) 2022-01-12 10:23:50 -06:00
0470fbe0a1 🧑‍💻 Move PB0 init for MKS_ROBIN_NANO 2022-01-12 10:23:50 -06:00
eb8d819325 🧑‍💻 Fewer string macros 2022-01-10 05:52:02 -06:00
41f80a4498 🚸 Include extra axes in position report (#23490) 2022-01-10 05:52:02 -06:00
e0f75d4f06 🚑️ Fix preheat target bug
Fixes Jyers/Marlin#1651
2022-01-09 04:41:07 -06:00
42449b8683 🌐 Update auto home axis strings 2022-01-09 04:40:41 -06:00
e23c696566 🌐 Update Slovak language (#23475) 2022-01-09 04:40:28 -06:00
035f9b8e13 🔨 Rename (not copy) with board_build.rename 2022-01-09 04:34:42 -06:00
49f8171f7a 🚸 BLTouch HS menu item for DWIN Enhanced UI (#23480) 2022-01-09 04:34:29 -06:00
75d0e94d5b 🚸 Do G34 "Z Backoff" at full current 2022-01-09 04:33:24 -06:00
915f610782 📌 LCD_FOR_MELZI for BTT E3 RRF (#23453) 2022-01-09 04:33:24 -06:00
2231e00b2c 🌐 Localize E3V2 Enhanced UI (#23424) 2022-01-09 04:33:24 -06:00
63f2b15396 📺 Tune ULTI_CONTROLLER encoder, enable PCA9632 (#23461) 2022-01-09 04:33:24 -06:00
f503722c45 🐛 Fix Artillery Ruby (startup code, build flags) (#23446) 2022-01-09 04:33:24 -06:00
4fd1de7fb7 🐛 Define required endstop enums (#23425) 2022-01-09 04:33:24 -06:00
93126c0d02 🔨 Strip CR in mftest > awk 2022-01-09 04:33:24 -06:00
80f77ea807 🐛 Fix strlen_P parameter error
Fixes #23447
2022-01-09 04:33:24 -06:00
9ff8220b8a 🩹 Fix RADDS+RRD encoder button 2022-01-09 04:33:24 -06:00
7754860289 🩹 RAMPS FET order overridable, E + Laser (#23428) 2022-01-09 04:33:24 -06:00
4efe4788af ⬆️ Assert newer GCC in PIO via atmelavr@~3.4 (#23432) 2022-01-09 04:33:24 -06:00
2faf4e2a99 💚 Fix Teensy CI test (#23433) 2022-01-09 04:33:24 -06:00
9956e62674 🧑‍💻 Apply axis conditionals 2022-01-09 04:33:24 -06:00
a732427329 🚨 Fix M906 warning 2022-01-09 04:33:24 -06:00
974883d2f6 🔧 Normal FET layout with Spindle/Laser (#23409) 2022-01-09 04:33:24 -06:00
1170ed995e 🔧 Update deprecated auto_build.py (#23427) 2022-01-09 04:33:24 -06:00
24f9c3a777 🔨 Upload to Optiboot at 115200 (#23403) 2022-01-09 04:33:24 -06:00
5ec384f40c M919 : Chopper Timing (#23400) 2022-01-09 04:33:24 -06:00
6d7ffa6add 🔧 Only warn about enabled CONFIGURATION_EMBEDDING (#23408) 2022-01-09 04:33:24 -06:00
dadd7516b5 🚑️ Fix thermal conditionals, structure 2022-01-09 04:33:24 -06:00
f99732ba75 🔧 DWIN_MARLINUI sanity checks (#23399) 2022-01-09 04:33:24 -06:00
5a9635aa58 🩺 Assert FAN_SOFT_PWM where required (#23383, #23477) 2022-01-09 04:33:24 -06:00
1552c6d2a5 🎨 E3V2 corner leveling => tramming (#23375) 2022-01-09 04:33:24 -06:00
06c2ed3c99 🚸 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
2022-01-09 04:33:24 -06:00
430c5da54c 🚚 Rename L6470 G-code file 2022-01-09 04:33:24 -06:00
5b9f3bd4b1 🧑‍💻 Remove extraneous 'inline' hints 2022-01-09 04:33:17 -06:00
ccc66a8528 🎨 Misc. cleanup 2022-01-09 04:33:01 -06:00
8abe314b18 🔨 Get FIRMWARE_BIN from env 2022-01-09 04:32:43 -06:00
dc470eb10f 🐛 Fix EEPROM_INIT_NOW build hash test (#23479) 2022-01-09 01:31:03 -06:00
4c5e57ae89 🩹 Reset DWIN CrealityUI print progress on start (#23481) 2022-01-09 01:31:03 -06:00
5d7328df46 🧑‍💻 Add AXIS_COLLISION to catch broken parameters
\
2022-01-09 01:31:03 -06:00
99c237e05e 🚸 Refine stepper-driver-related G-codes (#23372) 2022-01-09 01:31:03 -06:00
56adbc3ebf 📝 Consistent pin header orientation 2022-01-09 01:31:03 -06:00
4cfe812c18 📌 Define MKS Monster8 pins for MKS_MINI_12864
Fixes #23324
2022-01-09 01:31:03 -06:00
27d2471ea3 🐛 Fix mffp usage 2022-01-09 01:31:03 -06:00
61b9248c35 🎨 Pins and SDIO cleanup 2022-01-09 01:31:03 -06:00
c9561a8826 🔧 Check Chiron LCD requirements (#23353)
Co-Authored-By: EvilGremlin <22657714+EvilGremlin@users.noreply.github.com>
2022-01-09 01:31:03 -06:00
58c84f17ba 🎨 Simplify some debug echos 2022-01-09 01:31:03 -06:00
73b8320e9c 🔨 Add .vscode/extensions.json 2022-01-05 04:24:04 -06:00
1c3f2498b1 🐛 Fix RRW Keypad & Zonestar buttons (#23388) 2022-01-05 04:24:04 -06:00
4202baa409 🩹 Fix Enhanced UI max E speed (#23387) 2022-01-05 04:24:04 -06:00
f471eab1a2 🔖 Marlin 2.0.9.3 2022-01-05 04:24:03 -06:00
9b13ae2399 🐛 Fix MKS Robin E3 NeoPixel pin default (#23350) 2021-12-25 23:11:43 -06:00
06f36dc746 🐛 Fix open for bin rename (#23351) 2021-12-25 23:11:43 -06:00
98eca9cb23 🔧 Move MOTHERBOARD closer to top 2021-12-25 23:11:43 -06:00
6268795003 Per-axis TMC hold multiplier (#23345) 2021-12-25 23:11:43 -06:00
b4f0922a7c MKS TinyBee board support (#23340)
Co-Authored-By: Sola <42537573+solawc@users.noreply.github.com>
2021-12-25 03:23:10 -06:00
aef613acd3 🔧 Group FAST_PWM_FAN.options (#23331)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:10 -06:00
9ecfa1d252 BLTouch High Speed mode runtime configuration (#22916, #23337)
Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:10 -06:00
e0bed1e344 Option to reset EEPROM on first run (#23276)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:10 -06:00
d21fa25ab8 Creality3D V4.2.3 / Ender-2 Pro board (#23307) 2021-12-25 03:23:10 -06:00
0dc1a58b24 Configurations embed and retrieve (#21321, #23303) 2021-12-25 03:23:10 -06:00
f2ca70e232 🐛 Fix and improve MAX31865 (#23215)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:10 -06:00
a6bed22839 BigTreeTech SKR mini E3 V3.0 (STM32G0B1RET6) (#23283) 2021-12-25 03:23:09 -06:00
efd67cf80d X Twist Compensation & Calibration (#23238) 2021-12-25 03:23:09 -06:00
15204470a8 🔧 Chamber Fan index option (#23262) 2021-12-25 03:23:09 -06:00
48358d6a5c 🏗️ Fix Maple HAL/STM32F1 PWM (#23211) 2021-12-25 03:23:09 -06:00
d7abb891cd 🏗️ Rework STM32 timer frequency protection (#23187) 2021-12-25 03:23:09 -06:00
52a44eb200 🐛 Fix STM32 FastPWM 2021-12-25 03:23:09 -06:00
9b1c0a75e1 🎨 Rename HAL timer elements 2021-12-25 03:23:09 -06:00
d75e7784e5 EasyThreeD ET4000+ board and UI (#23080)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:09 -06:00
0e60c8b7e0 MarkForged YX kinematics (#23163) 2021-12-25 03:23:09 -06:00
018c7b1cf4 BigTreeTech Mini 12864 V1.0 (#23130)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:09 -06:00
af1d603374 Fan tachometer support (#23086, #23180, #23199)
Co-Authored-By: Scott Lahteine <github@thinkyhead.com>
2021-12-25 03:23:09 -06:00
884308f964 🔧 SOUND_MENU_ITEM for E3V2 2021-12-25 03:23:09 -06:00
7269990413 🚸 Expose sub-options for E3V2 Enhanced (#23099) 2021-12-25 03:23:09 -06:00
2a90d93b17 📌 Overridable probe-related pins (#23107) 2021-12-25 03:23:09 -06:00
6e284f8823 Support for BIQU B1-SE-Plus strain gauge probe (#23101)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 03:23:09 -06:00
a2349fc411 🔨 Configurable firmware bin filename
Configuration.h > FIRMWARE_BIN
2021-12-25 02:09:52 -06:00
a3964b2b40 🔨 Ignore more generated files 2021-12-25 02:09:17 -06:00
226ee7c1f3 🔧 Sanity check MMU2_MENUS 2021-12-25 02:07:59 -06:00
2c12171f46 🐛 Fix Robin Nano v3 filament runout pins (#23344)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 02:06:34 -06:00
d034a9c295 🚸 Show mm'ss during first hour (#23335)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 02:05:32 -06:00
d2c7104bb3 🚸 Change "SD" to "Media" or "SD/FD" (#23297) 2021-12-25 02:02:05 -06:00
570c7e8638 🐛 Fix Chitu Z_STOP_PIN (#23330) 2021-12-25 02:01:32 -06:00
cc4578a3d3 🩹 Fix settings G21 report (#23338) 2021-12-25 01:59:52 -06:00
1db84be66a 🚑️ FAST_PWM_FAN default 1KHz base freq. (#23326)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 01:58:34 -06:00
77c9668fe2 🐛 Fix LCD_BED_LEVELING compile (#23298) 2021-12-25 01:55:26 -06:00
22cf9b444e 🧑‍💻 Option allowing > 127 Neopixels (#23322) 2021-12-25 01:54:39 -06:00
97798d1e47 🎨 Update SKR V2 pins 2021-12-25 01:53:13 -06:00
f4b808456a 🚸 Use M600 for disabled MMU (#21865) 2021-12-25 01:52:31 -06:00
6264736968 🐛 Fix TFT_COLOR_UI Release Media issue (#23123) 2021-12-25 01:51:37 -06:00
7a5f103bcf 🔧 Warning for IGNORE_THERMOCOUPLE_ERRORS (#23312) 2021-12-25 01:51:11 -06:00
1a8307b196 📝 Fix a config comment 2021-12-25 01:51:11 -06:00
13a1c86ae8 M115 flag EXTENDED_M20 (#22941) 2021-12-25 01:51:11 -06:00
15656201d2 ✏️ Clean up duplicate defs (#23182) 2021-12-25 01:51:11 -06:00
f3e372cb4c 🩹 Init fan speed at boot (#23181)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 01:46:19 -06:00
c781ecc437 🔧 Fix unknown board test 2021-12-25 01:46:19 -06:00
daa8fff6c6 🩹 SD abort requires open file
See #22566
2021-12-25 01:42:26 -06:00
d481bba327 🐛 Fix MARLIN_F103Rx variant SCK / MOSI pins (#23282) 2021-12-25 01:42:13 -06:00
32b08ae04c Fix Endstops::report_states (#23280)
Fix regression 4d45fdf0eb
2021-12-25 01:39:34 -06:00
f00a0356c7 🎨 Misc. probe / endstop cleanup 2021-12-25 01:39:34 -06:00
9871800874 🐛 Fix MKS LVGL UI retraction (#23267) 2021-12-25 01:39:34 -06:00
39c2c038be 🩹 Coerce pin_t in set_pwm_duty macros (#23273) 2021-12-25 01:39:34 -06:00
285d6488a3 🐛 Fix ACTION_ITEM with nullptr (#23195)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 01:39:34 -06:00
eecbd09a46 🚸 Onboard SD for SKR 2.0 / SKR PRO (#23274) 2021-12-25 01:37:58 -06:00
8d4e4ac115 🎨 Rename MAX31865 elements 2021-12-25 01:37:38 -06:00
b77a5d4c8d ✏️ MAX31856 => MAX31865 2021-12-25 01:37:21 -06:00
c3b8b3e7e6 🩹 Fix non-PWM cutter compile (#23169) 2021-12-25 01:37:21 -06:00
7123b15801 🐛 Fix TWIBus Wire.begin call (#23183) 2021-12-25 01:37:21 -06:00
8a2f13d657 🐛 HAL_reboot for native HAL (#23246) 2021-12-25 01:36:47 -06:00
251d9fc1d7 🐛 Fix env:chitu_f103 (#23225) 2021-12-25 01:36:32 -06:00
5eeb9650b5 📌 More Longer3D LKx Pro serial tests (#23260) 2021-12-25 01:36:32 -06:00
c0addd1d33 M3426 to read i2c MCP3426 ADC (#23184) 2021-12-25 01:36:32 -06:00
05b57278d4 🔧 Cutter pins for SKR 2.0 2021-12-25 01:36:31 -06:00
aa3ec2fbfd 🚸 Park nozzle on "loud kill" (#23172) 2021-12-25 01:34:19 -06:00
4468516aa2 BigTree SKR 2 with F429 (#23177) 2021-12-25 01:34:08 -06:00
95d006b406 🐛 Fix TIMER_TONE for ZM3E4 (#23212) 2021-12-25 01:33:53 -06:00
5b057b4bcf 🩹 Assume 4K EEPROM for RUMBA32 BTT (#23205) 2021-12-25 01:32:24 -06:00
77af48e547 🐛 Fix STM32 FastPWM 2021-12-25 01:30:50 -06:00
0f7f709aad ✏️ Fix Unicode (#23186) 2021-12-25 01:29:19 -06:00
a8c0e11cb1 🩹 Handle nullptr in CardReader::printLongPath (#23197) 2021-12-25 01:29:19 -06:00
0556da85b0 🩹 UM2 extruder cooling fan on PJ6 (#23194) 2021-12-25 01:28:54 -06:00
93652e5c6f FYSETC Spider v2.2 (#23208) 2021-12-25 01:28:24 -06:00
f3fc1d15a3 🩹 Fix include path (#23150) 2021-12-25 01:26:59 -06:00
3148060550 📌 Biqu BX temporary framework workaround (#23131) 2021-12-25 01:26:59 -06:00
5f08864d1f 🐛 Fix STM32 set_pwm_duty (#23125) 2021-12-25 01:26:27 -06:00
184fc36a08 🐛 Fix TFT backlight sleep/wake (#23153) 2021-12-25 01:25:14 -06:00
281ed99868 ️ Reduce calls to set fan PWM (#23149) 2021-12-25 01:24:58 -06:00
2cc4a1b326 🎨 Misc formatting 2021-12-25 01:24:44 -06:00
c5bd08755c 🐛 Init PROBE_ENABLE_PIN (#23133) 2021-12-25 01:24:34 -06:00
99f58f63f2 🎨 Fix misspelling (#23137) 2021-12-25 01:23:32 -06:00
c2a674d2c1 🏗️ Planner::busy() (#23145) 2021-12-25 01:23:17 -06:00
feffc19867 🐛 Fix fast PWM WGM code
Followup to #23102
2021-12-25 01:23:02 -06:00
f637e1c501 🔨 Bring Makefile up to date 2021-12-25 01:22:50 -06:00
78240a279b 🔨 Ignore sim flashdrive file (#23129) 2021-12-25 01:22:50 -06:00
656034d2d9 🐛 Fix G33, Delta radii, reachable (#22795) 2021-12-25 01:22:50 -06:00
39a81d167e 🚸 LCD_SHOW_E_TOTAL for TFT_COLOR_UI (#23127) 2021-12-25 01:19:21 -06:00
cb1570d162 🐛 Fix SENSORLESS_HOMING for 6-axis 2021-12-25 01:19:21 -06:00
8cb646cc20 🚸 Simplify touchscreen calibration for SimUI (#23124) 2021-12-25 01:18:35 -06:00
3cccb21dc9 🚸 Fix up E3V2 Enhanced (#23100) 2021-12-25 01:18:35 -06:00
7f4a49cc44 🎨 Misc. issue review patches 2021-12-25 01:18:35 -06:00
e0c439fe91 ️ Controller Fan software PWM (etc.) (#23102)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 01:15:49 -06:00
49e233e06f 🎨 MPX ARM Mini pins cleanup (#23113) 2021-12-25 01:14:21 -06:00
b662dd1f92 🐛 [LCP1768] Init PWM in set_pwm_duty (#23110) 2021-12-25 01:13:47 -06:00
700cae43ab 🩹 Fix RGB case light compile (#23108) 2021-12-25 01:13:23 -06:00
1c74c6e7ac 🐛 Fix FYSETC Cheetah 2.0 pins for production (#23104) 2021-12-25 01:13:07 -06:00
757a9477db 🩹 Adjust GTR 1.0 ST7920 display delay (#22904) 2021-12-25 01:10:51 -06:00
59d43408f6 fix breaks in F() resolution 2021-12-25 01:10:51 -06:00
1d8941d008 🔨 Port libsdl2_net required for macOS simulator 2021-12-25 01:10:51 -06:00
17f853d99c ️ BTT002 (STM32F407VET6) variant, MK3_FAN_PINS flag (#23093) 2021-12-25 00:54:46 -06:00
6f9f25dbb2 🎨 Misc. code cleanup 2021-12-25 00:54:46 -06:00
0273a68587 WYH L12864 LCD (Alfawise Ex8) (#22863) 2021-12-25 00:54:46 -06:00
58a26fcaac 🚸 Indicate Preheating for probe / leveling (#23088) 2021-12-25 00:46:49 -06:00
489aca03ff 🩹 Fix M503 report (#23084) 2021-12-25 00:46:49 -06:00
Jin
f32e19e1c6 🍻 Preliminary fix for Max31865 SPI (#22682)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 00:46:49 -06:00
57bd04b6ce 🐛 Fix JyersUI scrolling filename, etc. (#23082)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-12-25 00:46:49 -06:00
396df93220 🐛 Fix DGUS Reloaded status message (#23090) 2021-12-25 00:46:49 -06:00
9b76b58b79 🍻 Get/clear reset source earlier
Followup to #23075
2021-12-25 00:46:49 -06:00
9fffed7160 🐛 Prevent AVR watchdogpile (#23075) 2021-12-25 00:46:49 -06:00
fd136d5501 🐛 Fix TFT backlight [STM32] (#23062) 2021-12-25 00:46:49 -06:00
89ec1c71f0 🐛 Fix Octopus-Pro Max31865 / SPI (#23072) 2021-12-25 00:46:49 -06:00
fc2020c6ec 🔨 Fix IntelliSense / PIO conflicts (#23058)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-12-25 00:46:49 -06:00
f97635de36 📌 'STOP' auto-assign, some Chitu V9 pins (#22889)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-12-25 00:46:49 -06:00
a0a57406a2 🔨 Script 'mfprep' finds pending commits 2021-12-25 00:46:49 -06:00
5efef86cfa 🔨 Update git helper scripts 2021-12-25 00:46:49 -06:00
20c747753d 🔨 Support ABM in mf scripts 2021-12-25 00:46:49 -06:00
08a9c61587 📌 Default NeoPixel pin for MKS Robin E3/E3D (#23060) 2021-12-25 00:46:49 -06:00
0d91b07797 ⚗️ Use pwm_set_duty over analogWrite to set PWM (#23048)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 00:46:49 -06:00
b033da1782 🔧 Endstop / DIAG homing conflict warning (#23050) 2021-12-25 00:46:49 -06:00
4dcd872be5 Allow Low EJERK with LA, optional (#23054) 2021-12-25 00:46:49 -06:00
7e9e2a7435 Artillery Ruby (STM32F401RCT6) (#23029) 2021-12-25 00:46:48 -06:00
0b84194127 🚸 More flexible Probe Temperature Compensation (#23033) 2021-12-25 00:46:48 -06:00
efd9329c81 📝 Tweak EXP comments 2021-12-25 00:46:48 -06:00
5cbb820e29 🔨 Help for GDB remote debugging 2021-12-25 00:46:48 -06:00
5a0166489e 🩹 Fix linker error (transfer_port_index) 2021-12-25 00:46:48 -06:00
692c9a6312 💚 Update Ender-3 V2 config path
MarlinFirmware/Configurations#600
2021-12-25 00:46:48 -06:00
545d14f9a5 🎨 Adjust Ender-3 V2 DWIN options 2021-12-25 00:46:48 -06:00
7b9e01eb2b Shutdown Host Action (#22908)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 00:46:48 -06:00
8562f0ec44 "Rutilea" ESP32 board (#22880) 2021-12-25 00:46:48 -06:00
6f59d8171f 🔧 Configuration version 02000903 2021-12-25 00:46:48 -06:00
d29a9014f2 🎨 Standard 'cooldown' method 2021-12-25 00:46:48 -06:00
205d867e4b 🎨 Standard material presets behavior 2021-12-25 00:46:48 -06:00
84f9490149 🎨 Define HAS_PREHEAT conditional 2021-12-25 00:46:48 -06:00
1fd4258423 🐛 Fix E3V2 (CrealityUI) Tune/Prepare > Zoffset (#23040) 2021-12-25 00:46:48 -06:00
e8a55972a7 🐛 Fix EZBoard V2 board name 2021-12-25 00:46:48 -06:00
aef413202e 🐛 Fix MKS Robin E3/E3D Z Stop/Probe pins (#23034) 2021-12-25 00:46:48 -06:00
cbc7dadf42 🎨 Apply HAS_MULTI_HOTEND conditional 2021-12-25 00:46:48 -06:00
c508ecc414 🚸 Scroll long filename on MKS TFT (#23031) 2021-12-25 00:46:48 -06:00
384a31765f 🩹 Retain LCD pins with motor expansion (#23024) 2021-12-25 00:46:48 -06:00
0f2c4fc40b 🐛 Fix serial PORT_RESTORE (and BUFFER_MONITORING) (#23022) 2021-12-25 00:46:48 -06:00
66a274452c 🐛 Fix E3V2 (CrealityUI) position display (#23023)
Followup to #23005, #22778
2021-12-25 00:46:48 -06:00
12f8168d1e 🚸 Tweaks to UBL G29 Q 2021-12-25 00:46:47 -06:00
2142e1dae4 🐛 Fix AUTOTEMP bug (thermal runaway) (#23025)
Regression from 9823a37
2021-12-25 00:46:47 -06:00
8d21ea55a2 🐛 Add USE_TEMP_EXT_COMPENSATION options (#23007) 2021-12-25 00:46:47 -06:00
a0da7e8a1f 🔧 Fewer alerts about Z_SAFE_HOMING 2021-12-25 00:46:47 -06:00
e2452d6c57 🐛 Fix SHOW_REMAINING_TIME option for JyersUI (#22999) 2021-12-25 00:46:47 -06:00
5173a3140d BigTreeTech TFT35 SPI V1.0 (#22986) 2021-12-25 00:46:47 -06:00
e44f2b7d2d 🩹 Fix pragma ignored for older GCC (#22978) 2021-12-25 00:45:55 -06:00
ed78f7f4e6 🎨 Refactor MOSFET pins layout (#22983) 2021-12-25 00:45:05 -06:00
aa198e41dd 🎨 Pragma GCC cleanup 2021-12-25 00:45:05 -06:00
18b38fb58a 🐛 Fix max chamber fan speed (#22977) 2021-12-25 00:45:05 -06:00
5d79d8fad6 🐛 Fix I2C EEPROM SDA/SCL aliases with SKR Mini E3 V2 (#22955) 2021-12-25 00:45:05 -06:00
e7a746966d 🐛 Fix MMU1 compile (#22965) 2021-12-25 00:45:05 -06:00
555f35d46f 🎨 Suppress type warning (#22976) 2021-12-25 00:45:05 -06:00
de77dfcbbd 🎨 Add MKS UI goto_previous_ui 2021-12-25 00:45:05 -06:00
af08f16efc 🚸 Tweak MKS UI G-code console 2021-12-25 00:45:05 -06:00
01a0f3a8cf 🎨 Fix up MKS UI defines 2021-12-25 00:45:05 -06:00
f80bcdcc5c 🎨 Refactor Host Actions as singleton 2021-12-25 00:45:05 -06:00
1ead7ce681 🔧 Add, update TFT sanity checks (#22928) 2021-12-25 00:45:05 -06:00
dffa56463e ️ Formbot ST7920 delays, intentional X2 pins (#22915)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 00:45:05 -06:00
ae98d2e5ea 🎨 Update MKS UI for no bed, extruder (#22938)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-12-25 00:45:05 -06:00
5b1ef638ee 🐛 Fix IDEX + DISABLE_INACTIVE_EXTRUDER (#22925) 2021-12-25 00:45:05 -06:00
f3be03da20 M261 S I2C output format (#22890)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-12-25 00:45:05 -06:00
64128a5bcb 🐛 Queue string followup (#22900) 2021-12-25 00:45:05 -06:00
0018c94a79 🐛 LCD string followup (#22892) 2021-12-25 00:45:05 -06:00
d48cb11537 🐛 Followup to F() in config_line
Followup to 1dafd1887e
2021-12-25 00:45:05 -06:00
d9f7de7a24 🐛 ExtUI F() followups
Followup to 12b5d997a2
2021-12-25 00:45:04 -06:00
3d102a77ca 🎨 Apply F() to kill / sendinfoscreen 2021-12-25 00:45:04 -06:00
492d70424d 🎨 Apply F() to MKS UI errors, assets 2021-12-25 00:45:04 -06:00
24dbeceb45 🎨 Apply F() to various reports 2021-12-25 00:45:04 -06:00
cabd538fdd 🎨 Apply F() to G-code report header 2021-12-25 00:45:04 -06:00
9cf1c3cf05 🎨 Apply F() to UTF-8/MMU2 string put 2021-12-25 00:45:04 -06:00
c3ae221a10 🎨 Apply F() to some ExtUI functions 2021-12-25 00:31:06 -06:00
7626d859a6 🎨 Apply F() to Host Actions strings 2021-12-25 00:20:45 -06:00
360311f232 🎨 Apply F() to status message 2021-12-25 00:20:45 -06:00
433eedd50f 🎨 Apply F() to serial macros 2021-12-25 00:20:45 -06:00
46c53f6730 🎨 Apply F() to G-code suite and queue 2021-12-25 00:20:45 -06:00
2b9ae0cc33 🎨 Apply F() to G-code subcommands 2021-12-25 00:20:45 -06:00
433a27e475 🎨 Update F string declarations 2021-12-25 00:20:44 -06:00
1de265ea5d 🎨 Axis name string interpolation, with examples (#22879) 2021-12-25 00:20:44 -06:00
854ce63358 🐛 Fix loud_kill heater disable (#23314) 2021-12-18 16:35:22 -06:00
170f77fada 🐛 Fix homing current for extra axes (#23152)
Followup to #19112
2021-11-23 15:30:48 -06:00
72b99bf1ba 🐛 Fix IDEX Duplication Mode Positioning (#22914)
Fixing #22538
2021-11-23 15:22:20 -06:00
1a8583f4fc 🐛 Fix serial_data_available (#23160) 2021-11-23 15:20:26 -06:00
49e8defda1 🔨 Move Creality 4.2.2 warning 2021-11-03 01:46:17 -05:00
e5c4e77eb0 🐛 Fix NEOPIXEL2_SEPARATE default color (#23057) 2021-11-03 00:32:20 -05:00
8dd3f38ae9 🩹 Fill gaps in pinsDebug_list (#23051) 2021-11-03 00:32:20 -05:00
044a7db370 🐛 Fix Y_SERIAL_RX_PIN for FYSETC S6 (#23055) 2021-11-03 00:32:20 -05:00
8cecc626c6 🎨 Fix redefine warnings (#23061) 2021-11-03 00:32:20 -05:00
ee26fd0e05 🚸 Default T0 for M569, M906, M913 (#23020) 2021-10-26 16:07:46 -05:00
a7ea6b5925 ️ Add'l PCINTs for Mega Extended (#23019) 2021-10-26 16:07:46 -05:00
2b8a804997 Octopus Pro V1.0 with STM32F429ZGT6 (#23008) 2021-10-26 16:07:46 -05:00
908335367e BTT Octopus Pro V1.0 (STM32F446ZET6) (#22971) 2021-10-26 16:05:51 -05:00
a7415a052e 🐛 Fix børken E_DUAL_STEPPER_DRIVERS (#23017) 2021-10-26 16:01:55 -05:00
f51e07b196 🐛 Fix Ender-3 V2 Enhanced SetFlow (#23016) 2021-10-26 16:01:45 -05:00
5f35c539ce 🚸 E3V2 Enhanced cosmetic fixes (#23009) 2021-10-26 16:01:34 -05:00
59503c6bbb 🎨 Apply F() to E3V2 titles, popups 2021-10-26 16:00:40 -05:00
0309fce1fd Creality v2.4.S1 (Ender 7) board (#23010) 2021-10-26 15:55:03 -05:00
f6d211f779 🐛 Fix JyersUI current positions (scaling) (#23005) 2021-10-26 15:53:37 -05:00
f179e25cc6 🐛 More explicit allocation of solenoids
In reference to #22887
2021-10-26 15:52:26 -05:00
5b478cd5f6 🐛 Fix probe temp compensation maths (#23004) 2021-10-26 15:51:04 -05:00
e852732ea8 🐛 Fix E3V2 width/height defines (#22994) 2021-10-21 23:58:48 -05:00
c9718e1ec0 Eryone Ery32 mini (STM32F103VET6) board (#22956) 2021-10-21 23:58:48 -05:00
30158424e9 🔨 Fix older GCC CXXFLAGS warning 2021-10-19 13:01:25 -05:00
5f6d9e9f42 🎨 Fix pinsDebug_list warnings 2021-10-19 13:01:06 -05:00
b108741a8e 💡 Sub-include pins labels 2021-10-19 13:00:19 -05:00
b4904cc53e 🔨 Delete after encrypt. Lerdge encrypt only once 2021-10-19 13:00:02 -05:00
2c6fe45847 🔨 Update 'pio vscode init' detection 2021-10-19 13:00:02 -05:00
fed72e4607 🔨 Use pull_request_target for check-pr 2021-10-19 11:18:43 -05:00
c3a4e6b3c8 Warn about dummy thermistors 2021-10-18 02:00:53 -05:00
5bfc5c1010 Fix JyersUI ZOffset Multiplication (#22975) 2021-10-18 02:00:53 -05:00
1112d66fef Fix Tool Change Park (#22968) 2021-10-18 02:00:53 -05:00
61b574f2ce 🔨 Improve 'mftest' error message 2021-10-18 02:00:53 -05:00
522cdd5272 🔧 Safety feature warnings 2021-10-18 02:00:53 -05:00
641bae625b 💡 Update old gnu.org links 2021-10-18 02:00:53 -05:00
d10e20d6d2 Add option EVENT_GCODE_TOOLCHANGE_ALWAYS_RUN (#22960) 2021-10-18 02:00:53 -05:00
b18aa933d1 🐛 Fix G33 homing current (#22909) 2021-10-12 21:20:08 -05:00
0f519ebf85 MKS Eagle (STM32F407VET6) board (#22897) 2021-10-12 21:20:08 -05:00
031f17b4f3 🩹 Adjust GTR 1.0 ST7920 display delay (#22904) 2021-10-12 21:20:08 -05:00
036f763eaa 🎨 Define Octopus allocated endstop pins (#22882)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-12 21:20:08 -05:00
d137f307eb 🎨 Tweak FORCE_INLINE 2021-10-12 21:20:08 -05:00
66048a5f27 ESP32 Panda_ZHU and Panda_M4 (#22644) 2021-10-12 21:20:08 -05:00
b8c32e24d8 🎨 Rename MarlinUI::zoffset_overlay 2021-10-12 21:20:08 -05:00
99d51af90f 🔨 Port libsdl2_net required for macOS simulator 2021-10-12 21:20:08 -05:00
f47ece0725 🐛 Fix MKS Robin Pro 1.0 LCD reset pin (#22937) 2021-10-12 21:20:08 -05:00
975089a954 🔧 Remove obsolete G34 sanity check (#22929) 2021-10-12 21:20:01 -05:00
995230f597 🐛 Fix FYSETC Cheetah v2.0 build (#22926) 2021-10-12 21:19:55 -05:00
adf7072fa8 🐛 Fix SKR Mini E3 V2 I2C-based EEPROM (#22919)
Followup to #20609
2021-10-12 21:19:47 -05:00
40cb7cf8d6 🔨 Add 'opt_find' to find matching options 2021-10-09 17:10:51 -05:00
d0c0630c1f 🩹 Fix EXTRUDER 0 compile warning (#22868) 2021-10-04 01:12:35 -05:00
11c829fb28 🐛 Fix ExtUI Pause messages (#22874) 2021-10-04 01:08:59 -05:00
e0dda61501 🐛 Fix Arduino IDE compile error (#22877) 2021-10-04 00:27:25 -05:00
a185ce22cf Marlin 2.0.9.2 2021-10-02 22:31:17 -05:00
2a4ee1a482 MKS Robin pins updates 2021-10-02 22:31:17 -05:00
3a82b8a251 🎨 Power-off tone followup (#22222) 2021-10-02 22:31:17 -05:00
765b2b43f6 🎨 FTDI Eve Touch UI spinner enqueue string 2021-10-02 22:31:17 -05:00
2e602b9b88 🚑️ Fix DWIN_CompletedLeveling (#22851)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-02 22:31:17 -05:00
5d3e75905d 🐛 E3V2 Mesh Viewer followup (#22850) 2021-10-02 22:31:16 -05:00
eacb660e4b 🎨 Condense reverse-protection code 2021-10-02 22:31:16 -05:00
021ceeba0b ️ Handle shared enable pins (#22824) 2021-10-02 22:31:16 -05:00
25a131b942 E3V2 (Enhanced) Mesh Viewer (#22844) 2021-10-02 22:31:16 -05:00
b4c025a451 🚸 Fix MKS LVGL UI temperature set interface (#22848, #22842) 2021-10-02 22:31:16 -05:00
604a01cd1a 🎨 steps_to_mm => mm_per_step (#22847) 2021-10-02 22:31:16 -05:00
064f91e9b0 🚸 TFT backlight PWM / brightness (#22841) 2021-10-02 22:31:16 -05:00
34c9f64925 🔧 Sanity-check BLTOUCH_SET_5V_MODE on 5V pins (#22840)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-02 22:31:16 -05:00
060b705dab 🩹 Fix M412_report formatting (#22834) 2021-10-02 22:31:16 -05:00
262cd757fc 🎨 Updated string macros 2021-10-02 22:31:16 -05:00
dc4d2165f2 🐛 Add 'static' to fix 'duplicates' (#22826) 2021-10-02 22:31:16 -05:00
bcd2a483da 🐛 Fix M420 / M851 reports (#22829)
Followup to 79c72ed821
2021-10-02 22:31:16 -05:00
d338872e85 🐛 Fix reset_hotend_offsets 2021-10-02 22:31:16 -05:00
2c30b75268 🎨 Various multi-axis patches (#22823) 2021-10-02 22:31:16 -05:00
3deb54d0fd ️ Improve LVGL touch driver (#22817) 2021-10-02 22:31:16 -05:00
9ae6351a02 🐛 Fix anycubic_i3mega_lcd debug macros (#22820) 2021-10-02 22:31:16 -05:00
b7f95dc8d4 🩹 Add MarlinSPI to more HALs 2021-10-02 22:31:16 -05:00
99647fa940 🎨 Less use of undef for RAMPS pins 2021-10-02 22:31:16 -05:00
ea3df94213 🎨 Fix L64xx enable, clean up conditionals 2021-10-02 22:31:16 -05:00
a37580e4e8 🩹 Remove extra #include, misc. style 2021-10-02 22:31:16 -05:00
b3fd03198a Polargraph / Makelangelo kinematics (#22790) 2021-10-02 22:31:16 -05:00
71b8a22d96 🌐 Update Greek language (#22799) 2021-10-02 22:31:16 -05:00
669b68497c 🌐 Skip non-essential translations 2021-10-02 22:31:16 -05:00
6014dd9c7b 🔨 Improve pins_set script 2021-10-02 22:31:16 -05:00
5a54ba8316 🔨 Case-insensitive tests list 2021-10-02 22:31:16 -05:00
be8e8260e2 🌐 Reduce language file sizes 2021-10-02 22:31:16 -05:00
5d8ca7c944 🐛 STM32 ADC followup (#22798) 2021-10-02 22:31:16 -05:00
0e8e215d4e 🚸 Wake up TFT for some events (#22788) 2021-10-02 22:31:16 -05:00
6cf95509cd 🎨 Replace some infrequently-used macros 2021-10-02 22:31:16 -05:00
ded719cc14 📝 Update some pins comments 2021-10-02 22:31:16 -05:00
2630eefcc4 🐛 STM32 ADC Resolution = 12 bit (or ADC_RESOLUTION) (#22789) 2021-10-02 22:31:16 -05:00
2b54a9c0ff 🚸 Move fade item up 2021-10-02 22:31:16 -05:00
bb1eb39ecb 🚸 Better bed position 2021-10-02 22:31:16 -05:00
8b818f4ae5 💬 Add non-translated STR_DONE 2021-10-02 22:31:16 -05:00
4d113c2efd 🚸 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-10-02 22:31:16 -05:00
ab9609146f 💡 Adjust headers, formatting 2021-10-02 22:31:16 -05:00
e7a25a45e6 Improve pause/filament change for ExtUI (#22655) 2021-10-02 22:31:15 -05:00
023eaabc1c 🔧 Add MANUAL_FEEDRATE sanity-check 2021-10-02 22:31:15 -05:00
03d7fbd755 🎨 Handle more pre-defined pins in pins_postprocess (#22771) 2021-10-02 22:31:15 -05:00
89898181bd 🐛 E3V2 Brightness followup (#22821)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-10-02 22:31:15 -05:00
e705a7724e 🎨 Consolidate Ender-3 V2 DWIN common code (#22778) 2021-10-02 22:31:15 -05:00
5b593da04d ✏️ Fix TFT field names (#22776) 2021-10-02 22:31:15 -05:00
9c4f9bc62a 🐛 Fix MKS Monster8 EEPROM issue (serial timer) (#22777) 2021-10-02 22:31:15 -05:00
84d1619127 🩹 Fix DWIN Enhanced Tune menu during homing (#22773)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-10-02 22:31:15 -05:00
1386e78369 M282 - Detach Servo (#22760) 2021-10-02 22:31:15 -05:00
224371dfc6 TFT Screen/Backlight Sleep (#22617) 2021-10-02 22:31:15 -05:00
033043218e 🔖 Configurations version 02000902 2021-10-02 22:31:15 -05:00
fcbd99d941 🎨 Use ExtUI API where applicable 2021-10-02 22:31:15 -05:00
209e5c27ca 🌐 Update Slovak language (#22752) 2021-10-02 22:31:15 -05:00
92eb819aee 🐛 Fix old spindle/laser options 2021-10-02 22:31:15 -05:00
de4eed33e4 🔧 SPINDLE_LASER_PWM => SPINDLE_LASER_USE_PWM 2021-10-02 22:31:15 -05:00
59ad93560e 🐛 Fix CUSTOM_MENU_MAIN_SCRIPT_DONE
Fix #22762
2021-10-02 22:31:15 -05:00
50e52c0fdb 🐛 Fix ENABLED => EITHER typo (#22756) 2021-10-02 22:31:15 -05:00
e679fafaaf MKS Robin Nano V1.3 (STM32F407VET6) (#22749) 2021-10-02 22:31:15 -05:00
6de25804eb 🎨 Tweak custom menu item code 2021-10-02 22:31:15 -05:00
ded8ee0a1d 📌 Creality 4.3.1 board variants (#22704)
Co-authored-by: Chico <jjjm6000@gmail.com>
2021-10-02 22:31:15 -05:00
44d54a0d01 🚸 G33 R and O options (#22707) 2021-10-02 22:31:15 -05:00
6e1c997a0a 🐛 Fix Trigorilla Pro HAL/STM32 build offset (#22761) 2021-10-02 22:31:15 -05:00
17c9450f0c 🎨 Apply more HAS_DELTA_SENSORLESS_PROBING 2021-10-02 22:31:15 -05:00
d6a87aa75b 🐛 No probe enum for DELTA + SENSORLESS_PROBING
Fix #22729
2021-10-02 22:31:15 -05:00
64acb9fe78 🩹 Warn about user feedback requirement 2021-10-02 22:31:15 -05:00
22bf774d61 🐛 Fix LPC1768 SD-based EEPROM debug
Fixes #22746
2021-10-02 22:31:15 -05:00
e2a790b759 🚸 Enhance FTDI Eve Touch UI file select dialog (#22742) 2021-10-02 22:31:15 -05:00
ee1c1034e5 🩹 Fix TOUCH_UI_FTDI_EVE warnings 2021-10-02 22:31:15 -05:00
b661795ae5 🎨 Fewer serial macros 2021-10-02 22:31:15 -05:00
6d96c221bd 🎨 Standardize G-code reporting 2021-10-02 22:31:15 -05:00
a596faf4e5 🐛 Fix JyersUI for LPC176x (#22745)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-10-02 22:31:15 -05:00
3ee27e7e35 🐛 Followup to JyersUI 2021-10-02 22:31:15 -05:00
6cf2cf7bd4 Ender-3 V2 CrealityUI Enhanced (#21942, #22728, #22733)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-02 22:31:15 -05:00
54416f780d Ender-3 V2 with Jyers UI (#22422) 2021-10-02 22:31:15 -05:00
9d73fcb959 Add DGUS_LCD_UI_RELOADED (#21931) 2021-10-02 22:31:15 -05:00
f434915ad6 🚸 Show ExtUI message for PID_STARTED 2021-10-02 22:31:15 -05:00
bbce951666 🎨 Misc. code cleanup 2021-10-02 22:31:15 -05:00
8a4fec9460 🎨 Misc. Spindle/Laser (etc.) cleanup 2021-10-02 22:31:15 -05:00
3a83516232 🚸 Per-hotend Watch items 2021-10-02 22:31:14 -05:00
03344a0947 🎨 MarlinUI for E3V2 tweaks 2021-10-02 22:31:14 -05:00
72d7bbbbf6 🔧 Sanity checks for Ender 3 V2 2021-10-02 22:31:14 -05:00
253f91765d 🎨 Use largest default ST9720 delays (#22713)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-02 22:31:14 -05:00
Dan
4c7f8696ab Protoneer CNC-Shield 3.00 (#22715) 2021-10-02 22:31:14 -05:00
f94de97cdb 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-10-02 22:31:14 -05:00
bae19a3737 🌐 Update "Homing" for some languages (#22706) 2021-10-02 22:31:14 -05:00
cc3abcd2c5 🩹 Fix 'ms' warning 2021-10-02 22:31:14 -05:00
9e18a543fa Homing submenu option (#22692) 2021-10-02 22:31:14 -05:00
13bccd8441 📝 Update PID_PARAMS_PER_HOTEND comment (#22694)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-10-02 22:31:14 -05:00
5af3dbdb30 🐛 Fix Mixing code typos (#22697) 2021-10-02 22:31:14 -05:00
9f43452fbd 🚸 MKS UI extrusion speed/steps config (#22656) 2021-10-02 22:31:14 -05:00
61364906b3 🔨 Enhance Lerdge pins, TFTs, and variants (#22658) 2021-10-02 22:31:14 -05:00
105fd73c28 🩹 Allow M42 S0/1 analogWrite on PWM pins (STM32) (#22631) 2021-10-02 22:31:14 -05:00
b4b69c0de3 🐛 BTT Octopus X MAX pin for IDEX (#22654) 2021-10-02 22:31:14 -05:00
a37be7236b GT2560 V4.x A20 (#22664) 2021-10-02 22:31:14 -05:00
bba7c0069f Creality3D CR-30 PrintMill 2021-10-02 22:31:14 -05:00
8916b05cb4 🎨 Tweak pins, comment formatting 2021-10-02 22:31:14 -05:00
99028376e6 ️ Clean up Info Menu 2021-10-02 22:31:14 -05:00
c2796fbf3b 🌐 Tweak language selection 2021-10-02 22:31:14 -05:00
37777a78bf 🐛 Followup to CrealityUI cleanup
Followup to #22586
2021-10-02 22:31:14 -05:00
0da0aa9b2e ️ Add PROBE_PT_LAST_STOW 2021-09-12 19:30:35 -05:00
9ffd3ed2e4 🔧 Set Z_PROBE_OFFSET_RANGE_MIN/MAX for MBL (#22663) 2021-09-12 19:30:32 -05:00
1176c10860 🩹 Clean up BTT_SKR_CR6
Fixes #22665
2021-09-12 19:30:29 -05:00
2e9f819d5f 🚸 Improve Tramming Wizard usability (#22672) 2021-09-12 19:30:27 -05:00
19353fc98c ️ Revert MAX31865 recent changes (#22660) 2021-09-12 19:30:24 -05:00
b21d62543f 🩹 Fix LPC176x M43 formatting (#22680) 2021-09-12 19:30:21 -05:00
a42ecb843e 🌐 Update Hungarian language (#22678) 2021-09-12 19:30:19 -05:00
93ff2cb086 🌐 Update Italian language (#22645) 2021-09-12 19:30:16 -05:00
086fa0f0a7 🔨 Fix HAL/STM32 F103Zx builds (#22610) 2021-09-12 19:30:13 -05:00
5e97f37a78 🎨 screws_tilt_adjust_pos => tramming_points 2021-09-12 19:30:05 -05:00
c14b162b9e 🌐 MSG_PROBING_MESH => MSG_PROBING_POINT 2021-09-12 19:30:00 -05:00
61c000d96f 🔨 Three columns in mftest menu 2021-09-12 19:29:56 -05:00
c06a183f28 ️ Fix, enhance FTDI Eve Touch UI (#22619) 2021-09-12 19:29:52 -05:00
d1db17c6f5 ️ Enhance and fix FTDI Eve Touch UI file select (#22651) 2021-09-12 19:29:49 -05:00
d336a4d71b 🐛 Fix SDSUPPORT for SKR CR-6 (#22668)
Co-authored-by: Sebastiaan Dammann <sebastiaandammann@outlook.com>
2021-09-12 19:29:46 -05:00
796309c903 ️ Improve G2/G3 arc handling (#22599) 2021-09-12 19:29:44 -05:00
53df1dfe4d 🩹 Sensorless homing tweak 2021-09-12 19:29:40 -05:00
6769718264 🎨 Update more EXP Headers 2021-09-12 19:28:07 -05:00
7704d84419 🎨 EXP headers, ST7920 delays (#22641) 2021-09-12 19:27:38 -05:00
9b0e196ba2 📝 AlephObjects => LulzBot 2021-09-12 19:19:02 -05:00
fd594ab176 🔨 Set Longer3D timers in variant (#22632) 2021-09-12 19:18:27 -05:00
8cadcf6bb6 🩹 Tweak startup message (#22633) 2021-09-12 19:18:23 -05:00
22fdfa9629 🔨 Melzi with OptiBoot build (#22630) 2021-09-12 19:18:19 -05:00
Jin
a0ebe7c8ff 🩹 Use <SoftwareSPI.h> in MAX31865 lib (#22618) 2021-09-12 19:18:15 -05:00
125c5bc345 🐛 Fix Multi-Endstop stepping (#22625) 2021-09-12 19:18:11 -05:00
95f27cf339 🎨 EXP1/2 headers and pins cleanup (#22628) 2021-09-12 19:18:07 -05:00
02ae4bc9b9 New board TH3D_EZBOARD_LITE_V2 (#22621) 2021-09-12 19:18:04 -05:00
6bf2be66ed 🎨 Define FYSETC S6 and TH3D EZBoard EXP1/2 pins 2021-09-12 19:17:59 -05:00
d8ef23eda7 🐛 Fix LPC176x M43 Pins Debugging (#22611) 2021-09-12 19:17:56 -05:00
73ef26a106 MarlinUI for Ender 3 v2 DWIN LCD (#22594)
Co-Authored-By: Taylor Talkington <taylor.talkington@gmail.com>
2021-09-12 19:17:52 -05:00
d51e70083d BOARD_RUMBA32_BTT (#22607) 2021-09-12 19:17:48 -05:00
dc5ae16861 🎨 Misc code and spacing cleanup 2021-09-12 19:17:24 -05:00
0aa87af82f 🎨 Tweak TMC software serial pins 2021-09-12 19:17:18 -05:00
0be98b98a7 ⬆️ TMCStepper 0.7.3 (#22608) 2021-09-12 19:17:14 -05:00
f7ce107ac6 🐛 Update H-bot / Core for 6-axis (#22600)
Followup to #19112
2021-09-12 19:17:10 -05:00
3f772df568 🌐 Update menu titles, add more IJK (#22605)
Followup to #19112
2021-09-12 19:17:05 -05:00
caa6ec0519 🐛 Show bed size as 'work:' in M115
Fixes #22598
2021-09-12 19:17:01 -05:00
30665737dc 🎨 Fix some formatting, F() versus PSTR() 2021-09-12 19:16:13 -05:00
0c401bddad MKS MINI12864 V3 for MKS Robin Nano V2/3 (#22285) 2021-09-12 18:31:47 -05:00
eb0d80cb19 🎨 Update MKSPWC, some other pins (#22557) 2021-08-18 20:39:41 -05:00
e62486a610 M76 Host Pause Feature (#21738) 2021-08-18 20:39:41 -05:00
51d954a4fd D576 Buffer Monitoring (#19674) 2021-08-18 20:39:41 -05:00
416234f43a Add TEMP_SENSOR_BOARD (#22279, #22342, #22343, #22344, #22350) 2021-08-18 20:39:41 -05:00
9ddb4de70a ♻️ Consolidate PSU_CONTROL (#22304) 2021-08-18 20:39:22 -05:00
9741be5966 Power-off confirm / beep options (#22191) 2021-08-18 20:39:22 -05:00
ecb625a666 Mixer Presets (#21562) 2021-08-18 20:39:22 -05:00
de7f6c425b ♻️ Clean up CrealityUI and MarlinUI (#22586) 2021-08-18 20:39:20 -05:00
718227a94c 📌 Disregard TMCStepper 0.7.2 2021-08-18 20:37:26 -05:00
bb12ebcca6 🐛 Fix STM32 delay, double reset in FSMC TFT init (#22584) 2021-08-18 20:36:21 -05:00
2e14bf15dd 🐛 Fix Longer3D PWM/timer pins (#22583) 2021-08-18 20:36:21 -05:00
11070b79a3 ️ Simplify PROBING_STEPPERS_OFF (#22581) 2021-08-18 20:36:11 -05:00
4219ae9106 ️ Revert ABL G29 feedrate (#22574)
Reverts 9130f58
2021-08-18 20:35:58 -05:00
f803d74bc9 💚 Update STM32F103RET6_creality test path 2021-08-18 20:33:19 -05:00
f0bca66d45 🐛 Fix LCD_COL_X_RJ
Followup to #22471
2021-08-18 20:31:49 -05:00
b3c8d9bec8 🚸 Fewer CRs in settings report (#22560) 2021-08-18 20:31:49 -05:00
4a7d3a336b 🐛 Fix some BTT SKR2 pins (#22558) 2021-08-18 20:31:49 -05:00
65e39116cb 🔨 Use zip link for MarlinSimUI 2021-08-18 20:31:49 -05:00
0c97a2afdc 🐛 Fix M575 port index output (#22553) 2021-08-18 20:29:56 -05:00
9c19d4705e 🎨 Tweak M73 condition 2021-08-18 20:29:56 -05:00
be55401e3c 🚸 Better error for MOTHERBOARD not defined (#22551) 2021-08-18 20:29:56 -05:00
c612b56bc1 🐛 Spellcheck comments (#22496)
codespell -q 3 --builtin=clear,rare,informal,code -S ./Marlin/src/lcd/language -L alo,amin,endcode,stdio,uint
2021-08-18 20:29:56 -05:00
8385be25cd 🔨 Fix (RRF E3) RX/TX buffer size override (#22475) 2021-08-18 20:29:56 -05:00
2a323d0a8e 🐛 Fix Ender-3 v2 language init (#22550) 2021-08-18 20:29:56 -05:00
c544711f14 🚚 Relocate and adjust DWIN E3V2 (#22471) 2021-08-18 20:29:56 -05:00
a348f8e02c 🔨 Fix: BIGTREE_E3_RRF doesn't use user RX/TX sizes
Fixes #22466. Regression from #22377.
2021-08-18 20:29:56 -05:00
42d9b4c91f 📝 Document DGUS display options (#22443) 2021-08-18 20:29:56 -05:00
7d0efb452a 🎨 Update HAL/STM32 wrappers
Followup to #22537
2021-08-18 20:29:56 -05:00
418743cf6a 🚸 Set M122 interval only with S0 or Pn 2021-08-10 04:07:59 -05:00
eafd0ed765 🐛 Use delete [] for new [] 2021-08-10 04:07:59 -05:00
0c0f84b659 🐛 Fix CoreXY plus extra axes
See #22490
2021-08-10 04:07:59 -05:00
166324fc7b 🐛 Fix and improve FTDI Eve Touch UI (#22361, #22439, #22459, #22468, #22500, #22530) 2021-08-09 01:09:08 -05:00
3924545912 Zonestar ZM3E2, ZM3E4 V1, ZM3E4 V2 (#22498) 2021-08-09 01:02:06 -05:00
86e78410d6 🚑️ Init FastIO before anything else (#22508) 2021-08-09 00:59:16 -05:00
157c60c93b 🌐 Level Corners => Bed Tramming 2021-08-09 00:59:16 -05:00
d7f3228ec6 🔨 Fix FYSETC S6 envs (#22421)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-08-09 00:59:16 -05:00
c56ac0c34a 🎨 Misc. Cleanup 2021-08-09 00:59:16 -05:00
e71fa2b649 🎨 Add DWIN_StatusChanged_P 2021-08-09 00:59:16 -05:00
fefde2a644 🐛 Fix fan index for Singlenozzle, chamber fan
Fixes #22512
Followup to #19152, #19519
2021-08-09 00:37:55 -05:00
a668a9d302 🏗️ Define HAL_STM32 for HAL/STM32 (#22537) 2021-08-09 00:37:55 -05:00
e3c294dc9b 🐛 Fix some Simulator on Windows issues (#22516) 2021-08-09 00:27:35 -05:00
dc67705049 Simulator HAL and build targets (#22418) 2021-08-09 00:27:31 -05:00
e0fa6ed4f8 📌 MKS pins for PSU_CONTROL (#22528) 2021-08-09 00:25:31 -05:00
a4cd654e48 🐛 Fix MKS 'USB Flash MSC' environments (#22515) 2021-08-09 00:25:31 -05:00
06b963d9ea MKS Monster8 board (#22455) 2021-08-09 00:25:31 -05:00
a36a6685ae 🐛 Fix up endstop flags (#22487, #22525) 2021-08-09 00:25:31 -05:00
83b8a0f2ac 🐛 Followup to 6 linear axes (#22482) 2021-08-09 00:25:31 -05:00
1866f51d08 🐛 Fix G38 with probe on Z_MIN (#22452) 2021-08-09 00:25:31 -05:00
4b2fdbeeb1 M256 LCD brightness (#22478) 2021-08-09 00:24:57 -05:00
eeac85642f 🔨 Offset/encrypt/rename for Maple STM32F1 (#22477) 2021-08-09 00:24:57 -05:00
0bbe85d3e7 🚸 Fix BLTouch spelling 2021-08-09 00:24:57 -05:00
0af762d609 🚸 Prevent M42 unintended pin change to output (#22493) 2021-08-09 00:24:57 -05:00
b567717762 🐛 Prevent ABL G29 setting a funky feedrate
See #22472
2021-08-09 00:20:42 -05:00
2b2a8355c9 🐛 Fix Longer3D STM32 boot, add Maple test (#22473) 2021-08-09 00:20:12 -05:00
ac64d6915f 🐛 Fix report_a_position ABC criteria 2021-08-09 00:17:25 -05:00
1bee38a1c1 🎨 Fix "'EEPROM' unused" warning (#22511) 2021-08-09 00:15:44 -05:00
4e54fa2320 💚 Fix tests for new sanity-checks 2021-08-09 00:14:51 -05:00
eba0ae4ee1 🔧 Sanity-check DEFAULT_EJERK with LIN_ADVANCE
See #20649
2021-08-09 00:14:51 -05:00
d49a26bcc6 🔧 Sanity-check Mixing plus Disable Inactive Extruder
See #22166
2021-08-09 00:14:51 -05:00
a2759bc245 🐛 Allow SKR Pro CONTROLLER_FAN_PIN override
Followup to #22411
2021-08-09 00:12:53 -05:00
f642d8b79e 🐛 Fix extra E move in toolchange with ..._NO_RETURN (#22504) 2021-08-09 00:12:53 -05:00
bc773e9c96 🐛 Fix sprintf_P compile error (Maple) (#22479) 2021-08-09 00:02:57 -05:00
ffde284288 🎨 Adjust settings.cpp indent 2021-08-09 00:01:29 -05:00
e3b05dd6c2 🔨 Update Longer and Chitu envs (#22467) 2021-08-09 00:00:52 -05:00
8e84d24737 🐛 Fix custom menus on MKS UI (#22470) 2021-08-09 00:00:52 -05:00
981191660d 🐛 Fix custom menus on TFT LVGL
Fixes #21423. Regression from #18177.
2021-08-08 23:59:17 -05:00
245b6e0884 Custom logging for MBL 2021-08-08 23:59:00 -05:00
c753071961 🐛 Fix DGUS displays compile (#22464) 2021-08-08 23:58:18 -05:00
22ef6362ae 🔨 Fix: BIGTREE_E3_RRF doesn't use user RX/TX sizes (#22475)
Fixes #22466. Regression from #22377.
2021-08-08 23:57:38 -05:00
80f8ec94aa 🔧 HAS_CUSTOM_PROBE_PIN => USES_Z_MIN_PROBE_PIN 2021-08-08 23:54:48 -05:00
381c5908b4 📺 MKS MINI12864 V3 for Robin E3P, etc. (#22453) 2021-08-08 23:54:07 -05:00
fbb5732dee 🐛 SAV_3DGLCD conditionals (#22447) 2021-08-08 23:52:56 -05:00
90ed772590 ️ Larger FYSETC S6 I2C EEPROM size (#22424) 2021-08-08 23:52:56 -05:00
3e559d5c1c 🎨 abs => ABS 2021-08-08 23:52:56 -05:00
eb8649ba42 📺 Fix and optimize FTDI Eve Touch Interface (#22427) 2021-08-08 23:52:56 -05:00
99f917c022 🐛 Reset workDirDepth in cdroot() (#22441) 2021-08-08 23:51:49 -05:00
55cf3bd5ee 🐛 Fix LCD Menu MBL Z-Offset Adjustment (#22450) 2021-08-08 23:51:33 -05:00
776ededca4 🐛 Fix SKR Pro bad directive (#22438) 2021-08-08 23:51:04 -05:00
b16a72a7e6 🐛 Fix Longer3D SDSS / SD_SS (#22444) 2021-08-08 23:50:38 -05:00
f9809ca75a 🐛 Fix delta calibrate manual move scale (#22430) 2021-08-08 23:47:14 -05:00
e402f43c02 🎨 NULL => nullptr 2021-08-08 23:47:14 -05:00
2aad79fa15 🐛 Fix some board names 2021-08-08 23:47:14 -05:00
89e84fec61 📝 SKR E3 Turbo custom cable description (#22426) 2021-08-08 23:45:45 -05:00
8d34a99d8f 🔧 Octopus SPI display pins, fix USB build env (#22412) 2021-08-08 23:45:06 -05:00
15cf97f0d5 🎨 Spellcheck code (#22531) 2021-08-08 21:40:52 -05:00
c158d8023e 💚 Specify compatible Teensy @4.12 (#22448) 2021-08-08 21:38:22 -05:00
bc68664c3b 🚑️ Init FastIO before anything else (#22508) 2021-08-08 21:38:22 -05:00
924e4f95c8 🚸 Ask for bed leveling on bug form 2021-08-04 16:48:30 -05:00
35df24e1cb 🐛 One-based G35 point index output 2021-07-30 02:41:40 -05:00
74b0133bc9 🐛 Fix 5-axis no extruder compile
Fixes #22446
2021-07-30 02:41:02 -05:00
12581bcc44 🐛 Fix 3-point leveling position
See #22457. Fixes a G29 regression from #19112.
2021-07-30 02:41:02 -05:00
c7c56ac45f 🐛 Fix PAUSE_MESSAGE_PAUSING=>PARKING
Fixes #22250. Regression from #17460.
2021-07-30 02:40:18 -05:00
603b65e843 Laser support for TFT GLCD (#22391) 2021-07-30 02:38:26 -05:00
2e5e5c4a1d 🎨 BTT SKR Pro pins auto-assign (#22411)
Co-authored-by: MarkusThur <83773817+MarkusThur@users.noreply.github.com>
2021-07-30 02:38:26 -05:00
bcc31f68c6 🐛 Fix PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED
Fixes #22295. Regression from #20241.
2021-07-30 02:37:36 -05:00
f8f68f9259 🎨 MKS Hardware Test followup (#22414)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-27 16:39:07 -05:00
7773504afa ♻️ Refactor STM32 ini files (#22377)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-21 00:28:26 -05:00
6b73b6c966 Chitu3D V9 board (#22401)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-21 00:28:26 -05:00
29dde9be2b 🐛 Fix Longer3D build environment (#22378) 2021-07-21 00:28:26 -05:00
b6cb56f396 🔨 More HAL/STM32 targets (#22358, #22369) 2021-07-21 00:06:42 -05:00
8283f1577a 🐛 Fix STATUS_COMBINE_HEATERS compile (#22405) 2021-07-21 00:06:42 -05:00
0e9eb5f6ce 🐛 Fix Ammeter display on DOGM (#22384) 2021-07-21 00:04:46 -05:00
61d0b08298 🎨 Prefer DELAY_NS over DELAY_CYCLES (#22382) 2021-07-21 00:00:16 -05:00
b57f73a488 🎨 Add MMU2 enabled() accessor 2021-07-21 00:00:16 -05:00
40b99d8084 🐛 Fix G2/G3 angular motion calculation (#22407) 2021-07-20 23:56:22 -05:00
c944e4fc60 🩹 Init var to suppress invalid warning (#22396) 2021-07-20 23:54:57 -05:00
eebab93358 🐛 Ensure Software SPI pins for Max Thermocouple (#22389) 2021-07-20 23:54:10 -05:00
0074ea5e0b 🐛 Change font for selected language (#22381) 2021-07-20 23:53:13 -05:00
e190684fe6 🐛 Fix UBL G29 J - Vector3 regression 2021-07-20 23:50:47 -05:00
69c1e79c30 🐛 Fix BTC_SAMPLE_RES sanity check (#22394) 2021-07-20 23:50:47 -05:00
b3a3d81406 🎨 Fix unused lambda warning (#22399) 2021-07-20 23:50:47 -05:00
f1161a9a5f 🐛 Fix MKS UI compile (#22388, #22395)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-20 23:50:47 -05:00
95f0970d85 🐛 Fix M913 typos (#22385) 2021-07-18 19:26:56 -05:00
31a3cc6278 🐛 No translated serial strings 2021-07-18 00:47:30 -05:00
6e7c20e78e MKS Mini12864 v3 for Robin E3/E3D (#22368) 2021-07-17 02:46:38 -05:00
165ae139d5 🎨 Power-off tone followup (#22222) 2021-07-17 02:46:38 -05:00
42eb2347d4 🎨 Strip trailing whitespace 2021-07-17 02:41:31 -05:00
3ab6789807 MKS MINI12864 V3 for MKS Robin Nano V2/3 (#22285) 2021-07-17 02:41:31 -05:00
5054dc6ea2 🐛 Redundant Temp Sensor followup (#22196) 2021-07-17 02:41:31 -05:00
ee54cd4bd7 ️ Improve Sensorless homing/probing for G28, G33 (#21899) 2021-07-17 02:41:31 -05:00
399a240f84 🚸 Retain power during Pause (#22227) 2021-07-17 02:41:31 -05:00
fef76a76a3 🔨 Consolidate STM32 extra_scripts (#22365) 2021-07-17 02:41:31 -05:00
a5459a68a6 💡 Update FLYmaker comments, URL (#22355) 2021-07-17 02:35:44 -05:00
b44d4746c8 🩹 FLYmaker FLY Mini followup (#22364)
Followup to #22355, #22356.
2021-07-17 02:35:44 -05:00
6f9194eb29 FLY Mini for stm32duino (#22356) 2021-07-17 02:35:44 -05:00
6b2370fd7c DWIN LCD for BTT SKR Mini E3 (#22288) 2021-07-17 02:32:25 -05:00
ee64081696 Enable 'M20 L' with LONG_FILENAME_HOST_SUPPORT (#22271) 2021-07-17 02:32:25 -05:00
a35c234ce1 🐛 Fix redundant heater / sensor pin assignments (#22309) 2021-07-17 02:32:25 -05:00
5026797310 🏗️ Allow headless Flow Meter (#22234) 2021-07-17 02:31:54 -05:00
8334e92b6f MSC Support for STM32 + SDIO boards -> SKR 2 (#22354) 2021-07-17 02:31:54 -05:00
8cf15e8546 🎨 Call millis() once in manage_inactivity (#22363) 2021-07-17 02:31:54 -05:00
7ae099f2be 🐛 Fix AVR DELAY_US int overflow (#22268) 2021-07-17 02:31:54 -05:00
6d191d12c9 🔨 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-07-17 02:31:54 -05:00
e213246ab9 M115: Axis Count (#22219) 2021-07-17 02:31:54 -05:00
650e1dd1d2 🎨 Minor cleanup of TFT/FSMC pins 2021-07-17 02:28:43 -05:00
87cc387321 🐛 Fix Filament Change menu (#22370)
Followup to #22277
2021-07-17 02:15:17 -05:00
a7cfdeef21 🐛 Fix Einsy RAMBo FAN1_PIN (#22305) 2021-07-17 01:54:27 -05:00
3750ab5c8b 📝 Tom's 3D Forums discontinued 2021-07-17 01:54:27 -05:00
a0704cb14f 🐛 Define MT_DET_PIN_INVERTING for MKS_ROBIN_NANO_V3 (#22348) 2021-07-17 01:54:27 -05:00
cad2f69687 MKS Robin Nano v3 + TFT_LVGL_UI + WiFi module (#22109) 2021-07-17 01:54:27 -05:00
31fbec9a00 🐛 Fix Robin Nano V3 X_DIAG_PIN (#22340) 2021-07-17 01:54:27 -05:00
b1c5afaf3c 🐛 Fix SD pins for MKS Robin Lite 2021-07-17 01:54:27 -05:00
bc459a76f4 🐛 TM3D fixes and improvements
Co-Authored-By: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com>
2021-07-17 01:54:27 -05:00
dd8ac689c3 ️ Fixes to FTDI Eve Touch UI (#22347) 2021-07-17 01:54:27 -05:00
24f0613b9f 🎨 Optional Custom Button description (#22336) 2021-07-17 01:54:27 -05:00
00b27b1aa7 🔨 Update LPC176x platform to 0.2.8 (#22333) 2021-07-17 01:54:27 -05:00
f76b063e58 🚸 M666: Fix value filter, add report (#22337)
In reference to #22325
2021-07-17 01:54:27 -05:00
c746b1a2ae 🚸 Limit LCD delta endstop adjustment like M666
In reference to #22325
2021-07-17 01:54:27 -05:00
be13220e32 📺 ExtUI pause state response (#22164) 2021-07-17 01:54:27 -05:00
78c2eb6876 🎨 Check flags without ENABLED 2021-07-17 01:54:27 -05:00
fea4e06484 🌐 Update French language (#22323) 2021-07-17 01:54:27 -05:00
91f11e0d41 🌐 Update Hungarian language (#22307) 2021-07-17 01:54:27 -05:00
573b8a62d9 🐛 Fixes for BTT Octopus (#22314) 2021-07-17 01:54:27 -05:00
eafb94e72d 🐛 Fix HAS_KILL && SOFT_RESET_ON_KILL soft reset button logic (#22269) 2021-07-17 01:54:27 -05:00
69b44c2309 📌 Require U8glib-HAL@~0.5.0 (#22324) 2021-07-09 16:03:41 -05:00
e9a1c10b34 🐛 Fix manage_heaters recursion on servo move (#22313)
Followup to e297748b22
2021-07-08 23:48:51 -05:00
304a926b0a 👷 Bump date on /Version.h 2021-07-06 20:44:34 -05:00
1bb61f27e9 📺 Assorted small FTDI Eve Touch UI fixes (#22273) 2021-07-06 20:44:34 -05:00
091bdb79e6 🌐 Update Russian and Ukrainian (#22290) 2021-07-06 20:44:34 -05:00
968c3b7e4e ♻️ Fix up and use YESNO_ITEM macros 2021-07-06 20:44:34 -05:00
ed14d14819 🐛 Fix Maple / STM32 serial buffer (#22292) 2021-07-06 20:44:34 -05:00
cae391bb48 🔨 FYSETC S6 small bootloader target (#22207)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-06 20:44:34 -05:00
2753b4eeaa 🚸 Filament Change add confirm step (#22277) 2021-07-06 20:44:34 -05:00
6d05da0e5e 🐛 Fix Arduino IDE build (TOUCH_UI_FTDI_EVE includes) (#22276)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-07-06 20:44:34 -05:00
4235e23c7b 📝 Update Z_SAFE_HOMING description 2021-07-01 19:45:28 -05:00
cd01421ac3 🚸 Sanity-check Slim LCD menus with Probe Offset Wizard (#22259) 2021-06-29 15:36:52 -05:00
aa13c78458 🐛 Fix ExtUI 'lcd_clicked' definition (#22257) 2021-06-29 12:36:22 -05:00
b1c5dd985e 🐛 Fix PTC/BTC whole number tests (#22255) 2021-06-28 20:44:12 -05:00
3109a297d6 Ender-3 V2 Display for SKR E3 Turbo (#22229) 2021-06-28 20:44:12 -05:00
b878127ea0 Marlin 2.0.9.1 2021-06-28 19:50:00 -05:00
6ea6556d09 🐛 Use setTargetHotend in menus (#22247) 2021-06-28 19:50:00 -05:00
2b37a71eba ♻️ Refactor status screen timeout 2021-06-28 19:50:00 -05:00
e3ae76d76d 🚸 Expand box in draw_boxed_string (#22209) 2021-06-28 19:50:00 -05:00
b24508907e 🐛 No HOTEND_LOOP with EXTRUDERS 0 (#22245) 2021-06-28 19:50:00 -05:00
ec3daadf43 🌐 MSG_MOVE_100MM (#22242) 2021-06-28 19:50:00 -05:00
ae76011e75 🐛 Fix wide glyph characters display (#22237) 2021-06-28 19:50:00 -05:00
34066c1717 📝 Update probe heating value 2021-06-27 11:54:28 -05:00
19fe3d5e79 🚸 MarlinUI Move Z >= 1000 (#22192) 2021-06-27 11:32:14 -05:00
ec518e6e7b 🎨 Small tweak, ms => now 2021-06-27 11:25:58 -05:00
003ce25acf 🎨 Format onboard_sd.cpp 2021-06-27 11:25:48 -05:00
3e5d867276 🐛 Fix Z_MULTI_ENDSTOPS + NUM_Z_STEPPER_DRIVERS 4 compile (#22203) 2021-06-27 11:25:36 -05:00
b1bcb387fa Update/extend Quiet Probing (#22205) 2021-06-27 11:25:07 -05:00
0fbd8c52bb 🔧 Fix E.S.T. sanity-check errors (#22224) 2021-06-27 11:24:54 -05:00
08895e6cb0 🎨 Fix and improve FTDI Eve Touch UI (#22223) 2021-06-27 11:24:43 -05:00
38e775496a 📝 Update TMC SPI endstops comment (#22221) 2021-06-27 11:24:33 -05:00
47631167f9 🐛 Trigger existing endstops on G38 hit 2021-06-27 11:24:22 -05:00
185e0dc7b7 🐛 Fix Octopus build on case-sensitive FS (#22206) 2021-06-27 11:23:56 -05:00
bcf6ca59df 🌐 Update Russian language (#22193) 2021-06-27 11:23:42 -05:00
1ba694cebb 🎨 Fix and enhance FTDI Eve Touch UI (#22189) 2021-06-27 11:22:20 -05:00
906fa05bd6 🐛🌐 Fix extra axis translations 2021-06-27 11:21:33 -05:00
651f15f833 🎨 Cosmetic cleanup 2021-06-21 16:26:38 -05:00
ef41c1f452 🐛 Fix IJK axis references, E stepper indices (#22176)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-21 16:26:38 -05:00
8050813d32 🐛 Fix dual Neopixels (#22174) 2021-06-21 16:26:38 -05:00
25e7e2fce0 🐛 Fix heater display options/compile (#22185) 2021-06-21 16:26:38 -05:00
a0f7f0e9e2 🐛 Fix compact sensitive pins array (#22184) 2021-06-21 16:26:38 -05:00
f3e0bc7a4b 🌐 Update Ukrainian language (#22183) 2021-06-21 16:26:38 -05:00
49ff1e837a 🌐 Update Italian language (#22182) 2021-06-21 16:26:38 -05:00
4f8191b481 🐛 Redundant Temp Sensor followup (#22173) 2021-06-20 16:44:01 -05:00
927a1a1738 🐛 Fix LCD define typos 2021-06-20 16:40:50 -05:00
f2f23e8097 🎨 Cosmetic changes for G28 2021-06-20 16:40:23 -05:00
cce585f6ca 🐛 Define 'HEAD' axes for Markforged
Fixes #22167
2021-06-18 13:13:27 -05:00
5bfb465ab4 🚸 Include 'H' value in M412 report (#22138)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-18 12:26:12 -05:00
ce7bbafb8f 💡 Add G28 L description (#22144) 2021-06-18 12:26:10 -05:00
5ffc4bfe3a 🐛 TFT encoder pin for BTT GTR (#22162) 2021-06-18 12:25:42 -05:00
3ecc99e95d 🐛 Fix Air Assist (#22159)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-18 12:25:05 -05:00
f22c5d3cc6 🩹 Extruders 0 patch for PWM Motor Current (#22163) 2021-06-18 12:24:54 -05:00
d8df8e0eed 🐛 Fix env validation for 1280/2560 boards (#22150)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-18 12:24:47 -05:00
e38958f256 🐛 Fix MKS Robin E3 build (#22149) 2021-06-18 12:23:46 -05:00
d7c77403fd Marlin 2.0.9 2021-06-15 20:45:37 -05:00
c8898b5ca0 Redundant Part Cooling Fan (#21888)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-06-15 00:12:35 -05:00
781257bc64 🐛 Prevent stepper sleep during long UBL idle (#22137) 2021-06-15 00:12:30 -05:00
dec083dcc1 ️ Home Z (and maybe XY) at the start of G35 (#22060) 2021-06-15 00:12:27 -05:00
cdd9507493 🚑️ Prevent BFT unaligned compressed data corruption (#22134) 2021-06-15 00:12:23 -05:00
dba877311e Extruder with Dual Stepper Drivers (#21403) 2021-06-15 00:12:20 -05:00
31fd3be6eb 🔥 Remove Chitu default Touch Calibration (#22133) 2021-06-15 00:12:16 -05:00
2b4284df81 MULTI_VOLUME for Color UI and MarlinUI (#22004) 2021-06-15 00:12:01 -05:00
d84e2d6e29 🎨 ExtUI "user click" and other tweaks (#22122)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-06-15 00:11:57 -05:00
56355159c6 🐛 Include common TFT driver macros (#22125) 2021-06-15 00:11:54 -05:00
a7135d429b 🐛 Fix UBL 'R' parameter and adjust 'P' (#22129) 2021-06-15 00:11:50 -05:00
3b0a40cd5d 🐛 Fix ExtUI/DGUS Celsius display (#22121) 2021-06-15 00:11:46 -05:00
83c74802f8 🎨 General cleanup of extui/dgus
In relation to #22121
2021-06-15 00:11:42 -05:00
adc17933cd 🔨 Fix Serial+MSC for _USB envs (#22116) 2021-06-15 00:11:39 -05:00
68c52673d6 🐛 Use whole PROBE_TEMP_COMPENSATION values (#22130) 2021-06-15 00:11:34 -05:00
2aa35577f2 🏗️ Refactor build encrypt / rename (#22124) 2021-06-15 00:11:29 -05:00
14ffc66c45 🩹 Use #pragma once in pins files 2021-06-15 00:11:26 -05:00
2ea0832e0f 📝 Number SKR EXP headers 2021-06-15 00:11:22 -05:00
ab050878e9 🎨 Clean up LPC1768 SPI init 2021-06-15 00:11:18 -05:00
707a04022e 🔨 Remove obsolete ON_BOARD_SPI_DEVICE 2021-06-15 00:11:15 -05:00
d12c357793 🔨 Robin Nano V3 overridable POWER_LOSS_PIN (#22123) 2021-06-15 00:11:11 -05:00
ddf8668e16 📝 Describe G12 XYZ 2021-06-15 00:11:06 -05:00
3491e49c5f 🐛 Fix boot / SD for STM32 (F103Rx) boards (#22087) 2021-06-15 00:10:02 -05:00
d322e495b2 More flexible redundant temp sensor (#22085) 2021-06-15 00:09:52 -05:00
5d80f7006a 🔨 Envs for BTT SKR Mini with RET6 (512K) (#22050) 2021-06-15 00:09:52 -05:00
3e7a9e5d20 🌐 Update Hungarian language (#22083) 2021-06-15 00:09:52 -05:00
33e8769226 🔨 MightyBoard envs for A.B.M. (#22100) 2021-06-15 00:09:52 -05:00
59842edbcb 🔧 EEPROM options for BTT SKR 1.4 (#22092) 2021-06-15 00:09:52 -05:00
507e1e436e 🎨 Fix and improve FTDI Eve Touch UI (#22093) 2021-06-15 00:09:52 -05:00
b27447ef48 🔧 Enforce BLTouch settings (#22086) 2021-06-15 00:09:52 -05:00
c9a3ba99be 🎨 Adjust some conditionals 2021-06-15 00:09:52 -05:00
967942460e ️ Optimize Sensitive Pins array (except STM32) (#22080) 2021-06-15 00:09:52 -05:00
bfa257902e 🐛 Fix small/huge I2C EEPROM address (#22081) 2021-06-15 00:09:52 -05:00
3f103c91f0 🎨 Laser Ammeter followup (#22079)
Followup to #21835
2021-06-15 00:09:52 -05:00
2fd9971f41 Add Laser Based I2C Ammeter Feature (#21835) 2021-06-15 00:09:52 -05:00
a3063a9392 expose hidden BLTOUCH setting changes (#22069) 2021-06-15 00:09:52 -05:00
d8a02bbbdb 🎨 Reorganize FTDI Touch UI variants (#22066) 2021-06-15 00:09:52 -05:00
76d4a395d1 🩹 Fallback ID for MKS TS35 V2.0 (#22031) 2021-06-15 00:09:52 -05:00
7FM
c515bfb5fb 👽️ Include <EEPROM.h> in STM32 (for now) (#22054) 2021-06-15 00:09:52 -05:00
83430be580 📦️ Malyan M200 with HAL/STM32 (#22052) 2021-06-15 00:09:52 -05:00
9bd9f91722 📌 Update FYSETC E4 to espressif32@2.1.0 (#22049) 2021-06-15 00:09:52 -05:00
e6ef43e51a ⚰️ Remove obsolete CUSTOM_SPI_PINS (#22058) 2021-06-15 00:09:52 -05:00
16bca67f2d 🔧 Check G29_RETRY_AND_RECOVER requirements (#21921) 2021-06-15 00:09:52 -05:00
d65eea550c 🔧 FOAMCUTTER_XYUV moved to custom config 2021-06-15 00:09:52 -05:00
46080b367a ✏️ Six Linear Axes followup (Fix M503) (#22112) 2021-06-15 00:09:52 -05:00
317afae37c ✏️ Six Linear Axes followup (typos) (#22094) 2021-06-15 00:08:32 -05:00
930a608236 🎨 IJK auto-allocation (#22075) 2021-06-15 00:07:40 -05:00
6e3c45580c ✏️ Six Linear Axes followup (Hybrid Threshold init) (#22068) 2021-06-15 00:07:06 -05:00
e3df7d7bc8 ✏️ Followup to Six Linear Axes (#22056) 2021-06-15 00:05:52 -05:00
c1fca91103 🏗️ Support for up to 6 linear axes (#19112)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-06-15 00:05:03 -05:00
d3c56a76e7 ♻️ Patches for Zero Extruders (with TMC) 2021-06-15 00:04:47 -05:00
4194cdda5b ♻️ Refactor Linear / Logical / Distinct Axes (#21953)
* More patches supporting EXTRUDERS 0
* Extend types in prep for more axes
2021-06-15 00:03:55 -05:00
f5f999d7bf 📺 Fix and enhance FTDI EVE Touch UI (#22047) 2021-06-14 23:52:14 -05:00
b4b607681c BigTreeTech Octopus V1.1 (#22042) 2021-06-14 23:52:05 -05:00
1e75eba27b 🐛 Fix STM3R / BEAST envs (#22028) 2021-06-14 23:51:52 -05:00
f3f3d202ac 📦️ STM32F103RE_btt(_USB) with HAL/STM32 (#22040) 2021-06-14 23:51:46 -05:00
c90fa530db Update G34 for 4x Z steppers (#22039) 2021-06-14 23:51:40 -05:00
aeb8097cbc 🐛 Fix M140 print job timer autostart (#22046) 2021-06-14 23:51:23 -05:00
04bea72787 🐛 Fix MMU compile with >5 EXTRUDERS (#22036) 2021-06-14 23:51:17 -05:00
ce95f56ac8 🔨 MKS Robin E3 for HAL/STM32 (#21927) 2021-06-14 23:51:10 -05:00
aff45fd455 ✏️ Remove whitespace 2021-06-14 23:51:00 -05:00
c8f28d9d09 🐛 Fix Creality v4 servo timer (#22021)
Followup to #21999
2021-06-14 23:51:00 -05:00
f3697e5e02 🔨 Consolidate BTT linker scripts followup (#22038) 2021-06-14 23:51:00 -05:00
557ba20ff4 🔨 Consolidate BTT linker scripts
Originally from #22022
2021-06-14 23:50:17 -05:00
dd0e5c26d1 🐛 Fix env:STM32F103RE maple/unified split-up (#22019)
Followup to #21999
2021-06-14 23:50:11 -05:00
c9a3f41152 📝 Update G61 comment 2021-06-14 23:49:57 -05:00
d13ffa0aba 🔨 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-14 23:49:26 -05:00
fb0be29604 🔨 Move FLY_MINI env to stm32f1.ini 2021-06-14 23:49:21 -05:00
7ca1550775 TMC Driver distinct baudrates (#22008) 2021-06-14 23:49:16 -05:00
665a71b471 🔧 Treat TPARA like SCARA in mfconfig 2021-06-14 23:49:10 -05:00
9268a4b28c 🌐 Update Slovak language (#22000) 2021-06-14 23:49:04 -05:00
529bbfad10 ⚗️ 32-bit float constants (STM32F1) (#21996) 2021-06-14 23:46:12 -05:00
e7945c2277 🐛 Fix Z endstop enum
Followup to 92dea8e6cc
2021-06-11 18:34:01 -05:00
5ee91c73ed 👷 Add caching to CI workflow 2021-06-06 03:58:59 -05:00
2116e4202b 🐛 Fix Probe Temp Calibration compile (#22032) 2021-06-04 23:39:57 -05:00
19521d16cd 🐛 Fix M140 print job timer autostart (#22046) 2021-06-04 23:33:19 -05:00
057302b936 👽️ Fix usb-host-msc-cdc-msc issue (#22025) 2021-06-04 23:33:19 -05:00
d62619c9c8 📌 Use U8glib-HAL@~0.4.5 2021-06-04 23:33:19 -05:00
9c80a89597 🎨 Reorganize BTT_E3_RRF_IDEX_BOARD 2021-06-04 23:33:19 -05:00
00834ef03d 🎨 Clean up stops, sdss pins 2021-06-04 23:33:19 -05:00
5b7b065b96 Marlin 2.0.8.2 2021-05-29 16:01:38 -05:00
a739af823f Malyan M180 (#21992) 2021-05-29 16:01:32 -05:00
493eb446b7 MEDIA_MENU_AT_TOP for MarlinUI (#21925) 2021-05-29 15:19:40 -05:00
1b45b3802a Independent baud rates (#21949)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-29 15:19:40 -05:00
7898307d78 🌐 Update Polish language (#21993) 2021-05-29 15:13:05 -05:00
8da8aa140f 🥅 Add MESH_EDIT_MENU sanity check (#21922) 2021-05-29 15:12:57 -05:00
4572af2bce 🚸 cap:HOST_ACTION_COMMANDS (#21987) 2021-05-29 15:11:57 -05:00
6dc17f0e6e 🐛 Fix BTT002 variant MMU2 serial pins 🧩 (#21980) 2021-05-29 15:11:50 -05:00
3fcf3f69ca ♻️ LEDs refactor and extend (#21962)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-29 15:11:32 -05:00
a9fd2769f3 🩹 Fix multi_volume + SDIO onboard compile (#21975) 2021-05-29 15:11:13 -05:00
9adaf92674 🩹 Improved SKR2 12864 LCD Delays (#21956) 2021-05-29 15:09:48 -05:00
e75c3b6c54 🎨 Macros for optional arguments (#21969) 2021-05-29 15:09:07 -05:00
61f2bb1228 ️ PIO filters for M117, M300 and M414 (#21972) 2021-05-29 15:08:30 -05:00
d1502f74ea 🎨 Null heating message method 2021-05-29 15:07:49 -05:00
83f9413196 🐛 Fix Selena Compact probe pin 2021-05-29 15:06:38 -05:00
cdc3e18d99 Use another PR close action 2021-05-28 19:47:06 -05:00
55a6315862 🐛 Fix Octopus HS USB (#21961) 2021-05-24 01:59:46 -05:00
cf447a5442 🐛 Fix flowmeter calculation (#21959) 2021-05-24 01:54:39 -05:00
7597b4fb40 🎨 Apply shorthand and cleanups 2021-05-23 02:17:41 -05:00
7cd0f2a32a 🎨 pause => pause_heaters 2021-05-23 02:17:31 -05:00
4dae5890e9 ♻️ Refactor, comment endstop/probe enums 2021-05-23 02:09:04 -05:00
738ae4be33 🐛 Fix wrong Z_ENDSTOP flag bit (#21963)
Bug introduced in #18424
2021-05-23 01:11:48 -05:00
e573611021 🎨 Combine M104/M109 and M140/M190 code 2021-05-22 19:09:51 -05:00
f60965a107 📝 Update ExtUI example 2021-05-22 16:19:02 -05:00
3995e8373c 🎨 Shorten lcd relative paths 2021-05-22 16:18:59 -05:00
ddc82b84e2 📝 Document diveToFile, printListing 2021-05-22 16:18:55 -05:00
87a943756a 🎨 Move HAS_EXTRUDERS 2021-05-22 16:18:42 -05:00
8e28731f96 🎨 Update a condition 2021-05-22 16:18:42 -05:00
cdbd438a04 🎨 Rename all/no axis enums 2021-05-22 16:18:42 -05:00
3220c49f1b Add a test for SAVED_POSITIONS 2021-05-22 16:18:42 -05:00
94e67a036a 🐛 Fix compile with PREVENT_COLD_EXTRUSION off 2021-05-22 16:18:42 -05:00
c977e82074 🎨 MULTI_MANUAL => MULTI_E_MANUAL 2021-05-22 16:18:42 -05:00
9878a5ab58 🐛 Fix Toshiba FlashAir (SDCARD_COMMANDS_SPLIT) (#21944) 2021-05-22 16:18:42 -05:00
2de914c38c 🎨 Move switch sensor strings 2021-05-22 16:09:20 -05:00
49b05ba989 🎨 Flags for homing directions 2021-05-22 16:09:18 -05:00
85fa8c55c9 🐛 Fix DELTA with SENSORLESS_PROBING 2021-05-22 16:09:17 -05:00
57eef65d9c ♻️ Refactor axis homing/trusted state bits 2021-05-22 16:08:46 -05:00
894c954e8f ♻️ Minimize endstop bits 2021-05-22 16:08:43 -05:00
046bac6769 Fix tests for EXTRUDERS 0 2021-05-22 16:08:26 -05:00
765720e98b ♻️ Simplify TMC utilities for more axes 2021-05-22 16:08:09 -05:00
26a244325b ♻️ Refactor axis counts and loops 2021-05-22 16:08:08 -05:00
f7d28ce1d6 🎨 Misc cleanup and fixes 2021-05-22 16:08:03 -05:00
c85633b47f 🎨 Use defined strings 2021-05-22 16:03:19 -05:00
6861b1ec82 🐛 Fix Teensy PINS_DEBUGGING compile (#21958)
Followup to 84a11cfedc
2021-05-22 15:55:08 -05:00
003cb20b9f 📝 Add Configurations section to README (#21955)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-21 23:14:25 -05:00
f1f622de01 Fix 'G29 K' value 2021-05-19 22:02:53 -05:00
dbb8f3db09 Fix EEPROM_CHITCHAT (#21934)
Fix #21929
2021-05-18 18:08:22 -05:00
5d7c72db5a Fix envs using mks_encrypt.py (#21933)
Fix #21928
2021-05-17 18:25:11 -05:00
755adb8973 Update Configurations URL (2.0.8.1) 2021-05-16 14:07:29 -05:00
0977429138 Fix MKS Robin E3 BLTOUCH and Fan PWM timer conflicts (#21889) 2021-05-15 18:22:30 -05:00
1dfa6cbc80 Marlin 2.0.8.1 2021-05-15 15:22:03 -05:00
e3998dc3df M154 Position Auto-Report (#18427)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:06:59 -05:00
b6e1838fa6 Fix MKS UI missing font select condition (#21905) 2021-05-15 15:05:53 -05:00
908caba735 Fix G29_RETRY_AND_RECOVER dependency (#21907)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:53 -05:00
121f3b1096 🐛 Fix RR collision with MM (#21902) 2021-05-15 15:05:53 -05:00
9e373617dc Instant Freeze/Resume Function (#17462)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:53 -05:00
5298fa357c Fix nextion compile error (#21884) 2021-05-15 15:05:53 -05:00
2c15bc5d39 Fix compilation failure in M1001 (#21897) 2021-05-15 15:05:53 -05:00
159f9c85a6 🔧 Improve SD_DETECT_STATE default (#21885) 2021-05-15 15:05:53 -05:00
1d1f318752 Update Robin Pro TFT Pins (#21879, #21900) 2021-05-15 15:05:53 -05:00
40a9d82ae9 BigTreeTech Octopus (STM32F446ZET6) (#21826, #21882, #21883, #21901) 2021-05-15 15:05:53 -05:00
72c28d3462 🐛 Fix G5 IJ with Motion Mode (#21858) 2021-05-15 15:05:53 -05:00
ed224ca7d8 🩹 G60-G61 Save E position (#21810) 2021-05-15 15:05:53 -05:00
02e131b5fd 🎨 Misc. code cleanup 2021-05-15 15:05:53 -05:00
5afb5e03b0 🎨 Additional utility macros 2021-05-15 15:05:53 -05:00
52a23b969b 🎨 Better error message for bad array sizes 2021-05-15 15:05:53 -05:00
afcc7ea22b Synchronize tests and actions 2021-05-15 15:05:53 -05:00
c463b81819 BTT SKR Mini E3 for HAL/STM32 (#21488) 2021-05-15 15:05:53 -05:00
f688c7d20d Simplify macro expansion with recursion (#21859) 2021-05-15 15:05:53 -05:00
0167bba371 Fix L64xx init for Z4 2021-05-15 15:05:53 -05:00
7004fb702d Use adafruit/Adafruit NeoPixel@~1.8.0 2021-05-15 15:05:53 -05:00
2f2dd3322d update FLSUN_HISPEED env to flsun_hispeedv1 (#21510) 2021-05-15 15:05:53 -05:00
31d3a781a8 Fix and improve Power-Loss Recovery (#21779, #21894)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:53 -05:00
a7fd6b68be Unify BTT Motor Expansion Options (#21823) 2021-05-15 15:05:53 -05:00
6a1e78e614 Optimize G-code flag parameters (#21849) 2021-05-15 15:05:53 -05:00
770edea577 Update Advanced Pause description (#21829)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:53 -05:00
08a51b2820 🐛 Fix Lerdge USB Flash Drive envs (#21847) 2021-05-15 15:05:53 -05:00
ac11c689f7 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-15 15:05:53 -05:00
f3e199fcd2 Fix TFT typo 2021-05-15 15:05:53 -05:00
ffcbe68570 Move temp errors calling kill() out of ISR (#21832) 2021-05-15 15:05:53 -05:00
06e965e29c Lerdge K EEPROM and TFT (#21812)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:53 -05:00
e865cc0249 Always prompt in M125 if host-prompt (as with Ext UI) (#21828)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:53 -05:00
5d8d03da03 Update SKR 1.3 touch pins 2021-05-15 15:05:53 -05:00
0b3da61ac7 TFT pins for BTT GTR V1
Proposed in #21772
2021-05-15 15:05:53 -05:00
a24eb691fb Better opt_set comment of old val 2021-05-15 15:05:53 -05:00
c5c8ef436c Signal SD completion later (#21840) 2021-05-15 15:05:53 -05:00
83309c1ac8 Fix E3V2 Control Menu icon/text order (#21838)
Fixes #21837
2021-05-15 15:05:53 -05:00
ec2f4f512e Active MMU slot indicator (#21842) 2021-05-15 15:05:53 -05:00
ad991734c4 Add and apply REPEAT_1 macro 2021-05-15 15:05:53 -05:00
03184e1c31 Distinct enumerated MF states 2021-05-15 15:05:53 -05:00
cca5844ba9 Misc. code cleanup 2021-05-15 15:05:53 -05:00
45d3866f97 Misc Power Loss cleanup 2021-05-15 15:05:53 -05:00
94edfc0a8f Let M421 C select any point
Fixing #21147
2021-05-15 15:05:53 -05:00
9fa9eebe51 Support a third serial port (#21784) 2021-05-15 15:05:53 -05:00
4518506559 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-15 15:05:53 -05:00
c1fb84e1a6 Reformat features.ini 2021-05-15 15:05:53 -05:00
ea34aa2d3e Add MKS_LCD12864B 2021-05-15 15:05:53 -05:00
d6cb657c85 Patches for CASE_LIGHT_USE_RGB_LED (#21811)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:53 -05:00
0df9f30f14 TFT SPI for BTT SKR v1.3 (#21794) 2021-05-15 15:05:53 -05:00
d3e902af76 Move ExtUI subfolders up a level (#21820) 2021-05-15 15:05:53 -05:00
0b3420a012 UBL Mesh Wizard (#21556, #21791)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:52 -05:00
5cf0975913 Simplify / undef extra endstops (#21808)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:52 -05:00
db90a180c2 Cleanup, hex formatting, includes 2021-05-15 15:05:52 -05:00
d174d610bd Temperature cleanup 2021-05-15 15:05:52 -05:00
e69e56ea52 Use ststm32@~12.1 2021-05-15 15:05:52 -05:00
0c66c713b6 Debounce for Power-Loss pin 2021-05-15 15:05:52 -05:00
95230c9792 Use SERIAL_ECHOLNPAIR for resend 2021-05-15 15:05:52 -05:00
7eea0ac6de Tweak SKR pins comments 2021-05-15 15:05:52 -05:00
b19a1f602a Fix multi volume config typo (#21880) 2021-05-14 23:21:41 -05:00
789235b925 🐛 Fix excessive MMU2 timeout (#21855) 2021-05-14 21:24:07 -05:00
00722c3294 📝 Fix version reference 2021-05-12 02:51:25 -05:00
cb4e3889ec Update Chart.js to 2.9.4
Addressing CVE-2020-7746
2021-05-10 22:57:56 -05:00
76ec7040f1 Allow undefined [XYZ]_ENABLE_PIN (for sensitive pins) (#21801) 2021-05-06 01:46:39 -05:00
b41365b495 Split up SKR V2 Rev A / B (#21805) 2021-05-06 01:46:37 -05:00
6e18af6f81 Only look for target disk during Upload (#21804) 2021-05-06 01:46:36 -05:00
12bc28bc8c Echo LCD message to serial in kill 2021-05-06 01:46:34 -05:00
3fa3be1f31 Fix MMU2 compile with include (#21809) 2021-05-06 01:43:44 -05:00
a468701511 Cleanup, hex formatting 2021-05-05 07:34:39 -05:00
f67cd07328 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-05 07:31:48 -05:00
5cbdf51b4a Apply SBI/CBI/TEST in HAL 2021-05-05 07:31:47 -05:00
7378afc6d8 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-05 07:29:58 -05:00
7957408497 Add token to check-pr 2021-05-04 19:20:18 -05:00
53fc13ba7f Fix flush_and_request_resend 2021-05-04 01:48:00 -05:00
a0ea7cbf26 Fix bad DELTA probe move (#21781) 2021-05-02 17:06:47 -05:00
6310e023a7 Fix bad call to 'diskIODriver' (#21775) 2021-05-02 16:07:53 -05:00
5f594ce5d3 Fix parser temperature rounding 2021-05-02 15:55:20 -05:00
64a7dfbe7d SOFT_RESET_VIA_SERIAL sanity-check 2021-05-02 03:03:00 -05:00
5d0e94c11c Allow Creality V4 SERVO0 and PROBE pin overrides (#21770) 2021-05-02 02:20:06 -05:00
0ca1170b6d Allow disable of POWER_TIMEOUT (#21771)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-02 02:20:05 -05:00
addc91a409 ExtUI event for PID tuning start (#21734) 2021-05-02 02:20:02 -05:00
450f329f05 Laser Cutter Air Assist (#21753) 2021-05-02 02:19:42 -05:00
1f72b4f65b Define 'filelist' for dgus/origin 2021-05-01 20:26:59 -05:00
50195ec990 Add missing ExtUI method (#21763)
Fixes #21761
2021-05-01 20:26:10 -05:00
2d9557cf40 Fix Z raise in filament load M701 (#21762)
Fixes #21750
2021-05-01 20:26:08 -05:00
5625ceec7d Fix Power-Loss Save on Pause (#21749) 2021-05-01 20:26:07 -05:00
888e9cb60b Comment correction (#21729) 2021-05-01 20:26:05 -05:00
d00f6cbe12 Fix Singlenozzle Standby issues (#21759)
Fixes #21758

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-01 20:26:03 -05:00
8abef30a75 Fix SDCARD_CONNECTION default for BTT SKR (#21755) 2021-05-01 20:24:53 -05:00
158b26b875 Fix undefined abl_points 2021-05-01 20:23:33 -05:00
d92decb774 Marlin 2.0.8 2021-04-30 08:31:33 -05:00
af9d3c027e MKS Robin flash address 2021-04-30 08:31:33 -05:00
47c148628e Restore workflows 2021-04-30 08:22:01 -05:00
e7c2a3a1da Sanity-check for COREnn backlash (#21731) 2021-04-30 04:54:10 -05:00
d32575ee74 Fix compile with DISTINCT_E_FACTORS + SLIM_LCD_MENUS (#21733)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-30 04:54:08 -05:00
f6b0398ca8 Heater error status 2021-04-30 03:32:32 -05:00
d5c6762332 Fix BTT E3 RRF and SKR V2 (Generic PIO) (#21741)
Follow-up to #21655
2021-04-30 03:32:31 -05:00
a1154b226d Fix Thermal Runaway false-alarm in M303, add HeaterWatch::check (#21743)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-30 03:32:30 -05:00
731a018905 Silence warning in gcode_D 2021-04-30 03:32:28 -05:00
f45f4a8d54 Merge branch 'bugfix_no_dates' into prepare_release_2073 2021-04-29 08:50:28 -05:00
e306abaf8a Color UI Move Screen for 320x240 TFT (#21708) 2021-04-29 08:45:20 -05:00
bc28aed5b1 Clean up TFT comments (#21723) 2021-04-29 08:45:20 -05:00
93afb02994 BTT SKR V2 probe and chamber pins (#21717) 2021-04-29 08:45:20 -05:00
0db64af9b2 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-29 08:45:20 -05:00
4da3f45f41 BTT SKR V2.0 / Stepper Driver Anti-Reverse Protection (#21503) 2021-04-29 08:45:20 -05:00
8a8aeba17c Fix E3V2 Advanced Settings with PLR off (#21700)
Fixes #21534
2021-04-29 08:45:20 -05:00
e640d9246d FTDI EVE Touch UI fixes (#21706) 2021-04-29 08:45:20 -05:00
81d7a6b81d Use temp_info_t for temp_redundant (#21715)
Fixes #21712

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:20 -05:00
08537dc891 Remove compiler flag merge-constants (#21711) 2021-04-29 08:45:20 -05:00
c2741affe9 Make Cancel Objects reporting optional (#21698) 2021-04-29 08:45:20 -05:00
301cc85fec typo (#21710) 2021-04-29 08:45:20 -05:00
3433bfc3bd Help users confused by "bed size" (#21714) 2021-04-29 08:45:20 -05:00
62ec696cae Fix "continuous" typo (#21701) 2021-04-29 08:45:20 -05:00
0d0ec3ec89 Prettier output from opt scripts (#21707) 2021-04-29 08:45:20 -05:00
1d4c2454bc Fix relocated LiquidCrystal library (#21699)
Followup to 770e539859
2021-04-29 08:45:20 -05:00
0fb606fa0a whitespace 2021-04-29 08:45:20 -05:00
0ec489d6f2 Fix HMI_HomeOffN axis
Followup to #21534
2021-04-29 08:45:20 -05:00
7e3cf82a40 Fix usage, commentary of MANUAL_PROBE_START_Z, Z_AFTER_PROBING (#21692)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:20 -05:00
84e8d4c603 E3V2 DWIN Advanced Settings (#21534)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:20 -05:00
8373bd1b71 Use Adafruit LiquidCrystal 2021-04-29 08:45:20 -05:00
6202b2d324 Remove extra platform_packages line 2021-04-29 08:45:20 -05:00
e46f81af22 Add INO to .editorconfig 2021-04-29 08:45:20 -05:00
888cabff27 Sanity check MIXING_EXTRUDER + DISTINCT_E_FACTORS (#21689) 2021-04-29 08:45:20 -05:00
c6b6437761 Drop Deviot workaround 2021-04-29 08:45:20 -05:00
1830629472 Use temperature accessors 2021-04-29 08:45:20 -05:00
12ca73947b Backlash Compensation for COREnn (#21612)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:20 -05:00
c39c17c1b5 Soft Reset via Serial or post-kill button click (#21652)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:20 -05:00
27a26fcfeb Avoid + 0.0f in menu items (#21642) 2021-04-29 08:45:20 -05:00
48d5fae514 Fix Bed Tramming 5th point (#21646) 2021-04-29 08:45:20 -05:00
3153080301 Move last bootscreen delay to end of setup (#21665) 2021-04-29 08:45:20 -05:00
309d82b6aa Clean up / improve generate_version script (#21674) 2021-04-29 08:45:20 -05:00
b9715c5a03 ExtUI::onPostprocessSettings (#21683) 2021-04-29 08:45:19 -05:00
3ae0557258 Prevent extrusion on M600 un-park (#21670)
Fixes #21669
2021-04-29 08:45:19 -05:00
02b6c0e881 MCP4451 Digipot Support for Azteeg X5 GT (#21680) 2021-04-29 08:45:19 -05:00
cf5ea1ccdc Fix MP_SCARA compile (#21686) 2021-04-29 08:45:19 -05:00
011a344500 Don't display service prompt unless needed (#21654) 2021-04-29 08:45:19 -05:00
1570005683 Fix Celsius precision, current temp accessors (#21678) 2021-04-29 08:45:19 -05:00
899fcf51e6 Add whole-degree accessors, simplify some temperature-related features (#21685) 2021-04-29 08:45:19 -05:00
7d5714fedd Let compiler do Temperature inlining 2021-04-29 08:45:19 -05:00
9f22aaea2f Clean up formatting, wrap macros 2021-04-29 08:45:19 -05:00
4ab19e7882 Update temperature types 2021-04-29 08:45:19 -05:00
ecc419fce0 Nextion cleanup 2021-04-29 08:45:19 -05:00
d5e62a8255 Use configured temp window for Chiron 2021-04-29 08:45:19 -05:00
5859860a02 Enable Purge More / Resume with EP + Host Prompt (#21671)
Co-authored-by: Msq001 <alansayyeah@gmail.com>
2021-04-29 08:45:19 -05:00
b8aeaa3bf4 M10-M11 Air Evacuation for Spindle/Laser (#21668)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:19 -05:00
a866a8f2fb Fix Chiron typos, file nav 2021-04-29 08:45:19 -05:00
214324aaa2 Fix mfconfig 'copying' message 2021-04-29 08:45:19 -05:00
181e1280af Fix Grand Central SD dependency (#21660)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:19 -05:00
2316fb2d05 Extra dependency script logging 2021-04-29 08:45:19 -05:00
81ab756759 Changes supporting "Prussia3D" MK3 (#21617) 2021-04-29 08:45:19 -05:00
c50a9ef055 Update mftest help 2021-04-29 08:45:19 -05:00
3d3c0591e8 Trigorilla Pro: Allow for swapped Z-stops 2021-04-29 08:45:19 -05:00
e0f60c3811 Update realtime, DLP comments 2021-04-29 08:45:19 -05:00
59e55ea6fb Support new style Anycubic Chiron TFT (#21597) 2021-04-29 08:45:19 -05:00
df36d759fc Skip preflight checks only (#21658)
Followup to e8af38cc2d
2021-04-29 08:45:19 -05:00
fe24aa2254 More detailed serial config error 2021-04-29 08:45:19 -05:00
1a44270284 Fix CHDK warning 2021-04-29 08:45:19 -05:00
a860f7f5f7 BTT E3 RRF Support 2021-04-29 08:45:19 -05:00
e5fc3f3a62 Disable assert() by default 2021-04-29 08:45:19 -05:00
276fd6b077 Misc. pio cleanup 2021-04-29 08:45:19 -05:00
27754a76dc Skip scripts during 'platformio init' (#21643) 2021-04-29 08:45:19 -05:00
b586b64119 Fix Realtime Reporting with G-code Motion Modes (#21630) 2021-04-29 08:45:19 -05:00
9c86eef98b Leave Hybrid Threshold as-is for now
Reverting 253ee0c407
2021-04-29 08:45:19 -05:00
db054ba757 Better chopper defaults 2021-04-29 08:45:19 -05:00
2e726c46c8 Tool sensors (#17239) 2021-04-29 08:45:19 -05:00
791edd0cec Use itoa for sprintf int 2021-04-29 08:45:19 -05:00
e4760ea2b0 Drop extraneous inlines 2021-04-29 08:45:19 -05:00
61ee5b1d76 Init pwm_thrs to 0 when HYBRID_THRESHOLD is off (#21623) 2021-04-29 08:45:19 -05:00
b6ce7a9f74 Always swap with PRIME_FIRST_USED disabled (#21622) 2021-04-29 08:45:19 -05:00
99fa641a24 SDIO cleanup 2021-04-29 08:45:19 -05:00
c67e115f61 Revert experimental NAN patch
Hold changes from #21575 (24a095c) for more testing.
2021-04-29 08:45:19 -05:00
027a5a872d Realtime Reporting, S000, P000, R000 (#19330) 2021-04-29 08:45:19 -05:00
973f65f80c Use celsius_t for temperature accessors 2021-04-29 08:45:19 -05:00
643f04681c Fix MKS H43 compile (#21619) 2021-04-29 08:45:19 -05:00
713e606b28 Fix Custom Menu audio and return (#21616) 2021-04-29 08:45:19 -05:00
ce18713f57 Add E1 for RAMPS 1.4.4 / AGC 2021-04-29 08:45:19 -05:00
761d283d6d Space-separate scrolling Status Message (#21523)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:19 -05:00
4512bcd72c Use sq 2021-04-29 08:45:19 -05:00
47dbea9334 Fix long acceleration overflow 2021-04-29 08:45:19 -05:00
326b1c1225 Misc. formatting, serial out 2021-04-29 08:45:19 -05:00
e26eebfb2f Enhance and fix FTDI Eve Touch UI (#21607) 2021-04-29 08:45:19 -05:00
107dd313bd Multi-Volume. Select Media for LVGL (#21344) 2021-04-29 08:45:19 -05:00
02a99e3f0b Fix and improve Power Monitor (#21551) 2021-04-29 08:45:19 -05:00
896123513e Followup to sprintf cleanup 2021-04-29 08:45:19 -05:00
562f3e43bc Add fan percent accessors 2021-04-29 08:45:19 -05:00
ed477abbd5 More MKS UI sprintf 2021-04-29 08:45:18 -05:00
21518fbd4e Fix ANYCUBIC_LCD_I3MEGA compile (#21585) 2021-04-29 08:45:18 -05:00
52f928700a Remove extraneous MKS UI sprintf 2021-04-29 08:45:18 -05:00
c96340980a Fix Flash size (512KB) for STM32F103ZE (#21590) 2021-04-29 08:45:18 -05:00
8384582116 Fix Max Temperature not enforced (#21592) 2021-04-29 08:45:18 -05:00
ac5b39b354 Blocking move followup 2021-04-29 08:45:18 -05:00
0f7161785e Chamber Fan mode 3 (#21594) 2021-04-29 08:45:18 -05:00
49fba5a82a Add 'blocking move' comments 2021-04-29 08:45:18 -05:00
fb7bdabb70 Fix Resume Print with UBL (#21564)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:18 -05:00
5ab64708c5 Update old-style axis indexes 2021-04-29 08:45:18 -05:00
f14d0e0983 Tweak cooler / flowmeter icons (#21573) 2021-04-29 08:45:18 -05:00
ca84e5b1f2 Add 'jump relaxing' compile flag to AVR targets (#21566) 2021-04-29 08:45:18 -05:00
c66cbf0d69 Reduce math library code size by 3.4KB (#21575) 2021-04-29 08:45:18 -05:00
f69ce3e02b MKS LVGL UI: Fix icon layout (#21595) 2021-04-29 08:45:18 -05:00
2251038ab8 Clean up, update some variants 2021-04-29 08:45:18 -05:00
42d63258e9 tick() => isr() to spotlight interrupt-time 2021-04-29 08:45:18 -05:00
d34a143d82 EXP2_01_PIN for BTT BTT002 1.0 2021-04-29 08:45:18 -05:00
4e9eb95830 Followup to "no status for serial::write" (#21577) 2021-04-29 08:45:18 -05:00
9a31702a75 Fix M114 E / R broken by LIN_ADVANCE (#21579) 2021-04-29 08:45:18 -05:00
34f7142323 Fix manual move with MKS H43 (#21511)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:18 -05:00
00ea75ce82 Drop return value from Serial::write() (#21567) 2021-04-29 08:45:18 -05:00
6d9aaf8de5 Macros to eliminate 'f + 0.0' (#21568) 2021-04-29 08:45:18 -05:00
a82b3955bb Check for old Marlin files mixed in (#21574) 2021-04-29 08:45:18 -05:00
c9a7fd1722 Delay U8glib init using U8glib-HAL 0.4.4 (#21496)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:18 -05:00
1bd35072cb Fix axis char printing 2021-04-29 08:45:18 -05:00
c8c83e9f52 Sanity Check newer Configs too (#21550)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:18 -05:00
ab2441c088 Park Magnetic Switching Toolhead at the very end (#21552) 2021-04-29 08:45:18 -05:00
2c73964b2b BTT SKR-SE-BX (STM32H743IIT6 ARM Cortex M7) and BIQU_BX_TFT70 (#21536) 2021-04-29 08:45:18 -05:00
ee21e31a17 getHighESpeed => autotemp_task 2021-04-29 08:45:18 -05:00
93dfd411fc Cast celsius to int for MKS LVGL UI (#21502) 2021-04-29 08:45:18 -05:00
c197ecc99b Fix Rumba32 variant for Marlin (#21497) 2021-04-29 08:45:18 -05:00
c2c73215b2 MKS LVGL UI: Display/edit fan percentage (#21544)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:18 -05:00
1ba0ed8121 Make DELAY_NS round up on AVR (#21546) 2021-04-29 08:45:18 -05:00
c5ab0a66b7 write_command changes input 2021-04-29 08:45:18 -05:00
f3510db367 Fix CardReader string args 2021-04-29 08:45:18 -05:00
c46c2c4f3c 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-29 08:45:18 -05:00
0b5c25aa7c Fix FAT delete of items with long name (#21528) 2021-04-29 08:45:18 -05:00
ba5644376c misc. pointer formatting 2021-04-29 08:45:18 -05:00
c4379db8fc Revert "Optimized string-to-number functions" (#21532)
This reverts #21484
2021-04-29 08:45:18 -05:00
cdd2450a97 Fix Hotend-abort-on-idle Check (#21535) 2021-04-29 08:45:18 -05:00
84445b82e4 Update Italian language (#21537) 2021-04-29 08:45:18 -05:00
05d7d37872 Suppress redundant serial errors 2021-04-29 08:45:18 -05:00
a8f8201c90 Update u8g / AVR display timing defaults (#21518) 2021-04-29 08:45:18 -05:00
7297cc13b0 GT2560 V3 followup (#21512) 2021-04-29 08:45:18 -05:00
4f174afc1a Remove extraneous 'extern' hints (#21516) 2021-04-29 08:45:18 -05:00
96bdc4c830 Requiring PIO >= 5.0.3 2021-04-29 08:45:18 -05:00
9fbce867ee Split up platformio.ini (#21507) 2021-04-29 08:45:18 -05:00
fea4835941 Followup to Laser Flow Meter (#21498) 2021-04-29 08:45:17 -05:00
47a13263f6 MKS H43 fix, cleanup (#21500)
Followup to #21485
2021-04-29 08:45:17 -05:00
82e6a2ed62 G26 Hilbert Curve followup (#21480) 2021-04-29 08:45:17 -05:00
b1be96e40e Board IDs for G2560 Rev B, G2560 v4, GTM32 VD (#21499) 2021-04-29 08:45:17 -05:00
a4d5f96e9a Replace 'const float &' with 'const_float_t' (#21505) 2021-04-29 08:45:17 -05:00
a4f1623012 MKS H43 fix, cleanup (#21485)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:17 -05:00
fe99bb4b9b Update UBL param 2021-04-29 08:45:17 -05:00
259115bb3f Move apply_rotation_xyz into matrix_3x3 2021-04-29 08:45:17 -05:00
a572e2ed12 Put ABL state into a class 2021-04-29 08:45:17 -05:00
5ad7118aea FTDI Touch UI fix and reorganize (#21487) 2021-04-29 08:45:17 -05:00
16af2148b9 Optimized string-to-number functions (#21484) 2021-04-29 08:45:17 -05:00
e787cdd1cb Fix FYSETC_S6 heaters pins (#21483)
When adding support FYSETC Spider board the S6 pins file was broken.
2021-04-29 08:45:17 -05:00
2b0fcc79c5 Serial flags followup
Followup to #21318
2021-04-29 08:45:17 -05:00
4e77fe50a4 Adjust microsteps alignment 2021-04-29 08:45:17 -05:00
9902e6fb9f Fix and add STM32 SDIO DMA (#21476) 2021-04-29 08:45:17 -05:00
f18da95d38 Flags for MarlinSerial instance features (#21318) 2021-04-29 08:45:17 -05:00
368fcaee54 Generalize MMU (#21469) 2021-04-29 08:45:17 -05:00
Ste
badbb4a500 Align temp settings (#21329) 2021-04-29 08:45:17 -05:00
b96c3a063f Optimize BLTouch code for size (#21477) 2021-04-29 08:45:17 -05:00
84a2746d05 Improve uncrust script 2021-04-29 08:45:17 -05:00
2059c6e4d0 Apply pointer formatting 2021-04-29 08:45:17 -05:00
bf3fce3550 GT2560 Rev.A Plus Z Max Pin with BLTouch (#21375) 2021-04-29 08:45:17 -05:00
19078966d9 FYSETC Spider board (#21458) 2021-04-29 08:45:17 -05:00
f734f79f5b reduced verbiage 2021-04-29 08:45:17 -05:00
627331aa68 Fix MKS LVGL UI Main screen / print buttons (#21468) 2021-04-29 08:45:17 -05:00
3ed4503c30 Adjust mfconfig script 2021-04-29 08:45:17 -05:00
f1986545da Laser Coolant Flow Meter / Safety Shutdown (#21431)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:17 -05:00
9f48314cb4 YHCB2004 pins followup (#21472) 2021-04-29 08:45:17 -05:00
7c275285ea Refactor Hilbert curve. Enhance Touch UI Bed Level Screen. (#21453) 2021-04-29 08:45:17 -05:00
4ffb95a736 MKS UI: Monitor state when idle (#21452)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:17 -05:00
943a8ebdc6 Fix for YHCB2004 (#21450) 2021-04-29 08:45:17 -05:00
8d73a6c4e2 Avoid watchdog reset in all wired EEPROMs (#21436)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:17 -05:00
e817db62a4 Apply TMC UART to STM32, simplify 2021-04-29 08:45:17 -05:00
85eb179acf Define HW serial ports needed for TMC UART (#21446) 2021-04-29 08:45:17 -05:00
3d70b645b6 Optimize LSF for size, efficiency (#21443) 2021-04-29 08:45:17 -05:00
c83b6217f9 Followup to SDIO patch (#21440) 2021-04-29 08:45:17 -05:00
a97f6c4c74 Endstops always on in G28 (#21441) 2021-04-29 08:45:17 -05:00
710b1bcb6d Endstops always on after delta homing (#21442) 2021-04-29 08:45:17 -05:00
b4617e7904 Tweak disabled variant options 2021-04-29 08:45:17 -05:00
a9f022dacf Update common-cxxflags.py comment 2021-04-29 08:45:17 -05:00
5ff4476ccb Comment, clean up some PlatformIO scripts 2021-04-29 08:45:17 -05:00
98a6015d3a Extend M106/M107 for better laser module support (#16082)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:17 -05:00
05b281ad9e SKR E3 Mini V2.0 Fan Bug Fix (#21079)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:17 -05:00
3c9ffa77f9 Ender 3 V2 Status Line (#21369)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:17 -05:00
2a32d14dc4 Fix SDIO buffer alignment (#21396) 2021-04-29 08:45:17 -05:00
e087271d48 Misc build fixes (#21413)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:17 -05:00
375404290d Update Anet V1.0 display timing (#21425) 2021-04-29 08:45:17 -05:00
5c8f7c7ea3 Optimize MarlinSettings with template methods (#21426) 2021-04-29 08:45:17 -05:00
c6774812fa More IntelliSense-friendly declarations 2021-04-29 08:45:16 -05:00
af13128430 Group UBL parameters, add comments 2021-04-29 08:45:16 -05:00
6b7a92035c Misc LCD cleanup 2021-04-29 08:45:16 -05:00
9e8b158ee1 Tweak mf helper scripts 2021-04-29 08:45:16 -05:00
3226e12037 Add typedef celsius_t (#21374) 2021-04-29 08:45:16 -05:00
2a011779e9 Max temp/target followup 2021-04-29 08:45:16 -05:00
faa1118ca7 MKS / E3V2 LCD code cleanup 2021-04-29 08:45:16 -05:00
3341e4f88c Add typedef extra_fan_t 2021-04-29 08:45:16 -05:00
976403d10d Improve max temp / target 2021-04-29 08:45:16 -05:00
ff729744e5 Main / Config Custom Submenus (#18177)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:16 -05:00
d924adef75 Followup to UBL Hilbert 2021-04-29 08:45:16 -05:00
dca4c2904e Check NOZZLE_CLEAN_FEATURE settings (#21332)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:16 -05:00
e806c3376a UBL - Hilbert space-filling curve probing sequence (#21387) 2021-04-29 08:45:16 -05:00
c9674cd809 Minor process_subcommands_now followup 2021-04-29 08:45:16 -05:00
259d8f19b3 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-04-29 08:45:16 -05:00
9a1c4f91fe Fix MKS H43 sensorless homing (#21388) 2021-04-29 08:45:16 -05:00
4bdc303f6c Update Hungarian language (#21407) 2021-04-29 08:45:16 -05:00
5b0dc4d325 Mesh Editor for FTDI Eve Touch UI (#21381) 2021-04-29 08:45:16 -05:00
39c30d6fd6 HAL eeprom cleanup 2021-04-29 08:45:16 -05:00
e50af65a1b Fix bool++ warning 2021-04-29 08:45:16 -05:00
c4d757c6f7 Fix preflight motherboard target check (#21372)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:16 -05:00
ac4f3c0c7e Nextion TFT touch screen (#21324)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:16 -05:00
107cc1f6a1 Followup to planner cleanup 2021-04-29 08:45:16 -05:00
f49dc90655 Move web-ui out of Marlin root folder 2021-04-29 08:45:16 -05:00
7cfaa50148 Revert "Fix small wired EEPROM (#21337)"
Reverting commit cc3e878f90 pending further investigation.
2021-04-29 08:45:16 -05:00
dec9b9ad2f Minor E3 V2 dwin cleanup 2021-04-29 08:45:16 -05:00
7973b954b4 E1+ Autotemp and Planner comments 2021-04-29 08:45:16 -05:00
e0711d87a0 Un-pause fans on STOP 2021-04-29 08:45:16 -05:00
3bbcfb0185 Update setup() description 2021-04-29 08:45:16 -05:00
86a8e8970a mftest: usage with error 2021-04-29 08:45:16 -05:00
f5d612b213 Detect extra ENVS in preflight checks (#21361) 2021-04-29 08:45:16 -05:00
a2d2e19f84 KRATOS32 / K.32 board and LCD controllers (#21334) 2021-04-29 08:45:16 -05:00
35c32602f4 Teensy USB / serial followup (#21316) 2021-04-29 08:45:16 -05:00
0d04dcd9ae Script to generate Marlin TFT Images (#21340) 2021-04-29 08:45:16 -05:00
f6f5ed166f Fix build with Meatpack only on 2nd port (#21336)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:16 -05:00
b644aca98c Fix small wired EEPROM (#21337)
Co-Authored-By: jafal99 <26922965+jafal99@users.noreply.github.com>
2021-04-29 08:45:16 -05:00
e5ab4a7283 Update display timing for SKR Pro (#21346) 2021-04-29 08:45:16 -05:00
f36eb4646b Custom menu items confirm option (#21338)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:16 -05:00
0c3eb04a37 No extra build folder for st/jlink upload (#21341) 2021-04-29 08:45:16 -05:00
09233129a8 Tweak opt_set, opt_enable 2021-04-29 08:45:16 -05:00
2480c82d76 Add M207/8/9 reporting (#21335) 2021-04-29 08:45:16 -05:00
7fb04b3656 MarlinSerial cleanup 2021-04-29 08:45:16 -05:00
166d4a26f3 Pause SD queue early on M25 (#21317) 2021-04-29 08:45:16 -05:00
b6169a957d Fix MarlinSerial typo 2021-04-29 08:45:16 -05:00
ead6d99069 Clean up, optimize ExtUI/TFT code (#21333) 2021-04-29 08:45:16 -05:00
59a9be5f5a Undef unused 2nd serial option(s) (#21331)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:16 -05:00
d81838e9fa Lerdge-X I²C EEPROM pins, size (#21322) 2021-04-29 08:45:16 -05:00
894688c547 Fix password menu stickiness before first auth (#21295) 2021-04-29 08:45:16 -05:00
059e6514ca Lerdge-K TMC 2208/9 UART pins (#21299) 2021-04-29 08:45:16 -05:00
a729999f55 Fix LERDGE 'extends' env references (#21305)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:16 -05:00
f332cca4a7 Fix TouchMI stow in G34 (#21291) 2021-04-29 08:45:16 -05:00
242ef2b2b4 Fix MeatPack with per-serial-port instances (#21306) 2021-04-29 08:45:16 -05:00
5c0f909949 Tricked-out declaration 2021-04-29 08:45:16 -05:00
633491833c Update MEATPACK test 2021-04-29 08:45:16 -05:00
b713ca2638 Number serial from 1 to match settings 2021-04-29 08:45:16 -05:00
46246c8db6 Clean up spaces and words 2021-04-29 08:45:15 -05:00
e1cca6d97b Fix serial index types 2021-04-29 08:45:15 -05:00
01f3dc6d41 Add binary file transfer test 2021-04-29 08:45:15 -05:00
0e1a1959de fix meat pack internal buffer for multi serial 2021-04-29 08:45:15 -05:00
6c70402161 Fix LPC + TMC boot loop (#21298) 2021-04-29 08:45:15 -05:00
6652c7c435 Distinguish serial index from mask (#21287) 2021-04-29 08:45:15 -05:00
7f3208ba79 Host Keepalive followup (#21290)
Followup to #21283

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
b680ddc66c CUSTOM_USER_BUTTONS followup (#21284)
Followup to #18389
2021-04-29 08:45:15 -05:00
7a5a6ca53f Fix Host Keepalive serial target (#21283)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
b80ec493ed M303 followup (#21282)
Followup to f2ed18d150
2021-04-29 08:45:15 -05:00
d4a6014578 Extend Heater Overshoot Options (#21273)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:15 -05:00
6ee61c8380 Update obsolete debug define (#21276) 2021-04-29 08:45:15 -05:00
db4d9b7fcf Cooler (for Laser) - M143, M193 (#21255) 2021-04-29 08:45:15 -05:00
95136abc47 Fix DGUS include paths
Followup to #20609
2021-04-29 08:45:15 -05:00
5b586ea4d8 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-04-29 08:45:15 -05:00
05a124930e Fix Creality DWIN - Broken (bool)Serial ? (#21272)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:15 -05:00
423c4e4636 Pins/tests followup 2021-04-29 08:45:15 -05:00
6c6beeee70 Pins/tests followup (#21268)
Missing commit from #21254
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
74457dc989 Update Hungarian language (#21266) 2021-04-29 08:45:15 -05:00
34b76c6f80 Link to bugfix tree (#21263) 2021-04-29 08:45:15 -05:00
35355d1f1b Tweak/Consolidate followup (#21261) 2021-04-29 08:45:15 -05:00
7c37a82821 Tweak tests, consolidate pins target validation (#21254) 2021-04-29 08:45:15 -05:00
5a01cdb81c Fix multi-serial CRC error crash (#21249) 2021-04-29 08:45:15 -05:00
6cfd190107 Followup to MP_SCARA/TPARA patches (#21248) 2021-04-29 08:45:15 -05:00
10ec13b2c3 Remove extra G42 2021-04-29 08:45:15 -05:00
8a3d0b23cf Correct fan pins for MKS Robin Nano v3 (#21238) 2021-04-29 08:45:15 -05:00
c90927cf54 SMUFF => SMuFF (#21243) 2021-04-29 08:45:15 -05:00
f187a5304b Implement G42, after all 2021-04-29 08:45:15 -05:00
d5b09fdbf5 MK2_MULTIPLEXER dependency 2021-04-29 08:45:15 -05:00
c8b73b00be Update some py scripts 2021-04-29 08:45:15 -05:00
ee74cee5d4 Parking Extruder solenoid fix/cleanup 2021-04-29 08:45:15 -05:00
99eedf77b5 Fix teensy35 tests 2021-04-29 08:45:15 -05:00
d61e7dd685 TPARA followup 2021-04-29 08:45:15 -05:00
864d27d460 TPARA - 3DOF robot arm IK (#21005)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
3c86eb18a5 misc. cleanup 2021-04-29 08:45:15 -05:00
c4fe072751 Improve opt_set (etc.) used for tests 2021-04-29 08:45:15 -05:00
0e61b4a982 Fix MKS H43 compile (#21240) 2021-04-29 08:45:15 -05:00
92da7659f4 Trust XY after Quiet Probing short sleep (#21237) 2021-04-29 08:45:15 -05:00
be8b547261 Fix some config builds 2021-04-29 08:45:15 -05:00
ef57a3e585 build_all_examples -c -s, silent mftest 2021-04-29 08:45:15 -05:00
b71f1e1edd Better mftest order 2021-04-29 08:45:15 -05:00
f3db2551a6 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-04-29 08:45:15 -05:00
7eace53eb7 Fewer warnings 2021-04-29 08:45:15 -05:00
c6e82160e4 POWER_LOSS_ZHOME_POS followup 2021-04-29 08:45:15 -05:00
c8cd824be2 Safe Z homing for Power Loss Recovery (#16909) 2021-04-29 08:45:15 -05:00
854ab04ee4 Default microsteps to axis first stepper (#21230) 2021-04-29 08:45:15 -05:00
4e6ed43198 Minor FTDI EVE Touch UI fixes (#21232) 2021-04-29 08:45:15 -05:00
2d4a1cd428 Filament Runout handling for Mixing Extruder (#20327)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:15 -05:00
fd5f1f1f5d Filament sensor cleanup 2021-04-29 08:45:15 -05:00
fbb30a2570 Serial macros cleanup 2021-04-29 08:45:15 -05:00
043bd34e2b Update Slovak language (#21224) 2021-04-29 08:45:15 -05:00
e4a67c8496 Fix TERN typo (#21229) 2021-04-29 08:45:15 -05:00
0a097b7a1e Tweaks to build scripts 2021-04-29 08:45:15 -05:00
4343de3ee2 [SAMD51] Respect serial buffer size (#21194) 2021-04-29 08:45:15 -05:00
3f34916c57 Tweaks to build scripts 2021-04-29 08:45:15 -05:00
0e6e7b0608 whitespace 2021-04-29 08:45:15 -05:00
334bafc9c1 ST STM32 platform version 12 (#21219) 2021-04-29 08:45:15 -05:00
8eedec04a1 Two additional EVE displays (#18839) 2021-04-29 08:45:14 -05:00
5aa9cc82a8 MKS H43 controller (#20609) 2021-04-29 08:45:14 -05:00
6183cd0731 RGB Caselight (#20341) 2021-04-29 08:45:14 -05:00
971fb8729a SPEED => FEEDRATE (#21217) 2021-04-29 08:45:14 -05:00
124fb331cc Apply AUTO_POWER_CONTROL later in setup() (#21193)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
d20375c185 Duplicate fan speed in M106/7 IDEX Duplication Mode (#21208) 2021-04-29 08:45:14 -05:00
fff95b7173 Fix M876 when called from EP (#21210) 2021-04-29 08:45:14 -05:00
130dfbe11c [SAMD51] Postmortem Debugging not implemented (#21211) 2021-04-29 08:45:14 -05:00
68e50a725a [SMUFF] Use EXTRUDERS for extended commands (#21212) 2021-04-29 08:45:14 -05:00
3f9fe2dac4 Fix G-code Queue merge (#21213) 2021-04-29 08:45:14 -05:00
e1283b8a86 G-code Queue followup (#21214) 2021-04-29 08:45:14 -05:00
653608e931 Fix preflight complex extend handling (#21191) 2021-04-29 08:45:14 -05:00
80aac1b711 Make F_CPU a compile-time constant (#21051) 2021-04-29 08:45:14 -05:00
b428a53b7a Fix GTR / SKR PRO + USB Flash Drive build (#21197) 2021-04-29 08:45:14 -05:00
94d1637221 More LERDGE envs followup (#21205) 2021-04-29 08:45:14 -05:00
3a5ac12321 Fix M355 with NEOPIXEL (#21200) 2021-04-29 08:45:14 -05:00
c9d757fc0e Init (stow) BLTouch before X/Y homing (#21192) 2021-04-29 08:45:14 -05:00
532dbb8064 Fix and improve G-code queue (#21122)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
adf26fd69e Chamber followup 2021-04-29 08:45:14 -05:00
13dee4d059 Preheat Menu shortcut option (#20350) 2021-04-29 08:45:14 -05:00
fc09581aa3 Combine Z_AFTER_DEACTIVATE with UNKNOWN_Z_NO_RAISE (#20444)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
52c539eced Zero Endstops followup (#21188) 2021-04-29 08:45:14 -05:00
5fdab77cc2 Fix LEVEL_CORNERS_USE_PROBE with BLTOUCH_HS_MODE (#21161) 2021-04-29 08:45:14 -05:00
00ceeeae7a Eryone Thinker V2 (#21190)
Co-Authored-By: Bryan Joshua Pedini <b.pedini@bjphoster.com>
2021-04-29 08:45:14 -05:00
7240c2172b PROBING_HEATERS_OFF sub-option WAIT_FOR_HOTEND (#20835) 2021-04-29 08:45:14 -05:00
f3d15b995c Preflight checks for PlatformIO builds (#21068)
Co-authored-by: Alexander D. Kanevskiy <alexander.kanevskiy@intel.com>
2021-04-29 08:45:14 -05:00
b71af6a50f Use 'H' value for UBL G29 z-clearance (#21114) 2021-04-29 08:45:14 -05:00
362776c38d Tweak case light comment 2021-04-29 08:45:14 -05:00
e6bf89e82b Allow Zero Endstops (e.g., for CNC) (#21120)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
19c38f1a8a Add BOARD_PREINIT (for Longer3D open drain pins) (#21159) 2021-04-29 08:45:14 -05:00
ac5f2a9300 Update BLTOUCH_HS_MODE comment 2021-04-29 08:45:14 -05:00
088b5cfec2 Fix Anycubic Chiron TFT SD menu (#21183) 2021-04-29 08:45:14 -05:00
b33afb790e Let libmaple accept RX/TX_BUFFER_SIZE (#21177) 2021-04-29 08:45:14 -05:00
73332f4df1 Combined LPC / Serial fixes (#21178)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
7cb286bb6e Expose more env builds in PlatformIO extension 2021-04-29 08:45:14 -05:00
e9d62822bd Fix MKS Robin Nano V3 I2C pins (#21174) 2021-04-29 08:45:14 -05:00
8d05a823e9 Chamber Heater PID (#21156)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
c051a2ecae Fix Chiron TFT serial comms (#21152) 2021-04-29 08:45:14 -05:00
dc0247c57e Outdent UBL code 2021-04-29 08:45:14 -05:00
8fca59f63b G92, subcodes flag cleanup 2021-04-29 08:45:14 -05:00
1ab1c62f03 FTDI Touch UI followup (#21167) 2021-04-29 08:45:14 -05:00
a19c79d714 Enhance and fix FTDI Touch UI (#21148) 2021-04-29 08:45:14 -05:00
dc11874abe Postmortem Debugging to serial port (#20492) 2021-04-29 08:45:14 -05:00
61753bb5e3 Fix SPI on SMART RAMPS with mega2560 (#21128) 2021-04-29 08:45:14 -05:00
3f1a8c2a1c Fix G29 missing defines (#21145)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:14 -05:00
bdb67b4397 Fix cleaning_buffer_counter check (#21115) 2021-04-29 08:45:14 -05:00
c4fcf8bfd7 Fixes for MP_SCARA (#21113)
Co-Authored-By: svsergo <52426708+svsergo@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
7e8b02145c YHCB2004 followup (#21111) 2021-04-29 08:45:14 -05:00
a09d7a59b4 Fix IDEX broken endstop test (#21110) 2021-04-29 08:45:14 -05:00
27721c564f Note FAN2_PIN silkscreen label (#21087) 2021-04-29 08:45:14 -05:00
2e040d03df GT2560 v4.1B, YHCB2004 SPI character LCD (#21091)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:14 -05:00
2724816152 Swap Trigorilla Pro Z_MIN / MAX endstop pins (#21095) 2021-04-29 08:45:14 -05:00
03396922ab Fix/improve configs build script (#21086) 2021-04-29 08:45:14 -05:00
b4a3013c28 BTT002 pins for FYSETC mini12864 (#21096) 2021-04-29 08:45:14 -05:00
903c2915ed Fix "BUTTON_CLICK redefined" warning (#21098) 2021-04-29 08:45:14 -05:00
3ca2195ed0 Update platform ststm32 to 11.0 (#20928) 2021-04-29 08:45:14 -05:00
c759b2d2a6 Script to download & build Configurations (#20992)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
adbe152256 EXP headers for RAMPS 1.x (#21054)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
3883853817 Fix MMU2 compile error (#21065) 2021-04-29 08:45:14 -05:00
ead41ac491 Fix remaining time divide-by-zero (#21080) 2021-04-29 08:45:14 -05:00
8a35c9a1a0 E3V2 Status Area followup (#21072) 2021-04-29 08:45:14 -05:00
10da0f92a0 E3V2 DWIN live movement (#21035) 2021-04-29 08:45:14 -05:00
ca79af7a46 Use configuration website, fix edit color 2021-04-29 08:45:14 -05:00
ba4ce63858 Fix a board comment 2021-04-29 08:45:14 -05:00
f31a8f4086 anet_et4_openblt.py => openblt.py 2021-04-29 08:45:14 -05:00
9c47a9256d Coolant Control sanity-checks 2021-04-29 08:45:14 -05:00
8ec86b810d Don't create unused Serial Port instances (#21066)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
69fcd9210f Allow mftest -t to select by number 2021-04-29 08:45:13 -05:00
b95e60dbbd Update helpful links 2021-04-29 08:45:13 -05:00
8bca8e5ba0 Minor serial code cleanup 2021-04-29 08:45:13 -05:00
92b5f06bf9 Use -g3 to include macros in debug symbols (#21052) 2021-04-29 08:45:13 -05:00
4316522146 Improve Delay test report (#21047) 2021-04-29 08:45:13 -05:00
c0d1fd14f8 Fix AZSMZ_12864 on SMART RAMPS (#21056) 2021-04-29 08:45:13 -05:00
f740226a82 Improved Ender 3 V2 display status area (#20983)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:13 -05:00
54f401506b Support SMART RAMPS 1.4 with Mega2560 (#21059) 2021-04-29 08:45:13 -05:00
4d75c2e0f9 Ender 3 V2 DWIN cleanup (#21061) 2021-04-29 08:45:13 -05:00
7361fbfe28 Improve probe preheat behavior (#21033)
Co-authored-by: InsanityAutomation <d.menzel@insanityautomation.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:13 -05:00
897291c470 chmod and paths 2021-04-29 08:45:13 -05:00
6320928795 Reheat bed first 2021-04-29 08:45:13 -05:00
9acd2e176d Ender 3 V2 DWIN cleanup (#21026) 2021-04-29 08:45:13 -05:00
c7efb2d964 Update M808 comment 2021-04-29 08:45:13 -05:00
41ab63897f MAX Thermocouples rework (#20447)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:13 -05:00
77f48d2bad Serial refactor. Default 8-bit ECHO to int, not char (#20985)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:13 -05:00
897d29ea31 Fix STM32F1 emergency parser (#21011) 2021-04-29 08:45:13 -05:00
13f0e4729c Allow SERVO0_PIN override on Creality Melzi (#21007) 2021-04-29 08:45:13 -05:00
86fd38ef42 Fix animated boot screen 2021-04-29 08:45:13 -05:00
127a4ada93 Fix: Unsupported use of %f in printf (#21001) 2021-04-29 08:45:13 -05:00
1aae6395c6 Fix mini12864 v2.1 + PSU control + NeoPixel backlight (#21021) 2021-04-29 08:45:13 -05:00
1bf469411a Fix LVGL "more" menu user items (#21004)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:13 -05:00
47b872f5d0 Fix TEMP_0_TR_ENABLE, rename temp conditions (#21016) 2021-04-29 08:45:13 -05:00
80c1be919f Fix ESP32 I2S init placement (#21019) 2021-04-29 08:45:13 -05:00
243c8b4e1a 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-04-29 08:45:13 -05:00
d7fbb1512a Melzi, comments cleanup 2021-04-29 08:45:13 -05:00
8416edd127 Refactor FTDI EVE Touch Screen (#20987) 2021-04-29 08:45:13 -05:00
77966135e8 Fix ARM delay function (#20901) 2021-04-29 08:45:13 -05:00
6054052248 Use 'false' 2021-04-29 08:45:13 -05:00
bbb49c43e1 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-04-29 08:45:13 -05:00
9437c72ef6 Fix MKS SGen-L DOGLCD_MOSI pin for FYSETC_MINI_12864 LCD (#20998) 2021-04-29 08:45:13 -05:00
bb511195b8 Update Hungarian language (#20996) 2021-04-29 08:45:13 -05:00
582458998f Use serial shorthand 2021-04-29 08:45:13 -05:00
bb5c643dfb Nybbles & Bits 2021-04-29 08:45:13 -05:00
bf631046c0 Fix some serial char, echo
Co-Authored-By: X-Ryl669 <3277165+X-Ryl669@users.noreply.github.com>
2021-04-29 08:45:13 -05:00
0d7c02d2c6 Re-calibrate touch after EEPROM reset, if needed (#20934) 2021-04-29 08:45:13 -05:00
129e9151da Add "more" menu in LVGL interface (#20940)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:13 -05:00
4771379302 Evaluate ANY_SERIAL_IS in place 2021-04-29 08:45:13 -05:00
62a65d3fdc Note (MarlinUI) limit on PREHEAT settings (#20966)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:13 -05:00
032152c41d Update a UBL comment (#20931) 2021-04-29 08:45:13 -05:00
da80fd782c STM32 Shared Media - USB Mass Storage Device (#20956) 2021-04-29 08:45:13 -05:00
460cdf4c09 Multi-language pertains to Color UI (#20972) 2021-04-29 08:45:13 -05:00
0badef42d5 Touch Calibration Screen auto-save option (#20971) 2021-04-29 08:45:13 -05:00
811b3d0f08 Include ui_common for MARLIN_LOGO_FULL_SIZE (#20963) 2021-04-29 08:45:13 -05:00
8de850fd07 Fix host_response_handler compile (#20962) 2021-04-29 08:45:13 -05:00
1e5995335c LVGL UI G-code console (#20755) 2021-04-29 08:45:13 -05:00
4153b6a30b Refresh screen on M22 (detach) (#20958) 2021-04-29 08:45:13 -05:00
c631fb79d5 Fix AutoReporter implementation (#20959) 2021-04-29 08:45:13 -05:00
9ae204df9c Serial refactor followup (#20932) 2021-04-29 08:45:13 -05:00
e7658ec5f5 Init serial ports first (#20944) 2021-04-29 08:45:13 -05:00
b3656c387f Remove extra G29 V newlines (#20955) 2021-04-29 08:45:13 -05:00
164199614c Language selection auto-save option (#20915) 2021-04-29 08:45:13 -05:00
219f92c4ca KILL, BEEPER pins for LCD_FOR_MELZI (#20924) 2021-04-29 08:45:13 -05:00
0e37370b0c Fix G28_STR (#20925) 2021-04-29 08:45:13 -05:00
845b99feb7 MPX_ARM_MINI board (Mingda MD-16) (#20711) 2021-04-29 08:45:12 -05:00
4b9f2f13b1 AutoReport class (Temperature, Cardreader) (#20913) 2021-04-29 08:45:12 -05:00
b44de74b91 Optimize serial output code for size (#20911) 2021-04-29 08:45:12 -05:00
59d16eb189 FYSETC Cheetah 2.0 (#20897) 2021-04-29 08:45:12 -05:00
c7004d100c Fix undefined G28_STR (#20912) 2021-04-29 08:45:12 -05:00
07a3ed1d7e Fix LED_CONTROL_MENU compile (#20914) 2021-04-29 08:45:12 -05:00
cc545a73a1 Serial refactor followup 2021-04-29 08:45:12 -05:00
efa1e56369 Refactor serial class with templates (#20783) 2021-04-29 08:45:12 -05:00
8da8e7d17b Meatpack::report_state on serial port init (#20903)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:12 -05:00
b10b76e882 MeatPack followup - unused command (#20893) 2021-04-29 08:45:12 -05:00
be058430b4 Remove extra cast 2021-04-29 08:45:12 -05:00
7a559e4733 MeatPack followup (#20896) 2021-04-29 08:45:12 -05:00
5fb8818ae5 ZONESTAR_LCD warning for RAMPS / ReARM (#20702) 2021-04-29 08:45:12 -05:00
cdefc19129 Configure / disable PRINTCOUNTER save interval (#20856)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:12 -05:00
918894fd84 Custom G26 FR followup 2021-04-29 08:45:12 -05:00
1bc65be70f Custom G26 FR followup 2021-04-29 08:45:12 -05:00
b9d19291fe 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-04-29 08:45:12 -05:00
2aaff47c9d Clean up MMU2 code (#20794)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
a582d1dc2f Init KILL, SUICIDE, PSU earlier (#20810) 2021-04-29 08:45:12 -05:00
5acd8f36a4 "Move … code" followup (#20869)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
efaff24145 Apply SEC_TO_MS and other fixes 2021-04-29 08:45:12 -05:00
b059c9e5c0 Reformat abortSDPrinting 2021-04-29 08:45:12 -05:00
82122fe9cd Fix sign warning (#20872) 2021-04-29 08:45:12 -05:00
3beb6a9df3 Cosmetic changes (2) (#20876) 2021-04-29 08:45:12 -05:00
a576ab83e9 "Move … code" followup (#20868)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
70ee5e94fd "Move … code" followup (#20874)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
69da8719cf Graphical TFT fixes, cleanup (#20861)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
4ce87eeb91 🧻 Cosmetic changes (#20859) 2021-04-29 08:45:12 -05:00
24a801b660 🛠Fix deps script version regex 2021-04-29 08:45:12 -05:00
786bba39ff Fix Ender 3 V2 DWIN manual move (#20837) 2021-04-29 08:45:12 -05:00
bed027f41f Fix LiquidCrystal CI failures (#20873)
Fix incorrect dependency syntax for LPC.
Disambiguate LiquidCrystal library names.
2021-04-29 08:45:12 -05:00
17a4ef6730 Revert "Adding custom move feedrate for G26 (#20729)" (#20870)
This reverts commit 14567f3459.
2021-04-29 08:45:12 -05:00
56383d3ca0 MeatPack serial encoding (#20802)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
60c9a9e654 lcd_put_wchar_max for COLOR_UI (#20838)
Co-Authored-By: Victor Oliveira <github@victormo.com.br>
2021-04-29 08:45:12 -05:00
5398bfab36 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-04-29 08:45:12 -05:00
a8a6040b78 🛠 Replace lib_deps for custom_marlin.FEATURE (#20858) 2021-04-29 08:45:12 -05:00
22db4c0448 "Move … code" followup (#20852)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
7bbf958e5c Add labels, condition for BTT GTR M5 pins (#20772)
Co-Authored-By: NAPCAL <47440988+NAPCAL@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
0b7de80a6f Move common strings (#20846) 2021-04-29 08:45:12 -05:00
de37fbffa3 Fix undefined E_LBL 2021-04-29 08:45:12 -05:00
f4a3db8db8 Ender 3 V2: Sync reset E in manual move (#20806) 2021-04-29 08:45:12 -05:00
c409a6df5e Fix ANYCUBIC_LCD_CHIRON compilation (#20807)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
71be210795 Move some MarlinCore and MarlinUI code (#20832) 2021-04-29 08:45:12 -05:00
67942622f1 Increase filament runout distance edit limit (#20828) 2021-04-29 08:45:12 -05:00
5252a32de4 USB Flash Drive env hints for ABM (#20592) 2021-04-29 08:45:12 -05:00
5e5c0d65f3 Lerdge K/S/X support for Flash Drive (#20593) 2021-04-29 08:45:12 -05:00
3dde2722bd MarlinUI multi-language support (#20725) 2021-04-29 08:45:12 -05:00
befcdeb74d Keep G29 N on the DL 2021-04-29 08:45:12 -05:00
0c62fd02b0 More PlatformIO source filters (#20822) 2021-04-29 08:45:12 -05:00
8d2f1851eb PSTR alias followup (#20831) 2021-04-29 08:45:12 -05:00
b355f4605e Move singlenozzle temp/fan (#20829) 2021-04-29 08:45:12 -05:00
f6c4c26937 Fix reporting of TMC_S2VSA/B (#20730) 2021-04-29 08:45:12 -05:00
c334151294 USE_M73_REMAINING_TIME sanity-check (#20751) 2021-04-29 08:45:12 -05:00
faf4cb1b74 MMU2 serial followup (#20811) 2021-04-29 08:45:12 -05:00
ccbff12d6a Fix SINGLENOZZLE compile 2021-04-29 08:45:12 -05:00
a02e884415 Swedish language for MarlinUI (#20826) 2021-04-29 08:45:12 -05:00
1fdf283e5d Fix MKS UI manual move (#20813) 2021-04-29 08:45:12 -05:00
910059adcb 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-04-29 08:45:12 -05:00
a8bd376fd4 Raise Z on exit from 'Level Bed Corners' (#20817) 2021-04-29 08:45:12 -05:00
c69f9b9883 Clean up whitespace, headings 2021-04-29 08:45:12 -05:00
69b873b766 OS-native targets for "mftest -a" 2021-04-29 08:45:12 -05:00
6162560b69 Internal G29N for G28+G29 (#20800) 2021-04-29 08:45:12 -05:00
f101e19257 FYSETC_242 OLED 12864 for S6 (#20767) 2021-04-29 08:45:12 -05:00
7836b85c96 Reduce some G-code strings 2021-04-29 08:45:12 -05:00
522c78b5e6 Fix Tramming Wizard behavior (#20796) 2021-04-29 08:45:12 -05:00
aabd40a7a2 Optimize some G-code strings 2021-04-29 08:45:11 -05:00
e351ea2ee8 Apply bool to some MKS UI 2021-04-29 08:45:11 -05:00
efc396bd05 General cleanup, use _BV 2021-04-29 08:45:11 -05:00
ae53998a88 Fix Trigorilla Pro STOP pins (#20801) 2021-04-29 08:45:11 -05:00
d814d8f954 NEOPIXEL overridable on BTT SKR (#20797) 2021-04-29 08:45:11 -05:00
63e3117510 4 / 5 digits for some edit items (#20793) 2021-04-29 08:45:11 -05:00
cab93c2ad8 Update Italian language (#20789) 2021-04-29 08:45:11 -05:00
3acf86510d Fix Ender-3 V2 DWIN LPC signed warnings (#20786) 2021-04-29 08:45:11 -05:00
418524b1be Configurable Corner Leveling point order (#20733) 2021-04-29 08:45:11 -05:00
a5d2180bf5 MMU2 as standard serial device (#20771) 2021-04-29 08:45:11 -05:00
0364ae4908 Improve filament runout handling in FTDI EVE Touch UI
- On filament runout, take the user to the tune menu where they can initiate a filament change or resume the print.
2021-04-29 08:45:11 -05:00
a7c97182f7 Fix compatibility macros 2021-04-29 08:45:11 -05:00
1e7426e549 Silence unused parameter warnings 2021-04-29 08:45:11 -05:00
fd6501207f Fix Ender 3 V2 encoder (#20784) 2021-04-29 08:45:11 -05:00
7f8188ccb6 ESP32 Tone Generator (#20704) 2021-04-29 08:45:11 -05:00
f5341da94d Update Ukrainian language (#20668) 2021-04-29 08:45:11 -05:00
a588f69f16 MKS prelim. cleanup (2) 2021-04-29 08:45:11 -05:00
86bf374fc4 More MKS UI prelim. cleanup 2021-04-29 08:45:11 -05:00
a3d6442d02 MKS WiFi for TFT_LVGL_UI (#20191) 2021-04-29 08:45:11 -05:00
62d20c8b37 Ignore M22 during SD print 2021-04-29 08:45:11 -05:00
726e2e9bc0 Move WRITE_FAN 2021-04-29 08:45:11 -05:00
eedd9c2bda whitespace 2021-04-29 08:45:11 -05:00
5c181562f6 MKS UI prelim. cleanup (#20763) 2021-04-29 08:45:11 -05:00
104aceb44a Rotary encoder cleanup (#20753) 2021-04-29 08:45:11 -05:00
bee794e598 Fix comments (#20759) 2021-04-29 08:45:11 -05:00
483804bafd Ok to use C++11 'auto' 2021-04-29 08:45:11 -05:00
55709b9d2c Multi-platform DWIN_CREALITY_LCD support (#20738)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:11 -05:00
8eb32cef24 Fix TMC220x short circuit (#20731) 2021-04-29 08:45:11 -05:00
92f847c8f7 Fixes for TFTGLCD (#20734) 2021-04-29 08:45:11 -05:00
be3caa4686 NO_SD_DETECT option (#20741) 2021-04-29 08:45:11 -05:00
fa6a2f52e2 Fix joystick include 2021-04-29 08:45:11 -05:00
7e188c48e1 Tweak STM32F1 pin r/w/t 2021-04-29 08:45:11 -05:00
928cd1b8ab Clean up some includes 2021-04-29 08:45:11 -05:00
4145d85ef1 Update Slovak glyphs 2021-04-29 08:45:11 -05:00
9901b4e9f1 Laser Test Fire (#20452) 2021-04-29 08:45:11 -05:00
4e46de66d3 Wanhao One+ SD detect pin (#20724) 2021-04-29 08:45:11 -05:00
7c7d28345e Optimize some G76 strings 2021-04-29 08:45:11 -05:00
8690f4862d Fix misc. warnings (#20715) 2021-04-29 08:45:11 -05:00
c9a9c00f61 Fix Python 2.7 compatibility
Fix regression from #20692
2021-04-29 08:45:11 -05:00
6a60d47b90 Up to 6 Tramming points (#20720) 2021-04-29 08:45:11 -05:00
f19a1833bd Fix M48 output (#20713) 2021-04-29 08:45:11 -05:00
074d3f6266 Improved MKS Robin support (#19333) 2021-04-29 08:45:11 -05:00
92eee0386f Preheat before Power Loss Recovery homing (#20697) 2021-04-29 08:45:11 -05:00
32caeecffb Custom build_flags by feature (#20692) 2021-04-29 08:45:11 -05:00
5ef0475dc5 Multi-Z stepper inverting (#20678)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:11 -05:00
aa5ac6c3b2 Fix Azteeg X3 macro typo (#20681) 2021-04-29 08:45:11 -05:00
fd7e34312a Define SANGUINOLOLU 1.1 enable pins (#20682) 2021-04-29 08:45:11 -05:00
d10c734730 No BTN_ENC_EN on Anet 10 (#20684) 2021-04-29 08:45:11 -05:00
c64a5a4b8f Temperature report followup (#20687)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:11 -05:00
e3cd293f4e Adjustable precision in M105 temperature report (#20602)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:11 -05:00
d324f3b16a Don't apply hotend_offset.z to Z soft endstops (#20675)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:11 -05:00
01c9d49f09 Indent tool_change_prime 2021-04-29 08:45:11 -05:00
cc1b8c2d0b Clarify solenoid active / magnet-on state 2021-04-29 08:45:11 -05:00
ed7698efaa Defer "quiet probing" till the last Z bump (#20610) 2021-04-29 08:45:11 -05:00
efe2859227 Solenoid cleanups
Followups to #20473 ahead of #20675
2021-04-29 08:45:11 -05:00
4b4498be93 Remove untranslated strings 2021-04-29 08:45:11 -05:00
eff2330ce1 G34/M422 cleanup 2021-04-29 08:45:11 -05:00
8884b1f9a6 Move duplication_e_mask 2021-04-29 08:45:11 -05:00
bb747bcd62 Fix delayed_move_time elapsed test 2021-04-29 08:45:11 -05:00
b1f0671541 Fix IDEX reboot on travel after G28 X (#20654) 2021-04-29 08:45:10 -05:00
abeefaac7f Fix SD SPI Speed override, FTDI mesh edit (#20657)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:10 -05:00
90c04ee15d Rename FTDI EVE screen data structs 2021-04-29 08:45:10 -05:00
d3d8fd6d9b Fix thermal error protection, reporting (#20655) 2021-04-29 08:45:10 -05:00
c6c5cc7246 Update Italian language (#20663) 2021-04-29 08:45:10 -05:00
d5465f1ad8 Creality 4.2.10 board (#20647) 2021-04-29 08:45:10 -05:00
3f8a83b285 Add ALL_AXES manual move for UBL mesh editing
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>

#20620
2021-04-29 08:45:10 -05:00
385152b3d2 Animated boot followup 2021-04-29 08:45:10 -05:00
66c69aef6a Homing code followup (#20632)
Patching a87e5197cf
2021-04-29 08:45:10 -05:00
f4f152bd01 Improved bootscreen animation 2021-04-29 08:45:10 -05:00
eaeb9d1b20 Document, adjust some homing code 2021-04-29 08:45:10 -05:00
a42755a061 Fix a comment (#20629) 2021-04-29 08:45:10 -05:00
5d35e3ccf5 Check for misplaced configs on build (#20599)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
7ef03a761b Assisted Tramming improvements (#20298) 2021-04-29 08:45:10 -05:00
f570791e19 Fix //action prefix (#20600) 2021-04-29 08:45:10 -05:00
25152a8cef Fix UBL mesh edit delta moves (#20620)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
14b7eb1c5a Fix CHAMBER_FAN_MODE 0 build (#20621) 2021-04-29 08:45:10 -05:00
3b4c5f982c Fix PARKING_EXTRUDER homing with solenoid (#20473) 2021-04-29 08:45:10 -05:00
2c58d0881b Prefix SD SPI pins (SCK, MISO, MOSI, SS) (#20606)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
7a748bd565 SPI and pins cleanup 2021-04-29 08:45:10 -05:00
cf996949fa Support 4.3" (480x272) Color UI display (#20334) 2021-04-29 08:45:10 -05:00
79672d51f6 USB FD via native USB Host + MSC (#20571) 2021-04-29 08:45:10 -05:00
c3dc74bba0 Pins, comment cleanup 2021-04-29 08:45:10 -05:00
f539e319f0 Clarify sanity-check for custom status bitmap (#20588) 2021-04-29 08:45:10 -05:00
eda5a884c6 LVGL G-code preview. Legacy MKS WiFi Cura plugin compatibility (#20589) 2021-04-29 08:45:10 -05:00
7b33ceebbb Apply SHOW_BOOTSCREEN to TFT_COLOR_UI (#20586) 2021-04-29 08:45:10 -05:00
8aa453d75b Menu item index followup 2021-04-29 08:45:10 -05:00
ed1c0b71df Fix Change Filament menu actions (#20565)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
63f083db96 Fix LVGL_UI G-code preview (#20564) 2021-04-29 08:45:10 -05:00
a74d4609af Use ADC_RESOLUTION 12 for all STM32 (#20562) 2021-04-29 08:45:10 -05:00
427a2fca4d Fix Menu Mixer for Color UI (#20566) 2021-04-29 08:45:10 -05:00
910908fb32 Better defaults, compatibility for SDIO + STM32 (#20570) 2021-04-29 08:45:10 -05:00
a8800d5b0a Small / Large Boot Screen option for TFT_COLOR_UI (#20578) 2021-04-29 08:45:10 -05:00
adca49e432 Remove URL scheme 2021-04-29 08:45:10 -05:00
214f6cb6e3 Allow define HOMING_FEEDRATE_(XY|Z) 2021-04-29 08:45:10 -05:00
3395d10e82 General cleanup 2021-04-29 08:45:10 -05:00
2e93923e24 Validate defined probe points (#20572) 2021-04-29 08:45:10 -05:00
892e83e872 Init tare pin once 2021-04-29 08:45:10 -05:00
10482ca49c Add probe_switch_activated 2021-04-29 08:45:10 -05:00
9947072d2d Remove CREALITY_TOUCH 2021-04-29 08:45:10 -05:00
6d3e22dd4a Fix some comments 2021-04-29 08:45:10 -05:00
e3d7603d54 Fix SPINDLE_LASER_FREQUENCY (#20509) 2021-04-29 08:45:10 -05:00
f9dd484381 Cutter Power in percent format (#20410)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Luu Lac <45380455+shitcreek@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
48bf80d190 Apply NO_MOTION_BEFORE_HOMING to joystick motion (#20462)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
089bfad490 Fix, clean up FTDI EVE Touch UI (#20466)
Co-Authored-By: Marcio T. <mlt4356-github@yahoo.com>
2021-04-29 08:45:10 -05:00
f1bf1e1835 Fix ST7920 timing for Rumba32, Fysetc S6 (#20556) 2021-04-29 08:45:10 -05:00
35e1917655 Fix DOGM status message scrolling (#20557) 2021-04-29 08:45:10 -05:00
121d4bf52a Add "End Repeat Loops" menu item 2021-04-29 08:45:10 -05:00
fadc8a1944 LVGL and Classic UI for STM32 (#20552) 2021-04-29 08:45:10 -05:00
a5dd4028ac Move BTT_SKR_CR6 2021-04-29 08:45:10 -05:00
a510c16838 Add OPTIMIZED_MESH_STORAGE option (for UBL) (#20371)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
156b5f4749 Remaining Time for FTDI EVE, bp for ExtUI (#20549)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:10 -05:00
fa89a7b0bc Apply ENABLED in ExiUI / FTDI 2021-04-29 08:45:10 -05:00
a24298f625 Support ANET_FULL_GRAPHICS_LCD_ALT_WIRING on BTT SKR 1.4 (#20427) 2021-04-29 08:45:10 -05:00
ec83a96484 Probe Activation Switch followup (#20550) 2021-04-29 08:45:10 -05:00
a03ebfda52 Enhanced Italian language (#20551) 2021-04-29 08:45:10 -05:00
323bf47738 FTDI EVE: Cyrillic font, some minor fixes (#20517) 2021-04-29 08:45:10 -05:00
ad15890a81 Improve plan_arc circle detection (#20440)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
60aeed99c6 Refactor 'Level Corners with Probe' (#20460)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
c529209c8f Support RGBW on PCA9632 (#20455)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
be3e45d759 Fix G28 leveling state, UBL compile (#20499) 2021-04-29 08:45:09 -05:00
7c8cff0d3c Unify FYSETC F6 1.3 / 1.4 (#20507)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:09 -05:00
256e94980e STM32F1xx support for TFTGLCD (#20515) 2021-04-29 08:45:09 -05:00
aa65c6e477 Anet ET4 / ET4P and Anet TFT28 / TFT35 (#20280) 2021-04-29 08:45:09 -05:00
59b5cb6fe2 Creality v4.3.1 (Ender 6) board (#20512) 2021-04-29 08:45:09 -05:00
a33c689c40 Improve Touch Calibration screen (#20524) 2021-04-29 08:45:09 -05:00
30d9839631 Overrides to prevent STM32 timer conflicts (#20545) 2021-04-29 08:45:09 -05:00
f0b7f27029 Fix UBL mesh inset Z position (#20538) 2021-04-29 08:45:09 -05:00
a1313c7066 Improve STM32 timer conflict messages (#20544) 2021-04-29 08:45:09 -05:00
31c84d4559 FTDI EVE custom user menus (#20518) 2021-04-29 08:45:09 -05:00
076f12e82d 12-bit ADC resolution for STM32 (#20519) 2021-04-29 08:45:09 -05:00
231e5a5eed Add Tune -> Advanced Settings to FTDI EVE (#20532) 2021-04-29 08:45:09 -05:00
350dc4ca05 Tweak FTDI spacing 2021-04-29 08:45:09 -05:00
ff2f6cb110 Robin pins followup 2021-04-29 08:45:09 -05:00
b667722184 Fix some Russian (#20529) 2021-04-29 08:45:09 -05:00
bc3f2f246f Fix G34 compile with bed leveling disabled (#20537) 2021-04-29 08:45:09 -05:00
28548e7ea2 Add BTT SKR CR6 board (#20522) 2021-04-29 08:45:09 -05:00
023ef753b9 Clean up some pins 2021-04-29 08:45:09 -05:00
b799d0d073 Apply HOME_AFTER_DEACTIVATE for 'G28 O' (#20525) 2021-04-29 08:45:09 -05:00
be6e1ccba2 Get E3V2 DWIN MACHINE_SIZE from config (#20526) 2021-04-29 08:45:09 -05:00
2a58aa2181 Fix PIO typo 2021-04-29 08:45:09 -05:00
525cdeae19 Update Russian and Ukrainian languages (#20508) 2021-04-29 08:45:09 -05:00
c831aabe14 Languages cleanup 2021-04-29 08:45:09 -05:00
642110b072 Migrate Hispeedv1 (QQS-Pro) to HAL/STM32 (#20354) 2021-04-29 08:45:09 -05:00
56e2f39175 Fix Creality EEPROM watchdog freq. (#20510) 2021-04-29 08:45:09 -05:00
3e26e23e60 Probe Tare, Probe Activation Switch (#20379)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:09 -05:00
588fec6474 Minimum temp options for Probing and G12 Nozzle Clean (#20383)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:09 -05:00
87fbb89330 Let boards set Default TMC Slave Addresses (#20498)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:09 -05:00
a4701fbd3e Tweaks for pins_BTT_SKR_common.h 2021-04-29 08:45:09 -05:00
e02fd232ba Rename QUIET_PROBING 2021-04-29 08:45:09 -05:00
f7f531e59d DOGM: Slow down touchscreen calibration (#20454) 2021-04-29 08:45:09 -05:00
51e3d8f08b MKS Robin Nano V3 and STM32F4x0Vx Variant (#20430) 2021-04-29 08:45:09 -05:00
02b65de6a2 Fix and optimize MightyBoard (#20493) 2021-04-29 08:45:09 -05:00
c3a1cd10ab Balance CI tests (#20485) 2021-04-29 08:45:09 -05:00
e5d094d2bd Make M220 B / R a standard feature (#20355) 2021-04-29 08:45:09 -05:00
d6efe75251 Fix ZoneStar LCD 2004 buttons (#20489) 2021-04-29 08:45:09 -05:00
f50abfcb1b Homing feedrates as XYZ array (#20426)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
bee6b8af8f Use homing_feedrate function 2021-04-29 08:45:09 -05:00
1b6db623a7 Update French language (#20472) 2021-04-29 08:45:09 -05:00
a45603a344 Update Hungarian language
Co-Authored-By: Zs.Antal <45710979+AntoszHUN@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
fa9463528d Update Italian language (#20480) 2021-04-29 08:45:09 -05:00
82b6044dbb Trust STM32 gcc versions 2021-04-29 08:45:09 -05:00
be7aab204f Update some LCD includes 2021-04-29 08:45:09 -05:00
f82b3f0f51 Update some pins errors 2021-04-29 08:45:09 -05:00
3d7680a426 Creality v4.5.3 (CR-6 SE, CR-6 MAX) (#20468) 2021-04-29 08:45:09 -05:00
878305671b Fix RESTORE_LEVELING_AFTER_G28 (#20471) 2021-04-29 08:45:09 -05:00
46d2dc9bee Please install the EditorConfig plugin 2021-04-29 08:45:09 -05:00
e188b3e28c Auto-check followup 2021-04-29 08:45:09 -05:00
a59164d5c8 Fix M1001 auto-check logic (#20456) 2021-04-29 08:45:09 -05:00
0b0eb6a119 Trust that script -x flags will always be set (#20453) 2021-04-29 08:45:09 -05:00
e6b3c74069 Always enable leveling after G28 2021-04-29 08:45:09 -05:00
20bd54f6d3 Preheat before leveling 2021-04-29 08:45:09 -05:00
6599e4ea53 Fix formatting 2021-04-29 08:45:09 -05:00
5617d64119 LPC176x framework update (#20469) 2021-04-29 08:45:09 -05:00
b81a9e54a3 SHORT_MANUAL_Z_MOVE => FINE_MANUAL_MOVE 2021-04-29 08:45:09 -05:00
cbe27daafb Adjust planner debugging 2021-04-29 08:45:08 -05:00
430855fdca Probe Offset Wizard followupBack to PROBE_PT_RAISE/separate STOW, make "PROBING" msg appear (#20439)
* Go back to always use PROBE_PT_RAISE with a discrete stow. This ensures a raise above the bed, while stowing prior to exiting the wizard.
* Fix issue preventing text while moving to X/Y position
Co-authored-by: FanDjango <FanDjango@users.noreply.github.com>
2021-04-29 08:45:08 -05:00
e9bde7e6fc Improve ASSISTED_TRAMMING_WIZARD probe stowing (#20437)
* When BLTOUCH_HS_MODE enabled, stow pin before user interaction
* For all probes, ensure probe stows at end of wizard
2021-04-29 08:45:08 -05:00
5aebc9fb0c Add HAS_PIN_27_BOARD for CREALITY_V4 (#20446)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:08 -05:00
d0c2b643f8 Fix SDCARD_SORT_ALPHA on Ender 3 V2 (#20443) 2021-04-29 08:45:08 -05:00
c0ad4718a4 Better animated boot screen 2021-04-29 08:45:08 -05:00
8f188adc32 SENSORLESS_PROBING sanity check followup (#20438) 2021-04-29 08:45:08 -05:00
74042d368e Probe offset wizard fixes (#20414)
* STOW probe, reverting incorrect earlier change from #20344
* Adjust soft endstop disables, to ensure travel below bed functions properly

Co-authored-by: FanDjango <FanDjango@users.noreply.github.com>
2021-04-29 08:45:08 -05:00
2a5b32f109 Z_SENSORLESS sanity checks (#20421)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
0c383b858f Fix UBL Debug Messages (#20423)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:08 -05:00
aecfd95592 Clarify "not Interrupt-capable" error message (#20419) 2021-04-29 08:45:08 -05:00
9f740d1872 MKS Robin Pins fixes for STM32 and STM32F1 (#20404)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:08 -05:00
70d393b5cd Move ExtUI ABL mesh edit, limit to bilinear (#20381)
* Move ExtUI call

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
Co-authored-by: Sebastiaan Dammann <sebastiaandammann@outlook.com>
2021-04-29 08:45:08 -05:00
f193cda03b Fixes and additions to FTDI EVE Touch UI (#20393)
- Fixed name conflict with "SUBSCRIPT_TWO"
- Fixed rendering bugs in "Leveling Menu"
- Only show "Bed Mesh Screen" when UBL is enabled
- Removed CocoaPress code from generic "Main Menu"
- Removed CocoaPress code from LulzBot Bio "Status" screen
- Moved generic "Move Axis" functionality into a base class
- Added CocoaPress custom screens:
   - Status Screen
   - Unload Cartridge
   - Load Chocolate
   - Main Menu
   - Advanced Settings
   - XYZ Move (based on "Move Axis" base class)
   - Extrusion Move (based on "Move Axis" base class)
- CocoaPress tweaks to "Temperature" screen
- Fix FTDI EVE Touch UI compilation errors when not using leveling.
2021-04-29 08:45:08 -05:00
e3e9982fec Fix Spindle/Laser Control menu (#20347) 2021-04-29 08:45:08 -05:00
4ca3c0bc86 Allow positive Z nozzle to probe offset (#20344)
* Allow a positive value for z offset from nozzle to probe without sanity checks
* Simplify menu_probe_offset.cpp (HOMING_Z_WITH_PROBE)
* Add some more explanation to Configuration Files
* Raise after probe_at_point as if homed

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
38bb3b86d2 Clarify Delta & SCARA config location (#20403) 2021-04-29 08:45:08 -05:00
ad7fe15154 Style, spacing, typo cleanup for recent changes 2021-04-29 08:45:08 -05:00
91e9599554 SPI TFT for STM32F4 boards (#20384)
* fix pinsDebug for F1 boards

* add MKS Robin PRO V2 board - development board

* tft spi working with F4 boards

* pins formating

* sanity check for TFT on supported cores in STM32

* Fix tabs/spaces in pins file

Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
47fd7fcaea Allow BTT EXP-MOT be used with Displays that needs only EXP 1 (#20396)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
2021-04-29 08:45:08 -05:00
50247fc894 Shorten Filament Load/Unload Strings to Fit on Graphical Displays (#20369)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
2021-04-29 08:45:08 -05:00
37dd0fd2d6 Fix auto#.g file handling, add NO_SD_AUTOSTART (#20071) 2021-04-29 08:45:08 -05:00
1932e70e72 More LPC P-string macros 2021-04-29 08:45:08 -05:00
ea81790d48 Watch idle() depth over 5 2021-04-29 08:45:08 -05:00
2384e5c9c9 Fix fileExists, use openFailed 2021-04-29 08:45:08 -05:00
72eda1d3ae Avoid invalid memory optimizations (#20389)
When building for AVR, merge-all-constants can incorrectly combine constants stored in flash with constants stored in RAM. These have different access requirements, leading to undefined behavior during execution.
Co-authored-by: ellensp <ellensp@hotmail.com>
2021-04-29 08:45:08 -05:00
3a73f04fd3 G28 followup 2021-04-29 08:45:08 -05:00
107834f899 G28 tweaks 2021-04-29 08:45:08 -05:00
b6cd7aaf17 Fix STM32F1 SERIAL_GET_TX_BUFFER_FREE 2021-04-29 08:45:08 -05:00
4b6fa1b54d Move G29 3-point startup earlier 2021-04-29 08:45:08 -05:00
284cc8f62d ExtUI homing / leveling additions 2021-04-29 08:45:08 -05:00
ef35fc60c1 Use 'nearby' for 'near' 2021-04-29 08:45:08 -05:00
ec2843bcf3 Creality 4.5.2 format and fix 2021-04-29 08:45:08 -05:00
8a18bb8440 Fix FYSETC S6 I2C EEPROM size (#20340)
Both V1.2 and V2.0 boards have a 24LC16, which is a 2kB EEPROM.

Co-authored-by: PingWin <kirill@shashlov.ru>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
21b15a0a09 Add Creality 4.5.2 board (#20378)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
c400c54b86 Suspend Servos for STM32+NeoPixel (#19963) 2021-04-29 08:45:08 -05:00
1a618b1b31 Fix TMC_HOME_PHASE divide by zero (#20368) 2021-04-29 08:45:08 -05:00
a09d096b87 Improved Longer3D LKx Pro board (#20372)
Co-authored-by: mrv96 <marione96@live.it>
2021-04-29 08:45:08 -05:00
c88a7935d6 Don’t use near keyword as variable name (#20374) 2021-04-29 08:45:08 -05:00
43bbf04764 Loosen E on pause for fila-manipulation (#20346)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:08 -05:00
10b8737c7d Fix MESH_BED_LEVELING w/o SEGMENT_LEVELED_MOVES (#20363) 2021-04-29 08:45:08 -05:00
dab29dddc3 Require minimum PlatformIO version (#20361)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
20ea00e7f6 Consolidate common pin includes 2021-04-29 08:45:08 -05:00
6a8ab8f1e6 Fix up start, monitor baud (#20326) 2021-04-29 08:45:08 -05:00
eba2937715 Fix circle arc condition (#20322) 2021-04-29 08:45:08 -05:00
07954edadc Permit SD EEPROM emulation on E3V2 (#20353) 2021-04-29 08:45:08 -05:00
1c695e130e Fix E3V2 DWIN Jerk Menu (#20352)
* Fix E3V2 DWIN build without CLASSIC_JERK
* Fix jerk edits applying to wrong index
2021-04-29 08:45:08 -05:00
f42d15437b Help hosts when password-locked (#20348) 2021-04-29 08:45:08 -05:00
564e2e865c Update to STM32 v10, optimize build (#20325) 2021-04-29 08:45:08 -05:00
c76f179487 Level Bed Corners is a sub-menu 2021-04-29 08:45:08 -05:00
29a962320c Tweak to EEPROM safe delay 2021-04-29 08:45:08 -05:00
e927ef94a6 Fix E3V2 Control Menu when returning from Info (#20338) 2021-04-29 08:45:08 -05:00
f929123a7b Prevent Watchdog reset writing Creality 4.x EEPROM (#20328) 2021-04-29 08:45:08 -05:00
d34bbee304 Increase E3V2 DWIN steps/mm range to 999.9 (#20324) 2021-04-29 08:45:08 -05:00
74c509d36e General cleanup 2021-04-29 08:45:08 -05:00
448cf2c357 Adjust axis homed / trusted methods (#20323) 2021-04-29 08:45:08 -05:00
f22b677906 Leveling Fade Height default setting (#20316) 2021-04-29 08:45:08 -05:00
272265c636 Fix STM32F1 'freeMemory()' warnings (#20319) 2021-04-29 08:45:08 -05:00
a8ba3c4e2e SKR E3 Turbo Controller Fan (#20320) 2021-04-29 08:45:08 -05:00
523bc7d355 Arc Direction followup for circles (#20314) 2021-04-29 08:45:08 -05:00
1dd17d857e Fix M73 LCD code typo (#20300) 2021-04-29 08:45:08 -05:00
a54b07d3ae Group related homing options (#20283)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:08 -05:00
f63a7b978d Fix G2/G3 arcs > 180° (#20292) 2021-04-29 08:45:08 -05:00
04483dd307 Fix BTT GTR 1.0 endstop/DIAG pins (#20296) 2021-04-29 08:45:08 -05:00
3c5c36de50 FIX TMC menu message (#20294) 2021-04-29 08:45:07 -05:00
deb8df8eff M808 Repeat Markers (#20084) 2021-04-29 08:45:07 -05:00
3231741cd2 [WIP] Fix Probe::offset_xy (#20290)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:07 -05:00
747bde7e64 Level Corners with Probe option (#20241) 2021-04-29 08:45:07 -05:00
7c9c897dac Optimize emergency parser check 2021-04-29 08:45:07 -05:00
fc1deea2b8 No auto debug for EEPROM_CHITCHAT 2021-04-29 08:45:07 -05:00
7421282d9a Finish HAL/STM32 cpp wrappers 2021-04-29 08:45:07 -05:00
9d5a391b54 MKS Robin E3 / E3D v1.1 (#20216) 2021-04-29 08:45:07 -05:00
6ec6d1d39d Tweak some pin errors 2021-04-29 08:45:07 -05:00
e2c57f6d47 Retire HAL for STM32F4 / F7 (#20153) 2021-04-29 08:45:07 -05:00
664e9d6dfe Reduce warnings, extern "C" cleanup (#20279) 2021-04-29 08:45:07 -05:00
0c24347cdb Probe Offset Wizard improvements (#20239) 2021-04-29 08:45:07 -05:00
c86ede8cfb Fix COLOR_UI without TOUCH_SCREEN_CALIBRATION (#20269) 2021-04-29 08:45:07 -05:00
38a62f0d5b add missing header to use HAS_SD_HOST_DRIVE (#20270) 2021-04-29 08:45:07 -05:00
27b2e2d3e7 Update TOUCH_UI_LULZBOT_BIO wrappers 2021-04-29 08:45:07 -05:00
4e940ffcc2 Cosmetic G29 ABL tweak 2021-04-29 08:45:07 -05:00
109c08e9e5 Consistent Probe XY offset type 2021-04-29 08:45:07 -05:00
03cdfafc2a No Z_MULTI_ENDSTOPS when HOMING_Z_WITH_PROBE (#20254) 2021-04-29 08:45:07 -05:00
6cca5a9f92 Allow cold Filament Load/Unload with M302 P1 (#20262)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:07 -05:00
629f0e21c9 Set "lcd_move_e" index to fix the label (#20263) 2021-04-29 08:45:07 -05:00
a711e22b17 LCD position in current units (#20145) 2021-04-29 08:45:07 -05:00
82663c7d11 Fix Z4 in ENABLE/DISABLE_AXIS_Z (#20256)
This was accidentally broken in PR #20218
2021-04-29 08:45:07 -05:00
8cd25f35c2 Fix dummy thermistors for Bed, Chamber, Probe (#20247) 2021-04-29 08:45:07 -05:00
300a944af6 Allow Status Message without LCD (#20246) 2021-04-29 08:45:07 -05:00
5e57e60692 Fix UBL manual mesh adjust behavior (#20248) 2021-04-29 08:45:07 -05:00
28cd6eca88 Hide docker droppings 2021-04-29 08:45:07 -05:00
82c1bac4e3 Move core conditionals earlier 2021-04-29 08:45:07 -05:00
08717ef117 Put "$3" on all tests 2021-04-29 08:45:07 -05:00
56c0608e4d Clear menu history for browse media on insert (#20236)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
9c9fd8714e Proper pullup/pulldown configurability (#20242)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
69b61fef67 Fix Load Filament wait (#20243) 2021-04-29 08:45:07 -05:00
add6b836df Skip unnecessary (costly) SW Stepper Enable (#20218)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
a95a41ef73 BTN_ENC_EN for many boards (#19890)
Enables CHECK_ENCODER_ACTIVE_SIGNAL for many more boards.

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:07 -05:00
f3805edbd6 Power-Loss cleanup 2021-04-29 08:45:07 -05:00
7f91ff07c4 Superscript substitution (#20219)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
d5e13f255d Fix bad SET_FAST_PWM_FREQ calls (#20227) 2021-04-29 08:45:07 -05:00
9ebe050646 Fix backward Filament (Presence) Sensor pulls (#20228)
Co-authored-by: Kurt Haenen <Kurt.Haenen@quintux.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
7f84a7a85e Printrboard labels 2021-04-29 08:45:07 -05:00
264e921d3f SINGLE_TOUCH_NAVIGATION Follow Up (#20213) 2021-04-29 08:45:07 -05:00
7ad127668d Missing header to use suicide() on LVGL UI (#20214) 2021-04-29 08:45:07 -05:00
35d3e74267 Longer LK Pro / Alfawise PRO board (#20185) 2021-04-29 08:45:07 -05:00
2abde8a068 Fix DAC setDrvPct (#20205) 2021-04-29 08:45:07 -05:00
afd3ee264b Windows LPC Upload for non-admins (#20208)
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
2e193b9a29 Fix Z label 2021-04-29 08:45:07 -05:00
48c2065a17 MKS WiFi strings 2021-04-29 08:45:07 -05:00
7729a0c3bb More MKS WiFi 2021-04-29 08:45:07 -05:00
f1b32b808f MKS WiFi preliminary changes 2021-04-29 08:45:06 -05:00
5ef1d053eb Add Thermistor 20-21 notes (#19246) 2021-04-29 08:45:06 -05:00
0264841dc4 Reduce RAM usage for TFT Color UI on SGen-L V2 (#20209) 2021-04-29 08:45:06 -05:00
40071c3fb9 Fix GTR NeoPixel pin with FYSETC Mini12864 (#20203) 2021-04-29 08:45:06 -05:00
d92f69f137 Remaining Time followup (#20199) 2021-04-29 08:45:06 -05:00
15febdfe07 Fix Filament Change menu item labels (#20201) 2021-04-29 08:45:06 -05:00
1040f14da4 Abort print on media removal (#20200) 2021-04-29 08:45:06 -05:00
11f08804d1 Use RTD for MAX31865 reading (#20188) 2021-04-29 08:45:06 -05:00
29d45b1144 Fix broken #include (#20193) 2021-04-29 08:45:06 -05:00
bd38e59479 SMUFF (MMU2 clone) support (#19912) 2021-04-29 08:45:06 -05:00
b6d2671260 USB Media Host followup
Restore HAS_SHARED_MEDIA
2021-04-29 08:45:06 -05:00
5f9ccb361a Use MANUAL_PROBE_START_Z for UBL manual probing (#20160) 2021-04-29 08:45:06 -05:00
ef51bd16dc Better edit range for Linear Advance K (#20155) 2021-04-29 08:45:06 -05:00
125ad2003d Remaining Time for Prusa-style LCD layout (#20148)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
ccac37613b Improve USB Media Host conditions (#20176)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
292e83466e FLSun Hispeedv1 Board update (#19959)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
172cc0dd03 Open File Browser on Media Insert (option) (#20151)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
26d3caf97c Probe Wizard XY position (#20167) 2021-04-29 08:45:06 -05:00
7848096acb Fix NAN mesh entries with ABL_BILINEAR_SUBDIVISION (#20143) 2021-04-29 08:45:06 -05:00
18869c666f COLOR_UI without TOUCH_SCREEN 👍🏻 (#20178) 2021-04-29 08:45:06 -05:00
1c81a126c5 Local testing via Makefile & Docker (#19981) 2021-04-29 08:45:06 -05:00
180fe914b6 Prevent #div0 error (#20183) 2021-04-29 08:45:06 -05:00
dc644df9bc Reduce RAM usage for TFT Color UI on SGen-L (#20179) 2021-04-29 08:45:06 -05:00
550306d1b6 Update Slovak language (#20181) 2021-04-29 08:45:06 -05:00
78eb12958a Add FLY_CDY board (#19979)
Co-authored-by: FLYmaker <FLYmaker@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:06 -05:00
cc9df782ce add ethernet to src filter (#20136)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
2021-04-29 08:45:06 -05:00
562c41af4e Use intptr types (simulator) (#20142) 2021-04-29 08:45:06 -05:00
b5e7b8e29e Allow overriding servo pin for MKS Robin Mini (#20158) 2021-04-29 08:45:06 -05:00
2979504b9c Multi-Hotend Preheat Fixes (#20165)
* Return to Status Screen on Multi-Hotend Preheat All

Co-authored-by: Victor Oliveira <81722+rhapsodv@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
a01fab662c Allow dummy thermistors without pin definitions (#20159) 2021-04-29 08:45:06 -05:00
daa2a04fc9 Guards for large BLOCK_BUFFER_SIZE (>=128) (#20130)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
983bb89063 Update IDEX menus, add post-M605 event G-code (#20133)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
3d9b453000 Add Touch Calibration screen (#20049) 2021-04-29 08:45:06 -05:00
90f647b6be Fix some LCD/serial strings 2021-04-29 08:45:06 -05:00
7f7c27be30 Add parser.is_command(letter, code) 2021-04-29 08:45:06 -05:00
2b63a1b4e1 BTT Motor Expansion for SKR Pro (#20123) 2021-04-29 08:45:06 -05:00
90f3d1f7a6 UTF Filenames followup (#20135) 2021-04-29 08:45:06 -05:00
65a5eb47b3 Fix extraneous Linear Advance DIR change (#20131) 2021-04-29 08:45:06 -05:00
6b5ddfe235 Fix "autotune" LCD message (#20127) 2021-04-29 08:45:06 -05:00
2f57b1d529 Optimize M360 2021-04-29 08:45:06 -05:00
7e535022ab Fix compile warnings, serial alias 2021-04-29 08:45:06 -05:00
cb1d2de838 .gitignore for native / simulation 2021-04-29 08:45:06 -05:00
96acbb2506 LCD_FIRST_TOOL status bitmaps 2021-04-29 08:45:06 -05:00
030f745b08 Typo in MMU2 serial protocol description (#19949) 2021-04-29 08:45:06 -05:00
dc949f5488 G34 Z stepper locking (#20091)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
7b745345f7 Fix UTF filename scroll (#20121)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
3ee61e2084 UTF longname followup (#20115) 2021-04-29 08:45:06 -05:00
26a1cd9a00 Terse sanity messages 2021-04-29 08:45:06 -05:00
27c74d2f72 Add HOME_Z_FIRST option (#20113) 2021-04-29 08:45:06 -05:00
a5ee22baa2 Fix MAX6675 SPI init, conflicts (#20086) 2021-04-29 08:45:06 -05:00
02c3c314fe Fix MAX31865 on SPI (PT100/1000) support (#20074) 2021-04-29 08:45:06 -05:00
012745b218 Option to ignore SD at startup (#20099)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
d4b86322a9 M32 followup 2021-04-29 08:45:06 -05:00
ac74786c2b Fix compile with PLR, no fan (#20096) 2021-04-29 08:45:06 -05:00
cf43c9901f 400 Z steps-per-mm (#20104) 2021-04-29 08:45:06 -05:00
3030bf4274 Handle UTF in long filenames (#20087)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
dc144fb910 Distinct runout states (#19965)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
45b242d5f7 Fix Linux GPIO logging (#20093)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
42b37da1e7 BTT driver expansion for SKR 1.3/1.4 (#20088)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
8eb5950ebd Tramming Wizard wait position (#20063) 2021-04-29 08:45:05 -05:00
ccb5e34052 Fix UI compile issues (#20092) 2021-04-29 08:45:05 -05:00
ee48fc6544 Fix Arduino DUE compilation (#20058) 2021-04-29 08:45:05 -05:00
2365df532f What if 8 was 9? (#20076) 2021-04-29 08:45:05 -05:00
24c2ce6a87 Update issues/support link (#20077)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
791fba3187 Fix SKR E3 DIP pin CLCD_SPI_CS (#20078) 2021-04-29 08:45:05 -05:00
367c447ff8 Fix 320x240 touch buttons Y (#20079) 2021-04-29 08:45:05 -05:00
ca730314e7 Ability to disable M32 2021-04-29 08:45:05 -05:00
b2d6b8c567 Simplified temp sensor conditionals 2021-04-29 08:45:05 -05:00
170ba87648 Add POWER_OFF_DELAY option (#19987)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
44f689320b Use extra G35 BLTouch HS Mode clearance in Tramming Wizard (#20057)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
7da62cc9f7 POWER_LOSS_PIN for BTT SKR mini MZ / E3 2.0 (#20069) 2021-04-29 08:45:05 -05:00
841f0d5778 Fix tool-change servo index for E2 and up (#20060) 2021-04-29 08:45:05 -05:00
367e717aeb Add alternative TERN macros 2021-04-29 08:45:05 -05:00
5bf82b34c6 Temperature 'autostart' => 'auto_job' 2021-04-29 08:45:05 -05:00
734dd1c293 MSG_AUTOSTART => MSG_RUN_AUTO_FILES 2021-04-29 08:45:05 -05:00
4052ef7097 Zonestar Z8 XM2 support (#19991) 2021-04-29 08:45:05 -05:00
dfb6dd2ad2 Apply some pins formatting 2021-04-29 08:45:05 -05:00
426d555f6e TFT cleanup 2021-04-29 08:45:05 -05:00
b129652597 Fix Endstop Interrupts with SPI endstops, sanity checks (#20051)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
ec5b2aab15 Tramming Wizard submenu option (#20000)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
af5cf823ea Color UI single touch menu navigation (#20053) 2021-04-29 08:45:05 -05:00
7e94079b5b Optimized (non-optiboot) Melzi env (#20021)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
d81c1961c2 Anet 1.0 alternative graphical LCD wiring (#20022) 2021-04-29 08:45:05 -05:00
45e0dd1966 Add 'mfconfig' script used to manage configs 2021-04-29 08:45:05 -05:00
a1ec49feda Sanity-check illegal native USB (#20047)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
3afa6e526b STM32F1 cleanup, incl. SoftwareSerial removal (#20046) 2021-04-29 08:45:05 -05:00
ecabbb6974 Fix FYSETC S6 timer conflict (#20044) 2021-04-29 08:45:05 -05:00
989ef47bde FYSETC E4 board support (#20032) 2021-04-29 08:45:05 -05:00
5a918e2b2e Update some file headers 2021-04-29 08:45:05 -05:00
2dd1522e30 Standardize Marlin SPI (part 1) (#19989) 2021-04-29 08:45:05 -05:00
e49f267c4a Use nullptr 2021-04-29 08:45:05 -05:00
afed97bf0e Fix E4d@box pins, stepper i2s (#20055) 2021-04-29 08:45:05 -05:00
9ba113bc05 Clean up corrected urls 2021-04-29 08:45:05 -05:00
35d7618117 Add Spanish translations (#20020) 2021-04-29 08:45:05 -05:00
10c8647c1b Fix 0 extruders & bed compile (#20030) 2021-04-29 08:45:05 -05:00
1767a3bd70 Don't close diveDir in fileExists (#20035) 2021-04-29 08:45:05 -05:00
5082106145 Fix BTT002 PeripheralPins PWM assignments (#20036) 2021-04-29 08:45:05 -05:00
b643a07b66 Comment, spacing cleanup 2021-04-29 08:45:05 -05:00
dd92c79339 Wiring warning for ANET_FULL_GRAPHICS_LCD on SKR 1.4 (#20011) 2021-04-29 08:45:05 -05:00
b767a82bd8 FAST_PWM for STM32 (#20025) 2021-04-29 08:45:05 -05:00
67d58ccb98 HAL support for 8s watchdog 2021-04-29 08:45:05 -05:00
bbfac75f19 Add note about TMC2225/6 (#20002) 2021-04-29 08:45:05 -05:00
930aad6d31 Better Classic UI touch resolution (#20004) 2021-04-29 08:45:05 -05:00
65383dd616 Show un-mounted media slot (#20005) 2021-04-29 08:45:05 -05:00
2ae8014da7 DWIN cleanup, preserve Z offset 2021-04-29 08:45:04 -05:00
b79e2d1e8d Add a filament runout note (#19973)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
172996f2b3 Fix STM32 HW Serial + EP compile (#19990) 2021-04-29 08:45:04 -05:00
3c512648da Increase SPI Speed on LPC. Color and Classic UI for MKS SGEN L. (#19945) 2021-04-29 08:45:04 -05:00
e335e74379 Y-center GLCD status logo, reorganize (#19954)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
5c90d0d0ae Reset calibration screen touch timer on click (#19951) 2021-04-29 08:45:04 -05:00
95fb749923 Clean up SPI and ST7920 defines (#19956) 2021-04-29 08:45:04 -05:00
d9a47ec075 Get STM32 clock rates from framework (#19978)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
c9c17b8863 Add SPINDLE_SERVO option (#19971) 2021-04-29 08:45:04 -05:00
2a61ce80b8 Put PIO "debug" build in the corner (#19975) 2021-04-29 08:45:04 -05:00
3eaeaa8af3 Fix Chiron probe low point (#19962) 2021-04-29 08:45:04 -05:00
261e8df837 Cutter power cleanup 2021-04-29 08:45:04 -05:00
d18ab2d206 Fix SpindleLaser::cpwr_to_pct() maths (#19970) 2021-04-29 08:45:04 -05:00
08f2735e86 Cutter enable inline at full power
Co-Authored-By: Luu Lac <45380455+shitcreek@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
aec215aaf3 Fix bilinear_line_to_destination definition
See #19431
2021-04-29 08:45:04 -05:00
4b08e06fa6 Rename, adjust Dagoma F5 (#19947) 2021-04-29 08:45:04 -05:00
2774b70fbf gcode_D EEPROM size, cleanup
Fixes #19920

Co-Authored-By: Orel <37673727+0r31@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
3dbe4ac593 FAST_PWM for STM32F1 (#19952) 2021-04-29 08:45:04 -05:00
ba28660acb Update Italian language (#19953) 2021-04-29 08:45:04 -05:00
cec9075361 PIO env for MKS Nano boards in STM32 (#19905) 2021-04-29 08:45:04 -05:00
176cb29eab Improvement and fixes to FTDI touch UI
- Fixed incorrect LCD text string
- Fixed incorrect refresh of filament change screens
- Allow host control via touch UI
- Updates to leveling menu
- Modified ExtUI::isPrinting() to check if the job timer is running
- Added ExtUI method to check whether a host print is paused
2021-04-29 08:45:04 -05:00
3cb7128116 Tweak code formatting 2021-04-29 08:45:04 -05:00
88e88743b9 Color UI for MKS SGen-L V2 (#19919) 2021-04-29 08:45:04 -05:00
e6092ad146 .bin and .woff are binary 2021-04-29 08:45:04 -05:00
59914df5b7 Fix comments, spacing 2021-04-29 08:45:04 -05:00
67fbee389e Add a note about substitution chars 2021-04-29 08:45:04 -05:00
b590cee35a Keep SPI active on LPC176x (#19932) 2021-04-29 08:45:04 -05:00
0c81d86cd4 Permit spaces in dependencies g++ path (#19929) 2021-04-29 08:45:04 -05:00
d6e93bb9c7 Generalize BTT SKR E3-DIP version (#19910) 2021-04-29 08:45:04 -05:00
2bb94b4329 AZTEEG X5 mini LED pins (#19909) 2021-04-29 08:45:04 -05:00
fa0614516a Update ExtUI path in config comment (#19908) 2021-04-29 08:45:04 -05:00
d08511c5dc Color UI circular task queue (#19918) 2021-04-29 08:45:04 -05:00
2a4cdf5a5d Fix LCD menus + DAC (#19907) 2021-04-29 08:45:04 -05:00
f5f6170858 Fix DAC-related bugs (#19921)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
d7d1ef8228 "Sound: ON/OFF" menu item (#19901)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
d4669dbf6a Fix G35 PROGMEM strings (#19926) 2021-04-29 08:45:04 -05:00
f43f71646e Archim test matching env 2021-04-29 08:45:04 -05:00
aecf545446 Fix Archim 1, add Archim 1&2 tests 2021-04-29 08:45:04 -05:00
3b42e0263a Keep watchdog refreshed in LVGL init (#19900) 2021-04-29 08:45:04 -05:00
5a74114e23 Fix some LVGL bugs (#19904) 2021-04-29 08:45:04 -05:00
3bab0fccc2 Fix NO_WORKSPACE_OFFSETS compile 2021-04-29 08:45:04 -05:00
2a8fdb8ee4 Followup for BTN_ENC_EN 2021-04-29 08:45:04 -05:00
6c103b72a2 Clean up comments, USB flash, NULLs 2021-04-29 08:45:04 -05:00
ea9e28bb69 Format Nucleo F767ZI pins 2021-04-29 08:45:04 -05:00
c94afc7592 Fix PASSWORD compile w/out LCD (#19888) 2021-04-29 08:45:04 -05:00
80909e4424 Support Fysetc Mini 12864 + GT2560 A(+) (#19878) 2021-04-29 08:45:04 -05:00
c59f64ce49 Use LiquidCrystal_I2C@1.1.4 for RA_CONTROL_PANEL (#19875) 2021-04-29 08:45:04 -05:00
e232f93018 Update ZMIB_V2 env names (#19886) 2021-04-29 08:45:04 -05:00
62d578de9e Ignore NativeEthernet on AT90USB1286 (#19885) 2021-04-29 08:45:04 -05:00
a625fee035 Add 'BTN_ENC_EN' for SKR V1.4 with DOGM (#19796) 2021-04-29 08:45:04 -05:00
b586a30e7b More LVGL UI code reduction (#19879) 2021-04-29 08:45:04 -05:00
676354f1d1 Fix Anycubic Chiron "Ready" detection (#19880)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
e44a97a096 Update PIO dependencies script 2021-04-29 08:45:04 -05:00
35597ae336 More MKS UI cleanup, optimization (#19869)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
c3e8b46284 Fix Chitu V5/V6 FAN2 pins (#19874) 2021-04-29 08:45:04 -05:00
d3ee5d7dfe Fix warning in gcode_D 2021-04-29 08:45:04 -05:00
2fed3982d6 Pins post-process header (#19860) 2021-04-29 08:45:04 -05:00
f9b04af650 Case light brightness cleanup (#19856)
Co-authored-by: Chris <chris@chrisnovoa.com>
2021-04-29 08:45:04 -05:00
b1b2ecba6c Shorten a method name 2021-04-29 08:45:04 -05:00
6601ca7a22 Fix Chopper Timing extra axis defaults (#19850) 2021-04-29 08:45:04 -05:00
1b51000736 Slim down MKS UI code (#19843) 2021-04-29 08:45:04 -05:00
994cda3b6b Fix TMC serial port for FYSETC AIO_II (#19842) 2021-04-29 08:45:04 -05:00
2becb5ebf7 Configure TMC interpolation per driver (#19828) 2021-04-29 08:45:03 -05:00
32433fae61 FLSUN Delta QQS-Pro pins (#19793) 2021-04-29 08:45:03 -05:00
99ce660aed Add power-on/off G-code options (#19837)
Co-authored-by: Chris <chris@chrisnovoa.com>
2021-04-29 08:45:03 -05:00
01b9badb51 BigTreeTech SKR Mini MZ V1 (#19818) 2021-04-29 08:45:03 -05:00
f27b61cb0f Fresh Web GUI (based on bootstrap.js) (#19812) 2021-04-29 08:45:03 -05:00
52bc509fcf Support for Ramps-S v1.2 (#19815) 2021-04-29 08:45:03 -05:00
2984960793 General cleanup, mostly MKS UI (#19825) 2021-04-29 08:45:03 -05:00
e32bdf6a93 ESP32: i2s_init requires I2S_STEPPER_STREAM 2021-04-29 08:45:03 -05:00
35d75c354e Fix G2/G3 P<circles> E and Z motion (#19797)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:03 -05:00
9f85a15955 Longer3D: LONGER_LK_TFT28 now set by config (#19817) 2021-04-29 08:45:03 -05:00
b1b8161447 Handle dependent Stepper Driver defaults later (#19820)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:03 -05:00
c6f17ac01e Teensy 4.1 Ethernet support (#19801) 2021-04-29 08:45:03 -05:00
53a4b8fa33 Misc. cleanup, serial strings 2021-04-29 08:45:03 -05:00
a90b90e98d Tweak a host prompt call 2021-04-29 08:45:03 -05:00
ff9a27ee9f Use PGM serial strings 2021-04-29 08:45:03 -05:00
cf0a817db1 Ensure A4988 for unspecified driver type (#19798)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:03 -05:00
e00745c548 Document M125 P 2021-04-29 08:45:03 -05:00
af956bbb32 Apply home offsets to probing, Z Safe Homing (#19423)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:03 -05:00
4343a96fac ABM Teensy 3.6 build 2021-04-29 08:45:03 -05:00
9124f1d7c8 Distinct Chopper Timing settings (#19781)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:03 -05:00
32ca42ead3 Fix M503 output for M907 motor current (#19777)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:03 -05:00
25bb249ac6 Fix Smoothieboard digipots i2c pin (#19784) 2021-04-29 08:45:03 -05:00
332adafa23 MarlinUI followup 2021-04-29 08:45:03 -05:00
a44aae268a Starting fan followup 2021-04-29 08:45:03 -05:00
52c090dfbe Fix starting fan with bad material preset index (#19773) 2021-04-29 08:45:03 -05:00
141f6825ce Rename ultralcd => marlinui 2021-04-29 08:45:03 -05:00
fff5649b6a touch_ms followup 2021-04-29 08:45:03 -05:00
34c16bb395 Provide FYSETC F6 13 LCD pins for HD44780 (#19769) 2021-04-29 08:45:03 -05:00
cedc5d340f LCD conditionals followup (#19766) 2021-04-29 08:45:03 -05:00
3becc3ad63 Fix IDEX layer shift and DIR states (#19756)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:03 -05:00
19498040ef Fix HAL/STM32 FastIO for analog pins (#19735) 2021-04-29 08:45:03 -05:00
060b2f4989 Fix Color UI external_control, wait_for_release (#19771)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:03 -05:00
2ecc3bb560 Handle M410 in the main task (#19752) 2021-04-29 08:45:03 -05:00
d5340675ae Fix SAMD Serial name macro (#19765) 2021-04-29 08:45:03 -05:00
dea995e19f Update MKS SGen-L V2 RGB LED pins (#19762) 2021-04-29 08:45:03 -05:00
473abe8eb4 Add ESP32 160MHz to README (#19748) 2021-04-29 08:45:03 -05:00
386e643179 Fix NUCLEO_F767ZI build, add tests (#19746) 2021-04-29 08:45:03 -05:00
1fa19e1fc2 Sanity check unsupported EP (#19745) 2021-04-29 08:45:03 -05:00
13720ce6b2 Fix TOUCH_SCREEN + TFT_LVGL_UI compile (#19754) 2021-04-29 08:45:03 -05:00
02b668baf5 Update Probe Offset Wizard for Color UI (#19742) 2021-04-29 08:45:03 -05:00
57dc1a0649 Fix ADVANCED_PAUSE && !PREVENT_COLD_EXTRUSION (#19740) 2021-04-29 08:45:03 -05:00
8ae8e1e455 Default LASER_POWER_INLINE to OFF (#19727) 2021-04-29 08:45:03 -05:00
7905aa64fa TFT Presets, Generic options, Sanity checks (#19723) 2021-04-29 08:45:03 -05:00
d81abf1d50 Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) 2021-04-29 08:45:03 -05:00
6a5799fc7d Revert at90usb1286 conditional (#19733) 2021-04-29 08:45:03 -05:00
3e4d9aa9bb Fix digipot compilation (#19731) 2021-04-29 08:45:03 -05:00
2004080c9d Fix mega2560ext environment (#19730) 2021-04-29 08:45:02 -05:00
70dc2ee9bb If needed, home before G34 (#19713) 2021-04-29 08:45:02 -05:00
7825fc63a0 Watchdog Refresh for LVGL Asset Load (#19724) 2021-04-29 08:45:02 -05:00
33b2f0700e Add NUCLEO-F767ZI dev board (#19373)
Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com>
2021-04-29 08:45:02 -05:00
647981ef44 Simple bool in soft_endstops_t 2021-04-29 08:45:02 -05:00
252fd66b76 TFT followup fixes (#19710) 2021-04-29 08:45:02 -05:00
1ef1ea0b3e Move @section temperature 2021-04-29 08:45:02 -05:00
14fe7ee414 Fix UTF8 handling for Color UI (#19708) 2021-04-29 08:45:02 -05:00
bd22194438 Sanity-check mutually-exclusive G34 features (#19706) 2021-04-29 08:45:02 -05:00
ea65e10dc7 Add loose soft endstop state, apply to UBL fine-tune (#19681)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
48a24202ef Add D100 Watchdog Test (#19697) 2021-04-29 08:45:02 -05:00
9b1ed45b3e TFT Refactoring (#19192)
* split tft folder in two: tft for color ui; tft_io for shared tft code

* after the files got moved, now the code was moved to the right place

* classic ui using TFT IO init lcd codes

* feature to compile tft_io when enabled

* compiling fix

* lvgl spi tft working with tft io init codes

* there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything

* remove debug

* base for TFT rotation and mirroring API, and ILI9488 support

* ST7796S rotate and mirror support

* ST7789V rotate and mirror support

* ST7735 rotate and mirror support

* ILI9341 rotate and mirror support

* ILI9328 rotate and mirror support

* R61505 rotate and mirror support

* MKS TFT definitions

* more configs for mks tfts

* update config

* naming typo

* to configure the user interface

* ANYCUBIC_TFT35

* tft configs

* support for SSD1963

* tft display types

* updated conditionals lcd; first board fully working with the new code - all 3 ui!

* compatiblity

* changed name

* move classic ui file name

* rename TURN -> ROTATE

* GRAPHICAL_TFT_ROTATE_180 deprecated

* first fsmc board fully working - chitu v5

* mks robin nano v1.2 + tft 35 ok!

* right pin name

* anycubic tft tested in a TRIGORILLA_PRO

* chitu v6

* nano 32 tft orientation

* mks tft43

* mks tft43 rotation

* fixed LONGER LK tft setup

* GRAPHICAL_TFT_UPSCALE defined by the display type

* better offsets defaults

* Update Configuration.h

* Update tft_fsmc.cpp

* Update Conditionals_LCD.h

* Tweak comments

* update nano tests

* Revert "update nano tests"

This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65.

* default tft

* outdated comments

* to not break non-vscode builds

* upscale tft 35

* support tft 180 rotation for color ui

* Each TFT Driver is responsible for its default color mode.

* use auto detect in mks displays, because some of them could be shipped with diferent drivers

* extra s

* unused code

* wrong -1

* missing mirror options

* Smaller regex pattern

* Comment updates

* Clean up old defines

* Apply pins formatting

* GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180

* MKS_ROBIN_TFT_V1_1R

* merge fix

* correct resolution

* auto is default, dont need be there, and it will allow the user to configure it even for named displays

* to not use rotation with MKS_ROBIN_TFT_V1_1R

* i like () in macros

* avoid sleepy commits

* default for st7789 is rgb

* nano follow up

* to allow ili9328 rotation

* default is rgb

* boards merge follow up

* to match bootloader orientation

* HAS_TOUCH_XPT2046 is not hal specific anymore

* lets not forget LPC

* 180 rotation for ili9328 and R61505

* Clean up whitespace

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:02 -05:00
f163f1940d Fix screen click reading too often (#19696)
Co-authored-by: andreibobirica <39415547+andreibobirica@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
fdcd28a0ec Allow MAX31865 resistance values configuration (#19695) 2021-04-29 08:45:02 -05:00
d2863466ac G34 Mechanical Gantry Calibration (like Prusa M915) (#18972)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
5047979340 Add REPORT_TRAMMING_MM option (#19682)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
7ab74d22c4 Fix motion compile w/out probe-oriented settings (#19684) 2021-04-29 08:45:02 -05:00
c1729330c5 Option to prevent (extra) Watchdog init on STM32 (#19693) 2021-04-29 08:45:02 -05:00
2dafba1ad2 Implement wait_for_user for Color UI (#19694) 2021-04-29 08:45:02 -05:00
67e0e6d5ad Fix I2C_ADDRESS sign warning (#19685) 2021-04-29 08:45:02 -05:00
8b4f82cd07 Fix various errors, warnings in example config builds (#19686)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
2c7b5fe1f2 Fix at90usb1286 build (#19687)
* Skip check for USBCON during dependency detection
* Ignore incompatible Teensy_ADC library, which requires Teensy >= 3
* Add IS_AT90USB

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
a30e8baf3e Digipots refactor / cleanup (#19690) 2021-04-29 08:45:02 -05:00
2e01eb9189 Save PLR on resume from pause (#19676)
Co-Authored-By: shahab <32130261+SHBnik@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
2adac87c45 Restore correct STM32 port-bits code (#19678) 2021-04-29 08:45:02 -05:00
72f9fdc05f Fixes for TFTGLCD Panel, FastIO (#19614) 2021-04-29 08:45:02 -05:00
cbed6f4241 HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) 2021-04-29 08:45:02 -05:00
50de8bd6fb Keep HAL tasks running during PID Autotune (#19671) 2021-04-29 08:45:02 -05:00
7e09160ba3 Batch appercase hex values 2021-04-29 08:45:02 -05:00
3facf34f5f Optional M42/M226; Add more features filters (#19664) 2021-04-29 08:45:02 -05:00
2553a18f40 Support for Debug Codes - Dnnn (#19225)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:02 -05:00
0b13608bad Support for FLY MINI (#19185) 2021-04-29 08:45:02 -05:00
8143d70829 Fix touch ifndefs (#19661) 2021-04-29 08:45:02 -05:00
92bbf3ba18 Update Italian language (#19654) 2021-04-29 08:45:02 -05:00
5441ee5a7a Fix and improve Makefile / CMake (#19640) 2021-04-29 08:45:02 -05:00
fde169d3ef Permit touch calibration override 2021-04-29 08:45:02 -05:00
3516c3f936 Use 0xFF (not 'ff') for byte transfer 2021-04-29 08:45:02 -05:00
e6de60d04e Apply env:mega2560ext to relevant boards (#19624) 2021-04-29 08:45:02 -05:00
cd839a251f Update PROBE_OFFSET_WIZARD comment (#19652) 2021-04-29 08:45:02 -05:00
fadee1b46b More accessible PROBE_OFFSET_WIZARD (#19647) 2021-04-29 08:45:02 -05:00
3e9c6c6297 Restore ° to 6x9 small info font (#19645) 2021-04-29 08:45:02 -05:00
45385e737c Chamber vent/fan followup 2021-04-29 08:45:02 -05:00
c86e14c6ff Fix small font section directive, mixer warning 2021-04-29 08:45:01 -05:00
b5da52007b Update language fonts 2021-04-29 08:45:01 -05:00
22ef4fe26c Add Chamber servo vent, auto fan (#19519) 2021-04-29 08:45:01 -05:00
ebca2efb24 Fix Ender-3 V2 DWIN Stop SD Print (#19642)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:01 -05:00
61d500462c Improve retract / unretract labels 2021-04-29 08:45:01 -05:00
6002dc634e Trailing whitespace 2021-04-29 08:45:01 -05:00
563bd01789 Sync config to examples 2021-04-29 08:45:01 -05:00
cc863ba378 Z Probe Offset Wizard (#18866) 2021-04-29 08:45:01 -05:00
fb28e0cba9 Allow bypass for cold E movement (#19606) 2021-04-29 08:45:01 -05:00
cd33062a81 Fix Archim1 stepper timing (with new variant) (#19596) 2021-04-29 08:45:01 -05:00
1ac7cf2ab6 Add HAS_FAST_MOVES 2021-04-29 08:45:01 -05:00
53b7ad3a92 Fix Z_AFTER_HOMING without probe (#19607) 2021-04-29 08:45:01 -05:00
01c161d380 Move SF_ARC_FIX option 2021-04-29 08:45:01 -05:00
af4c2dab8d Fix German translation purging/unloading (#19615) 2021-04-29 08:45:01 -05:00
2a755d68d9 Shared singlenozzle item 2021-04-29 08:45:01 -05:00
770f2b1e02 Fix Tune/Fan edit items
- Fixes #19617
- Followup to #18400
2021-04-29 08:45:01 -05:00
85c6ffb364 Fix 'bossac' upload on Windows (#19545) 2021-04-29 08:45:01 -05:00
bf3f7ae5b9 Touch UI support for X2, Y2 and Z2 (#19538) 2021-04-29 08:45:01 -05:00
9804677669 Fix wrappers on HAL/STM32F1 .cpp files (#19581)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:01 -05:00
c5614c8529 Fix TEMP_ADC_PROBE support for STM32F1 (#19582)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
2021-04-29 08:45:01 -05:00
6bafa69f8f Add Configurations repo info to config/README.md (#19583)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:01 -05:00
a2c4c4a916 Fix compile of MMU2 with S-mode disabled (#19584) 2021-04-29 08:45:01 -05:00
de42ef017f Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) 2021-04-29 08:45:01 -05:00
69917690f3 Adjust HAL platform defines, comments 2021-04-29 08:45:01 -05:00
02b17886c9 Replace tabs with spaces 2021-04-29 08:45:01 -05:00
0507df61b2 Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) 2021-04-29 08:45:01 -05:00
0af95b188a G35 workaround for Pronterface "feature" (#19577) 2021-04-29 08:45:01 -05:00
bf3b36ae6a Fix Anycubic i3 Mega target temperature display (#19572)
Also includes a workaround for missing (probably un-fetched) long name in file listing
2021-04-29 08:45:01 -05:00
58ce9a85c1 No move on Park = No move on Resume (#19569) 2021-04-29 08:45:01 -05:00
dc5f86e039 Update Slovak language (#19561) 2021-04-29 08:45:01 -05:00
46c8775542 Fix Buzzer (pin) init for uninitialized FastIO (#19559) 2021-04-29 08:45:01 -05:00
059d966d7b Fix Move Screen with disabled Touch (#19558) 2021-04-29 08:45:01 -05:00
2069ab3a15 Anycubic Chiron full feature support (#19505) 2021-04-29 08:45:01 -05:00
bb90bc6165 Fix up E3 DWIN Power Panic 2021-04-29 08:45:01 -05:00
de4f882a22 Fetch longname when a file exists 2021-04-29 08:45:01 -05:00
9aff5cb095 Add extra CardReader debugging 2021-04-29 08:45:01 -05:00
782b9ce69e Improve Power-Loss Recovery (#19540) 2021-04-29 08:45:01 -05:00
806c908091 Fix diveToFile with open Dir object (#19539)
* Fix CardReader diveToFile
* Add CardReader::fileExists
2021-04-29 08:45:01 -05:00
04a712dacc Multi-line comments cleanup (#19535) 2021-04-29 08:45:01 -05:00
3453d2d17a Change "Fr" on LCD to ">>" (#18830) 2021-04-29 08:45:00 -05:00
25bf561aed Default E3 V2 to English 2021-04-29 08:45:00 -05:00
ad3c475dd1 Tweaks to git helpers 2021-04-29 08:45:00 -05:00
85573909d1 Update configs to 020007 2021-04-29 08:45:00 -05:00
63e6437d66 MarlinUI for SPI/I2C TFT-GLCD character-based display bridge (#19375) 2021-04-29 08:45:00 -05:00
58deab1915 Rename LCD conditionals (#19533) 2021-04-29 08:45:00 -05:00
ac900b17e0 Prettier INI 2021-04-29 08:45:00 -05:00
a11ba51389 Menu tweak 2021-04-29 08:45:00 -05:00
5cd004defe Update AnyCubic deps 2021-04-29 08:45:00 -05:00
03a5c7f52a Thermistor: Kis3d Silicone heater + precision cast plate (#19528) 2021-04-29 08:45:00 -05:00
717de1e703 Working LCD_USE_DMA_FSMC (#19522) 2021-04-29 08:45:00 -05:00
33f291d769 Fix Allen Key Probe pin test (#19520) 2021-04-29 08:45:00 -05:00
7f93173659 LVGL followup fixing "C", etc. (#19517) 2021-04-29 08:45:00 -05:00
4648351270 CardReader cleanup 2021-04-29 08:45:00 -05:00
4bd1ecf8a7 E3 DWIN: "No Media" message 2021-04-29 08:45:00 -05:00
584c836918 E3 DWIN: General cleanup 2021-04-29 08:45:00 -05:00
ac0511f02a Allow M524 between M23 and M24 2021-04-29 08:45:00 -05:00
32b854a98b Drop extra Bed PID 2021-04-29 08:45:00 -05:00
943a594ba0 Tweak MMU beeps, misc. cleanup 2021-04-29 08:45:00 -05:00
def328eec1 MMU2 S Mode spins the BMG gears during C0 (#19429) 2021-04-29 08:45:00 -05:00
e26edbc623 Allow ColorUI color customization (#19484) 2021-04-29 08:45:00 -05:00
d06e526dc2 Fix MBL "Click to continue" on Color UI touchscreen (#19514) 2021-04-29 08:45:00 -05:00
9a2de1570c SKR E3 Turbo followup (#19513) 2021-04-29 08:45:00 -05:00
3065e4f941 Fix SKR 1.4 thermistor pin comments (#19510) 2021-04-29 08:45:00 -05:00
0fedd76819 Fix MKS Robin undefined pins error (#19507) 2021-04-29 08:45:00 -05:00
fd83407991 Escape the M33 string arg (#19515) 2021-04-29 08:45:00 -05:00
3d521a2e34 TFT: No timeout on Move Screen (#19426) 2021-04-29 08:45:00 -05:00
affb5e53df Sanity check old serial names 2021-04-29 08:45:00 -05:00
d6b1563655 BigTreeTech SKR E3 Turbo (#19500) 2021-04-29 08:45:00 -05:00
9d02cedfed Fix and improve STM32F1 serial (#19464) 2021-04-29 08:45:00 -05:00
449a31dea9 Fix some pin inits 2021-04-29 08:45:00 -05:00
bfa6cd3693 HAL/serial followup 2021-04-29 08:45:00 -05:00
f588d50d57 HAL and serial cleanup
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>
2021-04-29 08:45:00 -05:00
27c067612c Whitespace cleanup 2021-04-29 08:45:00 -05:00
a3a5b334c4 Define UART pins for LPC debug based on LPC_PINCFG_UART (#19475) 2021-04-29 08:45:00 -05:00
cbaba010f2 Preserve brightness in EEPROM validate (#19485)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:00 -05:00
8b69d697dd Teensy pins cleanup 2021-04-29 08:45:00 -05:00
632ac54440 MKS Robin Mini uses ONBOARD_SPI_DEVICE (#19460) 2021-04-29 08:45:00 -05:00
873b5db13d Include pins.h in dependencies script (#19468) 2021-04-29 08:45:00 -05:00
1978a29678 New Touch UI buttons (#19465) 2021-04-29 08:45:00 -05:00
f34ea44d73 Catch a TMC address conflict early (#19458) 2021-04-29 08:45:00 -05:00
bc081473f2 Fix up tests, warnings 2021-04-29 08:45:00 -05:00
0b18034055 Fix Teensy 4.1 include 2021-04-29 08:45:00 -05:00
d1eeb692c1 Update board/teensy comment (#19456) 2021-04-29 08:45:00 -05:00
05680a4662 MKS SGEN L V2 adaptable heaters/fans (#19462) 2021-04-29 08:45:00 -05:00
a08217a33c Define <u8,u8,u8>::softSPI (#19419) 2021-04-29 08:45:00 -05:00
5ccb2c62a9 Fix up K8800 pins (#19476) 2021-04-29 08:44:59 -05:00
9dd49b6c6a Update pins_ANET_10.h 2021-04-29 08:44:59 -05:00
b52a2176fe Replace Serial with Serial1 in pins files (#19459) 2021-04-29 08:44:59 -05:00
d2a36b38ca Optional menu item for Assisted Tramming (#19447) 2021-04-29 08:44:59 -05:00
33788c8405 Add MKS Robin E3P, improve LVGL UI (#19442) 2021-04-29 08:44:59 -05:00
32cd5a3dc4 Add HAS_ROTARY_ENCODER 2021-04-29 08:44:59 -05:00
ee1232051c Cleanup before MKS changes 2021-04-29 08:44:59 -05:00
b3890d385c Add multi-extruder condition 2021-04-29 08:44:59 -05:00
5a35595a3a Whitespace cleanup 2021-04-29 08:44:59 -05:00
584a8cd1a8 Fix Creality DWIN Control menu icons (#19441) 2021-04-29 08:44:59 -05:00
7a0d655292 Ultratronics Pro SPI pins (#19444) 2021-04-29 08:44:59 -05:00
2f483a25e9 Optional Host Start menu item (#19443) 2021-04-29 08:44:59 -05:00
7735be367f Fix case light brightness save/load (#19436) 2021-04-29 08:44:59 -05:00
a50633d8e0 Fix compile for Taz Pro (#19424) 2021-04-29 08:44:59 -05:00
dc7e2965d6 Change some dwin defines 2021-04-29 08:44:59 -05:00
9065a8da89 Fix CoreXY compile with backlash cal. (#19422) 2021-04-29 08:44:59 -05:00
9d60047018 Fix missing include (#19418)
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2021-04-29 08:44:59 -05:00
9d5f978d00 Move screen for Color UI (#19386) 2021-04-29 08:44:59 -05:00
23376b8a31 Host Action: Start (#19398) 2021-04-29 08:44:59 -05:00
70c5871910 Expose JOYSTICK_DEBUG to the general user (#19394)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:59 -05:00
9d1b1cf073 Fix MKS UI SPI flash typo (#19410) 2021-04-29 08:44:59 -05:00
90dea98a14 Add warning to ExtUI Bed Mesh Screen. (#19397)
- Show a warning on the Mesh Bed Leveling screen if some points aren't probed.
2021-04-29 08:44:59 -05:00
9cdb8ca244 SHOW_REMAINING_TIME for HD44780 character LCD (#19416) 2021-04-29 08:44:59 -05:00
7e56e6c4ea E3 V2 DWIN: Z-Offset, cleanup, versatility (#19384)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:59 -05:00
c407c08b0b Add more DWIN commands, docs (#19395) 2021-04-29 08:44:59 -05:00
08a7dedbc9 Fix missing spaces in info menu (#19404) 2021-04-29 08:44:59 -05:00
68c98811a1 Demo and test multiple PID defaults (#19413) 2021-04-29 08:44:59 -05:00
07f13c28ee MarlinUI percent methods for all 2021-04-29 08:44:59 -05:00
fbd812ebb3 More DWIN cleanup 2021-04-29 08:44:59 -05:00
34d0b5de90 E3 V2 DWIN cleanup 2021-04-29 08:44:59 -05:00
d3f88a2482 Only set up SPI pins as needed (#19372) 2021-04-29 08:44:59 -05:00
8debad803c More strict STATIC_ITEM_N (#19378) 2021-04-29 08:44:59 -05:00
9aceb3711b Add missing FTDI EVE menu source (#19382) 2021-04-29 08:44:59 -05:00
8e3ac54de3 Allow E3 V2 DWIN without EEPROM, POWER_LOSS_RECOVERY 2021-04-29 08:44:59 -05:00
2877dc9794 M115 strings 2021-04-29 08:44:59 -05:00
c6e35ce066 Always show Compiled: 2021-04-29 08:44:59 -05:00
7742e70865 Better choice of code
Followup to #19344
2021-04-29 08:44:59 -05:00
4fdfdaf2e6 Improve temperature runaway, idle timeout (#19339)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:59 -05:00
2396b4e27f heater_ind_t => heater_id_t 2021-04-29 08:44:59 -05:00
a941faccb0 Allow SWD debug on Robin Nano (#19345) 2021-04-29 08:44:59 -05:00
196a72b29e Touch UI "Leveling" menu, misc. fixes (#19349) 2021-04-29 08:44:59 -05:00
c1dcbab932 Fix extra string substitution bug (#19351) 2021-04-29 08:44:59 -05:00
4d14667266 Read from backup TMC StealthChop state (#19364) 2021-04-29 08:44:59 -05:00
c517c2ea65 Fix EXP2 pin define for MKS SGEN_L (#19369) 2021-04-29 08:44:59 -05:00
ee32e3eb40 Update Italian language (#19365) 2021-04-29 08:44:59 -05:00
09d1bf37e7 Highlight Creality DWIN menu icons (#19368) 2021-04-29 08:44:59 -05:00
bf6ce68ed1 M872 wait for probe temperature (#19344) 2021-04-29 08:44:59 -05:00
ad5e73d772 Fix Print Stats appearance (#19348) 2021-04-29 08:44:59 -05:00
26492ff0ea Fix Creality RET6 env - RE (#19340) 2021-04-29 08:44:59 -05:00
ade9476721 Clean up W25QXXFlash class 2021-04-29 08:44:59 -05:00
a2a53406c8 Use F() for Ender 3 V2 DWIN 2021-04-29 08:44:59 -05:00
5e3d051b6a Translate encoder comments 2021-04-29 08:44:59 -05:00
e48b283e39 Fix missing BOARD_K8800 (#19331) 2021-04-29 08:44:59 -05:00
3adb07aa00 Fix "too cold" in M600 (#19332) 2021-04-29 08:44:59 -05:00
136b7a5305 Warning if SDCARD_READONLY should be disabled 2021-04-29 08:44:59 -05:00
d6bbcd020b General cleanup 2021-04-29 08:44:59 -05:00
42619a3a81 LPC: Finish DMA transfer, use HW SPI class (#19191) 2021-04-29 08:44:59 -05:00
8393c6a63d Raise STM32F1 UART IRQ Priority, add error handling (#19301)
(Error handling for Overrun, Framing and Parity.)
2021-04-29 08:44:59 -05:00
13f2915b65 Fix Separate Neopixel menu labels (#19303) 2021-04-29 08:44:58 -05:00
f7885bbdde Warn in platformio.ini about RCT6 512K (#19312) 2021-04-29 08:44:58 -05:00
ba6659f6be Fix ExtUI SD sorting, compile issues 2021-04-29 08:44:58 -05:00
2af9e2f759 MKS Gen L V2.1 (#19314) 2021-04-29 08:44:58 -05:00
e6cf959170 Fix compile with Danish, Basque (#19325) 2021-04-29 08:44:58 -05:00
ea39d3c45e Support for Teensy 4 (#19311) 2021-04-29 08:44:58 -05:00
a8904d25ba Minor HAL cleanup 2021-04-29 08:44:58 -05:00
784016a25e Update HAL/STM32 platform to 8.0 (#18496) 2021-04-29 08:44:58 -05:00
5fcfecc56e Make M600 heat up the nozzle. Reset runout on fail. (#19298)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:44:58 -05:00
09a5014b3c TFT is neither "graphical" nor "character" (#19297) 2021-04-29 08:44:58 -05:00
f5dc18730c Sanity-check BABYSTEP_DISPLAY_TOTAL with ColorUI (#19284) 2021-04-29 08:44:58 -05:00
0bd7a2fc7e Fix M166 Gradient Mix for DELTA (#19285) 2021-04-29 08:44:58 -05:00
b186ab90a2 Separate Neopixel followup (#19287) 2021-04-29 08:44:58 -05:00
c360705e6a Clean up LCD conditionals, DWIN 2021-04-29 08:44:58 -05:00
9172271c7f Whitespace cleanup 2021-04-29 08:44:58 -05:00
a1860ed680 Adjust GTR PeripheralPins to avoid timer conflicts (#19183) 2021-04-29 08:44:58 -05:00
643f192515 STM32F1 EP with USB_COMPOSITE (#19281) 2021-04-29 08:44:58 -05:00
a8db9f52ec Menu items for Separate NeoPixel (#19280) 2021-04-29 08:44:58 -05:00
83dba77955 Clarify disabling StallGuard for axes (#19263) 2021-04-29 08:44:58 -05:00
e79af802b1 Touch UI long filenames fixes (#19262)
* Improvements to FTDI DLCache functionality.
* Better handling of long file names in Touch UI
- Long file names now truncated and shown with ellipsis.
- Increased display cache buffer to allow for longer filenames.
- Visual error message when display cache is exceeded.
2021-04-29 08:44:58 -05:00
3a1145b999 Fix Ender 3 V2 (DWIN) buffer overrun (#19268) 2021-04-29 08:44:58 -05:00
24fbfae0fd Fix STM32F1 SPI device init, MKS_LCD12864 (#19271) 2021-04-29 08:44:58 -05:00
563bd5b5bc Emergency Parser for STM32F1 (#19279) 2021-04-29 08:44:58 -05:00
c1d9e8d571 SD card debugging 2021-04-29 08:44:58 -05:00
f7cb9455c8 No 'ls' if media isn't mounted 2021-04-29 08:44:58 -05:00
d94b5b5ad0 Fix Creality V4 SD Detect 2021-04-29 08:44:58 -05:00
e2625db1dd Tweak ESP32 Wifi sanity-check message (#19257) 2021-04-29 08:44:58 -05:00
47753d8a01 MarkForged kinematics (#19235) 2021-04-29 08:44:58 -05:00
94809feac7 Smoothieboard GLCD w/ SD support (#19241) 2021-04-29 08:44:58 -05:00
6a511b6ea7 Only show "SD Init Fail" with detectable media (#19236) 2021-04-29 08:44:58 -05:00
ffba220ae8 Separate Neopixel followup (#19250) 2021-04-29 08:44:58 -05:00
43e40524c4 Fix Longer3D TFT defines, disable DMA (#19251) 2021-04-29 08:44:58 -05:00
4f1a14532b Hide multi-step G29 on Ender 3 V2 2021-04-29 08:44:58 -05:00
c113984b32 Fix UBL 'G29 I' for large meshes (#19231) 2021-04-29 08:44:58 -05:00
edba363d54 MKS SGEN L V2 (#18822) 2021-04-29 08:44:58 -05:00
919ea2a76d Fail SD mount without SPI re-init (#19226) 2021-04-29 08:44:58 -05:00
755a4440e7 Fix Anycubic LCDs / Trigorilla 1.4 pins (#19220) 2021-04-29 08:44:58 -05:00
c7335bcd4d Separate Neopixel followup (#19224) 2021-04-29 08:44:58 -05:00
881bb7bf0a Delete old LCD strings (#19227) 2021-04-29 08:44:58 -05:00
2212bf85b7 Fix Anycubic I3 Mega (S) original screen % display (#19210) 2021-04-29 08:44:58 -05:00
0c85e2838c Update German, fix Mix component index (#19206) 2021-04-29 08:44:58 -05:00
7967590682 Permit touch params override w/ Robin nano (#19196) 2021-04-29 08:44:58 -05:00
df7e35ccd7 Separate Neopixels followup (#19179) 2021-04-29 08:44:58 -05:00
414136f33a Fix 'cmd' array warning (#19193) 2021-04-29 08:44:58 -05:00
ee572856e9 Add set_all_homed 2021-04-29 08:44:58 -05:00
7d2e4481c7 Mark axes not-homed with HOME_AFTER_DEACTIVATE (#18907) 2021-04-29 08:44:58 -05:00
d10f7eae31 set_axis_not_trusted => set_axis_never_homed 2021-04-29 08:44:58 -05:00
757ab484ac Independent Neopixel option (#19115) 2021-04-29 08:44:58 -05:00
d62933fba5 Fix Creality V4 probe pin 2021-04-29 08:44:58 -05:00
a6829838c6 Fix small typø 2021-04-29 08:44:58 -05:00
fd1731a7b9 Allocate sufficient MSG_MOVE_Z_DIST buffer
See #19158
2021-04-29 08:44:58 -05:00
9419331500 One MARLIN_DEV_MODE warning per rebuild (#19163) 2021-04-29 08:44:58 -05:00
8a24c33151 FYSETC S6 2.0 (#19140) 2021-04-29 08:44:58 -05:00
f5e94cd7f1 Fix SINGLENOZZLE fan speed bug (#19152) 2021-04-29 08:44:58 -05:00
7769f19bf5 Fix NEOPIXEL_STARTUP_TEST last delay (#19156) 2021-04-29 08:44:58 -05:00
3b4779fa15 TFT (plus Hardware SPI) for LPC (#19139) 2021-04-29 08:44:58 -05:00
5059586fc3 Prusa => Průša 2021-04-29 08:44:58 -05:00
8670f475b8 Direct Stepping update (#19135) 2021-04-29 08:44:57 -05:00
1b129ede4e Fixes to FTDI Touch UI (#19134)
- Fix unused variable warning
- Fix for filament runout sound
- Fix for developer menu access
- Fix compilation error when using CALIBRATION_GCODE
- Remove material labels in change filament screen
- Add decimals to status screen Z coordinate
- Add more descriptive message on heater timeout
2021-04-29 08:44:57 -05:00
6844ef21d4 Add Einsy Rambo Filament Runout Pin (#19136) 2021-04-29 08:44:57 -05:00
6043f5d5d0 Fix SD pins for SKR Pro and GTR (#19047) 2021-04-29 08:44:57 -05:00
0070a0642b Warn about MARLIN_DEV_MODE 2021-04-29 08:44:57 -05:00
9bf6ddd4f1 No COM_PIN needed for DWIN 2021-04-29 08:44:57 -05:00
0decb50fcd LEDs followup (#19133) 2021-04-29 08:44:57 -05:00
40b89456af Color UI + Robin Nano test (#19118) 2021-04-29 08:44:57 -05:00
008362cd77 Fix auto-power in PID autotune (#19119) 2021-04-29 08:44:57 -05:00
9d2241efe7 Minor cleanup w/r/t LEDs 2021-04-29 08:44:57 -05:00
f473145d42 TFT32 for MKS Robin Nano 1.2 (#19031) 2021-04-29 08:44:57 -05:00
b93a4bae45 Feedrate comment (#19116) 2021-04-29 08:44:57 -05:00
42604cf4b2 Neopixel => NeoPixel 2021-04-29 08:44:57 -05:00
19a237bbb0 Fix up conditions, comments 2021-04-29 08:44:57 -05:00
ba3b995e58 Fix DUET_SMART_EFFECTOR 2021-04-29 08:44:57 -05:00
e7b730528e Consistent static/value item macros 2021-04-29 08:44:57 -05:00
db04bcb727 Fix probing margin sanity-check 2021-04-29 08:44:57 -05:00
f3d0b49928 PGMSTR constexpr => const 2021-04-29 08:44:57 -05:00
fe89f5fdff NOZZLE_CLEAN_NO_Y (#18870) 2021-04-29 08:44:57 -05:00
05d2bb0df5 Change XY_PROBE_SPEED format to (x*60) (#18997) 2021-04-29 08:44:57 -05:00
98ec7b61a9 Reformat pins files 2021-04-29 08:44:57 -05:00
8565f1e681 Permit ST7789V orientation override (#19044) 2021-04-29 08:44:57 -05:00
3aa5b45768 Prefer Servo AVR timer4 over 3 (#19025) 2021-04-29 08:44:57 -05:00
e02fb4a862 DIGIPOT_I2C pins for SMOOTHIEBOARD (#19098) 2021-04-29 08:44:57 -05:00
ee19e1d3ff Translatable strings on Ender-3 V2 DWIN (#19053)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:57 -05:00
fe1e880ffe HIGH/LOW naming of pin state settings (#19089) 2021-04-29 08:44:57 -05:00
a5dc42c47c Update copy_marlin_variant_to_framework.py 2021-04-29 08:44:57 -05:00
070412a6a5 GRAPHICAL_TFT_ROTATE_180 for ST7789V (#19042) 2021-04-29 08:44:57 -05:00
0ffd5aa743 CI with PIO-dev (#19058) 2021-04-29 08:44:57 -05:00
744f74506f More menu header fu 2021-04-29 08:44:57 -05:00
46744e8433 Creality3D v4.2.7 (#19088) 2021-04-29 08:44:57 -05:00
038945110f Optional homing in LCD Repeatability Test (#19104) 2021-04-29 08:44:57 -05:00
7852b06038 Menu headers followup 2021-04-29 08:44:57 -05:00
dded56c4bb Emulated DOGM via HAL TFT, XPT IO (#19017) 2021-04-29 08:44:57 -05:00
7dea6c53ed Remove extraneous defines 2021-04-29 08:44:57 -05:00
fd0a3df315 Header for individual menus 2021-04-29 08:44:57 -05:00
a1bdc1974a Broadcast SD Print Completion (#19102) 2021-04-29 08:44:57 -05:00
24636eb7f1 Fix M512 comment (#19108) 2021-04-29 08:44:57 -05:00
737a5453d9 Allow 'ghtp' to set a specific remote 2021-04-29 08:44:57 -05:00
f860152a35 Fix up mixer menu display 2021-04-29 08:44:57 -05:00
87d2c471db Apply specific menu item types 2021-04-29 08:44:57 -05:00
ca54d67814 Fix Select Screen cancel destination 2021-04-29 08:44:57 -05:00
615af841f0 Update some comments 2021-04-29 08:44:57 -05:00
c43d264d3e Add custom_verbose, custom_gcc deps flags 2021-04-29 08:44:57 -05:00
d1aed52280 Move ExtUI displays to sub-folder (#19070) 2021-04-29 08:44:57 -05:00
7e7e870eae Config adjustments 2021-04-29 08:44:57 -05:00
f7dade8c2c Configurable number of M106 fans (#18883) 2021-04-29 08:44:57 -05:00
24139c6ff0 Env mega2560ext adds pins 70-85 (#19022) 2021-04-29 08:44:57 -05:00
16c1e80491 Default Filament Runout Sensor enabled state (#19013) 2021-04-29 08:44:57 -05:00
5a7979b435 Fix __ARM__ / __arm__ typo (#19063) 2021-04-29 08:44:57 -05:00
349bddc652 "SD init fail" status error (#19064) 2021-04-29 08:44:57 -05:00
acc90ad09f Fix PSU on for PID autotune (#19066) 2021-04-29 08:44:57 -05:00
7a750156ef Creality DWIN cleanup 2021-04-29 08:44:57 -05:00
8075eafe91 Creality DWIN simple beeper 2021-04-29 08:44:57 -05:00
58975fc8b5 Checks for CR10_STOCKDISPLAY with Creality v4 (#19019) 2021-04-29 08:44:57 -05:00
8320c43589 Fix IS_PROBE_PIN macro (#19024) 2021-04-29 08:44:57 -05:00
73d1a98ce6 Update build script for PIO 4.4 (#19034) 2021-04-29 08:44:57 -05:00
f9f514a46c Fix ExtUI base methods 2021-04-29 08:44:57 -05:00
16f2f2bce7 Let laser/spindle use free AVR servo timers (#19011) 2021-04-29 08:44:57 -05:00
8258a76c9b Wait for hotend temp before Resume move (#19009) 2021-04-29 08:44:56 -05:00
c9ddbaa2c0 ENDER2_STOCKDISPLAY for BTT SKR 1.4 (and Turbo) (#19002) 2021-04-29 08:44:56 -05:00
a99c844296 Add option to arrange Neopixel sets in series (#18992) 2021-04-29 08:44:56 -05:00
492f49c06a Unhide /src folders in Sublime 2021-04-29 08:44:56 -05:00
80480ae919 M80 followup 2021-04-29 08:44:56 -05:00
1327eaa83b Do runout.reset after EEPROM read 2021-04-29 08:44:56 -05:00
eee101b9dd Clean up M80/M81, DWIN 2021-04-29 08:44:56 -05:00
77ab354a5a Fix touch test 2021-04-29 08:44:56 -05:00
1801eb6393 config-labels.py needs py3 2021-04-29 08:44:56 -05:00
28d6dc38af Fix 'sync_plan_position' call (#19016) 2021-04-29 08:44:56 -05:00
dc6e3d083e TFT: Restore ILI9341 colors and reversed logic (#19010)
Followup to #18877, #18901, #18817
2021-04-29 08:44:56 -05:00
4e7c5f19fe Optimize LVGL with HAL TFT IO (SPI and FSMC) (#18974) 2021-04-29 08:44:56 -05:00
3dfbdbc66c String interpolation for 2-digit numbers (#18998) 2021-04-29 08:44:56 -05:00
95f373448d Mention units for MANUAL_FEEDRATE (#18993) 2021-04-29 08:44:56 -05:00
648b253f41 EVENT_GCODE_SD_STOP => ABORT (#18978) 2021-04-29 08:44:56 -05:00
3e2b272239 MKS Robin new 320x240 TFT Color UI support (#18985) 2021-04-29 08:44:56 -05:00
489143f160 Add'l CI/git script tweaks, fixes 2021-04-29 08:44:56 -05:00
3eafce4683 For FTDI800 compatibility, remove VERTEX_FORMAT dependency (#18982) 2021-04-29 08:44:56 -05:00
b23da503fa Fix Ender-3 V2 DWIN with manual mesh, host prompt (#18981) 2021-04-29 08:44:56 -05:00
cae4c76b56 Fix scripts using gawk and wget 2021-04-29 08:44:56 -05:00
069993e880 Fix DISABLE_[XYZE] code (#18970)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:56 -05:00
ftk
a13834b9f9 Remaining Time for LIGHTWEIGHT_UI (#18875) 2021-04-29 08:44:56 -05:00
c82ff17d3b Followup for SPI Flash 2021-04-29 08:44:56 -05:00
ca8fbbc2be Shorthand values for M575 B 2021-04-29 08:44:56 -05:00
b94b3e6315 Tool-change Z move followup (#18963) 2021-04-29 08:44:56 -05:00
ab61bcafa3 Password followup 2021-04-29 08:44:56 -05:00
9e44df9c5f Password via G-code and MarlinUI (#18399)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:56 -05:00
438a9bb4aa W25QXX SPI Flash support (#18897)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:56 -05:00
6f686b1801 Marlin Color UI for STM32F1 (SPI) (#18958) 2021-04-29 08:44:56 -05:00
d7d3827f47 Fix compiler search in non-default PIO installs (#18960) 2021-04-29 08:44:56 -05:00
ad30383b46 Fix up STATIC_ITEM (#18962) 2021-04-29 08:44:56 -05:00
9af3b06fc2 Marlin Color UI (FSMC) for STM32F1 (#18952) 2021-04-29 08:44:56 -05:00
f395960741 Patch hex_print 2021-04-29 08:44:56 -05:00
02eb4bd806 General cleanup 2021-04-29 08:44:56 -05:00
24f0c9da11 Clean up whitespace 2021-04-29 08:44:56 -05:00
3dc0f9c0b4 configuration_store => settings 2021-04-29 08:44:56 -05:00
8af8ef4404 Use uintptr_t for pointer-to-int 2021-04-29 08:44:56 -05:00
7a8e99de7d Fix Z height after tool change (#18951) 2021-04-29 08:44:56 -05:00
8d6a263c1c HW PWM sanity checks for SPINDLE_LASER_FREQUENCY (#18947) 2021-04-29 08:44:56 -05:00
cb18b858d4 ZoneStar Z6FB (#18918)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:56 -05:00
cd977c70ca Fix / optimize FSMC init (#18941) 2021-04-29 08:44:56 -05:00
57c3b0e0b7 Fix LVGL "C" brace (#18942) 2021-04-29 08:44:56 -05:00
0e70d8bacb Followup fixes to LVGL for Chitu (#18940) 2021-04-29 08:44:56 -05:00
8f0cd470ae Apply PIO-supported custom_option for deps (#18935) 2021-04-29 08:44:56 -05:00
48ddaf35fb Increase Manual E Move Feedrate to 2mm/s (#18937) 2021-04-29 08:44:56 -05:00
9493682e49 MKS Robin Nano CI Tests (#18927) 2021-04-29 08:44:56 -05:00
da6e5ce3db Optimize G-code / feature dependencies (#18919) 2021-04-29 08:44:56 -05:00
f4894b7140 More Anycubic + Trigorilla mappings, ExtUI (#18903) 2021-04-29 08:44:56 -05:00
7d3be90159 Conditions cleanup 2021-04-29 08:44:56 -05:00
76eff24718 Simple rename of hex_print 2021-04-29 08:44:56 -05:00
e8dc7cad18 General cleanup 2021-04-29 08:44:56 -05:00
4201a48ecf Request files needed to test a PR (#18925) 2021-04-29 08:44:56 -05:00
c0d031cd1e Add Chitu 3D V6 2nd Filament Runout pin (#18922) 2021-04-29 08:44:56 -05:00
1a50260ebd Followup to LVGL patch (#18920) 2021-04-29 08:44:56 -05:00
38a24ce6c9 Move Cancel Object menu, fix canceled item index (#18930) 2021-04-29 08:44:56 -05:00
a0a87c2b81 SPI Flash data compression (#18879) 2021-04-29 08:44:55 -05:00
a100306b00 Followup to #18906 Z_AFTER_DEACTIVATE 2021-04-29 08:44:55 -05:00
17bbcce52b Make ili9341 rotatable (e.g., Anycubic Predator) (#18877) 2021-04-29 08:44:55 -05:00
0b2bd123ef Change include to <stddef.h> (#18880) 2021-04-29 08:44:55 -05:00
ea53abbca7 Update Slovak language (#18884) 2021-04-29 08:44:55 -05:00
7f69f8e680 Update Italian language (#18886) 2021-04-29 08:44:55 -05:00
301569bee6 Add Z_AFTER_DEACTIVATE to account for gravity (#18906) 2021-04-29 08:44:55 -05:00
e82e94be5b Fix MKS Nano v1.2 FSMC display (#18901) 2021-04-29 08:44:55 -05:00
0c07e7a96f Assisted Tramming requires a probe (#18912) 2021-04-29 08:44:55 -05:00
7dd7d6dda6 Move scaled TFT / touch defines (#18915) 2021-04-29 08:44:55 -05:00
3bb1f0a7df Clean up some PeripheralPins 2021-04-29 08:44:55 -05:00
a0d25379b2 No mks_robin extra_scripts in Trigorilla build (#18872) 2021-04-29 08:44:55 -05:00
643b31a6a1 Fix Spindle/Laser PWM DC (#18871) 2021-04-29 08:44:55 -05:00
0e2013d244 Fix FLYF407ZG pins (#18865) 2021-04-29 08:44:55 -05:00
e6c95762ba Fix Duplicator i3 Plus pin diagram (#18862) 2021-04-29 08:44:55 -05:00
b66df5fa3c Translated DWIN screen titles (#18893)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:55 -05:00
afb51d1de3 Repair config order 2021-04-29 08:44:55 -05:00
db290201ea Add monitor_flags 2021-04-29 08:44:55 -05:00
ed5ae0a2f7 Update include_tree 2021-04-29 08:44:55 -05:00
8f8b0d84ae Support for TFT & Touch Screens (#18130) 2021-04-29 08:44:55 -05:00
3fbc002bad SanityCheck: No Adafruit NeoPixel for STM32F1 (#18833) 2021-04-29 08:44:55 -05:00
60cc56b31c No HEATER_0_PIN needed with 0 EXTRUDERS (#18827) 2021-04-29 08:44:55 -05:00
fc12ffcb30 SPI Emulated DOGM (like FSMC_GRAPHICAL_TFT, but SPI) (#18817) 2021-04-29 08:44:55 -05:00
0c1bf01cf7 In G28 Z is sort-of known 2021-04-29 08:44:55 -05:00
bb21d79321 Fix UNKNOWN_Z_NO_RAISE in G28
Bug introduced in 73fc0778b8
2021-04-29 08:44:55 -05:00
c63c069d58 Fix URLs to websites and resources (#18844) 2021-04-29 08:44:55 -05:00
513d3172cb Update keypad link 2021-04-29 08:44:55 -05:00
5c699ab406 Typo fix (#18856) 2021-04-29 08:44:55 -05:00
a87114fbfa Clarify Nozzle-to-Probe offset (#18828)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:55 -05:00
29e900977f Fix Cancel Objects index display (zero-based) (#18841) 2021-04-29 08:44:55 -05:00
796471a7c6 [SAMD51] ES Interrupt parity with other HALs (#18836) 2021-04-29 08:44:55 -05:00
524613b610 DISABLE_DEBUG required to free Robin nano Z_DIR_PIN (#18832) 2021-04-29 08:44:55 -05:00
b765bfa5a5 Fix NEOPIXEL_LED compile w/out PRINTER_EVENT_LEDS (#18824) 2021-04-29 08:44:55 -05:00
c0d8542a85 Add TEMP_PROBE_PIN for Einsy Rambo (#18823) 2021-04-29 08:44:55 -05:00
36ef9327ef Keep -std=gnu++11 in stm32 build_unflags 2021-04-29 08:44:55 -05:00
f2205b1725 Update more external links (#18819) 2021-04-29 08:44:55 -05:00
25c7577779 Fix DELTA + TMC sensorless homing + SPI endstops (#18811) 2021-04-29 08:44:55 -05:00
9ece3cfdaf Fix garbled print_xyz output (#18810) 2021-04-29 08:44:55 -05:00
c5108687c5 Fix WiFi / ESP32 sanity check (#18808) 2021-04-29 08:44:55 -05:00
e52bfeb491 Config for Anycubic Mega TFT 2021-04-29 08:44:54 -05:00
dd1503d5a8 Merge remote-tracking branch 'upstream/bugfix-2.0.x' into prepare_release_2073 2021-04-29 08:11:03 -05:00
082fce5e3e [cron] Bump distribution date (2021-04-29) 2021-04-29 00:34:04 +00:00
2e0a1f1aff Color UI Move Screen for 320x240 TFT (#21708) 2021-04-28 04:08:21 -05:00
f7f88b7187 [cron] Bump distribution date (2021-04-28) 2021-04-28 00:34:25 +00:00
f04b2a9390 Clean up TFT comments (#21723) 2021-04-27 19:21:13 -05:00
516fe131be BTT SKR V2 probe and chamber pins (#21717) 2021-04-27 07:16:19 -05:00
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
69d85cce2d BTT SKR V2.0 / Stepper Driver Anti-Reverse Protection (#21503) 2021-04-27 02:22:09 -05:00
fe7f5ca7f4 Fix E3V2 Advanced Settings with PLR off (#21700)
Fixes #21534
2021-04-26 23:42:28 -05:00
9c7344487a FTDI EVE Touch UI fixes (#21706) 2021-04-26 23:40:59 -05:00
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
43fc1bd21c [cron] Bump distribution date (2021-04-27) 2021-04-27 00:35:59 +00:00
a981c33bad Remove compiler flag merge-constants (#21711) 2021-04-26 19:30:34 -05:00
36ec7ab150 Make Cancel Objects reporting optional (#21698) 2021-04-26 18:32:13 -05:00
5301ec618b typo (#21710) 2021-04-26 18:30:26 -05:00
a0a24e9380 Help users confused by "bed size" (#21714) 2021-04-26 18:23:00 -05:00
e9618f1ba2 Fix SDIO buffer alignment (#21396) 2021-04-26 00:16:58 -05:00
40d789ce18 Fix "continuous" typo (#21701) 2021-04-25 23:34:42 -05:00
641bca87bc Prettier output from opt scripts (#21707) 2021-04-25 23:33:52 -05:00
5ad473fc62 Fix relocated LiquidCrystal library (#21699)
Followup to 770e539859
2021-04-25 20:55:15 -05:00
7aeb6b5200 [cron] Bump distribution date (2021-04-26) 2021-04-26 00:36:31 +00:00
e250f6a275 whitespace 2021-04-25 17:17:33 -05:00
0f9e096d6e Update Issue Templates (#21702) 2021-04-25 15:06:27 -05:00
e59192b9ea Fix HMI_HomeOffN axis
Followup to #21534
2021-04-25 04:15:13 -05:00
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
a280077820 [cron] Bump distribution date (2021-04-25) 2021-04-25 00:36:37 +00:00
13f3ccb85d E3V2 DWIN Advanced Settings (#21534)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-24 18:50:44 -05:00
770e539859 Use Adafruit LiquidCrystal 2021-04-24 15:41:01 -05:00
993f9f3efd Remove extra platform_packages line 2021-04-24 15:23:28 -05:00
f3c7b61f29 Add INO to .editorconfig 2021-04-24 15:23:28 -05:00
3b8f83a5ae Sanity check MIXING_EXTRUDER + DISTINCT_E_FACTORS (#21689) 2021-04-24 05:35:02 -05:00
836c4e0198 Drop Deviot workaround 2021-04-24 05:28:50 -05:00
dfcccb63a1 Use temperature accessors 2021-04-24 05:20:55 -05:00
6f5800bd74 Backlash Compensation for COREnn (#21612)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-24 04:38:00 -05:00
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
7a8e3cc258 Avoid + 0.0f in menu items (#21642) 2021-04-24 02:52:34 -05:00
e7f26cabfe Fix Bed Tramming 5th point (#21646) 2021-04-24 02:42:44 -05:00
a29aefc9c0 Move last bootscreen delay to end of setup (#21665) 2021-04-24 01:29:30 -05:00
a73dce4a56 Clean up / improve generate_version script (#21674) 2021-04-24 01:26:17 -05:00
f424da498a ExtUI::onPostprocessSettings (#21683) 2021-04-24 01:16:14 -05:00
8b5e7429d7 Prevent extrusion on M600 un-park (#21670)
Fixes #21669
2021-04-24 01:01:17 -05:00
5dfe28db2a MCP4451 Digipot Support for Azteeg X5 GT (#21680) 2021-04-24 00:59:31 -05:00
949d2d9e50 Fix MP_SCARA compile (#21686) 2021-04-24 00:11:11 -05:00
0fe30d14a8 Don't display service prompt unless needed (#21654) 2021-04-24 00:09:51 -05:00
46f272b669 Fix Celsius precision, current temp accessors (#21678) 2021-04-23 20:29:15 -05:00
c4620bb528 Add whole-degree accessors, simplify some temperature-related features (#21685) 2021-04-23 20:19:23 -05:00
384e09aa7c [cron] Bump distribution date (2021-04-24) 2021-04-24 00:54:41 +00:00
54ad22a455 Let compiler do Temperature inlining 2021-04-23 19:40:46 -05:00
3bddbb1110 Clean up formatting, wrap macros 2021-04-23 19:21:39 -05:00
72e3d2492f Update temperature types 2021-04-23 19:20:11 -05:00
51a61c5431 Nextion cleanup 2021-04-23 19:15:22 -05:00
4e10f46899 Use configured temp window for Chiron 2021-04-23 19:10:32 -05:00
392d01555d 'issue_body' obsolete in templates 2021-04-22 19:38:05 -05:00
a729cdcfdd [cron] Bump distribution date (2021-04-23) 2021-04-23 00:34:45 +00:00
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
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
4d34d16bd8 [cron] Bump distribution date (2021-04-22) 2021-04-22 00:41:44 +00:00
57d0f0ce2e Fix Chiron typos, file nav 2021-04-21 15:28:50 -05:00
778b8a45e9 [cron] Bump distribution date (2021-04-21) 2021-04-21 00:34:13 +00:00
3c46a4062e Fix mfconfig 'copying' message 2021-04-20 16:36:19 -05:00
2a7ba427dd Fix Grand Central SD dependency (#21660)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-20 05:14:21 -05:00
d87a71bd04 Extra dependency script logging 2021-04-20 05:11:43 -05:00
6bb10b1898 Changes supporting "Prussia3D" MK3 (#21617) 2021-04-20 00:44:19 -05:00
f52351d116 Update mftest help 2021-04-20 00:32:51 -05:00
7d72004742 [cron] Bump distribution date (2021-04-20) 2021-04-20 00:34:39 +00:00
09de17fb59 Trigorilla Pro: Allow for swapped Z-stops 2021-04-19 13:30:21 -05:00
2c2984fd29 Update realtime, DLP comments 2021-04-19 00:07:57 -05:00
d5143c2c15 Support new style Anycubic Chiron TFT (#21597) 2021-04-18 23:04:38 -05:00
59fd6428ae Skip preflight checks only (#21658)
Followup to e8af38cc2d
2021-04-18 22:46:43 -05:00
07c5a4fa04 [cron] Bump distribution date (2021-04-19) 2021-04-19 00:34:55 +00:00
550a806d77 More detailed serial config error 2021-04-18 18:24:58 -05:00
dc6c977766 Fix CHDK warning 2021-04-18 17:13:35 -05:00
86397df32d BTT E3 RRF Support 2021-04-18 15:55:04 -05:00
8e60b19662 Disable assert() by default 2021-04-18 15:55:04 -05:00
c508c2213e Misc. pio cleanup 2021-04-18 15:55:04 -05:00
89f7a19691 Fix check-pr action 2021-04-17 21:22:23 -05:00
5d8727a59c [cron] Bump distribution date (2021-04-18) 2021-04-18 00:34:57 +00:00
e8af38cc2d Skip scripts during 'platformio init' (#21643) 2021-04-17 14:19:33 -05:00
b8cf818dac Fix Realtime Reporting with G-code Motion Modes (#21630) 2021-04-17 03:54:43 -05:00
bca4652c5e Leave Hybrid Threshold as-is for now
Reverting 253ee0c407
2021-04-17 02:03:16 -05:00
3c4308b7b6 [cron] Bump distribution date (2021-04-17) 2021-04-17 00:33:21 +00:00
464b2242e2 Better chopper defaults 2021-04-16 09:30:39 -05:00
553487cc8a Tool sensors (#17239) 2021-04-16 08:02:31 -05:00
73f6426114 Use itoa for sprintf int 2021-04-16 05:14:37 -05:00
07cac80fb0 Drop extraneous inlines 2021-04-16 05:03:46 -05:00
253ee0c407 Init pwm_thrs to 0 when HYBRID_THRESHOLD is off (#21623) 2021-04-16 04:04:07 -05:00
2d1d628340 Always swap with PRIME_FIRST_USED disabled (#21622) 2021-04-16 04:01:50 -05:00
c6c6c56186 SDIO cleanup 2021-04-16 03:16:44 -05:00
528b9bd872 Revert experimental NAN patch
Hold changes from #21575 (24a095c) for more testing.
2021-04-16 02:43:59 -05:00
32dba5e0c7 Realtime Reporting, S000, P000, R000 (#19330) 2021-04-16 01:59:28 -05:00
58cc4b7043 Use celsius_t for temperature accessors 2021-04-15 20:18:20 -05:00
795253a9d5 [cron] Bump distribution date (2021-04-16) 2021-04-16 00:32:47 +00:00
c0673dbdf1 Keep 'confirmed bug' open 2021-04-15 17:27:18 -05:00
3cdf363cce Fix MKS H43 compile (#21619) 2021-04-15 04:45:30 -05:00
63673d3ce0 Fix Custom Menu audio and return (#21616) 2021-04-15 04:37:37 -05:00
2d8ee3a496 [cron] Bump distribution date (2021-04-15) 2021-04-15 00:34:28 +00:00
0561d5bea3 Add E1 for RAMPS 1.4.4 / AGC 2021-04-14 05:55:14 -05:00
cc5297d637 Space-separate scrolling Status Message (#21523)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-14 04:42:04 -05:00
1595fdb54b Use sq 2021-04-13 23:25:25 -05:00
d705a5b45e Fix long acceleration overflow 2021-04-13 23:25:25 -05:00
0e9836649e Misc. formatting, serial out 2021-04-13 21:41:04 -05:00
4849d313fd [cron] Bump distribution date (2021-04-14) 2021-04-14 00:32:34 +00:00
3ec5cd312b Enhance and fix FTDI Eve Touch UI (#21607) 2021-04-13 18:31:12 -05:00
138340ee99 Multi-Volume. Select Media for LVGL (#21344) 2021-04-13 17:34:19 -05:00
a5f0075a60 Fix and improve Power Monitor (#21551) 2021-04-13 15:17:52 -05:00
84c79d7531 Followup to sprintf cleanup 2021-04-13 15:07:25 -05:00
fd99ea09ec Add fan percent accessors 2021-04-13 04:00:39 -05:00
4e314ef6d4 More MKS UI sprintf 2021-04-13 03:53:50 -05:00
776c1e66db Fix ANYCUBIC_LCD_I3MEGA compile (#21585) 2021-04-13 03:09:21 -05:00
e0ed57db67 Remove extraneous MKS UI sprintf 2021-04-12 23:40:32 -05:00
41eb5813e0 Fix Flash size (512KB) for STM32F103ZE (#21590) 2021-04-12 21:14:34 -05:00
5fb3ee6101 Fix Max Temperature not enforced (#21592) 2021-04-12 21:02:55 -05:00
3517fbdcbd Blocking move followup 2021-04-12 20:58:43 -05:00
7f56538602 Chamber Fan mode 3 (#21594) 2021-04-12 20:28:13 -05:00
4044ed8783 Add 'blocking move' comments 2021-04-12 20:15:41 -05:00
a5d6f6ac98 Fix Resume Print with UBL (#21564)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-12 20:10:21 -05:00
41c55a30cd [cron] Bump distribution date (2021-04-13) 2021-04-13 00:45:21 +00:00
4a1d2d816c Update old-style axis indexes 2021-04-12 19:34:31 -05:00
1e357b3c74 Tweak cooler / flowmeter icons (#21573) 2021-04-12 17:52:18 -05:00
f69da7d00d Add 'jump relaxing' compile flag to AVR targets (#21566) 2021-04-12 17:39:22 -05:00
24a095c5c1 Reduce math library code size by 3.4KB (#21575) 2021-04-12 16:49:53 -05:00
1742fb8655 [cron] Bump distribution date (2021-04-12) 2021-04-12 00:36:20 +00:00
76cc736755 MKS LVGL UI: Fix icon layout (#21595) 2021-04-11 16:32:28 -05:00
c35e271dba Clean up, update some variants 2021-04-10 21:19:32 -05:00
6ab7baa413 tick() => isr() to spotlight interrupt-time 2021-04-10 19:53:43 -05:00
1114bdbb04 [cron] Bump distribution date (2021-04-11) 2021-04-11 00:37:24 +00:00
f86423972f EXP2_01_PIN for BTT BTT002 1.0 2021-04-10 18:28:13 -05:00
62f992af23 Followup to "no status for serial::write" (#21577) 2021-04-10 15:35:45 -05:00
37e671612e Fix M114 E / R broken by LIN_ADVANCE (#21579) 2021-04-10 03:44:36 -05:00
3b3a3fa845 [cron] Bump distribution date (2021-04-10) 2021-04-10 00:34:56 +00:00
4cba40f9fd Fix manual move with MKS H43 (#21511)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-09 15:29:59 -05:00
8048d1411f Drop return value from Serial::write() (#21567) 2021-04-08 21:05:31 -05:00
1a2cbe100c Macros to eliminate 'f + 0.0' (#21568) 2021-04-08 21:03:34 -05:00
19320a1f8f Check for old Marlin files mixed in (#21574) 2021-04-08 20:36:48 -05:00
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
ecd5ae890f [cron] Bump distribution date (2021-04-09) 2021-04-09 00:32:51 +00:00
aa2601bb9e [cron] Bump distribution date (2021-04-08) 2021-04-08 00:37:38 +00:00
3e1b9e11d7 Sanity Check newer Configs too (#21550)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-07 15:44:39 -05:00
1879eede0d Fix axis char printing 2021-04-07 15:43:57 -05:00
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
d61bc2d136 Park Magnetic Switching Toolhead at the very end (#21552) 2021-04-07 14:41:38 -05:00
5ab220fa76 [cron] Bump distribution date (2021-04-07) 2021-04-07 00:34:41 +00:00
b483a8d652 BTT SKR-SE-BX (STM32H743IIT6 ARM Cortex M7) and BIQU_BX_TFT70 (#21536) 2021-04-05 21:40:50 -05:00
ed14731146 getHighESpeed => autotemp_task 2021-04-05 21:27:05 -05:00
746eae15f3 Cast celsius to int for MKS LVGL UI (#21502) 2021-04-05 20:55:00 -05:00
121b606f9c Fix Rumba32 variant for Marlin (#21497) 2021-04-05 20:46:21 -05:00
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
a6105ef37f [cron] Bump distribution date (2021-04-06) 2021-04-06 00:35:12 +00:00
993609b5aa Make DELAY_NS round up on AVR (#21546) 2021-04-05 16:34:31 -05:00
e3116eed2e write_command changes input 2021-04-05 15:34:51 -05:00
98d6c751d3 Fix CardReader string args 2021-04-04 23:52:11 -05:00
9165749321 [cron] Bump distribution date (2021-04-05) 2021-04-05 00:36:21 +00:00
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
8da8bf7e87 Fix FAT delete of items with long name (#21528) 2021-04-04 18:52:16 -05:00
8b6718c632 misc. pointer formatting 2021-04-04 18:08:13 -05:00
98b2b45264 Revert "Optimized string-to-number functions" (#21532)
This reverts #21484
2021-04-04 17:35:58 -05:00
dda2f58588 Fix Hotend-abort-on-idle Check (#21535) 2021-04-04 16:59:55 -05:00
c4b69fcddd Fix Hotend-abort-on-idle Check (#21535) 2021-04-04 16:55:34 -05:00
a628559258 Update Italian language (#21537) 2021-04-04 16:45:56 -05:00
895e40190b Suppress redundant serial errors 2021-04-03 20:33:11 -05:00
c442485137 [cron] Bump distribution date (2021-04-04) 2021-04-04 00:35:49 +00:00
dd76a50683 [cron] Bump distribution date (2021-04-03) 2021-04-03 00:33:51 +00:00
9d0e82788a Update u8g / AVR display timing defaults (#21518) 2021-04-02 19:11:22 -05:00
d0d5003f45 GT2560 V3 followup (#21512) 2021-04-02 19:06:43 -05:00
c2b72c0e73 Remove extraneous 'extern' hints (#21516) 2021-04-02 14:22:43 -05:00
9d0b6c5730 Requiring PIO >= 5.0.3 2021-04-01 21:54:51 -05:00
3229100025 Split up platformio.ini (#21507) 2021-04-01 21:53:19 -05:00
0dde8f8968 [cron] Bump distribution date (2021-04-02) 2021-04-02 01:13:58 +00:00
235ba92602 Followup to Laser Flow Meter (#21498) 2021-04-01 19:29:49 -05:00
6747d350a5 MKS H43 fix, cleanup (#21500)
Followup to #21485
2021-04-01 19:19:22 -05:00
45c1432946 G26 Hilbert Curve followup (#21480) 2021-04-01 19:12:00 -05:00
05b39623b0 Board IDs for G2560 Rev B, G2560 v4, GTM32 VD (#21499) 2021-04-01 18:05:02 -05:00
62f37669dc Replace 'const float &' with 'const_float_t' (#21505) 2021-04-01 17:59:57 -05:00
600ef1e47c [cron] Bump distribution date (2021-04-01) 2021-04-01 00:34:23 +00:00
4d17613050 MKS H43 fix, cleanup (#21485)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-31 02:34:17 -05:00
bfdd1f4662 Update UBL param 2021-03-30 23:58:32 -05:00
be775ed72d Move apply_rotation_xyz into matrix_3x3 2021-03-30 23:58:32 -05:00
8d083eb248 Put ABL state into a class 2021-03-30 23:58:32 -05:00
7573524a14 FTDI Touch UI fix and reorganize (#21487) 2021-03-30 21:23:43 -05:00
20d2061f22 Optimized string-to-number functions (#21484) 2021-03-30 21:20:33 -05:00
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
6175802693 [cron] Bump distribution date (2021-03-31) 2021-03-31 00:29:24 +00:00
0f23090545 Serial flags followup
Followup to #21318
2021-03-29 22:38:33 -05:00
f43b250ed2 Adjust microsteps alignment 2021-03-29 21:54:32 -05:00
6e0b79a33b Fix and add STM32 SDIO DMA (#21476) 2021-03-29 21:52:30 -05:00
139c149486 Flags for MarlinSerial instance features (#21318) 2021-03-29 21:36:01 -05:00
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
d30b5481f5 Optimize BLTouch code for size (#21477) 2021-03-29 20:56:44 -05:00
f587a4e3f3 Improve uncrust script 2021-03-29 20:44:20 -05:00
3b73b115ca Apply pointer formatting 2021-03-29 20:36:37 -05:00
71e789943e [cron] Bump distribution date (2021-03-30) 2021-03-30 00:32:47 +00:00
1caf8a1f5b GT2560 Rev.A Plus Z Max Pin with BLTouch (#21375) 2021-03-29 04:43:07 -05:00
1d3f28da2e FYSETC Spider board (#21458) 2021-03-29 04:38:28 -05:00
86ba0cde35 reduced verbiage 2021-03-29 03:33:19 -05:00
a335cf2edf Fix MKS LVGL UI Main screen / print buttons (#21468) 2021-03-29 03:19:38 -05:00
33ccf1b931 Adjust mfconfig script 2021-03-29 01:49:35 -05:00
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
8f509b0ae0 [cron] Bump distribution date (2021-03-29) 2021-03-29 00:45:48 +00:00
001c77d1f7 YHCB2004 pins followup (#21472) 2021-03-28 19:27:02 -05:00
c45b91aa94 Refactor Hilbert curve. Enhance Touch UI Bed Level Screen. (#21453) 2021-03-27 22:57:12 -05:00
5d0e6c21aa [cron] Bump distribution date (2021-03-28) 2021-03-28 00:34:16 +00:00
5991836e1f [cron] Bump distribution date (2021-03-27) 2021-03-27 00:32:48 +00:00
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
241d2e3fa3 Fix for YHCB2004 (#21450) 2021-03-25 20:44:35 -05:00
c55d53daa6 [cron] Bump distribution date (2021-03-26) 2021-03-26 00:31:14 +00:00
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
704b8cd83c Apply TMC UART to STM32, simplify 2021-03-25 16:53:05 -05:00
84b961cb20 Define HW serial ports needed for TMC UART (#21446) 2021-03-25 16:19:03 -05:00
8bf6b190ff Optimize LSF for size, efficiency (#21443) 2021-03-24 22:56:48 -05:00
69c6ffa90b Followup to SDIO patch (#21440) 2021-03-24 22:40:48 -05:00
e989bf3b0e Endstops always on in G28 (#21441) 2021-03-24 22:39:29 -05:00
cfdeab70cd Endstops always on after delta homing (#21442) 2021-03-24 22:39:10 -05:00
de1161536b [cron] Bump distribution date (2021-03-25) 2021-03-25 00:27:01 +00:00
589bb921ae Tweak disabled variant options 2021-03-24 12:23:10 -05:00
b59a4331fa Update common-cxxflags.py comment 2021-03-24 12:23:10 -05:00
832059967c Comment, clean up some PlatformIO scripts 2021-03-24 12:23:10 -05:00
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
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
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
d172c71376 Fix SDIO buffer alignment (#21396) 2021-03-24 09:30:19 -05:00
fd8207dd9a Misc build fixes (#21413)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-24 09:14:11 -05:00
e7596d92c7 Update Anet V1.0 display timing (#21425) 2021-03-24 07:45:43 -05:00
3ced55aa93 Optimize MarlinSettings with template methods (#21426) 2021-03-24 07:32:08 -05:00
2d2291d00e More IntelliSense-friendly declarations 2021-03-24 05:50:47 -05:00
da4b6896f7 Group UBL parameters, add comments 2021-03-24 05:50:47 -05:00
8fca37f373 Misc LCD cleanup 2021-03-24 05:50:47 -05:00
155dea6f14 Tweak mf helper scripts 2021-03-24 04:15:25 -05:00
e5ff55a1be Add typedef celsius_t (#21374) 2021-03-24 04:11:43 -05:00
07c24e72ac [cron] Bump distribution date (2021-03-24) 2021-03-24 00:13:49 +00:00
a8ea6e6463 Max temp/target followup 2021-03-23 10:56:10 -05:00
58f0330d3f MKS / E3V2 LCD code cleanup 2021-03-23 10:46:54 -05:00
f7aaa2e1c7 Add typedef extra_fan_t 2021-03-23 09:39:44 -05:00
cfa6c7d45b Improve max temp / target 2021-03-23 09:39:09 -05:00
df1ef496d1 Main / Config Custom Submenus (#18177)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-23 08:21:11 -05:00
e3a12c3c28 Fix bool++ warning 2021-03-23 07:25:13 -05:00
dd92c8e927 Followup to UBL Hilbert 2021-03-23 05:54:41 -05:00
10c14bcc05 Check NOZZLE_CLEAN_FEATURE settings (#21332)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-23 01:47:07 -05:00
eee726ec7d UBL - Hilbert space-filling curve probing sequence (#21387) 2021-03-23 01:45:51 -05:00
22fc59ab59 Minor process_subcommands_now followup 2021-03-23 01:03:32 -05:00
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
2b621eb45d Fix MKS H43 sensorless homing (#21388) 2021-03-23 00:58:52 -05:00
c44ff3eb3d Update Hungarian language (#21407) 2021-03-23 00:57:50 -05:00
3e7d830f57 Mesh Editor for FTDI Eve Touch UI (#21381) 2021-03-23 00:51:03 -05:00
26db51fa9d [cron] Bump distribution date (2021-03-23) 2021-03-23 00:13:33 +00:00
fb9502e0fb [cron] Bump distribution date (2021-03-22) 2021-03-22 00:13:40 +00:00
d0ea2b2867 [cron] Bump distribution date (2021-03-21) 2021-03-21 00:14:12 +00:00
5573d98ecc [cron] Bump distribution date (2021-03-20) 2021-03-20 00:13:15 +00:00
38b44e3fc9 HAL eeprom cleanup 2021-03-19 04:51:41 -05:00
d4ab2024f5 Fix bool++ warning 2021-03-19 04:51:41 -05:00
790bba1556 Fix preflight motherboard target check (#21372)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-19 00:05:30 -05:00
b51aed8aa5 Nextion TFT touch screen (#21324)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-18 20:51:19 -05:00
1f52112d72 [cron] Bump distribution date (2021-03-19) 2021-03-19 00:13:41 +00:00
ad907a51e2 Followup to planner cleanup 2021-03-18 00:11:25 -05:00
6673359d89 Move web-ui out of Marlin root folder 2021-03-17 21:36:30 -05:00
560448afed Revert "Fix small wired EEPROM (#21337)"
Reverting commit cc3e878f90 pending further investigation.
2021-03-17 21:36:30 -05:00
deaefbf1dc Minor E3 V2 dwin cleanup 2021-03-17 20:06:16 -05:00
9823a37362 E1+ Autotemp and Planner comments 2021-03-17 20:06:16 -05:00
15bda88d04 Un-pause fans on STOP 2021-03-17 19:25:05 -05:00
de73b9b934 Update setup() description 2021-03-17 19:25:05 -05:00
2fc854eda0 [cron] Bump distribution date (2021-03-18) 2021-03-18 00:15:21 +00:00
60607ed18d mftest: usage with error 2021-03-17 02:39:26 -05:00
546e56ef3d [cron] Bump distribution date (2021-03-17) 2021-03-17 00:13:28 +00:00
dc78e0a250 Detect extra ENVS in preflight checks (#21361) 2021-03-16 17:33:10 -05:00
5ffa6f3331 [cron] Bump distribution date (2021-03-16) 2021-03-16 00:13:07 +00:00
1a23ffd776 KRATOS32 / K.32 board and LCD controllers (#21334) 2021-03-15 11:02:40 -05:00
c07f99d5e4 Teensy USB / serial followup (#21316) 2021-03-14 20:23:41 -05:00
ae8be31247 [cron] Bump distribution date (2021-03-15) 2021-03-15 00:13:36 +00:00
4f6910c131 Script to generate Marlin TFT Images (#21340) 2021-03-14 12:14:09 -05:00
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
cc3e878f90 Fix small wired EEPROM (#21337)
Co-Authored-By: jafal99 <26922965+jafal99@users.noreply.github.com>
2021-03-14 11:43:20 -05:00
b9b9a3115a Update display timing for SKR Pro (#21346) 2021-03-14 11:42:25 -05:00
b9065195f1 Auto-label Feature Requests (#21348) 2021-03-14 11:41:24 -05:00
36d3b6aa95 [cron] Bump distribution date (2021-03-14) 2021-03-14 00:13:50 +00:00
911cd1a6d3 Custom menu items confirm option (#21338)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-13 07:37:49 -06:00
da84b59ee4 No extra build folder for st/jlink upload (#21341) 2021-03-13 05:01:02 -06:00
aba28ef0bc Enhance workflows 2021-03-13 04:57:47 -06:00
11343bb0ea [cron] Bump distribution date (2021-03-13) 2021-03-13 00:16:55 +00:00
e9f7003b70 Change issue templates to YML 2021-03-12 13:38:40 -06:00
3107d8a0f4 Tweak opt_set, opt_enable 2021-03-12 09:29:48 -06:00
7f1fa0d1ff Add M207/8/9 reporting (#21335) 2021-03-12 09:25:41 -06:00
604c5dedf4 MarlinSerial cleanup 2021-03-12 08:38:52 -06:00
71f2617263 Pause SD queue early on M25 (#21317) 2021-03-12 08:34:22 -06:00
8532c2b9b6 Fix MarlinSerial typo 2021-03-12 07:37:50 -06:00
1affbe2100 Clean up, optimize ExtUI/TFT code (#21333) 2021-03-12 06:54:42 -06:00
9dc2712c47 Undef unused 2nd serial option(s) (#21331)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-12 05:25:30 -06:00
d3d1f82f73 Add emojis 2021-03-12 00:55:59 -06:00
2439c44779 Emojis and donate link 2021-03-11 23:53:18 -06:00
6e1024737d Lerdge-X I²C EEPROM pins, size (#21322) 2021-03-11 20:12:24 -06:00
03a41021de [cron] Bump distribution date (2021-03-12) 2021-03-12 00:13:16 +00:00
19b94ec325 Remove one label at a time 2021-03-11 11:23:14 -06:00
b9fa72d582 Token for "Clean Closed" action (#21320) 2021-03-11 09:55:42 -06:00
a73cff8e4f [cron] Bump distribution date (2021-03-11) 2021-03-11 00:13:08 +00:00
8857fc6c4b Fix password menu stickiness before first auth (#21295) 2021-03-10 16:02:35 -06:00
f671e6d138 Lerdge-K TMC 2208/9 UART pins (#21299) 2021-03-10 15:02:29 -06:00
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
8c512191b2 Fix TouchMI stow in G34 (#21291) 2021-03-10 14:37:22 -06:00
f147a8990a Fix MeatPack with per-serial-port instances (#21306) 2021-03-10 14:22:20 -06:00
048f6b4731 Tricked-out declaration 2021-03-10 13:45:53 -06:00
9cba3c87ef Update MEATPACK test 2021-03-10 13:45:53 -06:00
dbd28eecc9 Number serial from 1 to match settings 2021-03-10 13:45:53 -06:00
2c62886c71 Clean up spaces and words 2021-03-10 13:45:53 -06:00
fe0b770033 Fix serial index types 2021-03-10 13:45:53 -06:00
b75e682c50 Add binary file transfer test 2021-03-10 13:45:53 -06:00
bb6d718e19 fix meat pack internal buffer for multi serial 2021-03-10 06:55:40 -06:00
28a136d7f4 [cron] Bump distribution date (2021-03-10) 2021-03-10 00:13:12 +00:00
10ec5c7f34 Fix LPC + TMC boot loop (#21298) 2021-03-09 17:06:00 -06:00
55c31fbe9a Distinguish serial index from mask (#21287) 2021-03-09 03:20:37 -06:00
2f1fd4bbaa Host Keepalive followup (#21290)
Followup to #21283

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-08 20:01:45 -06:00
18a10c0db1 [cron] Bump distribution date (2021-03-09) 2021-03-09 00:13:12 +00:00
aad0f517b4 CUSTOM_USER_BUTTONS followup (#21284)
Followup to #18389
2021-03-08 04:14:18 -06:00
1b9ff68f8c Fix Host Keepalive serial target (#21283)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-08 01:11:37 -06:00
aa054471f2 M303 followup (#21282)
Followup to f2ed18d150
2021-03-07 22:06:33 -06:00
f2ff75f3a2 [cron] Bump distribution date (2021-03-08) 2021-03-08 00:18:19 +00:00
5dc8f5cfab Extend Heater Overshoot Options (#21273)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-03-06 22:55:37 -06:00
ced1bb9404 Update obsolete debug define (#21276) 2021-03-06 21:43:43 -06:00
9f14127fd6 [cron] Bump distribution date (2021-03-07) 2021-03-07 00:14:45 +00:00
b95e548ddb Cooler (for Laser) - M143, M193 (#21255) 2021-03-06 14:13:28 -06:00
87bef13a4c Fix DGUS include paths
Followup to #20609
2021-03-06 10:20:01 -06:00
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
b26516b3ac Clean up labels on close 2021-03-06 07:24:32 -06:00
a94fa7b476 Fix Creality DWIN - Broken (bool)Serial ? (#21272)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-03-06 07:19:15 -06:00
43b712d42b Pins/tests followup 2021-03-06 06:58:00 -06:00
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
4182cf3e9e Update Hungarian language (#21266) 2021-03-06 02:00:10 -06:00
a1796ecace Link to bugfix tree (#21263) 2021-03-06 01:56:43 -06:00
3eb8e26174 Tweak/Consolidate followup (#21261) 2021-03-06 01:53:44 -06:00
d05bf563a2 [cron] Bump distribution date (2021-03-06) 2021-03-06 00:12:57 +00:00
3ea56ba4c7 Tweak tests, consolidate pins target validation (#21254) 2021-03-05 04:30:52 -06:00
f56929d0df [cron] Bump distribution date (2021-03-05) 2021-03-05 00:17:19 +00:00
101f09aabd Fix multi-serial CRC error crash (#21249) 2021-03-04 17:39:08 -06:00
a0d312396a Followup to MP_SCARA/TPARA patches (#21248) 2021-03-04 17:34:38 -06:00
6903a2ffc5 Remove extra G42 2021-03-04 16:36:44 -06:00
8dee12ff05 Correct fan pins for MKS Robin Nano v3 (#21238) 2021-03-04 03:33:02 -06:00
9299f4e98a SMUFF => SMuFF (#21243) 2021-03-04 03:32:02 -06:00
6225870aa9 Implement G42, after all 2021-03-04 03:28:45 -06:00
dad486c01b MK2_MULTIPLEXER dependency 2021-03-04 03:25:48 -06:00
0b7e857614 Update some py scripts 2021-03-03 20:48:58 -06:00
431f6bf3a5 Parking Extruder solenoid fix/cleanup 2021-03-03 20:48:33 -06:00
9372aa99af Fix teensy35 tests 2021-03-03 20:48:33 -06:00
81c29ecc7e [cron] Bump distribution date (2021-03-04) 2021-03-04 00:17:17 +00:00
dd388aedfd TPARA followup 2021-03-03 17:57:24 -06:00
a46e025725 TPARA - 3DOF robot arm IK (#21005)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-03-03 17:46:32 -06:00
fd270ddc6c misc. cleanup 2021-03-03 00:18:50 -06:00
369ffe518d Improve opt_set (etc.) used for tests 2021-03-03 00:18:50 -06:00
0afa4cc957 Fix MKS H43 compile (#21240) 2021-03-02 20:58:42 -06:00
872f031405 [cron] Bump distribution date (2021-03-03) 2021-03-03 00:15:08 +00:00
35791c6371 Trust XY after Quiet Probing short sleep (#21237) 2021-03-01 19:39:43 -06:00
2f97505b93 Trust XY after Quiet Probing short sleep (#21237) 2021-03-01 19:38:45 -06:00
137f70b122 [cron] Bump distribution date (2021-03-02) 2021-03-02 00:11:00 +00:00
dfa33082bb Fix some config builds 2021-03-01 09:14:17 -06:00
b2bc85f6f6 build_all_examples -c -s, silent mftest 2021-03-01 09:14:05 -06:00
21372c3d4e Better mftest order 2021-03-01 09:13:54 -06:00
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
8c9a59c29e Fewer warnings 2021-03-01 06:21:51 -06:00
28404f9e87 POWER_LOSS_ZHOME_POS followup 2021-03-01 06:19:38 -06:00
e66e51fa6d Safe Z homing for Power Loss Recovery (#16909) 2021-03-01 04:23:10 -06:00
2b9842e094 Default microsteps to axis first stepper (#21230) 2021-03-01 01:33:07 -06:00
f52cba6aff Minor FTDI EVE Touch UI fixes (#21232) 2021-02-28 20:52:59 -06:00
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
1aa421efe5 Filament sensor cleanup 2021-02-28 20:02:24 -06:00
dd42831cba Serial macros cleanup 2021-02-28 20:02:24 -06:00
f0b662ff58 [cron] Bump distribution date (2021-03-01) 2021-03-01 00:13:41 +00:00
e8ca077f30 Update Slovak language (#21224) 2021-02-28 16:12:27 -06:00
2328f8b9b8 Fix TERN typo (#21229) 2021-02-28 16:09:15 -06:00
680172a084 Tweaks to build scripts 2021-02-27 23:51:56 -06:00
254b25296b [SAMD51] Respect serial buffer size (#21194) 2021-02-27 22:41:16 -06:00
903d0b91fc Tweaks to build scripts 2021-02-27 22:38:57 -06:00
54ccfcc705 whitespace 2021-02-27 22:34:54 -06:00
dfacd260bb ST STM32 platform version 12 (#21219) 2021-02-27 22:32:34 -06:00
04b83d50a2 Two additional EVE displays (#18839) 2021-02-27 19:39:32 -06:00
1236585693 [cron] Bump distribution date (2021-02-28) 2021-02-28 00:13:36 +00:00
c76008bd6a MKS H43 controller (#20609) 2021-02-27 17:35:32 -06:00
e0aa9ce372 RGB Caselight (#20341) 2021-02-27 16:06:48 -06:00
ee7701c15b SPEED => FEEDRATE (#21217) 2021-02-27 15:54:43 -06:00
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
969268166e Duplicate fan speed in M106/7 IDEX Duplication Mode (#21208) 2021-02-27 13:45:12 -06:00
83a156ef47 Fix M876 when called from EP (#21210) 2021-02-27 13:32:57 -06:00
6136959a6a [SAMD51] Postmortem Debugging not implemented (#21211) 2021-02-27 13:24:36 -06:00
4f840c211c [SMUFF] Use EXTRUDERS for extended commands (#21212) 2021-02-27 13:23:00 -06:00
db5967472b Fix G-code Queue merge (#21213) 2021-02-27 13:17:21 -06:00
e65a84f6ea G-code Queue followup (#21214) 2021-02-27 13:13:04 -06:00
526924559f [cron] Bump distribution date (2021-02-27) 2021-02-27 00:12:45 +00:00
24623d398c Fix preflight complex extend handling (#21191) 2021-02-26 18:03:11 -06:00
56462cf082 Make F_CPU a compile-time constant (#21051) 2021-02-26 17:59:28 -06:00
f384f81253 Fix GTR / SKR PRO + USB Flash Drive build (#21197) 2021-02-26 17:36:22 -06:00
427b5d61f4 More LERDGE envs followup (#21205) 2021-02-26 17:33:34 -06:00
e27fba0c06 Fix M355 with NEOPIXEL (#21200) 2021-02-26 17:10:50 -06:00
7a1ec78563 Init (stow) BLTouch before X/Y homing (#21192) 2021-02-26 17:01:11 -06:00
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
ccf990a0d7 [cron] Bump distribution date (2021-02-26) 2021-02-26 00:12:56 +00:00
fd77251fdd Chamber followup 2021-02-25 10:24:58 -06:00
f7d9305786 Preheat Menu shortcut option (#20350) 2021-02-25 10:23:17 -06:00
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
7fc75fc482 Zero Endstops followup (#21188) 2021-02-25 09:23:30 -06:00
45fff07a4c Fix LEVEL_CORNERS_USE_PROBE with BLTOUCH_HS_MODE (#21161) 2021-02-25 09:21:17 -06:00
08d54b3d78 Eryone Thinker V2 (#21190)
Co-Authored-By: Bryan Joshua Pedini <b.pedini@bjphoster.com>
2021-02-25 09:16:19 -06:00
735c1b6183 PROBING_HEATERS_OFF sub-option WAIT_FOR_HOTEND (#20835) 2021-02-25 08:33:16 -06:00
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
a21d4c06ae Use 'H' value for UBL G29 z-clearance (#21114) 2021-02-25 08:14:24 -06:00
12468f5e9f Tweak case light comment 2021-02-25 05:15:49 -06:00
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
d167af4c38 Add BOARD_PREINIT (for Longer3D open drain pins) (#21159) 2021-02-25 04:35:18 -06:00
3061a31c92 Update BLTOUCH_HS_MODE comment 2021-02-25 01:56:47 -06:00
73e354b7a0 Fix Anycubic Chiron TFT SD menu (#21183) 2021-02-25 01:38:01 -06:00
0cc03f912c Let libmaple accept RX/TX_BUFFER_SIZE (#21177) 2021-02-25 01:26:56 -06:00
f003e52009 Combined LPC / Serial fixes (#21178)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-25 01:23:29 -06:00
13c4eef637 Expose more env builds in PlatformIO extension 2021-02-25 00:56:15 -06:00
d5b06624fb Fix MKS Robin Nano V3 I2C pins (#21174) 2021-02-24 18:36:55 -06:00
a3a10b62f2 Chamber Heater PID (#21156)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-02-24 18:26:51 -06:00
03160719eb [cron] Bump distribution date (2021-02-25) 2021-02-25 00:12:36 +00:00
b276a7fd17 Fix Chiron TFT serial comms (#21152) 2021-02-23 20:13:24 -06:00
37e2250992 [cron] Bump distribution date (2021-02-24) 2021-02-24 00:12:40 +00:00
bdb8c07bb2 Outdent UBL code 2021-02-23 16:09:54 -06:00
27f9437d31 G92, subcodes flag cleanup 2021-02-23 16:08:00 -06:00
ba301fd800 FTDI Touch UI followup (#21167) 2021-02-23 16:03:40 -06:00
53d7ae4e9b [cron] Bump distribution date (2021-02-23) 2021-02-23 00:12:43 +00:00
7a027be255 [cron] Bump distribution date (2021-02-22) 2021-02-22 00:12:47 +00:00
ece06c26a9 Enhance and fix FTDI Touch UI (#21148) 2021-02-21 04:05:59 -06:00
8d28853774 Postmortem Debugging to serial port (#20492) 2021-02-20 20:22:20 -06:00
fb8b421aac Fix SPI on SMART RAMPS with mega2560 (#21128) 2021-02-20 20:20:55 -06:00
b3ecede429 Fix G29 missing defines (#21145)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-02-20 20:14:47 -06:00
b8d7925d0d [cron] Bump distribution date (2021-02-21) 2021-02-21 00:13:04 +00:00
95e0ed2826 [cron] Bump distribution date (2021-02-20) 2021-02-20 00:12:21 +00:00
11e11b8767 [cron] Bump distribution date (2021-02-19) 2021-02-19 00:12:24 +00:00
a4c73860a1 Fix cleaning_buffer_counter check (#21115) 2021-02-17 23:22:29 -06:00
241297b6d6 [cron] Bump distribution date (2021-02-18) 2021-02-18 00:12:54 +00:00
65e24f812f Fixes for MP_SCARA (#21113)
Co-Authored-By: svsergo <52426708+svsergo@users.noreply.github.com>
2021-02-17 17:04:51 -06:00
fd455be55c YHCB2004 followup (#21111) 2021-02-16 21:23:54 -06:00
7e172bf456 Fix IDEX broken endstop test (#21110) 2021-02-16 21:13:53 -06:00
a211dc03b3 Note FAN2_PIN silkscreen label (#21087) 2021-02-16 20:30:54 -06:00
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
c076a7f7a2 Swap Trigorilla Pro Z_MIN / MAX endstop pins (#21095) 2021-02-16 20:28:03 -06:00
7b23f41fd4 Fix/improve configs build script (#21086) 2021-02-16 18:41:00 -06:00
f2b9becd7e [cron] Bump distribution date (2021-02-17) 2021-02-17 00:12:26 +00:00
f298cde47e BTT002 pins for FYSETC mini12864 (#21096) 2021-02-16 17:35:31 -06:00
28fa18874b Fix "BUTTON_CLICK redefined" warning (#21098) 2021-02-16 16:59:38 -06:00
e699f9cbf6 [cron] Bump distribution date (2021-02-16) 2021-02-16 00:12:28 +00:00
31a434b9d7 Update platform ststm32 to 11.0 (#20928) 2021-02-15 06:03:44 -06:00
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
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
9e0fc44210 Fix MMU2 compile error (#21065) 2021-02-15 04:45:38 -06:00
35e9c131d6 Fix remaining time divide-by-zero (#21080) 2021-02-15 04:42:33 -06:00
e27a2a96a0 E3V2 Status Area followup (#21072) 2021-02-14 18:21:47 -06:00
29fa369f71 [cron] Bump distribution date (2021-02-15) 2021-02-15 00:12:40 +00:00
db82a25177 E3V2 DWIN live movement (#21035) 2021-02-14 16:45:36 -06:00
b2f77bb050 Use configuration website, fix edit color 2021-02-14 16:42:56 -06:00
d9e79fd728 Fix a board comment 2021-02-14 16:27:21 -06:00
52e8d8db54 anet_et4_openblt.py => openblt.py 2021-02-13 22:05:35 -06:00
cbf325a6b8 Coolant Control sanity-checks 2021-02-13 22:05:25 -06:00
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
98a27bff0d Allow mftest -t to select by number 2021-02-13 19:06:55 -06:00
00985cffea Update helpful links 2021-02-13 19:05:53 -06:00
0fe1051101 [cron] Bump distribution date (2021-02-14) 2021-02-14 00:12:44 +00:00
fd2477923c Minor serial code cleanup 2021-02-12 19:33:19 -06:00
d4fb372899 [cron] Bump distribution date (2021-02-13) 2021-02-13 00:12:10 +00:00
ce1ec22704 Use -g3 to include macros in debug symbols (#21052) 2021-02-12 08:33:27 -06:00
03789c4d97 Improve Delay test report (#21047) 2021-02-12 07:49:07 -06:00
e0ca244623 Fix AZSMZ_12864 on SMART RAMPS (#21056) 2021-02-12 05:00:41 -06:00
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
7069d03ab2 Support SMART RAMPS 1.4 with Mega2560 (#21059) 2021-02-12 04:42:31 -06:00
01215f5015 Ender 3 V2 DWIN cleanup (#21061) 2021-02-12 03:52:21 -06:00
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
1f21a499d4 [cron] Bump distribution date (2021-02-12) 2021-02-12 00:12:23 +00:00
274c729fd3 [cron] Bump distribution date (2021-02-11) 2021-02-11 00:12:23 +00:00
9d24ee8daf chmod and paths 2021-02-10 02:57:27 -06:00
dd5e0f724a [cron] Bump distribution date (2021-02-10) 2021-02-10 00:12:10 +00:00
653d73ff07 Reheat bed first 2021-02-08 21:55:48 -06:00
662d81c801 Ender 3 V2 DWIN cleanup (#21026) 2021-02-08 21:27:00 -06:00
187602dfaf Update M808 comment 2021-02-08 20:25:08 -06:00
8707ae23e2 MAX Thermocouples rework (#20447)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-08 19:51:57 -06:00
0127763ade [cron] Bump distribution date (2021-02-09) 2021-02-09 00:12:14 +00:00
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
1e726fe405 Fix STM32F1 emergency parser (#21011) 2021-02-07 22:47:08 -06:00
24e18a9fbd Allow SERVO0_PIN override on Creality Melzi (#21007) 2021-02-07 22:44:49 -06:00
5f824c5708 Fix animated boot screen 2021-02-07 21:51:32 -06:00
57e4b82b66 Fix: Unsupported use of %f in printf (#21001) 2021-02-07 20:36:57 -06:00
6dcb77f7b5 Fix mini12864 v2.1 + PSU control + NeoPixel backlight (#21021) 2021-02-07 20:36:04 -06:00
42761acf4f [cron] Bump distribution date (2021-02-08) 2021-02-08 00:15:33 +00:00
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
b35bfeb1c3 Fix TEMP_0_TR_ENABLE, rename temp conditions (#21016) 2021-02-07 16:58:06 -06:00
af4e8b171c Fix ESP32 I2S init placement (#21019) 2021-02-07 16:56:39 -06:00
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
52c246ae19 Melzi, comments cleanup 2021-02-06 18:19:37 -06:00
e34f279295 [cron] Bump distribution date (2021-02-07) 2021-02-07 00:12:48 +00:00
ee66d9ccf9 Refactor FTDI EVE Touch Screen (#20987) 2021-02-06 14:25:10 -06:00
1c19af2c8f Fix ARM delay function (#20901) 2021-02-05 22:43:51 -06:00
10aaab6350 Use 'false' 2021-02-05 18:48:11 -06:00
62f060a389 [cron] Bump distribution date (2021-02-06) 2021-02-06 00:12:05 +00:00
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
a971233068 Fix MKS SGen-L DOGLCD_MOSI pin for FYSETC_MINI_12864 LCD (#20998) 2021-02-05 07:07:10 -06:00
67ae845b3c Update Hungarian language (#20996) 2021-02-05 06:28:30 -06:00
708ea3d0bb Use serial shorthand 2021-02-04 23:34:09 -06:00
49564e5310 Nybbles & Bits 2021-02-04 19:38:07 -06:00
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
6dac71e618 [cron] Bump distribution date (2021-02-05) 2021-02-05 00:12:11 +00:00
d58bbd5da1 Re-calibrate touch after EEPROM reset, if needed (#20934) 2021-02-04 15:31:46 -06:00
68299c6a5e [cron] Bump distribution date (2021-02-04) 2021-02-04 00:11:57 +00:00
d079634c5e [cron] Bump distribution date (2021-02-03) 2021-02-03 00:13:01 +00:00
9025c63c43 Add "more" menu in LVGL interface (#20940)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-02-02 16:04:23 -06:00
c6ef86029c Evaluate ANY_SERIAL_IS in place 2021-02-02 16:00:11 -06:00
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
6eec242a07 Update a UBL comment (#20931) 2021-02-02 14:57:30 -06:00
28b8bf566b STM32 Shared Media - USB Mass Storage Device (#20956) 2021-02-02 14:55:11 -06:00
0ce3f6efe0 Multi-language pertains to Color UI (#20972) 2021-02-02 14:33:07 -06:00
617f5dfe5e Touch Calibration Screen auto-save option (#20971) 2021-02-02 14:31:51 -06:00
1f12273de1 Include ui_common for MARLIN_LOGO_FULL_SIZE (#20963) 2021-02-02 14:31:01 -06:00
65483dcc95 Fix host_response_handler compile (#20962) 2021-02-02 14:30:19 -06:00
32d859eede [cron] Bump distribution date (2021-02-02) 2021-02-02 00:17:47 +00:00
c74f972627 LVGL UI G-code console (#20755) 2021-01-31 18:18:39 -06:00
33c78d2bb2 [cron] Bump distribution date (2021-02-01) 2021-02-01 00:17:15 +00:00
7626ef57b9 Refresh screen on M22 (detach) (#20958) 2021-01-31 18:15:14 -06:00
07b4cc145b Fix AutoReporter implementation (#20959) 2021-01-31 18:11:50 -06:00
27366197f3 Serial refactor followup (#20932) 2021-01-31 17:21:27 -06:00
d49969ddf3 Init serial ports first (#20944) 2021-01-31 16:50:12 -06:00
c91a91008c Remove extra G29 V newlines (#20955) 2021-01-31 16:47:16 -06:00
92b4c05090 [cron] Bump distribution date (2021-01-31) 2021-01-31 00:16:38 +00:00
d45ad8f827 Language selection auto-save option (#20915) 2021-01-30 00:07:35 -06:00
fa3bd72eea KILL, BEEPER pins for LCD_FOR_MELZI (#20924) 2021-01-29 23:44:32 -06:00
d3068125c5 Fix G28_STR (#20925) 2021-01-29 23:41:45 -06:00
e269e936e3 [cron] Bump distribution date (2021-01-30) 2021-01-30 00:17:43 +00:00
0d2645b3e1 MPX_ARM_MINI board (Mingda MD-16) (#20711) 2021-01-28 23:22:18 -06:00
9d0e64a725 AutoReport class (Temperature, Cardreader) (#20913) 2021-01-28 20:40:20 -06:00
9e004a9496 Optimize serial output code for size (#20911) 2021-01-28 19:59:16 -06:00
5ac08a44c6 FYSETC Cheetah 2.0 (#20897) 2021-01-28 19:52:49 -06:00
c72b1c5893 Fix undefined G28_STR (#20912) 2021-01-28 19:44:52 -06:00
c65bf64756 Fix LED_CONTROL_MENU compile (#20914) 2021-01-28 19:44:16 -06:00
7201433060 [cron] Bump distribution date (2021-01-29) 2021-01-29 00:17:07 +00:00
7bbdbcfb6d Serial refactor followup 2021-01-28 02:19:12 -06:00
3f01b222b2 Refactor serial class with templates (#20783) 2021-01-28 02:02:06 -06:00
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
11b407045a MeatPack followup - unused command (#20893) 2021-01-28 01:46:17 -06:00
811bb7997c [cron] Bump distribution date (2021-01-28) 2021-01-28 00:17:20 +00:00
d932cd9be1 Remove extra cast 2021-01-27 15:23:04 -06:00
5e5dfff6fe MeatPack followup (#20896) 2021-01-27 15:18:20 -06:00
107f692de8 ZONESTAR_LCD warning for RAMPS / ReARM (#20702) 2021-01-27 15:11:25 -06:00
a1019413f4 [cron] Bump distribution date (2021-01-27) 2021-01-27 00:15:06 +00:00
b95f5c5bea Configure / disable PRINTCOUNTER save interval (#20856)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-26 02:30:31 -06:00
8c0cb6cce8 Custom G26 FR followup 2021-01-26 02:15:27 -06:00
ee93101b24 Custom G26 FR followup 2021-01-25 23:53:39 -06:00
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
9bf33e4dcd [cron] Bump distribution date (2021-01-26) 2021-01-26 00:17:22 +00:00
876c2586b9 Clean up MMU2 code (#20794)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-25 08:58:52 -06:00
b9ed139546 Init KILL, SUICIDE, PSU earlier (#20810) 2021-01-25 08:50:39 -06:00
85d61de61c "Move … code" followup (#20869)
Fix regression from #20832
2021-01-25 08:39:24 -06:00
b8186b5081 Apply SEC_TO_MS and other fixes 2021-01-25 08:32:58 -06:00
fb67b9bdad Reformat abortSDPrinting 2021-01-25 04:57:00 -06:00
2c983d6c7a Fix sign warning (#20872) 2021-01-25 01:53:48 -06:00
7c28d6b869 Cosmetic changes (2) (#20876) 2021-01-25 01:52:45 -06:00
53035de136 "Move … code" followup (#20868)
Fix regression from #20832
2021-01-25 01:51:54 -06:00
d7ca3ea27c "Move … code" followup (#20874)
Fix regression from #20832
2021-01-25 01:48:31 -06:00
c12be1f98c Graphical TFT fixes, cleanup (#20861)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-25 01:44:39 -06:00
90be1c3fa7 🧻 Cosmetic changes (#20859) 2021-01-25 01:11:34 -06:00
727bf7dd8c 🛠Fix deps script version regex 2021-01-24 21:20:51 -06:00
e9425d711d Fix Ender 3 V2 DWIN manual move (#20837) 2021-01-24 20:13:02 -06:00
9d42beb2e6 [cron] Bump distribution date (2021-01-25) 2021-01-25 00:43:47 +00:00
ea8d682664 Fix LiquidCrystal CI failures (#20873)
Fix incorrect dependency syntax for LPC.
Disambiguate LiquidCrystal library names.
2021-01-24 13:24:16 -08:00
8f7bac4999 Revert "Adding custom move feedrate for G26 (#20729)" (#20870)
This reverts commit 14567f3459.
2021-01-24 07:47:22 -07:00
3921369f98 MeatPack serial encoding (#20802)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-24 00:43:23 -06:00
a243996aca [cron] Bump distribution date (2021-01-24) 2021-01-24 00:43:17 +00:00
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
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
a54154e760 🛠 Replace lib_deps for custom_marlin.FEATURE (#20858) 2021-01-22 20:51:58 -06:00
ac10fdc50f [cron] Bump distribution date (2021-01-23) 2021-01-23 00:44:51 +00:00
90c0194598 "Move … code" followup (#20852)
Fix regression from #20832
2021-01-22 15:58:08 -06:00
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
d33fe2378c Move common strings (#20846) 2021-01-22 15:01:19 -06:00
7b9f7d8aba [cron] Bump distribution date (2021-01-22) 2021-01-22 00:44:13 +00:00
0681b8096c Fix undefined E_LBL 2021-01-21 17:32:12 -06:00
d879853e8f Ender 3 V2: Sync reset E in manual move (#20806) 2021-01-21 04:14:24 -06:00
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
c0870d417a Move some MarlinCore and MarlinUI code (#20832) 2021-01-21 03:40:07 -06:00
ac82dc418a Increase filament runout distance edit limit (#20828) 2021-01-21 03:30:15 -06:00
144272e735 USB Flash Drive env hints for ABM (#20592) 2021-01-21 01:28:38 -06:00
d62aa6221b Lerdge K/S/X support for Flash Drive (#20593) 2021-01-21 01:26:12 -06:00
68abaeab19 MarlinUI multi-language support (#20725) 2021-01-20 18:52:06 -06:00
00bc094914 Keep G29 N on the DL 2021-01-20 18:51:00 -06:00
84a47a6691 [cron] Bump distribution date (2021-01-21) 2021-01-21 00:46:33 +00:00
03b53ffde1 More PlatformIO source filters (#20822) 2021-01-20 18:18:22 -06:00
ef14b18f8e PSTR alias followup (#20831) 2021-01-20 16:52:09 -06:00
3f90ecfd77 Move singlenozzle temp/fan (#20829) 2021-01-19 20:58:50 -06:00
a275e4e5b8 Fix reporting of TMC_S2VSA/B (#20730) 2021-01-19 20:57:12 -06:00
fd45854000 USE_M73_REMAINING_TIME sanity-check (#20751) 2021-01-19 20:55:57 -06:00
a10626705d MMU2 serial followup (#20811) 2021-01-19 20:55:01 -06:00
0cbc44d8bf Fix SINGLENOZZLE compile 2021-01-19 19:19:35 -06:00
5c93b49a6f [cron] Bump distribution date (2021-01-20) 2021-01-20 00:47:05 +00:00
df238fe6a0 Swedish language for MarlinUI (#20826) 2021-01-19 16:52:04 -06:00
f1d4713097 Fix MKS UI manual move (#20813) 2021-01-19 16:27:57 -06:00
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
fda9fb563b Raise Z on exit from 'Level Bed Corners' (#20817) 2021-01-18 21:59:18 -06:00
49b5e1d9bf Clean up whitespace, headings 2021-01-18 21:54:23 -06:00
eb84acaf5b [cron] Bump distribution date (2021-01-19) 2021-01-19 00:45:26 +00:00
e9364c7cba [cron] Bump distribution date (2021-01-18) 2021-01-18 00:41:57 +00:00
08f392cdd3 OS-native targets for "mftest -a" 2021-01-17 15:45:04 -06:00
bb597dcf66 Internal G29N for G28+G29 (#20800) 2021-01-17 12:08:40 -06:00
fec58157ac FYSETC_242 OLED 12864 for S6 (#20767) 2021-01-17 00:46:57 -06:00
6be8ffb771 Reduce some G-code strings 2021-01-16 23:18:02 -06:00
1b19eed195 Fix Tramming Wizard behavior (#20796) 2021-01-16 23:08:48 -06:00
fb41413b76 Optimize some G-code strings 2021-01-16 22:53:50 -06:00
40c8f2001d Apply bool to some MKS UI 2021-01-16 22:53:50 -06:00
b41f41589a General cleanup, use _BV 2021-01-16 22:53:50 -06:00
69a6d26c80 Fix Trigorilla Pro STOP pins (#20801) 2021-01-16 22:34:54 -06:00
0fef29b6e3 NEOPIXEL overridable on BTT SKR (#20797) 2021-01-16 19:51:08 -06:00
f7e2467da1 4 / 5 digits for some edit items (#20793) 2021-01-16 19:49:34 -06:00
dc44edc1b8 Update Italian language (#20789) 2021-01-16 19:20:35 -06:00
ca53d88284 [cron] Bump distribution date (2021-01-17) 2021-01-17 00:42:42 +00:00
5e46f63e17 Fix Ender-3 V2 DWIN LPC signed warnings (#20786) 2021-01-16 00:50:25 -06:00
43a91e5963 Configurable Corner Leveling point order (#20733) 2021-01-16 00:43:38 -06:00
1d5862a39b MMU2 as standard serial device (#20771) 2021-01-15 20:38:34 -06:00
7c786506e1 [cron] Bump distribution date (2021-01-16) 2021-01-16 00:45:54 +00:00
d03c3980de Improve filament runout handling in FTDI EVE Touch UI
- On filament runout, take the user to the tune menu where they can initiate a filament change or resume the print.
2021-01-15 17:44:16 -06:00
9bbe9455cf Fix compatibility macros 2021-01-15 17:44:16 -06:00
6376b683c7 Silence unused parameter warnings 2021-01-15 17:44:16 -06:00
9dba7cd371 Fix Ender 3 V2 encoder (#20784) 2021-01-15 17:23:04 -06:00
49e252df03 [cron] Bump distribution date (2021-01-15) 2021-01-15 00:42:52 +00:00
8049db20ff ESP32 Tone Generator (#20704) 2021-01-14 02:33:50 -06:00
ecf5f5d21d Update Ukrainian language (#20668) 2021-01-14 02:21:28 -06:00
12a39450b0 MKS prelim. cleanup (2) 2021-01-14 00:56:35 -06:00
c753fc690f More MKS UI prelim. cleanup 2021-01-14 00:27:10 -06:00
35c1b330ec MKS WiFi for TFT_LVGL_UI (#20191) 2021-01-13 22:41:09 -06:00
5ee1087959 Ignore M22 during SD print 2021-01-13 21:29:38 -06:00
a88ae2080c [cron] Bump distribution date (2021-01-14) 2021-01-14 00:47:36 +00:00
e8aa6ab735 Ignore M22 during SD print 2021-01-12 22:33:03 -06:00
f2726399dd Move WRITE_FAN 2021-01-12 22:33:03 -06:00
d47e694048 whitespace 2021-01-12 22:33:03 -06:00
44c57ab05a MKS UI prelim. cleanup (#20763) 2021-01-12 21:02:35 -06:00
4a89731025 Rotary encoder cleanup (#20753) 2021-01-12 20:43:52 -06:00
2b928b4754 Fix comments (#20759) 2021-01-12 19:38:51 -06:00
923ca6f104 [cron] Bump distribution date (2021-01-13) 2021-01-13 00:40:12 +00:00
4472ba2b6b Ok to use C++11 'auto' 2021-01-12 18:08:24 -06:00
7f3dcb3e8a Multi-platform DWIN_CREALITY_LCD support (#20738)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-12 18:05:49 -06:00
a26f2fb00b [cron] Bump distribution date (2021-01-12) 2021-01-12 00:33:31 +00:00
6596a50c90 Fix PR template, lock action
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>
2021-01-11 15:06:55 -06:00
8ff87c120a Fix TMC220x short circuit (#20731) 2021-01-11 01:46:17 -06:00
730833f96c Fixes for TFTGLCD (#20734) 2021-01-11 00:05:04 -06:00
4327b5c1b0 Fixes for TFTGLCD (#20734) 2021-01-10 23:59:42 -06:00
d6de6de1bb NO_SD_DETECT option (#20741) 2021-01-10 21:55:16 -06:00
9eecb2f542 Fix joystick include 2021-01-10 21:49:35 -06:00
54debf855c Tweak STM32F1 pin r/w/t 2021-01-10 21:38:31 -06:00
acda53aa1c Clean up some includes 2021-01-10 21:38:31 -06:00
71921bc9b2 Update Slovak glyphs 2021-01-10 21:38:31 -06:00
bc5c52dc95 [cron] Bump distribution date (2021-01-11) 2021-01-11 00:30:23 +00:00
cf1f8aff77 Laser Test Fire (#20452) 2021-01-10 06:01:25 -06:00
d78f2926ec Wanhao One+ SD detect pin (#20724) 2021-01-10 05:50:09 -06:00
46916d322e [cron] Bump distribution date (2021-01-10) 2021-01-10 00:30:52 +00:00
299f849ffa Optimize some G76 strings 2021-01-09 00:09:03 -06:00
bbf06152da Fix misc. warnings (#20715) 2021-01-08 18:55:36 -06:00
8ffae97128 Fix Python 2.7 compatibility
Fix regression from #20692
2021-01-08 18:51:54 -06:00
d4ac8bc67b Up to 6 Tramming points (#20720) 2021-01-08 18:42:08 -06:00
8e1637a2cc [cron] Bump distribution date (2021-01-09) 2021-01-09 00:29:33 +00:00
4e8d92bece [cron] Bump distribution date (2021-01-08) 2021-01-08 00:29:39 +00:00
4eedeabb51 Fix M48 output (#20713) 2021-01-07 17:55:57 -06:00
3009707723 Improved MKS Robin support (#19333) 2021-01-06 21:13:15 -06:00
8edcf03715 Preheat before Power Loss Recovery homing (#20697) 2021-01-06 20:57:11 -06:00
abea8ff8f4 [cron] Bump distribution date (2021-01-07) 2021-01-07 00:30:20 +00:00
3dd1fe4211 Custom build_flags by feature (#20692) 2021-01-05 21:03:13 -06:00
d2969d2326 [cron] Bump distribution date (2021-01-06) 2021-01-06 00:27:10 +00:00
e3831c146d Multi-Z stepper inverting (#20678)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-05 17:03:45 -06:00
218de578e0 Fix Azteeg X3 macro typo (#20681) 2021-01-05 06:23:56 -06:00
87fbda8344 Define SANGUINOLOLU 1.1 enable pins (#20682) 2021-01-05 06:22:51 -06:00
e9ab6c10cf No BTN_ENC_EN on Anet 10 (#20684) 2021-01-05 06:21:08 -06:00
1eb592550c Temperature report followup (#20687)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-05 06:18:09 -06:00
dc3cfd0d9d Adjustable precision in M105 temperature report (#20602)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-04 23:57:58 -06:00
2f17f2207a Don't apply hotend_offset.z to Z soft endstops (#20675)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-04 23:48:42 -06:00
d2e1e9a0ac Indent tool_change_prime 2021-01-04 23:36:12 -06:00
c0a3931595 Clarify solenoid active / magnet-on state 2021-01-04 23:09:35 -06:00
55d1938977 Defer "quiet probing" till the last Z bump (#20610) 2021-01-04 20:32:52 -06:00
3a99d001ff Solenoid cleanups
Followups to #20473 ahead of #20675
2021-01-04 19:01:45 -06:00
7033003c36 [cron] Bump distribution date (2021-01-05) 2021-01-05 00:26:38 +00:00
21c7e699f1 Remove untranslated strings 2021-01-04 18:18:45 -06:00
208200a3cc G34/M422 cleanup 2021-01-04 17:52:00 -06:00
ba2cadb479 Move duplication_e_mask 2021-01-03 22:23:13 -06:00
ca47dffa35 Fix delayed_move_time elapsed test 2021-01-03 22:22:21 -06:00
548d5603ea Fix IDEX reboot on travel after G28 X (#20654) 2021-01-03 22:07:29 -06:00
6b458676b1 Fix SD SPI Speed override, FTDI mesh edit (#20657)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-03 21:59:48 -06:00
63448f3244 Rename FTDI EVE screen data structs 2021-01-03 21:52:05 -06:00
2d88bcb67e Fix thermal error protection, reporting (#20655) 2021-01-03 21:39:15 -06:00
effc37362a [cron] Bump distribution date (2021-01-04) 2021-01-04 00:26:24 +00:00
3ba80d11eb Update Italian language (#20663) 2021-01-03 17:43:31 -06:00
edea49f9a9 Creality 4.2.10 board (#20647) 2021-01-03 07:16:50 -06:00
1d63fe6542 Add ALL_AXES manual move for UBL mesh editing
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>

#20620
2021-01-02 19:01:09 -06:00
87d32647f1 Animated boot followup 2021-01-02 18:41:16 -06:00
56a5d0b287 Homing code followup (#20632)
Patching a87e5197cf
2021-01-02 18:37:47 -06:00
f86765a760 [cron] Bump distribution date (2021-01-03) 2021-01-03 00:25:06 +00:00
3efbd45443 Improved bootscreen animation 2021-01-02 16:02:52 -06:00
a87e5197cf Document, adjust some homing code 2021-01-02 03:41:06 -06:00
5b33afb1dd Fix a comment (#20629) 2021-01-02 02:53:34 -06:00
b0585e13d8 Check for misplaced configs on build (#20599)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-02 02:51:35 -06:00
e685950d97 Assisted Tramming improvements (#20298) 2021-01-02 02:33:31 -06:00
5eaa10e2ad Fix //action prefix (#20600) 2021-01-02 02:06:50 -06:00
9f53738339 Fix UBL mesh edit delta moves (#20620)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-01 20:08:10 -06:00
b9d9e74f2c [cron] Bump distribution date (2021-01-02) 2021-01-02 00:23:53 +00:00
4402a0578a Fix CHAMBER_FAN_MODE 0 build (#20621) 2021-01-01 14:56:59 -06:00
815c636449 Fix PARKING_EXTRUDER homing with solenoid (#20473) 2021-01-01 14:54:44 -06:00
c840bbc970 Prefix SD SPI pins (SCK, MISO, MOSI, SS) (#20606)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-01 14:31:15 -06:00
b530db948e [cron] Bump distribution date (2021-01-01) 2021-01-01 00:24:38 +00:00
a9d18f0f57 SPI and pins cleanup 2020-12-30 22:00:36 -06:00
811b5f8bc3 [cron] Bump distribution date (2020-12-31) 2020-12-31 00:25:38 +00:00
4ad633bae2 [cron] Bump distribution date (2020-12-30) 2020-12-30 00:23:46 +00:00
41e4124af9 Support 4.3" (480x272) Color UI display (#20334) 2020-12-28 23:26:35 -06:00
84ab088b40 USB FD via native USB Host + MSC (#20571) 2020-12-28 23:16:38 -06:00
d6a56b882f Pins, comment cleanup 2020-12-28 23:11:55 -06:00
624bf10ab5 Clarify sanity-check for custom status bitmap (#20588) 2020-12-28 22:13:56 -06:00
90a2b482e6 LVGL G-code preview. Legacy MKS WiFi Cura plugin compatibility (#20589) 2020-12-28 22:07:11 -06:00
aff4fccfc3 Apply SHOW_BOOTSCREEN to TFT_COLOR_UI (#20586) 2020-12-28 21:56:37 -06:00
aa4119a849 [cron] Bump distribution date (2020-12-29) 2020-12-29 00:22:23 +00:00
a8c361c93b Menu item index followup 2020-12-27 23:49:15 -06:00
a3fac744c7 Fix Change Filament menu actions (#20565)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-27 23:39:52 -06:00
9eaa69874a Fix LVGL_UI G-code preview (#20564) 2020-12-27 23:15:01 -06:00
28a3d95cda Use ADC_RESOLUTION 12 for all STM32 (#20562) 2020-12-27 23:14:08 -06:00
185e31d322 Fix Menu Mixer for Color UI (#20566) 2020-12-27 23:11:36 -06:00
2ce9fa4b9c Better defaults, compatibility for SDIO + STM32 (#20570) 2020-12-27 23:08:06 -06:00
cfcfc8047a Small / Large Boot Screen option for TFT_COLOR_UI (#20578) 2020-12-27 21:10:53 -06:00
91c350e793 Remove URL scheme 2020-12-27 21:00:07 -06:00
84a1fff302 Allow define HOMING_FEEDRATE_(XY|Z) 2020-12-27 20:50:38 -06:00
e83b7edefc General cleanup 2020-12-27 20:50:38 -06:00
81d7bd8f41 Validate defined probe points (#20572) 2020-12-27 20:49:15 -06:00
31af49e507 [cron] Bump distribution date (2020-12-28) 2020-12-28 00:21:01 +00:00
45996fd20a Init tare pin once 2020-12-27 16:36:35 -06:00
f423edd938 Add probe_switch_activated 2020-12-27 16:36:35 -06:00
d00c89946d Remove CREALITY_TOUCH 2020-12-27 16:29:50 -06:00
198b3ae0f8 Fix some comments 2020-12-27 16:27:15 -06:00
719404803b Fix SPINDLE_LASER_FREQUENCY (#20509) 2020-12-26 19:01:54 -06:00
331ca6a800 [cron] Bump distribution date (2020-12-27) 2020-12-27 00:20:30 +00:00
e2480d40d1 [cron] Bump distribution date (2020-12-26) 2020-12-26 00:19:22 +00:00
4b860f1092 [cron] Bump distribution date (2020-12-25) 2020-12-25 00:21:08 +00:00
1fc0dcdc97 Cutter Power in percent format (#20410)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Luu Lac <45380455+shitcreek@users.noreply.github.com>
2020-12-23 22:50:24 -06:00
820cc69d0a Apply NO_MOTION_BEFORE_HOMING to joystick motion (#20462)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-23 22:43:33 -06:00
20073246bb Fix, clean up FTDI EVE Touch UI (#20466)
Co-Authored-By: Marcio T. <mlt4356-github@yahoo.com>
2020-12-23 22:23:45 -06:00
57e94fb838 Fix ST7920 timing for Rumba32, Fysetc S6 (#20556) 2020-12-23 21:35:21 -06:00
e6c15eee45 Fix DOGM status message scrolling (#20557) 2020-12-23 21:34:09 -06:00
f0c29afe21 Add "End Repeat Loops" menu item 2020-12-23 20:24:34 -06:00
4d6b6bcffc LVGL and Classic UI for STM32 (#20552) 2020-12-23 20:01:21 -06:00
f8c6de0cdc Move BTT_SKR_CR6 2020-12-23 19:57:49 -06:00
9a60f7a793 [cron] Bump distribution date (2020-12-24) 2020-12-24 00:23:59 +00:00
844a8c7074 Add OPTIMIZED_MESH_STORAGE option (for UBL) (#20371)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-23 18:19:48 -06:00
2d88a2cfb7 Remaining Time for FTDI EVE, bp for ExtUI (#20549)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-23 16:37:17 -06:00
59de35e749 Apply ENABLED in ExiUI / FTDI 2020-12-23 15:34:04 -06:00
2844086772 Support ANET_FULL_GRAPHICS_LCD_ALT_WIRING on BTT SKR 1.4 (#20427) 2020-12-23 01:21:02 -06:00
2be027f92e Probe Activation Switch followup (#20550) 2020-12-23 01:02:27 -06:00
34d9cb6778 Enhanced Italian language (#20551) 2020-12-23 01:01:18 -06:00
6af6a35d9d FTDI EVE: Cyrillic font, some minor fixes (#20517) 2020-12-23 00:51:59 -06:00
6ec4e744c0 Improve plan_arc circle detection (#20440)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-23 00:12:20 -06:00
c87c354403 Refactor 'Level Corners with Probe' (#20460)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-23 00:10:56 -06:00
56fac55a39 [cron] Bump distribution date (2020-12-23) 2020-12-23 00:20:43 +00:00
de9c0eda36 Support RGBW on PCA9632 (#20455)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-22 08:27:14 -06:00
c559fc8227 Fix G28 leveling state, UBL compile (#20499) 2020-12-22 07:01:24 -06:00
cfad5cb435 Unify FYSETC F6 1.3 / 1.4 (#20507)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-12-22 06:57:11 -06:00
0b3b4da7d0 STM32F1xx support for TFTGLCD (#20515) 2020-12-22 06:56:00 -06:00
a0c8d348a0 Anet ET4 / ET4P and Anet TFT28 / TFT35 (#20280) 2020-12-22 06:51:29 -06:00
08dcd1f680 Creality v4.3.1 (Ender 6) board (#20512) 2020-12-22 06:25:12 -06:00
91730d71ff Improve Touch Calibration screen (#20524) 2020-12-22 06:17:06 -06:00
5e3be83dbb Overrides to prevent STM32 timer conflicts (#20545) 2020-12-22 06:02:25 -06:00
c1b900aae9 Fix UBL mesh inset Z position (#20538) 2020-12-22 05:59:25 -06:00
094e822070 Improve STM32 timer conflict messages (#20544) 2020-12-22 05:49:34 -06:00
82540be931 FTDI EVE custom user menus (#20518) 2020-12-22 00:31:14 -06:00
36aff1e464 12-bit ADC resolution for STM32 (#20519) 2020-12-21 18:30:03 -06:00
ba1176108a [cron] Bump distribution date (2020-12-22) 2020-12-22 00:19:00 +00:00
9b3e16cdd0 Add Tune -> Advanced Settings to FTDI EVE (#20532) 2020-12-21 18:06:27 -06:00
34b6bca006 Tweak FTDI spacing 2020-12-21 17:48:03 -06:00
6429be6efc Robin pins followup 2020-12-21 17:47:22 -06:00
ba16c53218 Fix some Russian (#20529) 2020-12-21 17:45:00 -06:00
0d95f67f2e Fix G34 compile with bed leveling disabled (#20537) 2020-12-21 17:43:45 -06:00
3ec59b36eb Add BTT SKR CR6 board (#20522) 2020-12-21 17:36:43 -06:00
c7ecfe28e7 Clean up some pins 2020-12-21 17:36:43 -06:00
7afd274d0c Apply HOME_AFTER_DEACTIVATE for 'G28 O' (#20525) 2020-12-21 01:49:00 -06:00
71bec0824c Get E3V2 DWIN MACHINE_SIZE from config (#20526) 2020-12-21 01:47:49 -06:00
4764e2c544 [cron] Bump distribution date (2020-12-21) 2020-12-21 00:17:17 +00:00
777c50a1ec Fix PIO typo 2020-12-20 00:45:22 -06:00
d8687512b1 Update Russian and Ukrainian languages (#20508) 2020-12-20 00:33:23 -06:00
62cc65cafe Languages cleanup 2020-12-20 00:30:20 -06:00
0a99f8feed Migrate Hispeedv1 (QQS-Pro) to HAL/STM32 (#20354) 2020-12-20 00:17:24 -06:00
6dfcd491d0 Fix Creality EEPROM watchdog freq. (#20510) 2020-12-19 23:55:57 -06:00
2963229dfa Probe Tare, Probe Activation Switch (#20379)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-19 22:11:43 -06:00
7a168205eb Minimum temp options for Probing and G12 Nozzle Clean (#20383)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-12-19 22:02:38 -06:00
9a8f8f8284 Let boards set Default TMC Slave Addresses (#20498)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-12-19 21:48:31 -06:00
57f4d0523e [cron] Bump distribution date (2020-12-20) 2020-12-20 00:14:49 +00:00
45b11553f4 Tweaks for pins_BTT_SKR_common.h 2020-12-18 21:15:48 -06:00
e5d0b27aaf Rename QUIET_PROBING 2020-12-18 21:13:50 -06:00
a33ae10c56 [cron] Bump distribution date (2020-12-19) 2020-12-19 00:15:28 +00:00
017d97fd0e DOGM: Slow down touchscreen calibration (#20454) 2020-12-18 16:21:00 -06:00
b167cd2427 MKS Robin Nano V3 and STM32F4x0Vx Variant (#20430) 2020-12-18 16:18:04 -06:00
fae3c860a1 [cron] Bump distribution date (2020-12-18) 2020-12-18 00:15:25 +00:00
e9677594ea Fix and optimize MightyBoard (#20493) 2020-12-17 17:22:59 -06:00
7b9ff164cc Balance CI tests (#20485) 2020-12-17 06:18:07 -06:00
978d93af88 Make M220 B / R a standard feature (#20355) 2020-12-17 06:13:07 -06:00
31337826a3 Fix ZoneStar LCD 2004 buttons (#20489) 2020-12-17 06:05:25 -06:00
fbcc07261d Homing feedrates as XYZ array (#20426)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-17 06:02:05 -06:00
20b3af1cc2 Use homing_feedrate function 2020-12-16 22:19:04 -06:00
6d47baee5d [cron] Bump distribution date (2020-12-17) 2020-12-17 00:15:48 +00:00
c6dcf9d006 Update French language (#20472) 2020-12-16 00:46:10 -06:00
f934b774a1 Update Hungarian language
Co-Authored-By: Zs.Antal <45710979+AntoszHUN@users.noreply.github.com>
2020-12-16 00:42:55 -06:00
e6fdf530b8 Update Italian language (#20480) 2020-12-16 00:35:13 -06:00
1c4f125cb0 [cron] Bump distribution date (2020-12-16) 2020-12-16 00:14:09 +00:00
3f93b8baed Trust STM32 gcc versions 2020-12-15 01:06:32 -06:00
637123f340 Update some LCD includes 2020-12-15 01:06:27 -06:00
7243ea549d Update some pins errors 2020-12-15 00:49:55 -06:00
686bb056a4 Creality v4.5.3 (CR-6 SE, CR-6 MAX) (#20468) 2020-12-15 00:33:01 -06:00
1be16e3d8c Fix RESTORE_LEVELING_AFTER_G28 (#20471) 2020-12-15 00:16:50 -06:00
69999f962a Please install the EditorConfig plugin 2020-12-14 21:27:12 -06:00
5a6fc3e5b7 Auto-check followup 2020-12-14 21:08:09 -06:00
7be57ff9f0 Fix M1001 auto-check logic (#20456) 2020-12-14 21:04:45 -06:00
81a0206df8 Trust that script -x flags will always be set (#20453) 2020-12-14 21:02:46 -06:00
80bde7b6b5 Always enable leveling after G28 2020-12-14 20:34:22 -06:00
e349a44c60 Preheat before leveling 2020-12-14 20:34:22 -06:00
fbefe55102 Fix formatting 2020-12-14 20:34:22 -06:00
dee475cee1 [cron] Bump distribution date (2020-12-15) 2020-12-15 00:13:55 +00:00
9fd358f10c LPC176x framework update (#20469) 2020-12-14 22:36:25 +00:00
f74015b4e5 Fix TEMP_0_TR_ENABLE 2020-12-14 00:32:32 -06:00
8c05053951 [cron] Bump distribution date (2020-12-14) 2020-12-14 00:14:07 +00:00
b0392be4bf SHORT_MANUAL_Z_MOVE => FINE_MANUAL_MOVE 2020-12-13 01:54:31 -06:00
c824086825 Adjust planner debugging 2020-12-13 01:54:31 -06:00
1a9644cef9 Probe Offset Wizard followupBack to PROBE_PT_RAISE/separate STOW, make "PROBING" msg appear (#20439)
* Go back to always use PROBE_PT_RAISE with a discrete stow. This ensures a raise above the bed, while stowing prior to exiting the wizard.
* Fix issue preventing text while moving to X/Y position
Co-authored-by: FanDjango <FanDjango@users.noreply.github.com>
2020-12-12 17:18:33 -08:00
8723440d1d [cron] Bump distribution date (2020-12-13) 2020-12-13 00:14:25 +00:00
ea9b4dc82c Improve ASSISTED_TRAMMING_WIZARD probe stowing (#20437)
* When BLTOUCH_HS_MODE enabled, stow pin before user interaction
* For all probes, ensure probe stows at end of wizard
2020-12-12 11:03:28 -08:00
2eab920935 Add HAS_PIN_27_BOARD for CREALITY_V4 (#20446)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2020-12-12 10:59:17 -08:00
087a6fea13 Fix SDCARD_SORT_ALPHA on Ender 3 V2 (#20443) 2020-12-11 23:20:24 -03:00
9c9113e225 Better animated boot screen 2020-12-11 18:24:27 -06:00
8f008ac75d [cron] Bump distribution date (2020-12-12) 2020-12-12 00:13:47 +00:00
8a4f8e72df SENSORLESS_PROBING sanity check followup (#20438) 2020-12-11 01:39:51 -08:00
43222d5879 Probe offset wizard fixes (#20414)
* STOW probe, reverting incorrect earlier change from #20344
* Adjust soft endstop disables, to ensure travel below bed functions properly

Co-authored-by: FanDjango <FanDjango@users.noreply.github.com>
2020-12-11 00:06:57 -08:00
04a3bd0d34 Z_SENSORLESS sanity checks (#20421)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-10 23:33:29 -08:00
af70e80816 [cron] Bump distribution date (2020-12-11) 2020-12-11 00:13:48 +00:00
22de37ad50 Fix UBL Debug Messages (#20423)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2020-12-10 15:30:58 -03:00
6cf4b888e1 Clarify "not Interrupt-capable" error message (#20419) 2020-12-10 15:27:02 -03:00
6557751199 [cron] Bump distribution date (2020-12-10) 2020-12-10 00:13:42 +00:00
6e4925e6b6 MKS Robin Pins fixes for STM32 and STM32F1 (#20404)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-09 18:43:49 -03:00
3404cb1fc4 Move ExtUI ABL mesh edit, limit to bilinear (#20381)
* Move ExtUI call

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
Co-authored-by: Sebastiaan Dammann <sebastiaandammann@outlook.com>
2020-12-09 09:07:26 -08:00
f3bddc4e4e Fixes and additions to FTDI EVE Touch UI (#20393)
- Fixed name conflict with "SUBSCRIPT_TWO"
- Fixed rendering bugs in "Leveling Menu"
- Only show "Bed Mesh Screen" when UBL is enabled
- Removed CocoaPress code from generic "Main Menu"
- Removed CocoaPress code from LulzBot Bio "Status" screen
- Moved generic "Move Axis" functionality into a base class
- Added CocoaPress custom screens:
   - Status Screen
   - Unload Cartridge
   - Load Chocolate
   - Main Menu
   - Advanced Settings
   - XYZ Move (based on "Move Axis" base class)
   - Extrusion Move (based on "Move Axis" base class)
- CocoaPress tweaks to "Temperature" screen
- Fix FTDI EVE Touch UI compilation errors when not using leveling.
2020-12-09 05:09:31 -06:00
3e68e4b418 Fix Spindle/Laser Control menu (#20347) 2020-12-09 04:37:26 -06:00
edb2a83e71 Allow positive Z nozzle to probe offset (#20344)
* Allow a positive value for z offset from nozzle to probe without sanity checks
* Simplify menu_probe_offset.cpp (HOMING_Z_WITH_PROBE)
* Add some more explanation to Configuration Files
* Raise after probe_at_point as if homed

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-09 01:06:50 -08:00
2a4f8acd62 Clarify Delta & SCARA config location (#20403) 2020-12-08 22:12:42 -08:00
885b0d2ec5 Style, spacing, typo cleanup for recent changes 2020-12-08 20:18:29 -06:00
66834cf324 [cron] Bump distribution date (2020-12-09) 2020-12-09 00:13:32 +00:00
9ead6a30f2 SPI TFT for STM32F4 boards (#20384)
* fix pinsDebug for F1 boards

* add MKS Robin PRO V2 board - development board

* tft spi working with F4 boards

* pins formating

* sanity check for TFT on supported cores in STM32

* Fix tabs/spaces in pins file

Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-07 21:26:39 -08:00
af20db4512 [cron] Bump distribution date (2020-12-08) 2020-12-08 00:13:33 +00:00
fee375f31f Allow BTT EXP-MOT be used with Displays that needs only EXP 1 (#20396)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
2020-12-07 17:57:00 -03:00
182fdd95c3 Shorten Filament Load/Unload Strings to Fit on Graphical Displays (#20369)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
2020-12-07 17:53:53 -03:00
7f20184ebc Fix auto#.g file handling, add NO_SD_AUTOSTART (#20071) 2020-12-07 05:53:15 -06:00
b04914fb72 More LPC P-string macros 2020-12-07 05:06:24 -06:00
2ecb4fad72 Watch idle() depth over 5 2020-12-07 04:38:14 -06:00
ee4c2b36b8 Fix fileExists, use openFailed 2020-12-07 04:38:14 -06:00
00143f77d0 [cron] Bump distribution date (2020-12-07) 2020-12-07 00:13:45 +00:00
1a04c8c7bb Avoid invalid memory optimizations (#20389)
When building for AVR, merge-all-constants can incorrectly combine constants stored in flash with constants stored in RAM. These have different access requirements, leading to undefined behavior during execution.
Co-authored-by: ellensp <ellensp@hotmail.com>
2020-12-06 12:36:36 -08:00
6f4589b375 G28 followup 2020-12-05 23:06:15 -06:00
139a33c9fc G28 tweaks 2020-12-05 20:14:44 -06:00
a3f6e48eb6 Fix STM32F1 SERIAL_GET_TX_BUFFER_FREE 2020-12-05 20:05:39 -06:00
a8dffdebd4 Move G29 3-point startup earlier 2020-12-05 20:05:39 -06:00
889695b6ba ExtUI homing / leveling additions 2020-12-05 18:29:03 -06:00
bf4c08bce1 Use 'nearby' for 'near' 2020-12-05 18:27:18 -06:00
9e68c9a214 Creality 4.5.2 format and fix 2020-12-05 18:27:18 -06:00
7a6b742d12 Fix FYSETC S6 I2C EEPROM size (#20340)
Both V1.2 and V2.0 boards have a 24LC16, which is a 2kB EEPROM.

Co-authored-by: PingWin <kirill@shashlov.ru>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-05 16:19:17 -08:00
2dbd2063f8 [cron] Bump distribution date (2020-12-06) 2020-12-06 00:13:51 +00:00
e8ed880e62 Add Creality 4.5.2 board (#20378)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-05 13:23:58 -08:00
2c8f566231 Suspend Servos for STM32+NeoPixel (#19963) 2020-12-05 00:02:58 -06:00
eb254ef70b Fix TMC_HOME_PHASE divide by zero (#20368) 2020-12-04 23:59:39 -06:00
21ee7b1c86 Fix TMC_HOME_PHASE divide by zero (#20368) 2020-12-04 23:58:39 -06:00
5fdd949115 Improved Longer3D LKx Pro board (#20372)
Co-authored-by: mrv96 <marione96@live.it>
2020-12-04 23:56:20 -06:00
0a03ef4b6f Don’t use near keyword as variable name (#20374) 2020-12-04 20:29:55 -08:00
71db4f0426 [cron] Bump distribution date (2020-12-05) 2020-12-05 00:13:14 +00:00
465840e1fb Loosen E on pause for fila-manipulation (#20346)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-12-04 04:49:30 -06:00
d17db47775 Fix MESH_BED_LEVELING w/o SEGMENT_LEVELED_MOVES (#20363) 2020-12-03 19:33:46 -08:00
517bcd2b5d [cron] Bump distribution date (2020-12-04) 2020-12-04 00:12:52 +00:00
3eddbc7286 Require minimum PlatformIO version (#20361)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-12-03 09:23:48 -08:00
a1f319d5b6 Consolidate common pin includes 2020-12-03 05:53:07 -06:00
31352f8a8a Fix up start, monitor baud (#20326) 2020-12-03 04:44:33 -06:00
2878876064 Fix circle arc condition (#20322) 2020-12-03 04:40:39 -06:00
7bf04d1526 [cron] Bump distribution date (2020-12-03) 2020-12-03 00:12:40 +00:00
a4d6908d55 Permit SD EEPROM emulation on E3V2 (#20353) 2020-12-02 05:23:34 -06:00
a4618309ce Fix E3V2 DWIN Jerk Menu (#20352)
* Fix E3V2 DWIN build without CLASSIC_JERK
* Fix jerk edits applying to wrong index
2020-12-02 01:31:06 -08:00
3327568142 Help hosts when password-locked (#20348) 2020-12-01 23:52:51 -06:00
257dc6d173 Help hosts when password-locked (#20348) 2020-12-01 23:52:09 -06:00
753cf994b6 Update to STM32 v10, optimize build (#20325) 2020-12-01 23:51:04 -06:00
c353eab898 Level Bed Corners is a sub-menu 2020-12-01 21:54:58 -06:00
7226f6834e [cron] Bump distribution date (2020-12-02) 2020-12-02 00:12:48 +00:00
2e010909ac Tweak to EEPROM safe delay 2020-12-01 16:14:37 -06:00
0d080cea83 Fix E3V2 Control Menu when returning from Info (#20338) 2020-12-01 00:29:21 -08:00
6f4381df53 Prevent Watchdog reset writing Creality 4.x EEPROM (#20328) 2020-11-30 22:25:44 -08:00
db8fb9a03a [cron] Bump distribution date (2020-12-01) 2020-12-01 00:13:08 +00:00
87ede6fa1b Increase E3V2 DWIN steps/mm range to 999.9 (#20324) 2020-11-30 04:44:34 -08:00
fd35d1b8a6 General cleanup 2020-11-29 20:50:02 -06:00
8fd8772a6f Adjust axis homed / trusted methods (#20323) 2020-11-29 19:06:40 -06:00
0f9ac3026d [cron] Bump distribution date (2020-11-30) 2020-11-30 00:12:42 +00:00
df0a0c9490 Leveling Fade Height default setting (#20316) 2020-11-29 15:00:08 -06:00
f2b9be6e70 Fix STM32F1 'freeMemory()' warnings (#20319) 2020-11-29 14:57:05 -06:00
39abda8743 SKR E3 Turbo Controller Fan (#20320) 2020-11-29 14:55:18 -06:00
dcb101224f Arc Direction followup for circles (#20314) 2020-11-29 14:50:54 -06:00
e7e1dcf190 [cron] Bump distribution date (2020-11-29) 2020-11-29 00:12:56 +00:00
d466ac12ea [cron] Bump distribution date (2020-11-28) 2020-11-28 00:12:13 +00:00
1c7f53bbb2 Fix M73 LCD code typo (#20300) 2020-11-27 15:26:19 -06:00
0acd751e2d Group related homing options (#20283)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-27 00:00:25 -06:00
bab660ca7d Fix G2/G3 arcs > 180° (#20292) 2020-11-26 23:29:07 -06:00
109f68f7df Fix BTT GTR 1.0 endstop/DIAG pins (#20296) 2020-11-26 22:50:21 -06:00
819ec462b8 FIX TMC menu message (#20294) 2020-11-26 21:25:18 -06:00
b6a32500c4 M808 Repeat Markers (#20084) 2020-11-26 21:18:40 -06:00
c61a311c0d [cron] Bump distribution date (2020-11-27) 2020-11-27 00:12:12 +00:00
5cae4e9f55 [WIP] Fix Probe::offset_xy (#20290)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-11-26 13:21:48 -08:00
58ac815822 Level Corners with Probe option (#20241) 2020-11-26 07:58:19 -06:00
3ba374a29e Optimize emergency parser check 2020-11-26 03:56:21 -06:00
7ce675e604 No auto debug for EEPROM_CHITCHAT 2020-11-26 03:56:21 -06:00
aa2ced96e0 Finish HAL/STM32 cpp wrappers 2020-11-26 03:47:15 -06:00
8c59212ca4 MKS Robin E3 / E3D v1.1 (#20216) 2020-11-26 02:36:29 -06:00
4f4843a845 Tweak some pin errors 2020-11-26 01:08:21 -06:00
3a396a25dc Retire HAL for STM32F4 / F7 (#20153) 2020-11-26 00:37:18 -06:00
18853defdd Reduce warnings, extern "C" cleanup (#20279) 2020-11-25 21:40:56 -06:00
649965ae32 Probe Offset Wizard improvements (#20239) 2020-11-25 21:38:00 -06:00
afe5027a39 [cron] Bump distribution date (2020-11-26) 2020-11-26 00:11:33 +00:00
04c4c6004e Fix COLOR_UI without TOUCH_SCREEN_CALIBRATION (#20269) 2020-11-24 21:39:49 -08:00
2693e35cae add missing header to use HAS_SD_HOST_DRIVE (#20270) 2020-11-24 20:08:35 -08:00
e38abef720 Update TOUCH_UI_LULZBOT_BIO wrappers 2020-11-24 18:32:01 -06:00
0eae28a663 [cron] Bump distribution date (2020-11-25) 2020-11-25 00:11:42 +00:00
b28b2ca266 Cosmetic G29 ABL tweak 2020-11-24 17:53:39 -06:00
296a2ad7e4 Consistent Probe XY offset type 2020-11-24 17:38:26 -06:00
e9431b5445 No Z_MULTI_ENDSTOPS when HOMING_Z_WITH_PROBE (#20254) 2020-11-24 16:27:59 -06:00
4258ff1a68 Allow cold Filament Load/Unload with M302 P1 (#20262)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-24 16:20:06 -06:00
65983b4288 Set "lcd_move_e" index to fix the label (#20263) 2020-11-24 16:15:29 -06:00
ef12425bef Set "lcd_move_e" index to fix the label (#20263) 2020-11-24 16:14:22 -06:00
62680bb356 LCD position in current units (#20145) 2020-11-23 23:02:54 -06:00
94fea59e9d [cron] Bump distribution date (2020-11-24) 2020-11-24 00:11:40 +00:00
a4e1132048 Fix Z4 in ENABLE/DISABLE_AXIS_Z (#20256)
This was accidentally broken in PR #20218
2020-11-23 03:07:43 -08:00
58eaad703a Fix dummy thermistors for Bed, Chamber, Probe (#20247) 2020-11-22 18:47:52 -06:00
6f272e13c5 Allow Status Message without LCD (#20246) 2020-11-22 18:44:17 -06:00
9dedd121bf Fix UBL manual mesh adjust behavior (#20248) 2020-11-22 18:20:33 -06:00
315cb6d001 [cron] Bump distribution date (2020-11-23) 2020-11-23 00:11:32 +00:00
48b0abc3a8 Hide docker droppings 2020-11-21 23:00:38 -06:00
d8a3b9eb3a Move core conditionals earlier 2020-11-21 22:33:27 -06:00
60e8c7afb2 Put "$3" on all tests 2020-11-21 22:33:27 -06:00
e19c016c74 Clear menu history for browse media on insert (#20236)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-11-21 18:21:43 -06:00
89b56ca5c2 [cron] Bump distribution date (2020-11-22) 2020-11-22 00:12:03 +00:00
ca83e1a26f Proper pullup/pulldown configurability (#20242)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-11-21 17:56:56 -06:00
7a04df47f2 Fix Load Filament wait (#20243) 2020-11-21 17:16:03 -06:00
8db72d027e Skip unnecessary (costly) SW Stepper Enable (#20218)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-11-21 16:27:06 -06:00
6851909f90 BTN_ENC_EN for many boards (#19890)
Enables CHECK_ENCODER_ACTIVE_SIGNAL for many more boards.

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-11-20 23:47:04 -08:00
7e902b7e29 Power-Loss cleanup 2020-11-20 21:30:45 -06:00
f8e83f79c5 Superscript substitution (#20219)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-11-20 20:36:19 -06:00
1d631b7280 Fix bad SET_FAST_PWM_FREQ calls (#20227) 2020-11-20 19:55:37 -06:00
615bf2a6f1 Fix bad SET_FAST_PWM_FREQ calls (#20227) 2020-11-20 19:53:04 -06:00
474be6058b Fix backward Filament (Presence) Sensor pulls (#20228)
Co-authored-by: Kurt Haenen <Kurt.Haenen@quintux.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-11-20 19:48:53 -06:00
fb3f6a46c1 [cron] Bump distribution date (2020-11-21) 2020-11-21 00:11:06 +00:00
b3bd47b4b2 Printrboard labels 2020-11-20 17:41:20 -06:00
28e315cd69 SINGLE_TOUCH_NAVIGATION Follow Up (#20213) 2020-11-20 10:46:18 -03:00
0e3d86579b Missing header to use suicide() on LVGL UI (#20214) 2020-11-19 23:09:33 -03:00
a26a21d19a Longer LK Pro / Alfawise PRO board (#20185) 2020-11-19 18:25:27 -06:00
d8557547dd [cron] Bump distribution date (2020-11-20) 2020-11-20 00:11:02 +00:00
fe88fb7ed9 Fix DAC setDrvPct (#20205) 2020-11-19 18:08:21 -06:00
19d0c985be Windows LPC Upload for non-admins (#20208)
Co-authored-by: Victor Mateus Oliveira <rhapsodyv@gmail.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-11-19 17:49:12 -06:00
4a0fc4d699 Fix Z label 2020-11-19 17:41:24 -06:00
931df1231a MKS WiFi strings 2020-11-19 17:38:36 -06:00
b51c6d4737 More MKS WiFi 2020-11-19 17:29:01 -06:00
3893114c86 MKS WiFi preliminary changes 2020-11-19 15:56:04 -06:00
fcc29fc189 Add Thermistor 20-21 notes (#19246) 2020-11-19 14:07:47 -06:00
d7aea9608e Reduce RAM usage for TFT Color UI on SGen-L V2 (#20209) 2020-11-19 16:47:49 -03:00
4c5a58a5db Fix GTR NeoPixel pin with FYSETC Mini12864 (#20203) 2020-11-19 02:49:44 -08:00
c059ea0ea0 Remaining Time followup (#20199) 2020-11-19 00:09:51 -06:00
6a8ac21f80 Fix Filament Change menu item labels (#20201) 2020-11-19 00:05:05 -06:00
08c5557026 Abort print on media removal (#20200) 2020-11-18 23:32:33 -06:00
cb2ec628df Use RTD for MAX31865 reading (#20188) 2020-11-18 23:12:03 -06:00
acdfbbeb86 Fix broken #include (#20193) 2020-11-18 19:32:52 -06:00
8b72cbebde [cron] Bump distribution date (2020-11-19) 2020-11-19 00:10:51 +00:00
41529b6598 SMUFF (MMU2 clone) support (#19912) 2020-11-18 01:27:21 -06:00
11b811820f USB Media Host followup
Restore HAS_SHARED_MEDIA
2020-11-18 00:13:28 -06:00
39305aa47c Use MANUAL_PROBE_START_Z for UBL manual probing (#20160) 2020-11-17 23:59:48 -06:00
caeac3851a Better edit range for Linear Advance K (#20155) 2020-11-17 23:56:51 -06:00
04a3ece3e0 Remaining Time for Prusa-style LCD layout (#20148)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-17 23:49:56 -06:00
f1cdd02d4c Improve USB Media Host conditions (#20176)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-17 23:48:14 -06:00
c1920f31ca FLSun Hispeedv1 Board update (#19959)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-17 22:32:34 -06:00
ecd8227de0 Open File Browser on Media Insert (option) (#20151)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-17 22:30:32 -06:00
5768ee0f9e Probe Wizard XY position (#20167) 2020-11-17 21:54:21 -06:00
50a77ef7f0 Fix NAN mesh entries with ABL_BILINEAR_SUBDIVISION (#20143) 2020-11-17 19:11:13 -08:00
75924edcf8 COLOR_UI without TOUCH_SCREEN 👍🏻 (#20178) 2020-11-17 20:07:34 -06:00
1cceae89cd Local testing via Makefile & Docker (#19981) 2020-11-17 20:04:28 -06:00
f7eac586fb Merge tag '2.0.7.2' into master 2020-11-17 18:53:19 -06:00
26ac992242 Prevent #div0 error (#20183) 2020-11-17 18:44:53 -06:00
8c4a06d855 [cron] Bump distribution date (2020-11-18) 2020-11-18 00:10:44 +00:00
51a1561ae9 Reduce RAM usage for TFT Color UI on SGen-L (#20179) 2020-11-17 12:32:30 -08:00
a15ab85557 Update Slovak language (#20181) 2020-11-17 12:30:06 -08:00
9b2e810bdf Add FLY_CDY board (#19979)
Co-authored-by: FLYmaker <FLYmaker@users.noreply.github.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2020-11-17 03:35:02 -08:00
b57ca6e4ac add ethernet to src filter (#20136)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
2020-11-17 00:45:43 -08:00
7930fd9ce8 Use intptr types (simulator) (#20142) 2020-11-17 00:45:01 -08:00
9767e59e6c Allow overriding servo pin for MKS Robin Mini (#20158) 2020-11-17 00:40:37 -08:00
c12e6933f5 Multi-Hotend Preheat Fixes (#20165)
* Return to Status Screen on Multi-Hotend Preheat All

Co-authored-by: Victor Oliveira <81722+rhapsodv@users.noreply.github.com>
2020-11-17 00:37:37 -08:00
59d2871b59 [cron] Bump distribution date (2020-11-17) 2020-11-17 00:10:50 +00:00
4dd2496530 Allow dummy thermistors without pin definitions (#20159) 2020-11-16 14:56:59 -06:00
110e0d782f Guards for large BLOCK_BUFFER_SIZE (>=128) (#20130)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-16 14:56:05 -06:00
e955dce3dc Update IDEX menus, add post-M605 event G-code (#20133)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-15 23:56:05 -06:00
101d57d093 [cron] Bump distribution date (2020-11-16) 2020-11-16 00:11:06 +00:00
ea371618da Add Touch Calibration screen (#20049) 2020-11-15 16:39:58 -06:00
cab83ba840 Fix some LCD/serial strings 2020-11-14 18:28:39 -06:00
8d20a83e09 [cron] Bump distribution date (2020-11-15) 2020-11-15 00:12:28 +00:00
c5e411f492 Add parser.is_command(letter, code) 2020-11-14 18:09:17 -06:00
189306d24e BTT Motor Expansion for SKR Pro (#20123) 2020-11-13 20:13:36 -06:00
f9e54331ba UTF Filenames followup (#20135) 2020-11-13 20:10:50 -06:00
a97a1ae218 Fix extraneous Linear Advance DIR change (#20131) 2020-11-13 20:06:37 -06:00
a6ff61d52e Fix "autotune" LCD message (#20127) 2020-11-13 20:06:37 -06:00
c710b6e06c Optimize M360 2020-11-13 20:06:37 -06:00
072b15784f Fix extraneous Linear Advance DIR change (#20131) 2020-11-13 19:24:52 -06:00
1d43e81be0 Fix compile warnings, serial alias 2020-11-13 18:28:15 -06:00
ddc997c81f .gitignore for native / simulation 2020-11-13 18:28:15 -06:00
988fc202e2 LCD_FIRST_TOOL status bitmaps 2020-11-13 18:23:18 -06:00
6aea00289c [cron] Bump distribution date (2020-11-14) 2020-11-14 00:10:15 +00:00
fbc2d2d726 Typo in MMU2 serial protocol description (#19949) 2020-11-13 01:23:05 -06:00
1b0a5abd73 G34 Z stepper locking (#20091)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-12 22:54:18 -06:00
99c377b4e4 Fix UTF filename scroll (#20121)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-12 22:49:19 -06:00
288eb06708 UTF longname followup (#20115) 2020-11-12 22:26:49 -06:00
eb3d6a5333 [cron] Bump distribution date (2020-11-13) 2020-11-13 00:10:25 +00:00
37b56e09a3 [cron] Bump distribution date (2020-11-12) 2020-11-12 00:10:01 +00:00
0cccc60409 Terse sanity messages 2020-11-11 16:58:54 -06:00
2282801172 Add HOME_Z_FIRST option (#20113) 2020-11-11 16:58:34 -06:00
f4e9f3654e Fix MAX6675 SPI init, conflicts (#20086) 2020-11-11 16:27:45 -06:00
40d442fde2 Fix MAX31865 on SPI (PT100/1000) support (#20074) 2020-11-11 15:52:35 -06:00
6ccb4b93b1 Option to ignore SD at startup (#20099)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-11 15:16:19 -06:00
ddc23c6224 M32 followup 2020-11-11 14:39:39 -06:00
7216b8f804 Fix compile with PLR, no fan (#20096) 2020-11-11 14:35:13 -06:00
bd6e60f56d 400 Z steps-per-mm (#20104) 2020-11-11 14:30:36 -06:00
5b9aeb2e5f Handle UTF in long filenames (#20087)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-11 14:14:39 -06:00
0465e0ae3a Distinct runout states (#19965)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-11 00:39:23 -06:00
3b68e44d9a Fix Linux GPIO logging (#20093)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-10 20:13:29 -06:00
d4ba94479b BTT driver expansion for SKR 1.3/1.4 (#20088)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-10 20:06:42 -06:00
87ce545e15 Tramming Wizard wait position (#20063) 2020-11-10 19:41:21 -06:00
f8ee6f8b31 Fix UI compile issues (#20092) 2020-11-10 19:39:34 -06:00
f15fef90a9 [cron] Bump distribution date (2020-11-11) 2020-11-11 00:09:42 +00:00
53e79224fc Fix Arduino DUE compilation (#20058) 2020-11-10 03:32:08 -06:00
2abb674c87 What if 8 was 9? (#20076) 2020-11-10 03:27:34 -06:00
60aadd2a02 Update issues/support link (#20077)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-10 03:26:45 -06:00
6ce1eeb4ae Fix SKR E3 DIP pin CLCD_SPI_CS (#20078) 2020-11-10 03:22:08 -06:00
a70fdfaeba Fix 320x240 touch buttons Y (#20079) 2020-11-10 03:21:05 -06:00
f17394d677 Ability to disable M32 2020-11-10 02:21:12 -06:00
12ba2ad77e [cron] Bump distribution date (2020-11-10) 2020-11-10 00:11:19 +00:00
59eca253e1 Simplified temp sensor conditionals 2020-11-09 01:17:37 -06:00
4ace02f4c2 Add POWER_OFF_DELAY option (#19987)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-08 18:37:41 -06:00
c753d2b7f4 Use extra G35 BLTouch HS Mode clearance in Tramming Wizard (#20057)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-08 18:31:14 -06:00
d5fdc75c82 [cron] Bump distribution date (2020-11-09) 2020-11-09 00:11:21 +00:00
3c318d0dc7 POWER_LOSS_PIN for BTT SKR mini MZ / E3 2.0 (#20069) 2020-11-08 02:20:07 -06:00
5013fdaf79 Fix tool-change servo index for E2 and up (#20060) 2020-11-08 02:15:30 -06:00
06bf3ccfb7 Add alternative TERN macros 2020-11-07 22:19:25 -06:00
dcb0f5dc3b Temperature 'autostart' => 'auto_job' 2020-11-07 21:21:19 -06:00
18fb4b1ce1 MSG_AUTOSTART => MSG_RUN_AUTO_FILES 2020-11-07 21:21:19 -06:00
45116128e8 [cron] Bump distribution date (2020-11-08) 2020-11-08 00:11:23 +00:00
7beebcd315 Zonestar Z8 XM2 support (#19991) 2020-11-07 16:59:19 -06:00
883347bc11 Apply some pins formatting 2020-11-07 16:54:20 -06:00
b5ef699523 TFT cleanup 2020-11-07 16:21:52 -06:00
2da25d67e1 Fix Endstop Interrupts with SPI endstops, sanity checks (#20051)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-07 03:37:45 -06:00
6954772ece Tramming Wizard submenu option (#20000)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-07 03:20:27 -06:00
2fdeceda58 Color UI single touch menu navigation (#20053) 2020-11-07 03:00:29 -06:00
53cc8a0d6e Optimized (non-optiboot) Melzi env (#20021)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-07 02:43:51 -06:00
10fd9ed896 Anet 1.0 alternative graphical LCD wiring (#20022) 2020-11-07 02:42:14 -06:00
bb7dbceb5c Add 'mfconfig' script used to manage configs 2020-11-07 02:39:02 -06:00
a439892d7a Sanity-check illegal native USB (#20047)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-07 00:48:17 -06:00
bd872d5dcf STM32F1 cleanup, incl. SoftwareSerial removal (#20046) 2020-11-06 23:51:52 -06:00
bdfedf249a Fix FYSETC S6 timer conflict (#20044) 2020-11-06 23:49:53 -06:00
4785b04aa1 FYSETC E4 board support (#20032) 2020-11-06 23:48:52 -06:00
8c052e43f1 Update some file headers 2020-11-06 23:46:56 -06:00
85d094bbb4 Standardize Marlin SPI (part 1) (#19989) 2020-11-06 21:07:15 -06:00
97d7af7a23 Use nullptr 2020-11-06 20:17:05 -06:00
0a64f197d9 Fix E4d@box pins, stepper i2s (#20055) 2020-11-06 19:28:41 -06:00
af75e24c2e Clean up corrected urls 2020-11-06 19:11:29 -06:00
78e10d346a [cron] Bump distribution date (2020-11-07) 2020-11-07 00:10:42 +00:00
c574bcce88 Add Spanish translations (#20020) 2020-11-05 18:16:08 -06:00
ce90447531 Fix 0 extruders & bed compile (#20030) 2020-11-05 18:15:29 -06:00
f924344cc5 Don't close diveDir in fileExists (#20035) 2020-11-05 18:13:21 -06:00
323b3a63d6 [cron] Bump distribution date (2020-11-06) 2020-11-06 00:10:33 +00:00
077b9201ef Fix BTT002 PeripheralPins PWM assignments (#20036) 2020-11-05 18:10:18 -06:00
1f6612dfc4 Comment, spacing cleanup 2020-11-05 17:16:47 -06:00
c43ca39ec2 Wiring warning for ANET_FULL_GRAPHICS_LCD on SKR 1.4 (#20011) 2020-11-04 21:15:25 -06:00
0407828027 [cron] Bump distribution date (2020-11-05) 2020-11-05 00:10:28 +00:00
a1cce36c1e FAST_PWM for STM32 (#20025) 2020-11-04 15:15:19 -06:00
4fe1adc383 HAL support for 8s watchdog 2020-11-04 15:08:40 -06:00
2a78fe0f81 [cron] Bump distribution date (2020-11-04) 2020-11-04 00:09:52 +00:00
ea5886c77d Add note about TMC2225/6 (#20002) 2020-11-03 17:27:09 -06:00
e9053654a7 Better Classic UI touch resolution (#20004) 2020-11-03 17:25:33 -06:00
0be276482e Show un-mounted media slot (#20005) 2020-11-03 17:21:15 -06:00
7e55cbf798 DWIN cleanup, preserve Z offset 2020-11-03 17:18:05 -06:00
f131f58124 Add a filament runout note (#19973)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-02 20:22:14 -06:00
5a4a6285bb [cron] Bump distribution date (2020-11-03) 2020-11-03 00:09:58 +00:00
e7ebb66200 Fix STM32 HW Serial + EP compile (#19990) 2020-11-01 20:38:10 -06:00
5deca5a18f Increase SPI Speed on LPC. Color and Classic UI for MKS SGEN L. (#19945) 2020-11-01 20:15:06 -06:00
05033bb9d6 [cron] Bump distribution date (2020-11-02) 2020-11-02 00:09:42 +00:00
83097657d5 Y-center GLCD status logo, reorganize (#19954)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-01 17:44:46 -06:00
12e8861a1c Reset calibration screen touch timer on click (#19951) 2020-11-01 04:42:53 -06:00
22bf2b49c6 Clean up SPI and ST7920 defines (#19956) 2020-11-01 04:40:59 -06:00
4a39c8cd53 Get STM32 clock rates from framework (#19978)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-11-01 02:39:30 -06:00
c05beb74a9 [cron] Bump distribution date (2020-11-01) 2020-11-01 00:10:34 +00:00
cd89fa141b Add SPINDLE_SERVO option (#19971) 2020-10-31 17:42:05 -05:00
76f4dd34e0 Put PIO "debug" build in the corner (#19975) 2020-10-31 17:14:10 -05:00
da60dcbf2e Fix Chiron probe low point (#19962) 2020-10-31 16:54:31 -05:00
368a581de9 Cutter power cleanup 2020-10-31 16:51:42 -05:00
24c5259005 Fix SpindleLaser::cpwr_to_pct() maths (#19970) 2020-10-31 16:19:51 -05:00
2110739138 Cutter enable inline at full power
Co-Authored-By: Luu Lac <45380455+shitcreek@users.noreply.github.com>
2020-10-31 16:17:48 -05:00
a4a487b0cc [cron] Bump distribution date (2020-10-31) 2020-10-31 00:09:17 +00:00
ba2939b1dc Fix bilinear_line_to_destination definition
See #19431
2020-10-30 00:24:29 -05:00
6071a0835a Fix bilinear_line_to_destination definition
See #19431
2020-10-30 00:18:46 -05:00
a272c019f9 Rename, adjust Dagoma F5 (#19947) 2020-10-29 20:02:29 -05:00
dde86a4179 [cron] Bump distribution date (2020-10-30) 2020-10-30 00:10:04 +00:00
f8d57370d0 gcode_D EEPROM size, cleanup
Fixes #19920

Co-Authored-By: Orel <37673727+0r31@users.noreply.github.com>
2020-10-29 17:34:17 -05:00
de315c97b1 FAST_PWM for STM32F1 (#19952) 2020-10-29 17:17:04 -05:00
1247f73754 Update Italian language (#19953) 2020-10-29 16:27:01 -05:00
50ba20fe1f PIO env for MKS Nano boards in STM32 (#19905) 2020-10-29 02:01:25 -05:00
b6856dcb99 Improvement and fixes to FTDI touch UI
- Fixed incorrect LCD text string
- Fixed incorrect refresh of filament change screens
- Allow host control via touch UI
- Updates to leveling menu
- Modified ExtUI::isPrinting() to check if the job timer is running
- Added ExtUI method to check whether a host print is paused
2020-10-29 01:14:15 -05:00
54ec6a0ce2 Tweak code formatting 2020-10-29 01:14:15 -05:00
dca7c5d1ad Color UI for MKS SGen-L V2 (#19919) 2020-10-29 00:52:50 -05:00
7473241438 .bin and .woff are binary 2020-10-29 00:49:18 -05:00
be0c9ff705 Fix comments, spacing 2020-10-29 00:49:18 -05:00
3f644b6275 Add a note about substitution chars 2020-10-29 00:21:41 -05:00
838220e4b3 Keep SPI active on LPC176x (#19932) 2020-10-28 23:47:12 -05:00
18a5000718 Permit spaces in dependencies g++ path (#19929) 2020-10-28 23:45:10 -05:00
21674b2879 [cron] Bump distribution date (2020-10-29) 2020-10-29 00:16:59 +00:00
12dec2563a Generalize BTT SKR E3-DIP version (#19910) 2020-10-27 21:59:22 -05:00
603e4d66ac AZTEEG X5 mini LED pins (#19909) 2020-10-27 21:57:32 -05:00
90fcb82a3e Update ExtUI path in config comment (#19908) 2020-10-27 21:55:49 -05:00
94a6844521 Color UI circular task queue (#19918) 2020-10-27 21:54:30 -05:00
bdb3f1ae2f Fix LCD menus + DAC (#19907) 2020-10-27 21:40:12 -05:00
e3f1f7cd85 Fix DAC-related bugs (#19921)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-27 21:37:10 -05:00
c0b4f4eb47 "Sound: ON/OFF" menu item (#19901)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-27 20:41:12 -05:00
68ef3ac675 [cron] Bump distribution date (2020-10-28) 2020-10-28 00:16:40 +00:00
ee7476a0bf Update "Bug Report" template (#19906) 2020-10-27 17:48:06 -05:00
2cae26ee35 Fix G35 PROGMEM strings (#19926) 2020-10-27 17:25:01 -05:00
83aa3dbfa6 Archim test matching env 2020-10-27 17:21:54 -05:00
82ac8a1e76 Fix Archim 1, add Archim 1&2 tests 2020-10-27 16:21:03 -05:00
c60696dbae Keep watchdog refreshed in LVGL init (#19900) 2020-10-27 15:16:35 -05:00
75b0e3246a Fix some LVGL bugs (#19904) 2020-10-27 15:09:19 -05:00
a74e82fbae Fix NO_WORKSPACE_OFFSETS compile 2020-10-27 15:05:30 -05:00
8cf672104e [cron] Bump distribution date (2020-10-27) 2020-10-27 00:16:29 +00:00
8bdde8d7a0 [cron] Bump distribution date (2020-10-26) 2020-10-26 00:16:36 +00:00
c4f3f67537 Followup for BTN_ENC_EN 2020-10-25 04:19:59 -05:00
ec23e37a4a Clean up comments, USB flash, NULLs 2020-10-25 04:10:00 -05:00
00fbe50bbe Format Nucleo F767ZI pins 2020-10-25 04:07:15 -05:00
2e48d6cf70 Fix PASSWORD compile w/out LCD (#19888) 2020-10-25 03:46:21 -05:00
ec04517710 Support Fysetc Mini 12864 + GT2560 A(+) (#19878) 2020-10-25 03:43:21 -05:00
8cc0369d97 Use LiquidCrystal_I2C@1.1.4 for RA_CONTROL_PANEL (#19875) 2020-10-24 19:46:27 -05:00
f7cdc05937 Update ZMIB_V2 env names (#19886) 2020-10-24 19:44:46 -05:00
ea0afd0b4d Ignore NativeEthernet on AT90USB1286 (#19885) 2020-10-24 19:43:42 -05:00
62ba799d72 Add 'BTN_ENC_EN' for SKR V1.4 with DOGM (#19796) 2020-10-24 19:41:52 -05:00
b6508c4bd1 [cron] Bump distribution date (2020-10-25) 2020-10-25 00:16:51 +00:00
853d01de68 More LVGL UI code reduction (#19879) 2020-10-24 17:28:31 -05:00
311b65b225 Fix Anycubic Chiron "Ready" detection (#19880)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-24 16:48:29 -05:00
b632b52b11 Update PIO dependencies script 2020-10-24 16:25:14 -05:00
9630c2683c More MKS UI cleanup, optimization (#19869)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-23 23:37:45 -05:00
f53d5a0872 Fix Chitu V5/V6 FAN2 pins (#19874) 2020-10-23 23:29:58 -05:00
5917b5cf5c Fix warning in gcode_D 2020-10-23 19:25:32 -05:00
2a6d48bf9e [cron] Bump distribution date (2020-10-24) 2020-10-24 00:16:09 +00:00
0967c87a8f Pins post-process header (#19860) 2020-10-23 14:52:59 -05:00
0ffee29a11 Case light brightness cleanup (#19856)
Co-authored-by: Chris <chris@chrisnovoa.com>
2020-10-22 22:31:48 -05:00
c75e98dc84 Shorten a method name 2020-10-22 20:54:11 -05:00
c7f7f2403d Fix Chopper Timing extra axis defaults (#19850) 2020-10-22 20:46:48 -05:00
4533a197d5 Slim down MKS UI code (#19843) 2020-10-22 20:22:17 -05:00
1ed853f5d6 [cron] Bump distribution date (2020-10-23) 2020-10-23 00:16:15 +00:00
f83bbce3a3 Fix TMC serial port for FYSETC AIO_II (#19842) 2020-10-22 06:29:29 -05:00
4fccb92e07 Configure TMC interpolation per driver (#19828) 2020-10-22 06:27:33 -05:00
ec596315bd [cron] Bump distribution date (2020-10-22) 2020-10-22 00:16:17 +00:00
9aee6674bb FLSUN Delta QQS-Pro pins (#19793) 2020-10-21 19:00:57 -05:00
88a2ac92d5 Marlin 2.0.7.2 2020-10-21 18:16:38 -05:00
3ccb3801f2 Fix SAMD Serial name macro (#19765) 2020-10-21 18:16:38 -05:00
cc7fbabc96 Fix HAL/STM32 FastIO for analog pins (#19735) 2020-10-21 18:16:38 -05:00
28a9708ddb Don't define IS_ULTIPANEL empty 2020-10-21 18:16:00 -05:00
7d64de646a Add power-on/off G-code options (#19837)
Co-authored-by: Chris <chris@chrisnovoa.com>
2020-10-21 15:03:11 -05:00
1e4691f02a BigTreeTech SKR Mini MZ V1 (#19818) 2020-10-21 14:14:19 -05:00
4fe4fb0585 Fresh Web GUI (based on bootstrap.js) (#19812) 2020-10-21 13:51:14 -05:00
cf74248949 Support for Ramps-S v1.2 (#19815) 2020-10-21 13:44:55 -05:00
072f996af7 General cleanup, mostly MKS UI (#19825) 2020-10-21 12:45:27 -05:00
1f7c085527 ESP32: i2s_init requires I2S_STEPPER_STREAM 2020-10-20 22:36:31 -05:00
a596969049 Fix G2/G3 P<circles> E and Z motion (#19797)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-20 20:26:07 -05:00
11badea962 [cron] Bump distribution date (2020-10-21) 2020-10-21 00:16:12 +00:00
d04ec15849 Longer3D: LONGER_LK_TFT28 now set by config (#19817) 2020-10-20 15:06:06 -05:00
69d55cabd4 Handle dependent Stepper Driver defaults later (#19820)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-20 15:01:46 -05:00
9baa944460 Teensy 4.1 Ethernet support (#19801) 2020-10-20 14:35:29 -05:00
92767f5513 Misc. cleanup, serial strings 2020-10-19 20:39:36 -05:00
b320b1a3c2 [cron] Bump distribution date (2020-10-20) 2020-10-19 20:39:36 -05:00
35b9e9b4a5 Tweak a host prompt call 2020-10-19 20:39:36 -05:00
21ce39aa9b Use PGM serial strings 2020-10-19 04:25:48 -05:00
ea80b2c8fc Ensure A4988 for unspecified driver type (#19798)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-19 03:16:02 -05:00
f501930728 Document M125 P 2020-10-19 00:38:11 -05:00
8285953c1b [cron] Bump distribution date (2020-10-19) 2020-10-19 00:16:11 +00:00
6375829448 Apply home offsets to probing, Z Safe Homing (#19423)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-18 15:53:12 -05:00
b0f0dc683d ABM Teensy 3.6 build 2020-10-18 00:20:25 -05:00
c2802d35bb Distinct Chopper Timing settings (#19781)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-17 22:35:19 -05:00
2693d0eb27 [cron] Bump distribution date (2020-10-18) 2020-10-18 00:16:03 +00:00
6fed11896b Fix M503 output for M907 motor current (#19777)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-17 16:11:22 -05:00
178721a329 Fix Smoothieboard digipots i2c pin (#19784) 2020-10-17 15:05:50 -05:00
263f29a96a MarlinUI followup 2020-10-16 20:48:59 -05:00
e99f967372 Starting fan followup 2020-10-16 20:38:30 -05:00
313efa33ae Fix starting fan with bad material preset index (#19773) 2020-10-16 20:05:45 -05:00
eaf6777a66 Rename ultralcd => marlinui 2020-10-16 19:55:18 -05:00
0f6fc48f85 touch_ms followup 2020-10-16 19:55:18 -05:00
1e13a7161a [cron] Bump distribution date (2020-10-17) 2020-10-17 00:15:41 +00:00
3ed0b24831 Provide FYSETC F6 13 LCD pins for HD44780 (#19769) 2020-10-16 17:07:34 -05:00
050ba0e0a0 LCD conditionals followup (#19766) 2020-10-16 17:04:10 -05:00
418b3e5ee2 Fix IDEX layer shift and DIR states (#19756)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:59:55 -05:00
d896dedf9b Add NUCLEO-F767ZI dev board (#19373)
Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com>
2020-10-16 16:42:39 -05:00
00709017e2 If needed, home before G34 (#19713) 2020-10-16 16:42:39 -05:00
b7d9b05952 TFT followup fixes (#19710) 2020-10-16 16:42:37 -05:00
f7f1224941 Watchdog Refresh for LVGL Asset Load (#19724) 2020-10-16 16:42:15 -05:00
fd8d83b7c8 Fix mega2560ext environment (#19730) 2020-10-16 16:42:15 -05:00
52fc0b896d [cron] Bump distribution date (2020-10-15) 2020-10-16 16:42:15 -05:00
ba045d6852 [cron] Bump distribution date (2020-10-14) 2020-10-16 16:42:15 -05:00
54bdcb4691 Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) 2020-10-16 16:42:15 -05:00
2a2666326b Simple bool in soft_endstops_t 2020-10-16 16:42:15 -05:00
3bba5d55bf [cron] Bump distribution date (2020-10-13) 2020-10-16 16:42:15 -05:00
5d07d83e78 [cron] Bump distribution date (2020-10-12) 2020-10-16 16:40:25 -05:00
37f97bc013 Fix various errors, warnings in example config builds (#19686)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:40:14 -05:00
6d31bbe2bf [cron] Bump distribution date (2020-10-11) 2020-10-16 16:39:55 -05:00
e2e1776a14 Restore correct STM32 port-bits code (#19678) 2020-10-16 16:39:55 -05:00
bd196e7efc Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-16 16:39:55 -05:00
dffe7b9072 Add loose soft endstop state, apply to UBL fine-tune (#19681)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
2b326ebc84 Add D100 Watchdog Test (#19697) 2020-10-16 16:39:55 -05:00
f4ff6a673f Allow MAX31865 resistance values configuration (#19695) 2020-10-16 16:39:55 -05:00
cc915a25ed Add REPORT_TRAMMING_MM option (#19682)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
600870f22b Fix motion compile w/out probe-oriented settings (#19684) 2020-10-16 16:39:55 -05:00
04882e2f34 Fix I2C_ADDRESS sign warning (#19685) 2020-10-16 16:39:55 -05:00
c6cf3da276 Fix various errors, warnings in example config builds (#19686)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
8a5c3782b8 Fix at90usb1286 build (#19687)
* Skip check for USBCON during dependency detection
* Ignore incompatible Teensy_ADC library, which requires Teensy >= 3
* Add IS_AT90USB

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
beb17d8855 Digipots refactor / cleanup (#19690) 2020-10-16 16:39:55 -05:00
4ee717f7c4 Save PLR on resume from pause (#19676)
Co-Authored-By: shahab <32130261+SHBnik@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
e680196c59 Restore correct STM32 port-bits code (#19678) 2020-10-16 16:39:55 -05:00
ce92abfe47 Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-16 16:39:55 -05:00
50410aaeaa Fix UTF8 handling for Color UI (#19708) 2020-10-16 16:39:55 -05:00
35c40bc376 Implement wait_for_user for Color UI (#19694) 2020-10-16 16:39:55 -05:00
aae644c507 Option to prevent (extra) Watchdog init on STM32 (#19693) 2020-10-16 16:39:55 -05:00
ce830f8a71 Fix screen click reading too often (#19696)
Co-authored-by: andreibobirica <39415547+andreibobirica@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
d3d423a322 Sanity-check mutually-exclusive G34 features (#19706) 2020-10-16 16:39:55 -05:00
8b060a3902 G34 Mechanical Gantry Calibration (like Prusa M915) (#18972)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:55 -05:00
faae900747 TFT Refactoring (#19192)
* split tft folder in two: tft for color ui; tft_io for shared tft code

* after the files got moved, now the code was moved to the right place

* classic ui using TFT IO init lcd codes

* feature to compile tft_io when enabled

* compiling fix

* lvgl spi tft working with tft io init codes

* there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything

* remove debug

* base for TFT rotation and mirroring API, and ILI9488 support

* ST7796S rotate and mirror support

* ST7789V rotate and mirror support

* ST7735 rotate and mirror support

* ILI9341 rotate and mirror support

* ILI9328 rotate and mirror support

* R61505 rotate and mirror support

* MKS TFT definitions

* more configs for mks tfts

* update config

* naming typo

* to configure the user interface

* ANYCUBIC_TFT35

* tft configs

* support for SSD1963

* tft display types

* updated conditionals lcd; first board fully working with the new code - all 3 ui!

* compatiblity

* changed name

* move classic ui file name

* rename TURN -> ROTATE

* GRAPHICAL_TFT_ROTATE_180 deprecated

* first fsmc board fully working - chitu v5

* mks robin nano v1.2 + tft 35 ok!

* right pin name

* anycubic tft tested in a TRIGORILLA_PRO

* chitu v6

* nano 32 tft orientation

* mks tft43

* mks tft43 rotation

* fixed LONGER LK tft setup

* GRAPHICAL_TFT_UPSCALE defined by the display type

* better offsets defaults

* Update Configuration.h

* Update tft_fsmc.cpp

* Update Conditionals_LCD.h

* Tweak comments

* update nano tests

* Revert "update nano tests"

This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65.

* default tft

* outdated comments

* to not break non-vscode builds

* upscale tft 35

* support tft 180 rotation for color ui

* Each TFT Driver is responsible for its default color mode.

* use auto detect in mks displays, because some of them could be shipped with diferent drivers

* extra s

* unused code

* wrong -1

* missing mirror options

* Smaller regex pattern

* Comment updates

* Clean up old defines

* Apply pins formatting

* GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180

* MKS_ROBIN_TFT_V1_1R

* merge fix

* correct resolution

* auto is default, dont need be there, and it will allow the user to configure it even for named displays

* to not use rotation with MKS_ROBIN_TFT_V1_1R

* i like () in macros

* avoid sleepy commits

* default for st7789 is rgb

* nano follow up

* to allow ili9328 rotation

* default is rgb

* boards merge follow up

* to match bootloader orientation

* HAS_TOUCH_XPT2046 is not hal specific anymore

* lets not forget LPC

* 180 rotation for ili9328 and R61505

* Clean up whitespace

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-16 16:39:55 -05:00
11662bf2b6 Marlin 2.0.7.1 2020-10-16 16:39:55 -05:00
887e2637c0 Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-16 16:39:55 -05:00
958f05e4b4 HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) 2020-10-16 16:39:55 -05:00
9126a2e654 [cron] Bump distribution date (2020-10-10) 2020-10-16 16:39:55 -05:00
5070fae231 Batch appercase hex values 2020-10-16 16:39:54 -05:00
454f9d6319 Optional M42/M226; Add more features filters (#19664) 2020-10-16 16:39:54 -05:00
59b6b32e6e Support for Debug Codes - Dnnn (#19225)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:54 -05:00
6d9709e20d Support for FLY MINI (#19185) 2020-10-16 16:39:54 -05:00
7a484959d5 Fix touch ifndefs (#19661) 2020-10-16 16:39:54 -05:00
78060f55e6 Update Italian language (#19654) 2020-10-16 16:39:54 -05:00
3fca19fbab [cron] Bump distribution date (2020-10-09) 2020-10-16 16:39:54 -05:00
b8700e0aa8 Fix and improve Makefile / CMake (#19640) 2020-10-16 16:39:54 -05:00
d66bc5cec2 Permit touch calibration override 2020-10-16 16:39:54 -05:00
fb28c6041a Use 0xFF (not 'ff') for byte transfer 2020-10-16 16:39:54 -05:00
0f9d57e03a Apply env:mega2560ext to relevant boards (#19624) 2020-10-16 16:39:54 -05:00
32377849da Update PROBE_OFFSET_WIZARD comment (#19652) 2020-10-16 16:39:54 -05:00
0975c487f0 [cron] Bump distribution date (2020-10-08) 2020-10-16 16:39:54 -05:00
d07ad63016 More accessible PROBE_OFFSET_WIZARD (#19647) 2020-10-16 16:39:54 -05:00
1a5a3cf253 Restore ° to 6x9 small info font (#19645) 2020-10-16 16:39:54 -05:00
6f6901180c Chamber vent/fan followup 2020-10-16 16:39:54 -05:00
9cc6297292 Fix small font section directive, mixer warning 2020-10-16 16:39:54 -05:00
cf53bc2dd2 [cron] Bump distribution date (2020-10-07) 2020-10-16 16:39:54 -05:00
f4f4ea05e1 Update language fonts 2020-10-16 16:39:54 -05:00
2b845e5a75 Add Chamber servo vent, auto fan (#19519) 2020-10-16 16:39:54 -05:00
6fcbf11454 Fix Ender-3 V2 DWIN Stop SD Print (#19642)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:54 -05:00
8a69147adf Improve retract / unretract labels 2020-10-16 16:39:54 -05:00
f8ceedea5c [cron] Bump distribution date (2020-10-06) 2020-10-16 16:39:54 -05:00
a4e4226578 Trailing whitespace 2020-10-16 16:39:54 -05:00
e76fd6bd33 Sync config to examples 2020-10-16 16:39:54 -05:00
437bee418b Z Probe Offset Wizard (#18866) 2020-10-16 16:39:54 -05:00
31238de937 Allow bypass for cold E movement (#19606) 2020-10-16 16:39:54 -05:00
cb8c99c4f8 [cron] Bump distribution date (2020-10-05) 2020-10-16 16:39:54 -05:00
2fe81d0cb2 Fix Archim1 stepper timing (with new variant) (#19596) 2020-10-16 16:39:54 -05:00
fb7d7ee7b4 Add HAS_FAST_MOVES 2020-10-16 16:39:54 -05:00
d99fdcf526 Fix Z_AFTER_HOMING without probe (#19607) 2020-10-16 16:39:54 -05:00
e4d2234a04 Move SF_ARC_FIX option 2020-10-16 16:39:54 -05:00
bea919da6e Fix German translation purging/unloading (#19615) 2020-10-16 16:39:54 -05:00
2fb22cc116 Shared singlenozzle item 2020-10-16 16:39:54 -05:00
d4b6542ce1 Fix Tune/Fan edit items
- Fixes #19617
- Followup to #18400
2020-10-16 16:39:53 -05:00
7d47ee732e [cron] Bump distribution date (2020-10-04) 2020-10-16 16:39:53 -05:00
6ceacd62f9 [cron] Bump distribution date (2020-10-03) 2020-10-16 16:39:53 -05:00
2ce6741731 Fix 'bossac' upload on Windows (#19545) 2020-10-16 16:39:53 -05:00
2213eb3317 Touch UI support for X2, Y2 and Z2 (#19538) 2020-10-16 16:39:53 -05:00
b947590082 Fix wrappers on HAL/STM32F1 .cpp files (#19581)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:39:53 -05:00
20bcaa78f6 Fix TEMP_ADC_PROBE support for STM32F1 (#19582)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
2020-10-16 16:39:53 -05:00
9834a36a17 Fix compile of MMU2 with S-mode disabled (#19584) 2020-10-16 16:39:24 -05:00
90801f8815 Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) 2020-10-16 16:39:24 -05:00
4d1357e318 Adjust HAL platform defines, comments 2020-10-16 16:39:23 -05:00
8d090cbdbb Replace tabs with spaces 2020-10-16 16:38:59 -05:00
ec5b78d18b Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) 2020-10-16 16:38:59 -05:00
d33317eadb [cron] Bump distribution date (2020-10-02) 2020-10-16 16:38:59 -05:00
f8375a3ea2 G35 workaround for Pronterface "feature" (#19577) 2020-10-16 16:38:59 -05:00
5a02959d18 Fix Anycubic i3 Mega target temperature display (#19572)
Also includes a workaround for missing (probably un-fetched) long name in file listing
2020-10-16 16:38:58 -05:00
cc123bc657 No move on Park = No move on Resume (#19569) 2020-10-16 16:38:58 -05:00
4f6a0605bf Update Slovak language (#19561) 2020-10-16 16:38:58 -05:00
b89700ed35 Fix Buzzer (pin) init for uninitialized FastIO (#19559) 2020-10-16 16:38:58 -05:00
ca853fbe19 Fix Move Screen with disabled Touch (#19558) 2020-10-16 16:38:58 -05:00
1ba2548fb2 [cron] Bump distribution date (2020-10-01) 2020-10-16 16:38:58 -05:00
1332be77a5 [cron] Bump distribution date (2020-09-30) 2020-10-16 16:38:58 -05:00
aa901ac4a2 Fix HAL/STM32 FastIO for analog pins (#19735) 2020-10-16 16:21:21 -05:00
0b80841c38 Fix Color UI external_control, wait_for_release (#19771)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:19:48 -05:00
e370834c35 Handle M410 in the main task (#19752) 2020-10-16 16:11:00 -05:00
9b9cd698a5 Fix SAMD Serial name macro (#19765) 2020-10-16 16:04:51 -05:00
a4b89e67c6 Update MKS SGen-L V2 RGB LED pins (#19762) 2020-10-16 02:16:09 -05:00
814db9d7c9 Add ESP32 160MHz to README (#19748) 2020-10-16 02:06:05 -05:00
7f83231385 Fix NUCLEO_F767ZI build, add tests (#19746) 2020-10-16 02:04:55 -05:00
5247bb11f7 Sanity check unsupported EP (#19745) 2020-10-16 02:03:45 -05:00
763544585a [cron] Bump distribution date (2020-10-16) 2020-10-16 00:15:39 +00:00
8a885dc61b Fix TOUCH_SCREEN + TFT_LVGL_UI compile (#19754) 2020-10-15 18:38:27 -05:00
f74b5a6b9b Update Probe Offset Wizard for Color UI (#19742) 2020-10-15 14:15:11 -05:00
72e3238c3f Fix ADVANCED_PAUSE && !PREVENT_COLD_EXTRUSION (#19740) 2020-10-15 13:44:57 -05:00
f86c6851fc Default LASER_POWER_INLINE to OFF (#19727) 2020-10-15 13:18:43 -05:00
f6ffbe548c TFT Presets, Generic options, Sanity checks (#19723) 2020-10-15 03:00:27 -05:00
04c27573d6 [cron] Bump distribution date (2020-10-15) 2020-10-15 00:15:10 +00:00
9a23fb5863 Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) 2020-10-14 13:50:03 -05:00
90d364fc37 Revert at90usb1286 conditional (#19733) 2020-10-14 13:48:46 -05:00
79d51581ba Fix digipot compilation (#19731) 2020-10-14 13:44:03 -05:00
9507c49b18 Fix mega2560ext environment (#19730) 2020-10-14 13:43:36 -05:00
87b07d6f2f [cron] Bump distribution date (2020-10-14) 2020-10-14 00:15:03 +00:00
64711e0d56 If needed, home before G34 (#19713) 2020-10-13 18:13:25 -05:00
bf33b2f862 Watchdog Refresh for LVGL Asset Load (#19724) 2020-10-13 18:12:34 -05:00
54315252c7 Add NUCLEO-F767ZI dev board (#19373)
Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com>
2020-10-13 18:03:09 -05:00
733eb127e9 Simple bool in soft_endstops_t 2020-10-13 14:55:14 -05:00
2132efa981 TFT followup fixes (#19710) 2020-10-13 11:58:50 -05:00
da79674f84 [cron] Bump distribution date (2020-10-13) 2020-10-13 00:15:19 +00:00
ae36ed3903 Move @section temperature 2020-10-12 18:02:25 -05:00
cc4db8e4a9 Fix UTF8 handling for Color UI (#19708) 2020-10-12 18:01:03 -05:00
f9f8fd37de Sanity-check mutually-exclusive G34 features (#19706) 2020-10-12 16:52:56 -05:00
193c0a52d9 Add loose soft endstop state, apply to UBL fine-tune (#19681)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-12 16:48:04 -05:00
f5139f8bf4 Add D100 Watchdog Test (#19697) 2020-10-12 16:39:31 -05:00
c0920bbf6a TFT Refactoring (#19192)
* split tft folder in two: tft for color ui; tft_io for shared tft code

* after the files got moved, now the code was moved to the right place

* classic ui using TFT IO init lcd codes

* feature to compile tft_io when enabled

* compiling fix

* lvgl spi tft working with tft io init codes

* there is no need for separeted fsmc and spi class in lvgl anymore, as tft io handle everything

* remove debug

* base for TFT rotation and mirroring API, and ILI9488 support

* ST7796S rotate and mirror support

* ST7789V rotate and mirror support

* ST7735 rotate and mirror support

* ILI9341 rotate and mirror support

* ILI9328 rotate and mirror support

* R61505 rotate and mirror support

* MKS TFT definitions

* more configs for mks tfts

* update config

* naming typo

* to configure the user interface

* ANYCUBIC_TFT35

* tft configs

* support for SSD1963

* tft display types

* updated conditionals lcd; first board fully working with the new code - all 3 ui!

* compatiblity

* changed name

* move classic ui file name

* rename TURN -> ROTATE

* GRAPHICAL_TFT_ROTATE_180 deprecated

* first fsmc board fully working - chitu v5

* mks robin nano v1.2 + tft 35 ok!

* right pin name

* anycubic tft tested in a TRIGORILLA_PRO

* chitu v6

* nano 32 tft orientation

* mks tft43

* mks tft43 rotation

* fixed LONGER LK tft setup

* GRAPHICAL_TFT_UPSCALE defined by the display type

* better offsets defaults

* Update Configuration.h

* Update tft_fsmc.cpp

* Update Conditionals_LCD.h

* Tweak comments

* update nano tests

* Revert "update nano tests"

This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65.

* default tft

* outdated comments

* to not break non-vscode builds

* upscale tft 35

* support tft 180 rotation for color ui

* Each TFT Driver is responsible for its default color mode.

* use auto detect in mks displays, because some of them could be shipped with diferent drivers

* extra s

* unused code

* wrong -1

* missing mirror options

* Smaller regex pattern

* Comment updates

* Clean up old defines

* Apply pins formatting

* GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180

* MKS_ROBIN_TFT_V1_1R

* merge fix

* correct resolution

* auto is default, dont need be there, and it will allow the user to configure it even for named displays

* to not use rotation with MKS_ROBIN_TFT_V1_1R

* i like () in macros

* avoid sleepy commits

* default for st7789 is rgb

* nano follow up

* to allow ili9328 rotation

* default is rgb

* boards merge follow up

* to match bootloader orientation

* HAS_TOUCH_XPT2046 is not hal specific anymore

* lets not forget LPC

* 180 rotation for ili9328 and R61505

* Clean up whitespace

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-12 16:38:07 -05:00
bcf65aa503 Fix screen click reading too often (#19696)
Co-authored-by: andreibobirica <39415547+andreibobirica@users.noreply.github.com>
2020-10-12 00:59:30 -05:00
a866a758cc Allow MAX31865 resistance values configuration (#19695) 2020-10-12 00:40:39 -05:00
e7838c5f79 G34 Mechanical Gantry Calibration (like Prusa M915) (#18972)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-11 21:34:27 -05:00
f21b91f1a7 Add REPORT_TRAMMING_MM option (#19682)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-11 21:30:18 -05:00
edda32e6b4 Fix motion compile w/out probe-oriented settings (#19684) 2020-10-11 19:42:50 -05:00
639b0b8f50 Option to prevent (extra) Watchdog init on STM32 (#19693) 2020-10-11 19:31:21 -05:00
18dd0d00a6 Implement wait_for_user for Color UI (#19694) 2020-10-11 19:26:16 -05:00
24fd19259d Fix I2C_ADDRESS sign warning (#19685) 2020-10-11 19:23:23 -05:00
bdd555990b [cron] Bump distribution date (2020-10-12) 2020-10-12 00:15:08 +00:00
c762b7c91b Fix various errors, warnings in example config builds (#19686)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-11 19:06:57 -05:00
45731bd022 Fix at90usb1286 build (#19687)
* Skip check for USBCON during dependency detection
* Ignore incompatible Teensy_ADC library, which requires Teensy >= 3
* Add IS_AT90USB

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-11 18:13:01 -05:00
492ba2a111 Digipots refactor / cleanup (#19690) 2020-10-11 14:58:35 -05:00
349465b168 [cron] Bump distribution date (2020-10-11) 2020-10-11 00:15:24 +00:00
98427ea92a Save PLR on resume from pause (#19676)
Co-Authored-By: shahab <32130261+SHBnik@users.noreply.github.com>
2020-10-10 12:09:44 -05:00
a90edd5eb4 Restore correct STM32 port-bits code (#19678) 2020-10-10 11:47:28 -05:00
6fdaaf3d20 Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-10 05:08:01 -05:00
406f8363bc HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) 2020-10-10 04:39:12 -05:00
a7f334387c Keep HAL tasks running during PID Autotune (#19671) 2020-10-09 23:37:43 -05:00
8e03a4cb93 Keep HAL tasks running during PID Autotune (#19671) 2020-10-09 23:35:41 -05:00
1403260487 [cron] Bump distribution date (2020-10-10) 2020-10-10 00:14:40 +00:00
6831341ab4 Batch appercase hex values 2020-10-09 16:55:27 -05:00
0988af453c Optional M42/M226; Add more features filters (#19664) 2020-10-09 16:42:23 -05:00
631457ffea Support for Debug Codes - Dnnn (#19225)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-09 06:28:53 -05:00
bec1844954 Support for FLY MINI (#19185) 2020-10-09 06:09:27 -05:00
e6d0a8ef66 Fix touch ifndefs (#19661) 2020-10-09 02:52:06 -05:00
70ab146cbb Update Italian language (#19654) 2020-10-09 02:51:25 -05:00
33b2e12886 [cron] Bump distribution date (2020-10-09) 2020-10-09 00:14:12 +00:00
1de29026d5 Fix and improve Makefile / CMake (#19640) 2020-10-08 18:40:54 -05:00
854af7a4bf Permit touch calibration override 2020-10-08 16:59:54 -05:00
f72c559824 Use 0xFF (not 'ff') for byte transfer 2020-10-08 15:18:43 -05:00
321afd5fef Apply env:mega2560ext to relevant boards (#19624) 2020-10-08 02:30:31 -05:00
91df2bea80 Update PROBE_OFFSET_WIZARD comment (#19652) 2020-10-07 20:43:08 -05:00
5de2946999 [cron] Bump distribution date (2020-10-08) 2020-10-08 00:12:06 +00:00
c650b752f1 More accessible PROBE_OFFSET_WIZARD (#19647) 2020-10-07 13:01:01 -05:00
c12f41ec6f Restore ° to 6x9 small info font (#19645) 2020-10-07 13:00:08 -05:00
2c6ec0c999 Chamber vent/fan followup 2020-10-06 19:42:11 -05:00
f1e563d8cf Fix small font section directive, mixer warning 2020-10-06 19:18:00 -05:00
6de179eb7d [cron] Bump distribution date (2020-10-07) 2020-10-07 00:14:42 +00:00
584ffc6f52 Update language fonts 2020-10-06 18:37:32 -05:00
2c99c1e06f Add Chamber servo vent, auto fan (#19519) 2020-10-06 18:36:01 -05:00
f95a2f6d91 Fix Ender-3 V2 DWIN Stop SD Print (#19642)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-06 16:58:28 -05:00
b31e358270 Improve retract / unretract labels 2020-10-06 03:01:28 -05:00
673835e5d9 [cron] Bump distribution date (2020-10-06) 2020-10-06 00:14:30 +00:00
f5bae208cc Trailing whitespace 2020-10-05 17:16:42 -05:00
c25c31b1de Sync config to examples 2020-10-05 17:16:42 -05:00
343441d746 Z Probe Offset Wizard (#18866) 2020-10-05 00:31:20 -05:00
78fc4c8947 Allow bypass for cold E movement (#19606) 2020-10-04 19:51:21 -05:00
86165ceca5 [cron] Bump distribution date (2020-10-05) 2020-10-05 00:14:33 +00:00
8989353fab Fix Archim1 stepper timing (with new variant) (#19596) 2020-10-04 17:41:41 -05:00
7e0524109e Add HAS_FAST_MOVES 2020-10-04 17:31:10 -05:00
d88e694d06 Fix Z_AFTER_HOMING without probe (#19607) 2020-10-04 16:47:06 -05:00
44d50c2bd3 Move SF_ARC_FIX option 2020-10-04 15:46:00 -05:00
58548f5051 Fix German translation purging/unloading (#19615) 2020-10-04 14:50:12 -05:00
782eabc226 Shared singlenozzle item 2020-10-04 14:47:06 -05:00
0ff3ae3cc6 Fix Tune/Fan edit items
- Fixes #19617
- Followup to #18400
2020-10-04 14:29:44 -05:00
8088c7dcd5 [cron] Bump distribution date (2020-10-04) 2020-10-04 00:14:30 +00:00
604d10d307 [cron] Bump distribution date (2020-10-03) 2020-10-03 00:14:05 +00:00
8dcc72ce9c Fix 'bossac' upload on Windows (#19545) 2020-10-02 17:31:33 -05:00
d06bcd6dd3 Touch UI support for X2, Y2 and Z2 (#19538) 2020-10-02 17:30:32 -05:00
b3c2ee56f9 Fix wrappers on HAL/STM32F1 .cpp files (#19581)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-02 17:28:08 -05:00
435e98ceed Fix TEMP_ADC_PROBE support for STM32F1 (#19582)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
2020-10-02 17:19:43 -05:00
7d21dfc938 Add Configurations repo info to config/README.md (#19583)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-02 17:16:55 -05:00
2e1ba73926 Fix compile of MMU2 with S-mode disabled (#19584) 2020-10-02 17:12:17 -05:00
e8a62ee3cf Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) 2020-10-02 17:08:50 -05:00
4e8eea8e78 Adjust HAL platform defines, comments 2020-10-02 17:05:59 -05:00
d83baf8925 Replace tabs with spaces 2020-10-02 17:05:59 -05:00
348570fd68 Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) 2020-10-01 20:54:22 -05:00
cf61562196 [cron] Bump distribution date (2020-10-02) 2020-10-02 00:13:10 +00:00
d02d7a95d1 G35 workaround for Pronterface "feature" (#19577) 2020-10-01 18:17:11 -05:00
ba07c26761 Fix Anycubic i3 Mega target temperature display (#19572)
Also includes a workaround for missing (probably un-fetched) long name in file listing
2020-10-01 18:09:39 -05:00
e56295851f No move on Park = No move on Resume (#19569) 2020-10-01 17:51:11 -05:00
f7d93dadeb Update Slovak language (#19561) 2020-10-01 17:47:24 -05:00
5c87762f9e Fix Buzzer (pin) init for uninitialized FastIO (#19559) 2020-09-30 20:14:19 -05:00
ea78514ff3 Fix Move Screen with disabled Touch (#19558) 2020-09-30 20:06:32 -05:00
2616feb3df [cron] Bump distribution date (2020-10-01) 2020-10-01 00:14:15 +00:00
f4255b14e8 [cron] Bump distribution date (2020-09-30) 2020-09-30 00:13:59 +00:00
2675 changed files with 310208 additions and 119152 deletions

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

2
.gitattributes vendored
View File

@ -17,3 +17,5 @@
*.png binary
*.jpg binary
*.fon binary
*.bin binary
*.woff binary

View File

@ -1,43 +0,0 @@
---
name: Bug report
about: Report a bug in Marlin
title: "[BUG] (short description)"
labels: ''
assignees: ''
---
<!--
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/master/.github/code_of_conduct.md
Do you want to ask a question? Are you looking for support? Please don't post here. Instead please use one of the support links at https://github.com/MarlinFirmware/Marlin/issues/new/choose
Before filing an issue be sure to test the "bugfix" branches to see whether the issue has been resolved.
-->
### Bug Description
<!-- Description of the bug -->
### My Configurations
**Required:** Please include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files.
### Steps to Reproduce
<!-- 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
* Provide pictures or links to videos that clearly demonstrate the issue.
* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines.

View File

@ -1,17 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Marlin Documentation
url: http://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: http://forums.reprap.org/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!

View File

@ -1,35 +0,0 @@
---
name: Feature request
about: Request a Feature
title: "[FR] (feature request title)"
labels: 'T: Feature Request'
assignees: ''
---
<!--
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/master/.github/code_of_conduct.md
Do you want to ask a question? Are you looking for support? Please don't post here. Instead please use one of the support links at https://github.com/MarlinFirmware/Marlin/issues/new/choose
Before filing an issue be sure to test the "bugfix" branches to see whether the issue has been resolved.
-->
### Description
<!-- Description of the requested feature -->
### Feature Workflow
<!-- Please describe the feature's behavior, user interaction, etc. -->
1. [First Action]
2. [Second Action]
3. [and so on...]
#### Additional Information
* Provide pictures or links that demonstrate a similar feature or concept.
* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines.

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.

View File

@ -1,11 +0,0 @@
# NO SUPPORT REQUESTS PLEASE
Do you want to ask a question? Are you looking for support? Please don't post here. Support Requests posted here will be automatically closed!
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.

40
.github/lock.yml vendored
View File

@ -1,40 +0,0 @@
#
# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app
#
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 60
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: false
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: [ 'no-locking' ]
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue for
related bugs.
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: true
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings just for `issues` or `pulls`
# issues:
# exemptLabels:
# - help-wanted
# lockLabel: outdated
# pulls:
# daysUntilLock: 30
# Repository to extend settings from
# _extends: repo

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. -->

View File

@ -1,35 +0,0 @@
#
# bump-date.yml
# Bump the distribution date once per day
#
name: Bump Distribution Date
on:
schedule:
- cron: '0 0 * * *'
jobs:
bump_date:
name: Bump Distribution Date
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- name: Check out bugfix-2.0.x
uses: actions/checkout@v2
with:
ref: bugfix-2.0.x
- name: Bump Distribution Date
run: |
# Inline Bump Script
DIST=$( date +"%Y-%m-%d" )
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/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

View File

@ -1,33 +0,0 @@
#
# check-pr.yml
# Close PRs directed at release branches
#
name: PR Bad Target
on:
pull_request:
branches:
- 1.0.x
- 1.1.x
- 2.0.x
jobs:
bad_target:
name: PR Bad Target
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: peter-evans/close-pull@v1
with:
delete-branch: false
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.0.x` branch and be careful to target `bugfix-2.0.x` when resubmitting the PR.
It may help to set your fork's default branch to `bugfix-2.0.x`.
See [this page](http://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions.

View File

@ -1,27 +0,0 @@
#
# 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 30 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 7 days.'
days-before-stale: 30
days-before-close: 7
stale-issue-label: 'stale-closing-soon'
exempt-issue-labels: 'T: Feature Request'

View File

@ -1,32 +0,0 @@
#
# 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: ''

View File

@ -1,123 +0,0 @@
#
# test-builds.yml
# Do test builds to catch compile errors
#
name: CI
on:
pull_request:
branches:
- bugfix-2.0.x
paths-ignore:
- config/**
- data/**
- docs/**
- '**/*.md'
push:
branches:
- bugfix-2.0.x
paths-ignore:
- config/**
- data/**
- docs/**
- '**/*.md'
jobs:
test_builds:
name: Run All Tests
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
strategy:
matrix:
test-platform:
# Base Environments
- DUE
- esp32
- linux_native
- mega2560
- teensy31
- teensy35
- teensy41
- SAMD51_grandcentral_m4
# Extended AVR Environments
- FYSETC_F6_13
- mega1280
- rambo
- sanguino1284p
- sanguino644p
# Extended STM32 Environments
- STM32F103RC_btt
- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RC_fysetc
- STM32F103RC_meeb
- jgaurora_a5s_a1
- STM32F103VE_longer
- STM32F407VE_black
- STM32F401VE_STEVAL
- BIGTREE_BTT002
- BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin
- mks_robin_stm32
- ARMED
- FYSETC_S6
- STM32F070CB_malyan
- STM32F070RB_malyan
- malyan_M300
- mks_robin_lite
- FLYF407ZG
- rumba32
- mks_robin_pro
- STM32F103RET6_creality
- LERDGEX
- mks_robin_nano35
# Put lengthy tests last
- LPC1768
- LPC1769
# STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working.
#- STM32F4
#- STM32F7
# Non-working environment tests
#- at90usb1286_cdc
#- at90usb1286_dfu
#- STM32F103CB_malyan
#- mks_robin_mini
steps:
- name: Select Python 3.7
uses: actions/setup-python@v1
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
- name: Run ${{ matrix.test-platform }} Tests
run: |
# Inline tests script
chmod +x buildroot/bin/*
chmod +x buildroot/tests/*
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH}
run_tests . ${{ matrix.test-platform }}

View File

@ -1,22 +0,0 @@
#
# 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 }}"

62
.gitignore vendored
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
@ -77,7 +80,6 @@ tags
*.out
*.app
#
# C
#
@ -123,33 +125,10 @@ 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
#Visual Studio
# Visual Studio
*.sln
*.vcxproj
*.vcxproj.user
@ -160,27 +139,34 @@ __vm/
.vs/
vc-fileutils.settings
#Visual Studio Code
.vscode
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/*.db
# Visual Studio Code
.vscode/*
!.vscode/extensions.json
#Simulation
imgui.ini
eeprom.dat
spi_flash.bin
fs.img
#cmake
CMakeLists.txt
src/CMakeLists.txt
CMakeListsPrivate.txt
build/
#CLion
# CLion
cmake-build-*
#Eclipse
# Eclipse
.project
.cproject
.pydevproject
.settings
.classpath
#Python
# Python
__pycache__
# IOLogger logs
*_log.csv

11
.vscode/extensions.json vendored Normal file
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"
]
}

52
Makefile Normal file
View File

@ -0,0 +1,52 @@
help:
@echo "Tasks for local development:"
@echo "* tests-single-ci: Run a single test from inside the CI"
@echo "* tests-single-local: Run a single test locally"
@echo "* tests-single-local-docker: Run a single test locally, using docker-compose"
@echo "* tests-all-local: Run all tests locally"
@echo "* tests-all-local-docker: Run all tests locally, using docker-compose"
@echo "* setup-local-docker: Setup local docker-compose"
@echo ""
@echo "Options for testing:"
@echo " TEST_TARGET Set when running tests-single-*, to select the"
@echo " test. If you set it to ALL it will run all "
@echo " tests, but some of them are broken: use "
@echo " tests-all-* instead to run only the ones that "
@echo " run on GitHub CI"
@echo " ONLY_TEST Limit tests to only those that contain this, or"
@echo " the index of the test (1-based)"
@echo " VERBOSE_PLATFORMIO If you want the full PIO output, set any value"
@echo " GIT_RESET_HARD Used by CI: reset all local changes. WARNING:"
@echo " THIS WILL UNDO ANY CHANGES YOU'VE MADE!"
.PHONY: help
tests-single-ci:
export GIT_RESET_HARD=true
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET)
.PHONY: tests-single-ci
tests-single-local:
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local" ; return 1; fi
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& run_tests . $(TEST_TARGET) "$(ONLY_TEST)"
.PHONY: tests-single-local
tests-single-local-docker:
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
docker-compose run --rm marlin $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
.PHONY: tests-single-local-docker
tests-all-local:
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
tests-all-local-docker:
docker-compose run --rm marlin $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
.PHONY: tests-all-local-docker
setup-local-docker:
docker-compose build
.PHONY: setup-local-docker

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -22,8 +22,10 @@
# (e.g. UPLOAD_PORT = /dev/tty.USB0). If the exact name of this file
# changes, you can use * as a wild card (e.g. UPLOAD_PORT = /dev/tty.usb*).
#
# 3. Set the line containing "MCU" to match your board's processor.
# Older one's are atmega8 based, newer ones like Arduino Mini, Bluetooth
# 3. Set the line containing "MCU" to match your board's processor. Set
# "PROG_MCU" as the AVR part name corresponding to "MCU". You can use the
# following command to get a list of correspondences: `avrdude -c alf -p x`
# Older boards are atmega8 based, newer ones like Arduino Mini, Bluetooth
# or Diecimila have the atmega168. If you're using a LilyPad Arduino,
# change F_CPU to 8000000. If you are using Gen7 electronics, you
# probably need to use 20000000. Either way, you must regenerate
@ -34,18 +36,18 @@
# 5. Type "make upload", reset your Arduino board, and press enter to
# upload your program to the Arduino board.
#
# Note that all settings at the top of this file can be overriden from
# Note that all settings at the top of this file can be overridden from
# the command line with, for example, "make HARDWARE_MOTHERBOARD=71"
#
# To compile for RAMPS (atmega2560) with Arduino 1.6.9 at root/arduino you would use...
#
# make ARDUINO_VERSION=10609 AVR_TOOLS_PATH=/root/arduino/hardware/tools/avr/bin/ \
# HARDWARE_MOTHERBOARD=33 ARDUINO_INSTALL_DIR=/root/arduino
# HARDWARE_MOTHERBOARD=1200 ARDUINO_INSTALL_DIR=/root/arduino
#
# To compile and upload simply add "upload" to the end of the line...
#
# make ARDUINO_VERSION=10609 AVR_TOOLS_PATH=/root/arduino/hardware/tools/avr/bin/ \
# HARDWARE_MOTHERBOARD=33 ARDUINO_INSTALL_DIR=/root/arduino upload
# HARDWARE_MOTHERBOARD=1200 ARDUINO_INSTALL_DIR=/root/arduino upload
#
# If uploading doesn't work try adding the parameter "AVRDUDE_PROGRAMMER=wiring" or
# start upload manually (using stk500) like so:
@ -57,7 +59,26 @@
#
# This defines the board to compile for (see boards.h for your board's ID)
HARDWARE_MOTHERBOARD ?= 11
HARDWARE_MOTHERBOARD ?= 1020
ifeq ($(OS),Windows_NT)
# Windows
ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino
ARDUINO_USER_DIR ?= ${HOME}/Arduino
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
# Linux
ARDUINO_INSTALL_DIR ?= /usr/share/arduino
ARDUINO_USER_DIR ?= ${HOME}/Arduino
endif
ifeq ($(UNAME_S),Darwin)
# Darwin (macOS)
ARDUINO_INSTALL_DIR ?= /Applications/Arduino.app/Contents/Java
ARDUINO_USER_DIR ?= ${HOME}/Documents/Arduino
AVR_TOOLS_PATH ?= /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/
endif
endif
# Arduino source install directory, and version number
# On most linuxes this will be /usr/share/arduino
@ -67,32 +88,38 @@ ARDUINO_VERSION ?= 106
# The installed Libraries are in the User folder
ARDUINO_USER_DIR ?= ${HOME}/Arduino
# You can optionally set a path to the avr-gcc tools. Requires a trailing slash. (ex: /usr/local/avr-gcc/bin)
# You can optionally set a path to the avr-gcc tools.
# Requires a trailing slash. For example, /usr/local/avr-gcc/bin/
AVR_TOOLS_PATH ?=
#Programmer configuration
# Programmer configuration
UPLOAD_RATE ?= 57600
AVRDUDE_PROGRAMMER ?= arduino
# on most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1
# On most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1
UPLOAD_PORT ?= /dev/ttyUSB0
#Directory used to build files in, contains all the build files, from object files to the final hex file
#on linux it is best to put an absolute path like /home/username/tmp .
# Directory used to build files in, contains all the build files, from object
# files to the final hex file on linux it is best to put an absolute path
# like /home/username/tmp .
BUILD_DIR ?= applet
# This defines whether Liquid_TWI2 support will be built
LIQUID_TWI2 ?= 0
# this defines if Wire is needed
# This defines if Wire is needed
WIRE ?= 0
# this defines if U8GLIB is needed (may require RELOC_WORKAROUND)
U8GLIB ?= 1
# 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 whether to include the Trinamic TMCStepper library
TMC ?= 1
# This defines if U8GLIB is needed (may require RELOC_WORKAROUND)
U8GLIB ?= 0
# this defines whether to include the AdaFruit NeoPixel library
# This defines whether to include the Trinamic TMCStepper library
TMC ?= 0
# This defines whether to include the AdaFruit NeoPixel library
NEOPIXEL ?= 0
############
@ -105,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
@ -180,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)
@ -192,92 +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)
MCU ?= atmega1280
# Azteeg X3
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
else ifeq ($(HARDWARE_MOTHERBOARD),1122)
# Azteeg X3 Pro
MCU ?= atmega1280
PROG_MCU ?= m1280
# Azteeg X3
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
@ -295,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
@ -328,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
@ -350,9 +415,11 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1320)
# Minitronics v1.0/1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1400)
MCU ?= atmega1281
PROG_MCU ?= m1281
# Silvergate v1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1401)
MCU ?= atmega1281
PROG_MCU ?= m1281
#
# Sanguinololu and Derivatives - ATmega644P, ATmega1284P
@ -362,46 +429,62 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1401)
else ifeq ($(HARDWARE_MOTHERBOARD),1500)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Sanguinololu 1.2 and above
else ifeq ($(HARDWARE_MOTHERBOARD),1501)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Melzi
else ifeq ($(HARDWARE_MOTHERBOARD),1502)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Melzi V2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1503)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Melzi with ATmega1284 (MaKr3d version)
else ifeq ($(HARDWARE_MOTHERBOARD),1504)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Melzi Creality3D board (for CR-10 etc)
else ifeq ($(HARDWARE_MOTHERBOARD),1505)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Melzi Malyan M150 board
else ifeq ($(HARDWARE_MOTHERBOARD),1506)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Tronxy X5S
else ifeq ($(HARDWARE_MOTHERBOARD),1507)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# STB V1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1508)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Azteeg X1
else ifeq ($(HARDWARE_MOTHERBOARD),1509)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Anet 1.0 (Melzi clone)
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
@ -411,50 +494,61 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1510)
else ifeq ($(HARDWARE_MOTHERBOARD),1600)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen3+
else ifeq ($(HARDWARE_MOTHERBOARD),1601)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen6
else ifeq ($(HARDWARE_MOTHERBOARD),1602)
HARDWARE_VARIANT ?= Gen6
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen6 deluxe
else ifeq ($(HARDWARE_MOTHERBOARD),1603)
HARDWARE_VARIANT ?= Gen6
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen7 custom (Alfons3 Version)
else ifeq ($(HARDWARE_MOTHERBOARD),1604)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega644
PROG_MCU ?= m644
F_CPU ?= 20000000
# Gen7 v1.1, v1.2
else ifeq ($(HARDWARE_MOTHERBOARD),1605)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega644p
PROG_MCU ?= m644p
F_CPU ?= 20000000
# Gen7 v1.3
else ifeq ($(HARDWARE_MOTHERBOARD),1606)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega644p
PROG_MCU ?= m644p
F_CPU ?= 20000000
# Gen7 v1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1607)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega1284p
PROG_MCU ?= m1284p
F_CPU ?= 20000000
# Alpha OMCA board
else ifeq ($(HARDWARE_MOTHERBOARD),1608)
HARDWARE_VARIANT ?= SanguinoA
MCU ?= atmega644
PROG_MCU ?= m644
# Final OMCA board
else ifeq ($(HARDWARE_MOTHERBOARD),1609)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Sethi 3D_1
else ifeq ($(HARDWARE_MOTHERBOARD),1610)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
#
# Teensyduino - AT90USB1286, AT90USB1286P
@ -464,51 +558,60 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1610)
else ifeq ($(HARDWARE_MOTHERBOARD),1700)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Printrboard (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1701)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Printrboard Revision F (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1702)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Brainwave (AT90USB646)
else ifeq ($(HARDWARE_MOTHERBOARD),1703)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb646
PROG_MCU ?= usb646
# Brainwave Pro (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1704)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# SAV Mk-I (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1705)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Teensy++2.0 (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1706)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# 5DPrint D8 Driver Board
else ifeq ($(HARDWARE_MOTHERBOARD),1707)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# UltiMachine Archim1 (with DRV8825 drivers)
else ifeq ($(HARDWARE_MOTHERBOARD),3023)
HARDWARE_VARIANT ?= archim
MCPU = cortex-m3
F_CPU = 84000000L
F_CPU = 84000000
IS_MCU = 0
# UltiMachine Archim2 (with TMC2130 drivers)
else ifeq ($(HARDWARE_MOTHERBOARD),3024)
HARDWARE_VARIANT ?= archim
MCPU = cortex-m3
F_CPU = 84000000L
F_CPU = 84000000
IS_MCU = 0
endif
# Be sure to regenerate speed_lookuptable.h with create_speed_lookuptable.py
# if you are setting this to something other than 16MHz
# Do not put the UL suffix, it's done later on.
# Set to 16Mhz if not yet set.
F_CPU ?= 16000000
@ -518,7 +621,8 @@ IS_MCU ?= 1
ifeq ($(IS_MCU),1)
# Set to arduino, ATmega2560 if not yet set.
HARDWARE_VARIANT ?= arduino
MCU ?= atmega2560
MCU ?= atmega2560
PROG_MCU ?= m2560
TOOL_PREFIX = avr
MCU_FLAGS = -mmcu=$(MCU)
@ -549,27 +653,36 @@ VPATH += $(BUILD_DIR)
VPATH += $(HARDWARE_SRC)
ifeq ($(HARDWARE_VARIANT), $(filter $(HARDWARE_VARIANT),arduino Teensy Sanguino))
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/LiquidCrystal/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/SPI
# Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
endif
ifeq ($(IS_MCU),1)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino
# Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial/src
endif
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidCrystal/src
ifeq ($(LIQUID_TWI2), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2
WIRE = 1
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2
endif
ifeq ($(WIRE), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility
# Old libraries (avr-core 1.6.21 / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/utility
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src/utility
endif
ifeq ($(NEOPIXEL), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Adafruit_NeoPixel
@ -641,13 +754,23 @@ ifeq ($(WIRE), 1)
LIB_CXXSRC += Wire.cpp
endif
ifeq ($(TONE), 1)
LIB_CXXSRC += Tone.cpp
endif
ifeq ($(U8GLIB), 1)
LIB_CXXSRC += U8glib.cpp
LIB_SRC += u8g_ll_api.c u8g_bitmap.c u8g_clip.c u8g_com_null.c u8g_delay.c u8g_page.c u8g_pb.c u8g_pb16h1.c u8g_rect.c u8g_state.c u8g_font.c u8g_font_6x13.c u8g_font_04b_03.c u8g_font_5x8.c
LIB_SRC += u8g_ll_api.c u8g_bitmap.c u8g_clip.c u8g_com_null.c u8g_delay.c \
u8g_page.c u8g_pb.c u8g_pb16h1.c u8g_rect.c u8g_state.c u8g_font.c \
u8g_font_6x13.c u8g_font_04b_03.c u8g_font_5x8.c
endif
ifeq ($(TMC), 1)
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp \
CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp \
DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp \
SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp \
TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
endif
ifeq ($(RELOC_WORKAROUND), 1)
@ -689,17 +812,23 @@ REMOVE = rm -f
MV = mv -f
# Place -D or -U options here
CDEFS = -DF_CPU=$(F_CPU) ${addprefix -D , $(DEFINES)} -DARDUINO=$(ARDUINO_VERSION)
CDEFS = -DF_CPU=$(F_CPU)UL ${addprefix -D , $(DEFINES)} -DARDUINO=$(ARDUINO_VERSION)
CXXDEFS = $(CDEFS)
ifeq ($(HARDWARE_VARIANT), Teensy)
CDEFS += -DUSB_SERIAL
CDEFS += -DUSB_SERIAL
LIB_SRC += usb.c pins_teensy.c
LIB_CXXSRC += usb_api.cpp
else ifeq ($(HARDWARE_VARIANT), archim)
CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSB_VID=0x27b1 -DUSB_PID=0x0001 -DUSBCON '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT_STRING="Archim"'
LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp UARTClass.cpp USARTClass.cpp abi.cpp new.cpp watchdog.cpp CDC.cpp PluggableUSB.cpp USBCore.cpp
CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__
CDEFS += -DUSB_VID=0x27B1 -DUSB_PID=0x0001 -DUSBCON
CDEFS += '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT_STRING="Archim"'
LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp \
UARTClass.cpp USARTClass.cpp abi.cpp new.cpp watchdog.cpp CDC.cpp \
PluggableUSB.cpp USBCore.cpp
LIB_SRC += cortex_handlers.c iar_calls_sam3.c syscalls_sam3.c dtostrf.c itoa.c
ifeq ($(U8GLIB), 1)
@ -725,16 +854,20 @@ CTUNING = -fsigned-char -funsigned-bitfields -fno-exceptions \
ifneq ($(HARDWARE_MOTHERBOARD),)
CTUNING += -DMOTHERBOARD=${HARDWARE_MOTHERBOARD}
endif
#CEXTRA = -Wa,-adhlns=$(<:.c=.lst)
CXXEXTRA = -fno-use-cxa-atexit -fno-threadsafe-statics -fno-rtti
CFLAGS := $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CEXTRA) $(CTUNING) $(CSTANDARD)
CXXFLAGS := $(CDEFS) $(CINCS) -O$(OPT) $(CXXEXTRA) $(CTUNING) $(CXXSTANDARD)
ASFLAGS := $(CDEFS)
#ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
ifeq ($(HARDWARE_VARIANT), archim)
LD_PREFIX = -Wl,--gc-sections,-Map,Marlin.ino.map,--cref,--check-sections,--entry=Reset_Handler,--unresolved-symbols=report-all,--warn-common,--warn-section-align
LD_SUFFIX = $(LDLIBS)
LDFLAGS = -lm -T$(LDSCRIPT) -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid
LDFLAGS = -lm -T$(LDSCRIPT) -u _sbrk -u link -u _close -u _fstat -u _isatty
LDFLAGS += -u _lseek -u _read -u _write -u _exit -u kill -u _getpid
else
LD_PREFIX = -Wl,--gc-sections,--relax
LDFLAGS = -lm
@ -750,7 +883,7 @@ else
AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/etc/avrdude.conf
endif
AVRDUDE_FLAGS = -D -C$(AVRDUDE_CONF) \
-p$(MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \
-p$(PROG_MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \
-b$(UPLOAD_RATE)
# Since Marlin 2.0, the source files may be distributed into several
@ -851,7 +984,7 @@ extcoff: $(TARGET).elf
.elf.eep:
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
.elf.lss:
@ -865,7 +998,7 @@ extcoff: $(TARGET).elf
$(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h
$(Pecho) " CXX $@"
$P $(CC) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
$P $(CXX) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
# Object files that were found in "src" will be stored in $(BUILD_DIR)
# in directories that mirror the structure of "src"
@ -900,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}}

View File

@ -28,7 +28,7 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "2.0.7"
//#define SHORT_BUILD_VERSION "2.1.2"
/**
* 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 "2020-07-09"
//#define STRING_DISTRIBUTION_DATE "2022-12-17"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
@ -54,7 +54,7 @@
* has a distinct Github fork— the Source Code URL should just be the main
* Marlin repository.
*/
//#define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"
//#define SOURCE_CODE_URL "github.com/MarlinFirmware/Marlin"
/**
* Default generic printer UUID.
@ -65,7 +65,7 @@
* The WEBSITE_URL is the location where users can get more information such as
* documentation about a specific Marlin release.
*/
//#define WEBSITE_URL "https://marlinfw.org"
//#define WEBSITE_URL "marlinfw.org"
/**
* Set the vendor info the serial USB interface, if changable

211
Marlin/config.ini Normal file
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

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

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,35 +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, 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
@ -107,58 +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; }
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
extern "C" {
int freeMemory();
}
#pragma GCC diagnostic pop
//
// 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)
@ -167,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);
};

View File

@ -34,21 +34,21 @@
#include "../../inc/MarlinConfig.h"
void spiBegin() {
OUT_WRITE(SS_PIN, HIGH);
SET_OUTPUT(SCK_PIN);
SET_INPUT(MISO_PIN);
SET_OUTPUT(MOSI_PIN);
#if DISABLED(SOFTWARE_SPI)
// SS must be in output mode even it is not chip select
//SET_OUTPUT(SS_PIN);
// set SS high - may be chip select for another SPI device
//#if SET_SPI_SS_HIGH
//WRITE(SS_PIN, HIGH);
//#endif
// set a default rate
spiInit(1);
#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, 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 */ }
@ -195,19 +196,19 @@ void spiBegin() {
// no interrupts during byte receive - about 8µs
cli();
// output pin high - like sending 0xFF
WRITE(MOSI_PIN, HIGH);
WRITE(SD_MOSI_PIN, HIGH);
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, HIGH);
WRITE(SD_SCK_PIN, HIGH);
nop; // adjust so SCK is nice
nop;
data <<= 1;
if (READ(MISO_PIN)) data |= 1;
if (READ(SD_MISO_PIN)) data |= 1;
WRITE(SCK_PIN, LOW);
WRITE(SD_SCK_PIN, LOW);
}
sei();
@ -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();
}
@ -225,10 +226,10 @@ void spiBegin() {
// no interrupts during byte send - about 8µs
cli();
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, LOW);
WRITE(MOSI_PIN, data & 0x80);
WRITE(SD_SCK_PIN, LOW);
WRITE(SD_MOSI_PIN, data & 0x80);
data <<= 1;
WRITE(SCK_PIN, HIGH);
WRITE(SD_SCK_PIN, HIGH);
}
nop; // hold SCK high for a few ns
@ -236,13 +237,13 @@ void spiBegin() {
nop;
nop;
WRITE(SCK_PIN, LOW);
WRITE(SD_SCK_PIN, LOW);
sei();
}
// 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]);

View File

@ -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;

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__

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

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
}

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;
@ -59,7 +59,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
uint8_t c = eeprom_read_byte((uint8_t*)pos);
if (writing) *value = c;

View File

@ -124,7 +124,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X_MAX_PIN);
#endif
#endif
@ -132,7 +132,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X_MIN_PIN);
#endif
#endif
@ -140,7 +140,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y_MAX_PIN);
#endif
#endif
@ -148,7 +148,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y_MIN_PIN);
#endif
#endif
@ -156,7 +156,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z_MAX_PIN);
#endif
#endif
@ -164,15 +164,105 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
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);
#else
static_assert(digitalPinHasPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X2_MAX_PIN);
#endif
#endif
@ -180,7 +270,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X2_MIN_PIN);
#endif
#endif
@ -188,7 +278,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y2_MAX_PIN);
#endif
#endif
@ -196,7 +286,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y2_MIN_PIN);
#endif
#endif
@ -204,7 +294,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z2_MAX_PIN);
#endif
#endif
@ -212,7 +302,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z2_MIN_PIN);
#endif
#endif
@ -220,7 +310,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z3_MAX_PIN);
#endif
#endif
@ -228,7 +318,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z3_MIN_PIN);
#endif
#endif
@ -236,7 +326,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z4_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z4_MAX_PIN), "Z4_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z4_MAX_PIN), "Z4_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z4_MAX_PIN);
#endif
#endif
@ -244,7 +334,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z4_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z4_MIN_PIN), "Z4_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z4_MIN_PIN), "Z4_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z4_MIN_PIN);
#endif
#endif
@ -252,7 +342,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PROBE_PIN);
#else
static_assert(digitalPinHasPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z_MIN_PROBE_PIN);
#endif
#endif

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__

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);

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

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

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__ (

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

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

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

View File

@ -51,15 +51,15 @@
#define AVR_SS_PIN 16
#endif
#ifndef SCK_PIN
#define SCK_PIN AVR_SCK_PIN
#ifndef SD_SCK_PIN
#define SD_SCK_PIN AVR_SCK_PIN
#endif
#ifndef MISO_PIN
#define MISO_PIN AVR_MISO_PIN
#ifndef SD_MISO_PIN
#define SD_MISO_PIN AVR_MISO_PIN
#endif
#ifndef MOSI_PIN
#define MOSI_PIN AVR_MOSI_PIN
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN AVR_MOSI_PIN
#endif
#ifndef SS_PIN
#define SS_PIN AVR_SS_PIN
#ifndef SD_SS_PIN
#define SD_SS_PIN AVR_SS_PIN
#endif

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

View File

@ -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));

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__

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

View File

@ -19,15 +19,13 @@
*/
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL for Arduino Due and compatible (SAM3X8E)
*/
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include "../../MarlinCore.h"
#include <Wire.h>
#include "usb/usb_task.h"
@ -36,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;
@ -76,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
}
@ -92,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

View File

@ -22,9 +22,7 @@
#pragma once
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL for Arduino Due and compatible (SAM3X8E)
*/
#define CPU_32_BIT
@ -34,103 +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(MMU2_SERIAL_PORT)
#else
#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
#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
#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();
#ifndef analogInputToDigitalPin
#define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1)
#endif
//
// Pin Map
// Pin Mapping for M42, M43, M226
//
#define GET_PIN_MAP_PIN(index) index
#define GET_PIN_MAP_INDEX(pin) pin
@ -139,23 +140,18 @@ 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
#pragma GCC diagnostic ignored "-Wunused-function"
int freeMemory();
#if GCC_VERSION <= 50000
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
#pragma GCC diagnostic pop
#ifdef __cplusplus
@ -165,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);
}
};

View File

@ -30,9 +30,7 @@
*/
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL for Arduino Due and compatible (SAM3X8E)
*/
#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
@ -69,10 +67,10 @@
// run at ~8 .. ~10Mhz - Tx version (Rx data discarded)
static uint8_t spiTransferTx0(uint8_t bout) { // using Mode 0
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
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 */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
uint32_t idx = 0;
/* Negate bout, as the assembler requires a negated value */
@ -154,9 +152,9 @@
static uint8_t spiTransferRx0(uint8_t) { // using Mode 0
uint32_t bin = 0;
uint32_t work = 0;
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(MISO_PIN))+0x3C, PIN_SHIFT(MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
/* The software SPI routine */
__asm__ __volatile__(
@ -225,36 +223,36 @@
static uint8_t spiTransfer1(uint8_t b) { // using Mode 0
int bits = 8;
do {
WRITE(MOSI_PIN, b & 0x80);
WRITE(SD_MOSI_PIN, b & 0x80);
b <<= 1; // little setup time
WRITE(SCK_PIN, HIGH);
WRITE(SD_SCK_PIN, HIGH);
DELAY_NS(125); // 10 cycles @ 84mhz
b |= (READ(MISO_PIN) != 0);
b |= (READ(SD_MISO_PIN) != 0);
WRITE(SCK_PIN, LOW);
WRITE(SD_SCK_PIN, LOW);
DELAY_NS(125); // 10 cycles @ 84mhz
} while (--bits);
return b;
}
// 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;
do {
WRITE(MOSI_PIN, b & 0x80);
WRITE(SD_MOSI_PIN, b & 0x80);
b <<= 1; // little setup time
WRITE(SCK_PIN, HIGH);
__delay_4cycles(spiDelayCyclesX4);
WRITE(SD_SCK_PIN, HIGH);
DELAY_NS_VAR(spiDelayNS);
b |= (READ(MISO_PIN) != 0);
b |= (READ(SD_MISO_PIN) != 0);
WRITE(SCK_PIN, LOW);
__delay_4cycles(spiDelayCyclesX4);
WRITE(SD_SCK_PIN, LOW);
DELAY_NS_VAR(spiDelayNS);
} while (--bits);
return b;
}
@ -270,11 +268,11 @@
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) {
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
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 */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
uint32_t work = 0;
uint32_t txval = 0;
@ -349,12 +347,12 @@
);
}
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(MISO_PIN))+0x3C, PIN_SHIFT(MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
/* The software SPI routine */
__asm__ __volatile__(
@ -425,48 +423,48 @@
);
}
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;
#if MB(ALLIGATOR)
#define _SS_WRITE(S) WRITE(SS_PIN, S)
#define _SS_WRITE(S) WRITE(SD_SS_PIN, S)
#else
#define _SS_WRITE(S) NOOP
#endif
void spiBegin() {
SET_OUTPUT(SS_PIN);
SET_OUTPUT(SD_SS_PIN);
_SS_WRITE(HIGH);
SET_OUTPUT(SCK_PIN);
SET_INPUT(MISO_PIN);
SET_OUTPUT(MOSI_PIN);
SET_OUTPUT(SD_SCK_PIN);
SET_INPUT(SD_MISO_PIN);
SET_OUTPUT(SD_MOSI_PIN);
}
uint8_t spiRec() {
_SS_WRITE(LOW);
WRITE(MOSI_PIN, HIGH); // Output 1s 1
WRITE(SD_MOSI_PIN, HIGH); // Output 1s 1
uint8_t b = spiTransferRx(0xFF);
_SS_WRITE(HIGH);
return b;
}
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (nbyte) {
_SS_WRITE(LOW);
WRITE(MOSI_PIN, HIGH); // Output 1s 1
WRITE(SD_MOSI_PIN, HIGH); // Output 1s 1
spiRxBlock(buf, nbyte);
_SS_WRITE(HIGH);
}
@ -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;
@ -519,8 +517,8 @@
}
_SS_WRITE(HIGH);
WRITE(MOSI_PIN, HIGH);
WRITE(SCK_PIN, LOW);
WRITE(SD_MOSI_PIN, HIGH);
WRITE(SD_SCK_PIN, LOW);
}
/** Begin SPI transaction, set clock, bit order, data mode */
@ -575,38 +573,34 @@
// Configure SPI pins
PIO_Configure(
g_APinDescription[SCK_PIN].pPort,
g_APinDescription[SCK_PIN].ulPinType,
g_APinDescription[SCK_PIN].ulPin,
g_APinDescription[SCK_PIN].ulPinConfiguration);
g_APinDescription[SD_SCK_PIN].pPort,
g_APinDescription[SD_SCK_PIN].ulPinType,
g_APinDescription[SD_SCK_PIN].ulPin,
g_APinDescription[SD_SCK_PIN].ulPinConfiguration);
PIO_Configure(
g_APinDescription[MOSI_PIN].pPort,
g_APinDescription[MOSI_PIN].ulPinType,
g_APinDescription[MOSI_PIN].ulPin,
g_APinDescription[MOSI_PIN].ulPinConfiguration);
g_APinDescription[SD_MOSI_PIN].pPort,
g_APinDescription[SD_MOSI_PIN].ulPinType,
g_APinDescription[SD_MOSI_PIN].ulPin,
g_APinDescription[SD_MOSI_PIN].ulPinConfiguration);
PIO_Configure(
g_APinDescription[MISO_PIN].pPort,
g_APinDescription[MISO_PIN].ulPinType,
g_APinDescription[MISO_PIN].ulPin,
g_APinDescription[MISO_PIN].ulPinConfiguration);
g_APinDescription[SD_MISO_PIN].pPort,
g_APinDescription[SD_MISO_PIN].ulPinType,
g_APinDescription[SD_MISO_PIN].ulPin,
g_APinDescription[SD_MISO_PIN].ulPinConfiguration);
// set master mode, peripheral select, fault detection
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(SS_PIN, 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]);

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.

View File

@ -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,7 +21,6 @@
*/
#pragma once
extern IWDG_HandleTypeDef hiwdg;
#include <SPI.h>
void watchdog_init();
void HAL_watchdog_refresh();
using MarlinSPI = SPIClass;

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

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

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

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

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

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

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

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--;

View File

@ -20,7 +20,6 @@
*
*/
/**
* Based on u8g_com_msp430_hw_spi.c
*
@ -60,16 +59,15 @@
#if HAS_MARLINUI_U8GLIB
#include <U8glib.h>
#include <U8glib-HAL.h>
#include "../../../MarlinCore.h"
void spiBegin();
void spiInit(uint8_t spiRate);
void spiSend(uint8_t b);
void spiSend(const uint8_t* buf, size_t n);
#ifndef LCD_SPI_SPEED
#define LCD_SPI_SPEED SPI_QUARTER_SPEED
#endif
#include "../../shared/Marduino.h"
#include "../../shared/HAL_SPI.h"
#include "../fastio.h"
void u8g_SetPIOutput_DUE_hw_spi(u8g_t *u8g, uint8_t pin_index) {
@ -100,11 +98,7 @@ uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
spiBegin();
#ifndef SPI_SPEED
#define SPI_SPEED SPI_FULL_SPEED // use same SPI speed as SD card
#endif
spiInit(2);
spiInit(LCD_SPI_SPEED);
break;
case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */

View File

@ -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"
@ -145,7 +146,7 @@ uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
}
#if ENABLED(LIGHTWEIGHT_UI)
#include "../../../lcd/ultralcd.h"
#include "../../../lcd/marlinui.h"
#include "../../shared/HAL_ST7920.h"
#define ST7920_CS_PIN LCD_PINS_RS
@ -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

View File

@ -57,17 +57,14 @@
#include "../../../inc/MarlinConfigPre.h"
#if HAS_MARLINUI_U8GLIB && DISABLED(U8GLIB_ST7920)
#undef SPI_SPEED
#define SPI_SPEED 2 // About 2 MHz
#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
@ -144,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

View File

@ -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"

View File

@ -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);

View File

@ -60,7 +60,7 @@
#define EEPROMSize 4096
#define PagesPerGroup 128
#define GroupCount 2
#define PageSize 256u
#define PageSize 256U
/* Flash storage */
typedef struct FLASH_SECTOR {
@ -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;
@ -996,7 +983,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
uint8_t c = ee_Read(uint32_t(pos));
if (writing) *value = c;

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;
@ -62,7 +61,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
uint8_t c = eeprom_read_byte((uint8_t*)pos);
if (writing) *value = c;

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));
}

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!!
*/
@ -50,7 +50,7 @@
#define PWM_PIN(P) WITHIN(P, 2, 13)
#ifndef MASK
#define MASK(PIN) (1 << PIN)
#define MASK(PIN) _BV(PIN)
#endif
/**
@ -163,6 +163,9 @@
#define SET_INPUT(IO) _SET_INPUT(IO)
// Set pin as input with pullup (wrapper)
#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0)
// Set pin as input with pulldown (substitution)
#define SET_INPUT_PULLDOWN SET_INPUT
// Set pin as output (wrapper) - reads the pin and sets the output to that value
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
// Set pin as PWM
@ -477,7 +480,7 @@
#define DIO91_PIN 15
#define DIO91_WPORT PIOB
#if ARDUINO_SAM_ARCHIM
#ifdef ARDUINO_SAM_ARCHIM
#define DIO92_PIN 11
#define DIO92_WPORT PIOC

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
@ -154,7 +154,7 @@ void Stepper::digipot_init() {
NVIC_SetPriority(PWM_IRQn, NVIC_EncodePriority(0, 10, 0)); // normal priority for PWM module (can stand some jitter on the Vref signals)
}
void Stepper::digipot_current(const uint8_t driver, const int16_t current) {
void Stepper::set_digipot_current(const uint8_t driver, const int16_t current) {
if (!(PWM->PWM_CH_NUM[0].PWM_CPRD == PWM_PERIOD_US)) digipot_init(); // Init PWM system if needed

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
*
@ -40,7 +64,7 @@
* Usually the hardware SPI pins are only available to the LCD. This makes the DUE hard SPI used at the same time
* as the TMC2130 soft SPI the most common setup.
*/
#define _IS_HW_SPI(P) (defined(TMC_SW_##P) && (TMC_SW_##P == MOSI_PIN || TMC_SW_##P == MISO_PIN || TMC_SW_##P == SCK_PIN))
#define _IS_HW_SPI(P) (defined(TMC_SW_##P) && (TMC_SW_##P == SD_MOSI_PIN || TMC_SW_##P == SD_MISO_PIN || TMC_SW_##P == SD_SCK_PIN))
#if ENABLED(SDSUPPORT) && HAS_DRIVER(TMC2130)
#if ENABLED(TMC_USE_SW_SPI)
@ -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

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);
}
}

View File

@ -43,22 +43,22 @@
#define SPI_PIN 87
#define SPI_CHAN 1
#endif
#define SCK_PIN 76
#define MISO_PIN 74
#define MOSI_PIN 75
#define SD_SCK_PIN 76
#define SD_MISO_PIN 74
#define SD_MOSI_PIN 75
#else
// defaults
#define DUE_SOFTWARE_SPI
#ifndef SCK_PIN
#define SCK_PIN 52
#ifndef SD_SCK_PIN
#define SD_SCK_PIN 52
#endif
#ifndef MISO_PIN
#define MISO_PIN 50
#ifndef SD_MISO_PIN
#define SD_MISO_PIN 50
#endif
#ifndef MOSI_PIN
#define MOSI_PIN 51
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN 51
#endif
#endif
/* A.28, A.29, B.21, C.26, C.29 */
#define SS_PIN SDSS
#define SD_SS_PIN SDSS

View File

@ -21,9 +21,7 @@
*/
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL Timers for Arduino Due and compatible (SAM3X8E)
*/
#ifdef ARDUINO_ARCH_SAM
@ -44,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
@ -68,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);
@ -88,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);
@ -107,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!
@ -123,11 +128,11 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num) {
// missing from CMSIS: Check if interrupt is enabled or not
static bool NVIC_GetEnabledIRQ(IRQn_Type IRQn) {
return (NVIC->ISER[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F))) != 0;
return TEST(NVIC->ISER[uint32_t(IRQn) >> 5], uint32_t(IRQn) & 0x1F);
}
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);
}

View File

@ -21,9 +21,7 @@
#pragma once
/**
* HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL Timers for Arduino Due and compatible (SAM3X8E)
*/
#include <stdint.h>
@ -37,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()
@ -94,7 +93,7 @@ typedef struct {
// Public Variables
// ------------------------
extern const tTimerConfig TimerConfig[];
extern const tTimerConfig timer_config[];
// ------------------------
// Public functions
@ -103,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;
}
@ -122,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

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"
)
# Use bossac.exe on Windows
env.Replace(
UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot $SOURCE"
)

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.
*
*/

View File

@ -609,37 +609,37 @@ typedef struct
# define clz(u) ((u) ? __CLZ(u) : 32)
#else
# define clz(u) (((u) == 0) ? 32 : \
((u) & (1ul << 31)) ? 0 : \
((u) & (1ul << 30)) ? 1 : \
((u) & (1ul << 29)) ? 2 : \
((u) & (1ul << 28)) ? 3 : \
((u) & (1ul << 27)) ? 4 : \
((u) & (1ul << 26)) ? 5 : \
((u) & (1ul << 25)) ? 6 : \
((u) & (1ul << 24)) ? 7 : \
((u) & (1ul << 23)) ? 8 : \
((u) & (1ul << 22)) ? 9 : \
((u) & (1ul << 21)) ? 10 : \
((u) & (1ul << 20)) ? 11 : \
((u) & (1ul << 19)) ? 12 : \
((u) & (1ul << 18)) ? 13 : \
((u) & (1ul << 17)) ? 14 : \
((u) & (1ul << 16)) ? 15 : \
((u) & (1ul << 15)) ? 16 : \
((u) & (1ul << 14)) ? 17 : \
((u) & (1ul << 13)) ? 18 : \
((u) & (1ul << 12)) ? 19 : \
((u) & (1ul << 11)) ? 20 : \
((u) & (1ul << 10)) ? 21 : \
((u) & (1ul << 9)) ? 22 : \
((u) & (1ul << 8)) ? 23 : \
((u) & (1ul << 7)) ? 24 : \
((u) & (1ul << 6)) ? 25 : \
((u) & (1ul << 5)) ? 26 : \
((u) & (1ul << 4)) ? 27 : \
((u) & (1ul << 3)) ? 28 : \
((u) & (1ul << 2)) ? 29 : \
((u) & (1ul << 1)) ? 30 : \
((u) & (1UL << 31)) ? 0 : \
((u) & (1UL << 30)) ? 1 : \
((u) & (1UL << 29)) ? 2 : \
((u) & (1UL << 28)) ? 3 : \
((u) & (1UL << 27)) ? 4 : \
((u) & (1UL << 26)) ? 5 : \
((u) & (1UL << 25)) ? 6 : \
((u) & (1UL << 24)) ? 7 : \
((u) & (1UL << 23)) ? 8 : \
((u) & (1UL << 22)) ? 9 : \
((u) & (1UL << 21)) ? 10 : \
((u) & (1UL << 20)) ? 11 : \
((u) & (1UL << 19)) ? 12 : \
((u) & (1UL << 18)) ? 13 : \
((u) & (1UL << 17)) ? 14 : \
((u) & (1UL << 16)) ? 15 : \
((u) & (1UL << 15)) ? 16 : \
((u) & (1UL << 14)) ? 17 : \
((u) & (1UL << 13)) ? 18 : \
((u) & (1UL << 12)) ? 19 : \
((u) & (1UL << 11)) ? 20 : \
((u) & (1UL << 10)) ? 21 : \
((u) & (1UL << 9)) ? 22 : \
((u) & (1UL << 8)) ? 23 : \
((u) & (1UL << 7)) ? 24 : \
((u) & (1UL << 6)) ? 25 : \
((u) & (1UL << 5)) ? 26 : \
((u) & (1UL << 4)) ? 27 : \
((u) & (1UL << 3)) ? 28 : \
((u) & (1UL << 2)) ? 29 : \
((u) & (1UL << 1)) ? 30 : \
31)
#endif
#endif
@ -654,38 +654,38 @@ typedef struct
#if (defined __GNUC__) || (defined __CC_ARM)
# define ctz(u) ((u) ? __builtin_ctz(u) : 32)
#else
# define ctz(u) ((u) & (1ul << 0) ? 0 : \
(u) & (1ul << 1) ? 1 : \
(u) & (1ul << 2) ? 2 : \
(u) & (1ul << 3) ? 3 : \
(u) & (1ul << 4) ? 4 : \
(u) & (1ul << 5) ? 5 : \
(u) & (1ul << 6) ? 6 : \
(u) & (1ul << 7) ? 7 : \
(u) & (1ul << 8) ? 8 : \
(u) & (1ul << 9) ? 9 : \
(u) & (1ul << 10) ? 10 : \
(u) & (1ul << 11) ? 11 : \
(u) & (1ul << 12) ? 12 : \
(u) & (1ul << 13) ? 13 : \
(u) & (1ul << 14) ? 14 : \
(u) & (1ul << 15) ? 15 : \
(u) & (1ul << 16) ? 16 : \
(u) & (1ul << 17) ? 17 : \
(u) & (1ul << 18) ? 18 : \
(u) & (1ul << 19) ? 19 : \
(u) & (1ul << 20) ? 20 : \
(u) & (1ul << 21) ? 21 : \
(u) & (1ul << 22) ? 22 : \
(u) & (1ul << 23) ? 23 : \
(u) & (1ul << 24) ? 24 : \
(u) & (1ul << 25) ? 25 : \
(u) & (1ul << 26) ? 26 : \
(u) & (1ul << 27) ? 27 : \
(u) & (1ul << 28) ? 28 : \
(u) & (1ul << 29) ? 29 : \
(u) & (1ul << 30) ? 30 : \
(u) & (1ul << 31) ? 31 : \
# define ctz(u) ((u) & (1UL << 0) ? 0 : \
(u) & (1UL << 1) ? 1 : \
(u) & (1UL << 2) ? 2 : \
(u) & (1UL << 3) ? 3 : \
(u) & (1UL << 4) ? 4 : \
(u) & (1UL << 5) ? 5 : \
(u) & (1UL << 6) ? 6 : \
(u) & (1UL << 7) ? 7 : \
(u) & (1UL << 8) ? 8 : \
(u) & (1UL << 9) ? 9 : \
(u) & (1UL << 10) ? 10 : \
(u) & (1UL << 11) ? 11 : \
(u) & (1UL << 12) ? 12 : \
(u) & (1UL << 13) ? 13 : \
(u) & (1UL << 14) ? 14 : \
(u) & (1UL << 15) ? 15 : \
(u) & (1UL << 16) ? 16 : \
(u) & (1UL << 17) ? 17 : \
(u) & (1UL << 18) ? 18 : \
(u) & (1UL << 19) ? 19 : \
(u) & (1UL << 20) ? 20 : \
(u) & (1UL << 21) ? 21 : \
(u) & (1UL << 22) ? 22 : \
(u) & (1UL << 23) ? 23 : \
(u) & (1UL << 24) ? 24 : \
(u) & (1UL << 25) ? 25 : \
(u) & (1UL << 26) ? 26 : \
(u) & (1UL << 27) ? 27 : \
(u) & (1UL << 28) ? 28 : \
(u) & (1UL << 29) ? 29 : \
(u) & (1UL << 30) ? 30 : \
(u) & (1UL << 31) ? 31 : \
32)
#endif
#endif
@ -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;
}
}

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, NULL)) {
card.getSd2Card().readStop();
if (!udi_msc_trans_block(true, sector_buf, SD_MMC_BLOCK_SIZE, nullptr)) {
card.diskIODriver()->readStop();
return CTRL_FAIL;
}
}
// Stop reading
card.getSd2Card().readStop();
card.diskIODriver()->readStop();
// Done
return CTRL_GOOD;
@ -108,29 +108,29 @@ 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
while (nb_sector--) {
// USB -> RAM
if (!udi_msc_trans_block(false, sector_buf, SD_MMC_BLOCK_SIZE, NULL)) {
card.getSd2Card().writeStop();
if (!udi_msc_trans_block(false, sector_buf, SD_MMC_BLOCK_SIZE, nullptr)) {
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;

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

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

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);

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:

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

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);

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);

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
};

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];

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 = 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

View File

@ -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

View File

@ -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;

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() { 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

View File

@ -20,7 +20,7 @@
#pragma once
/**
* Description: HAL for Espressif ESP32 WiFi
* HAL for Espressif ESP32 WiFi
*/
#define CPU_32_BIT
@ -32,7 +32,6 @@
#include "../shared/HAL_SPI.h"
#include "fastio.h"
#include "watchdog.h"
#include "i2s.h"
#if ENABLED(WIFISUPPORT)
@ -49,85 +48,68 @@
// 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
// ------------------------
// clear reset reason
void HAL_clear_reset_source();
// reset reason
uint8_t HAL_get_reset_source();
void _delay_ms(int delay);
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
int freeMemory();
#pragma GCC diagnostic pop
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);
//
// Tone
//
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);
//
// 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)
@ -155,17 +137,110 @@ FORCE_INLINE static void DELAY_CYCLES(uint32_t x) {
if (stop >= start) {
// no overflow, so only loop while in between start and stop:
// 0x00000000 -----------------start****stop-- 0xffffffff
// 0x00000000 -----------------start****stop-- 0xFFFFFFFF
while (ccount >= start && ccount < stop) {
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) );
}
}
else {
// stop did overflow, so only loop while outside of stop and start:
// 0x00000000 **stop-------------------start** 0xffffffff
// 0x00000000 **stop-------------------start** 0xFFFFFFFF
while (ccount >= start || ccount < stop) {
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) );
}
}
}
// ------------------------
// 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);
};

View File

@ -53,11 +53,9 @@ static SPISettings spiConfig;
// ------------------------
void spiBegin() {
#if !PIN_EXISTS(SS)
#error "SS_PIN not defined!"
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_SS)
OUT_WRITE(SD_SS_PIN, HIGH);
#endif
OUT_WRITE(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);

View File

@ -0,0 +1,26 @@
/**
* 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/>.
*
*/
#pragma once
#include <SPI.h>
using MarlinSPI = SPIClass;

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) {

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 = ((1 << 16) - 1), // 65535
CHANNEL_MAX_NUM = 16;
MAX_COMPARE = _BV(16) - 1; // 65535
public:
Servo();

View File

@ -5,6 +5,8 @@
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* Copypaste of SAMD51 HAL developed by Giuliano Zaro (AKA GMagician)
*
* 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
@ -21,39 +23,37 @@
*/
/**
* HAL for stm32duino.com based on Libmaple and compatible (STM32F1)
* Description: Tone function for ESP32
* Derived from https://forum.arduino.cc/index.php?topic=136500.msg2903012#msg2903012
*/
#ifdef __STM32F1__
#ifdef ARDUINO_ARCH_ESP32
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#if ENABLED(USE_WATCHDOG)
static pin_t tone_pin;
volatile static int32_t toggles;
#include <libmaple/iwdg.h>
#include "watchdog.h"
void HAL_watchdog_refresh() {
#if DISABLED(PINS_DEBUGGING) && PIN_EXISTS(LED)
TOGGLE(LED_PIN); // heartbeat indicator
#endif
iwdg_feed();
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(MF_TIMER_TONE, 2 * frequency);
}
void watchdogSetup() {
// do whatever. don't remove this function.
void noTone(const pin_t _pin) {
HAL_timer_disable_interrupt(MF_TIMER_TONE);
WRITE(_pin, LOW);
}
/**
* @brief Initialized the independent hardware watchdog.
*
* @return No return
*
* @details The watchdog clock is 40Khz. We need a 4 seconds interval, so use a /256 preescaler and 625 reload value (counts down to 0)
*/
void watchdog_init() {
//iwdg_init(IWDG_PRE_256, STM32F1_WD_RELOAD);
HAL_TONE_TIMER_ISR() {
HAL_timer_isr_prologue(MF_TIMER_TONE);
if (toggles) {
toggles--;
TOGGLE(tone_pin);
}
else noTone(tone_pin); // turn off interrupt
}
#endif // USE_WATCHDOG
#endif // __STM32F1__
#endif // ARDUINO_ARCH_ESP32

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

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;

View File

@ -44,7 +44,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
for (size_t i = 0; i < size; i++) {
uint8_t c = EEPROM.read(pos++);
if (writing) value[i] = c;

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));
}

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