Compare commits

...

1729 Commits

Author SHA1 Message Date
Scott Lahteine
23775c0f2d 🔖 Marlin 2.0.8.3 2023-07-20 13:47:19 -05:00
Scott Lahteine
a5051f73bd 🔨 PlatformIO 6 compatibility 2023-07-20 13:47:19 -05:00
Scott Lahteine
5b7b065b96 Marlin 2.0.8.2 2021-05-29 16:01:38 -05:00
Timo
a739af823f Malyan M180 (#21992) 2021-05-29 16:01:32 -05:00
Pascal de Bruijn
493eb446b7 MEDIA_MENU_AT_TOP for MarlinUI (#21925) 2021-05-29 15:19:40 -05:00
charlespick
1b45b3802a Independent baud rates (#21949)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-29 15:19:40 -05:00
Krzysztof Błażewicz
7898307d78 🌐 Update Polish language (#21993) 2021-05-29 15:13:05 -05:00
ellensp
8da8aa140f 🥅 Add MESH_EDIT_MENU sanity check (#21922) 2021-05-29 15:12:57 -05:00
Andy Barratt
4572af2bce 🚸 cap:HOST_ACTION_COMMANDS (#21987) 2021-05-29 15:11:57 -05:00
Allen Bauer
6dc17f0e6e 🐛 Fix BTT002 variant MMU2 serial pins 🧩 (#21980) 2021-05-29 15:11:50 -05:00
ellensp
3fcf3f69ca ♻️ LEDs refactor and extend (#21962)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-29 15:11:32 -05:00
LawnMo
a9fd2769f3 🩹 Fix multi_volume + SDIO onboard compile (#21975) 2021-05-29 15:11:13 -05:00
LawnMo
9adaf92674 🩹 Improved SKR2 12864 LCD Delays (#21956) 2021-05-29 15:09:48 -05:00
Scott Lahteine
e75c3b6c54 🎨 Macros for optional arguments (#21969) 2021-05-29 15:09:07 -05:00
ellensp
61f2bb1228 ️ PIO filters for M117, M300 and M414 (#21972) 2021-05-29 15:08:30 -05:00
Scott Lahteine
d1502f74ea 🎨 Null heating message method 2021-05-29 15:07:49 -05:00
Scott Lahteine
83f9413196 🐛 Fix Selena Compact probe pin 2021-05-29 15:06:38 -05:00
Scott Lahteine
cdc3e18d99 Use another PR close action 2021-05-28 19:47:06 -05:00
BigTreeTech
55a6315862 🐛 Fix Octopus HS USB (#21961) 2021-05-24 01:59:46 -05:00
gjdodd
cf447a5442 🐛 Fix flowmeter calculation (#21959) 2021-05-24 01:54:39 -05:00
Scott Lahteine
7597b4fb40 🎨 Apply shorthand and cleanups 2021-05-23 02:17:41 -05:00
Scott Lahteine
7cd0f2a32a 🎨 pause => pause_heaters 2021-05-23 02:17:31 -05:00
Scott Lahteine
4dae5890e9 ♻️ Refactor, comment endstop/probe enums 2021-05-23 02:09:04 -05:00
Danol
738ae4be33 🐛 Fix wrong Z_ENDSTOP flag bit (#21963)
Bug introduced in #18424
2021-05-23 01:11:48 -05:00
Scott Lahteine
e573611021 🎨 Combine M104/M109 and M140/M190 code 2021-05-22 19:09:51 -05:00
Scott Lahteine
f60965a107 📝 Update ExtUI example 2021-05-22 16:19:02 -05:00
Scott Lahteine
3995e8373c 🎨 Shorten lcd relative paths 2021-05-22 16:18:59 -05:00
Scott Lahteine
ddc82b84e2 📝 Document diveToFile, printListing 2021-05-22 16:18:55 -05:00
Scott Lahteine
87a943756a 🎨 Move HAS_EXTRUDERS 2021-05-22 16:18:42 -05:00
Scott Lahteine
8e28731f96 🎨 Update a condition 2021-05-22 16:18:42 -05:00
Scott Lahteine
cdbd438a04 🎨 Rename all/no axis enums 2021-05-22 16:18:42 -05:00
Scott Lahteine
3220c49f1b Add a test for SAVED_POSITIONS 2021-05-22 16:18:42 -05:00
Scott Lahteine
94e67a036a 🐛 Fix compile with PREVENT_COLD_EXTRUSION off 2021-05-22 16:18:42 -05:00
Scott Lahteine
c977e82074 🎨 MULTI_MANUAL => MULTI_E_MANUAL 2021-05-22 16:18:42 -05:00
Moonglow
9878a5ab58 🐛 Fix Toshiba FlashAir (SDCARD_COMMANDS_SPLIT) (#21944) 2021-05-22 16:18:42 -05:00
Scott Lahteine
2de914c38c 🎨 Move switch sensor strings 2021-05-22 16:09:20 -05:00
Scott Lahteine
49b05ba989 🎨 Flags for homing directions 2021-05-22 16:09:18 -05:00
Scott Lahteine
85fa8c55c9 🐛 Fix DELTA with SENSORLESS_PROBING 2021-05-22 16:09:17 -05:00
Scott Lahteine
57eef65d9c ♻️ Refactor axis homing/trusted state bits 2021-05-22 16:08:46 -05:00
Scott Lahteine
894c954e8f ♻️ Minimize endstop bits 2021-05-22 16:08:43 -05:00
Scott Lahteine
046bac6769 Fix tests for EXTRUDERS 0 2021-05-22 16:08:26 -05:00
Scott Lahteine
765720e98b ♻️ Simplify TMC utilities for more axes 2021-05-22 16:08:09 -05:00
Scott Lahteine
26a244325b ♻️ Refactor axis counts and loops 2021-05-22 16:08:08 -05:00
Scott Lahteine
f7d28ce1d6 🎨 Misc cleanup and fixes 2021-05-22 16:08:03 -05:00
Scott Lahteine
c85633b47f 🎨 Use defined strings 2021-05-22 16:03:19 -05:00
Alvaro Segura Del Barco
6861b1ec82 🐛 Fix Teensy PINS_DEBUGGING compile (#21958)
Followup to 84a11cfedc
2021-05-22 15:55:08 -05:00
Roger D. Winans
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
Scott Lahteine
f1f622de01 Fix 'G29 K' value 2021-05-19 22:02:53 -05:00
ellensp
dbb8f3db09 Fix EEPROM_CHITCHAT (#21934)
Fix #21929
2021-05-18 18:08:22 -05:00
ellensp
5d7c72db5a Fix envs using mks_encrypt.py (#21933)
Fix #21928
2021-05-17 18:25:11 -05:00
thisiskeithb
755adb8973 Update Configurations URL (2.0.8.1) 2021-05-16 14:07:29 -05:00
ekef
0977429138 Fix MKS Robin E3 BLTOUCH and Fan PWM timer conflicts (#21889) 2021-05-15 18:22:30 -05:00
Scott Lahteine
1dfa6cbc80 Marlin 2.0.8.1 2021-05-15 15:22:03 -05:00
Luu Lac
e3998dc3df M154 Position Auto-Report (#18427)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:06:59 -05:00
Moonglow
b6e1838fa6 Fix MKS UI missing font select condition (#21905) 2021-05-15 15:05:53 -05:00
ondrada
908caba735 Fix G29_RETRY_AND_RECOVER dependency (#21907)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:53 -05:00
Scott Lahteine
121f3b1096 🐛 Fix RR collision with MM (#21902) 2021-05-15 15:05:53 -05:00
Jamie
9e373617dc Instant Freeze/Resume Function (#17462)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:53 -05:00
ellensp
5298fa357c Fix nextion compile error (#21884) 2021-05-15 15:05:53 -05:00
Alexander D. Kanevskiy
2c15bc5d39 Fix compilation failure in M1001 (#21897) 2021-05-15 15:05:53 -05:00
Scott Lahteine
159f9c85a6 🔧 Improve SD_DETECT_STATE default (#21885) 2021-05-15 15:05:53 -05:00
Victor Oliveira
1d1f318752 Update Robin Pro TFT Pins (#21879, #21900) 2021-05-15 15:05:53 -05:00
Keith Bennett
40a9d82ae9 BigTreeTech Octopus (STM32F446ZET6) (#21826, #21882, #21883, #21901) 2021-05-15 15:05:53 -05:00
Elton Law
72c28d3462 🐛 Fix G5 IJ with Motion Mode (#21858) 2021-05-15 15:05:53 -05:00
vyacheslav-shubin
ed224ca7d8 🩹 G60-G61 Save E position (#21810) 2021-05-15 15:05:53 -05:00
Scott Lahteine
02e131b5fd 🎨 Misc. code cleanup 2021-05-15 15:05:53 -05:00
Scott Lahteine
5afb5e03b0 🎨 Additional utility macros 2021-05-15 15:05:53 -05:00
Scott Lahteine
52a23b969b 🎨 Better error message for bad array sizes 2021-05-15 15:05:53 -05:00
Scott Lahteine
afcc7ea22b Synchronize tests and actions 2021-05-15 15:05:53 -05:00
Victor Oliveira
c463b81819 BTT SKR Mini E3 for HAL/STM32 (#21488) 2021-05-15 15:05:53 -05:00
Scott Lahteine
f688c7d20d Simplify macro expansion with recursion (#21859) 2021-05-15 15:05:53 -05:00
Scott Lahteine
0167bba371 Fix L64xx init for Z4 2021-05-15 15:05:53 -05:00
Scott Lahteine
7004fb702d Use adafruit/Adafruit NeoPixel@~1.8.0 2021-05-15 15:05:53 -05:00
ellensp
2f2dd3322d update FLSUN_HISPEED env to flsun_hispeedv1 (#21510) 2021-05-15 15:05:53 -05:00
tobuh
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
Keith Bennett
a7fd6b68be Unify BTT Motor Expansion Options (#21823) 2021-05-15 15:05:53 -05:00
Scott Lahteine
6a1e78e614 Optimize G-code flag parameters (#21849) 2021-05-15 15:05:53 -05:00
charlespick
770edea577 Update Advanced Pause description (#21829)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:53 -05:00
Victor Oliveira
08a51b2820 🐛 Fix Lerdge USB Flash Drive envs (#21847) 2021-05-15 15:05:53 -05:00
BigTreeTech
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
Scott Lahteine
f3e199fcd2 Fix TFT typo 2021-05-15 15:05:53 -05:00
Scott Lahteine
ffcbe68570 Move temp errors calling kill() out of ISR (#21832) 2021-05-15 15:05:53 -05:00
sanek88lbl
06e965e29c Lerdge K EEPROM and TFT (#21812)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:53 -05:00
Antonino Di Guardo
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
Scott Lahteine
5d8d03da03 Update SKR 1.3 touch pins 2021-05-15 15:05:53 -05:00
Scott Lahteine
0b3da61ac7 TFT pins for BTT GTR V1
Proposed in #21772
2021-05-15 15:05:53 -05:00
Scott Lahteine
a24eb691fb Better opt_set comment of old val 2021-05-15 15:05:53 -05:00
Scott Lahteine
c5c8ef436c Signal SD completion later (#21840) 2021-05-15 15:05:53 -05:00
Adrian DC
83309c1ac8 Fix E3V2 Control Menu icon/text order (#21838)
Fixes #21837
2021-05-15 15:05:53 -05:00
charlespick
ec2f4f512e Active MMU slot indicator (#21842) 2021-05-15 15:05:53 -05:00
Scott Lahteine
ad991734c4 Add and apply REPEAT_1 macro 2021-05-15 15:05:53 -05:00
Scott Lahteine
03184e1c31 Distinct enumerated MF states 2021-05-15 15:05:53 -05:00
Scott Lahteine
cca5844ba9 Misc. code cleanup 2021-05-15 15:05:53 -05:00
Scott Lahteine
45d3866f97 Misc Power Loss cleanup 2021-05-15 15:05:53 -05:00
Scott Lahteine
94edfc0a8f Let M421 C select any point
Fixing #21147
2021-05-15 15:05:53 -05:00
ellensp
9fa9eebe51 Support a third serial port (#21784) 2021-05-15 15:05:53 -05:00
Scott Lahteine
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
Scott Lahteine
c1fb84e1a6 Reformat features.ini 2021-05-15 15:05:53 -05:00
Scott Lahteine
ea34aa2d3e Add MKS_LCD12864B 2021-05-15 15:05:53 -05:00
sanek88lbl
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
Luu Lac
0df9f30f14 TFT SPI for BTT SKR v1.3 (#21794) 2021-05-15 15:05:53 -05:00
Scott Lahteine
d3e902af76 Move ExtUI subfolders up a level (#21820) 2021-05-15 15:05:53 -05:00
Vert
0b3420a012 UBL Mesh Wizard (#21556, #21791)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-15 15:05:52 -05:00
ellensp
5cf0975913 Simplify / undef extra endstops (#21808)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-05-15 15:05:52 -05:00
Scott Lahteine
db90a180c2 Cleanup, hex formatting, includes 2021-05-15 15:05:52 -05:00
Scott Lahteine
d174d610bd Temperature cleanup 2021-05-15 15:05:52 -05:00
Scott Lahteine
e69e56ea52 Use ststm32@~12.1 2021-05-15 15:05:52 -05:00
Scott Lahteine
0c66c713b6 Debounce for Power-Loss pin 2021-05-15 15:05:52 -05:00
Scott Lahteine
95230c9792 Use SERIAL_ECHOLNPAIR for resend 2021-05-15 15:05:52 -05:00
Scott Lahteine
7eea0ac6de Tweak SKR pins comments 2021-05-15 15:05:52 -05:00
Victor Oliveira
b19a1f602a Fix multi volume config typo (#21880) 2021-05-14 23:21:41 -05:00
Giuliano Zaro
789235b925 🐛 Fix excessive MMU2 timeout (#21855) 2021-05-14 21:24:07 -05:00
Scott Lahteine
00722c3294 📝 Fix version reference 2021-05-12 02:51:25 -05:00
Scott Lahteine
cb4e3889ec Update Chart.js to 2.9.4
Addressing CVE-2020-7746
2021-05-10 22:57:56 -05:00
hannesweisbach
76ec7040f1 Allow undefined [XYZ]_ENABLE_PIN (for sensitive pins) (#21801) 2021-05-06 01:46:39 -05:00
Keith Bennett
b41365b495 Split up SKR V2 Rev A / B (#21805) 2021-05-06 01:46:37 -05:00
ManuelMcLure
6e18af6f81 Only look for target disk during Upload (#21804) 2021-05-06 01:46:36 -05:00
Scott Lahteine
12bc28bc8c Echo LCD message to serial in kill 2021-05-06 01:46:34 -05:00
ellensp
3fa3be1f31 Fix MMU2 compile with include (#21809) 2021-05-06 01:43:44 -05:00
Scott Lahteine
a468701511 Cleanup, hex formatting 2021-05-05 07:34:39 -05:00
Scott Lahteine
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
Scott Lahteine
5cbdf51b4a Apply SBI/CBI/TEST in HAL 2021-05-05 07:31:47 -05:00
Victor Oliveira
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
Scott Lahteine
7957408497 Add token to check-pr 2021-05-04 19:20:18 -05:00
Scott Lahteine
53fc13ba7f Fix flush_and_request_resend 2021-05-04 01:48:00 -05:00
Victor Oliveira
a0ea7cbf26 Fix bad DELTA probe move (#21781) 2021-05-02 17:06:47 -05:00
Victor Oliveira
6310e023a7 Fix bad call to 'diskIODriver' (#21775) 2021-05-02 16:07:53 -05:00
Scott Lahteine
5f594ce5d3 Fix parser temperature rounding 2021-05-02 15:55:20 -05:00
Scott Lahteine
64a7dfbe7d SOFT_RESET_VIA_SERIAL sanity-check 2021-05-02 03:03:00 -05:00
Ken Sanislo
5d0e94c11c Allow Creality V4 SERVO0 and PROBE pin overrides (#21770) 2021-05-02 02:20:06 -05:00
Elton Law
0ca1170b6d Allow disable of POWER_TIMEOUT (#21771)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-05-02 02:20:05 -05:00
vyacheslav-shubin
addc91a409 ExtUI event for PID tuning start (#21734) 2021-05-02 02:20:02 -05:00
Mike La Spina
450f329f05 Laser Cutter Air Assist (#21753) 2021-05-02 02:19:42 -05:00
Scott Lahteine
1f72b4f65b Define 'filelist' for dgus/origin 2021-05-01 20:26:59 -05:00
ellensp
50195ec990 Add missing ExtUI method (#21763)
Fixes #21761
2021-05-01 20:26:10 -05:00
Sebastiaan Dammann
2d9557cf40 Fix Z raise in filament load M701 (#21762)
Fixes #21750
2021-05-01 20:26:08 -05:00
tobuh
5625ceec7d Fix Power-Loss Save on Pause (#21749) 2021-05-01 20:26:07 -05:00
hartmannathan
888e9cb60b Comment correction (#21729) 2021-05-01 20:26:05 -05:00
ellensp
d00f6cbe12 Fix Singlenozzle Standby issues (#21759)
Fixes #21758

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

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
ellensp
b680ddc66c CUSTOM_USER_BUTTONS followup (#21284)
Followup to #18389
2021-04-29 08:45:15 -05:00
Victor Oliveira
7a5a6ca53f Fix Host Keepalive serial target (#21283)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
ellensp
b80ec493ed M303 followup (#21282)
Followup to f2ed18d150
2021-04-29 08:45:15 -05:00
Keith Bennett
d4a6014578 Extend Heater Overshoot Options (#21273)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:15 -05:00
ellensp
6ee61c8380 Update obsolete debug define (#21276) 2021-04-29 08:45:15 -05:00
Mike La Spina
db4d9b7fcf Cooler (for Laser) - M143, M193 (#21255) 2021-04-29 08:45:15 -05:00
Scott Lahteine
95136abc47 Fix DGUS include paths
Followup to #20609
2021-04-29 08:45:15 -05:00
Sola
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
ellensp
05a124930e Fix Creality DWIN - Broken (bool)Serial ? (#21272)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:15 -05:00
Scott Lahteine
423c4e4636 Pins/tests followup 2021-04-29 08:45:15 -05:00
Keith Bennett
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
Zs.Antal
74457dc989 Update Hungarian language (#21266) 2021-04-29 08:45:15 -05:00
qwewer0
34b76c6f80 Link to bugfix tree (#21263) 2021-04-29 08:45:15 -05:00
Keith Bennett
35355d1f1b Tweak/Consolidate followup (#21261) 2021-04-29 08:45:15 -05:00
Scott Lahteine
7c37a82821 Tweak tests, consolidate pins target validation (#21254) 2021-04-29 08:45:15 -05:00
Victor Oliveira
5a01cdb81c Fix multi-serial CRC error crash (#21249) 2021-04-29 08:45:15 -05:00
Tanguy Pruvot
6cfd190107 Followup to MP_SCARA/TPARA patches (#21248) 2021-04-29 08:45:15 -05:00
Scott Lahteine
10ec13b2c3 Remove extra G42 2021-04-29 08:45:15 -05:00
Oleksii Zelivianskyi
8a3d0b23cf Correct fan pins for MKS Robin Nano v3 (#21238) 2021-04-29 08:45:15 -05:00
Keith Bennett
c90927cf54 SMUFF => SMuFF (#21243) 2021-04-29 08:45:15 -05:00
Scott Lahteine
f187a5304b Implement G42, after all 2021-04-29 08:45:15 -05:00
Scott Lahteine
d5b09fdbf5 MK2_MULTIPLEXER dependency 2021-04-29 08:45:15 -05:00
Scott Lahteine
c8b73b00be Update some py scripts 2021-04-29 08:45:15 -05:00
Scott Lahteine
ee74cee5d4 Parking Extruder solenoid fix/cleanup 2021-04-29 08:45:15 -05:00
Scott Lahteine
99eedf77b5 Fix teensy35 tests 2021-04-29 08:45:15 -05:00
Scott Lahteine
d61e7dd685 TPARA followup 2021-04-29 08:45:15 -05:00
Axel
864d27d460 TPARA - 3DOF robot arm IK (#21005)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:15 -05:00
Scott Lahteine
3c86eb18a5 misc. cleanup 2021-04-29 08:45:15 -05:00
Scott Lahteine
c4fe072751 Improve opt_set (etc.) used for tests 2021-04-29 08:45:15 -05:00
Sola
0e61b4a982 Fix MKS H43 compile (#21240) 2021-04-29 08:45:15 -05:00
Scott Lahteine
92da7659f4 Trust XY after Quiet Probing short sleep (#21237) 2021-04-29 08:45:15 -05:00
Scott Lahteine
be8b547261 Fix some config builds 2021-04-29 08:45:15 -05:00
Scott Lahteine
ef57a3e585 build_all_examples -c -s, silent mftest 2021-04-29 08:45:15 -05:00
Scott Lahteine
b71f1e1edd Better mftest order 2021-04-29 08:45:15 -05:00
MoellerDi
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
Scott Lahteine
7eace53eb7 Fewer warnings 2021-04-29 08:45:15 -05:00
Scott Lahteine
c6e82160e4 POWER_LOSS_ZHOME_POS followup 2021-04-29 08:45:15 -05:00
Nick
c8cd824be2 Safe Z homing for Power Loss Recovery (#16909) 2021-04-29 08:45:15 -05:00
Ilya
854ab04ee4 Default microsteps to axis first stepper (#21230) 2021-04-29 08:45:15 -05:00
Marcio T
4e6ed43198 Minor FTDI EVE Touch UI fixes (#21232) 2021-04-29 08:45:15 -05:00
Stephan
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
Scott Lahteine
fd5f1f1f5d Filament sensor cleanup 2021-04-29 08:45:15 -05:00
Scott Lahteine
fbb30a2570 Serial macros cleanup 2021-04-29 08:45:15 -05:00
Roman Moravčík
043bd34e2b Update Slovak language (#21224) 2021-04-29 08:45:15 -05:00
Fabio Viappiani
e4a67c8496 Fix TERN typo (#21229) 2021-04-29 08:45:15 -05:00
Scott Lahteine
0a097b7a1e Tweaks to build scripts 2021-04-29 08:45:15 -05:00
Giuliano Zaro
4343de3ee2 [SAMD51] Respect serial buffer size (#21194) 2021-04-29 08:45:15 -05:00
Scott Lahteine
3f34916c57 Tweaks to build scripts 2021-04-29 08:45:15 -05:00
Scott Lahteine
0e6e7b0608 whitespace 2021-04-29 08:45:15 -05:00
ldursw
334bafc9c1 ST STM32 platform version 12 (#21219) 2021-04-29 08:45:15 -05:00
RudolphRiedel
8eedec04a1 Two additional EVE displays (#18839) 2021-04-29 08:45:14 -05:00
Sola
5aa9cc82a8 MKS H43 controller (#20609) 2021-04-29 08:45:14 -05:00
LinFor
6183cd0731 RGB Caselight (#20341) 2021-04-29 08:45:14 -05:00
jbuck2005
971fb8729a SPEED => FEEDRATE (#21217) 2021-04-29 08:45:14 -05:00
Evgeny Z
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
Kachidoki
d20375c185 Duplicate fan speed in M106/7 IDEX Duplication Mode (#21208) 2021-04-29 08:45:14 -05:00
Arjan Mels
fff95b7173 Fix M876 when called from EP (#21210) 2021-04-29 08:45:14 -05:00
Giuliano Zaro
130dfbe11c [SAMD51] Postmortem Debugging not implemented (#21211) 2021-04-29 08:45:14 -05:00
Giuliano Zaro
68e50a725a [SMUFF] Use EXTRUDERS for extended commands (#21212) 2021-04-29 08:45:14 -05:00
X-Ryl669
3f9fe2dac4 Fix G-code Queue merge (#21213) 2021-04-29 08:45:14 -05:00
X-Ryl669
e1283b8a86 G-code Queue followup (#21214) 2021-04-29 08:45:14 -05:00
Alexander D. Kanevskiy
653608e931 Fix preflight complex extend handling (#21191) 2021-04-29 08:45:14 -05:00
X-Ryl669
80aac1b711 Make F_CPU a compile-time constant (#21051) 2021-04-29 08:45:14 -05:00
Victor Oliveira
b428a53b7a Fix GTR / SKR PRO + USB Flash Drive build (#21197) 2021-04-29 08:45:14 -05:00
Victor Oliveira
94d1637221 More LERDGE envs followup (#21205) 2021-04-29 08:45:14 -05:00
Fabio Viappiani
3a5ac12321 Fix M355 with NEOPIXEL (#21200) 2021-04-29 08:45:14 -05:00
ldursw
c9d757fc0e Init (stow) BLTouch before X/Y homing (#21192) 2021-04-29 08:45:14 -05:00
X-Ryl669
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
Scott Lahteine
adf26fd69e Chamber followup 2021-04-29 08:45:14 -05:00
Vi B-P
13dee4d059 Preheat Menu shortcut option (#20350) 2021-04-29 08:45:14 -05:00
swissnorp
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
Victor Oliveira
52c539eced Zero Endstops followup (#21188) 2021-04-29 08:45:14 -05:00
qwewer0
5fdab77cc2 Fix LEVEL_CORNERS_USE_PROBE with BLTOUCH_HS_MODE (#21161) 2021-04-29 08:45:14 -05:00
Scott Lahteine
00ceeeae7a Eryone Thinker V2 (#21190)
Co-Authored-By: Bryan Joshua Pedini <b.pedini@bjphoster.com>
2021-04-29 08:45:14 -05:00
Katelyn Schiesser
7240c2172b PROBING_HEATERS_OFF sub-option WAIT_FOR_HOTEND (#20835) 2021-04-29 08:45:14 -05:00
ellensp
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
Katelyn Schiesser
b71af6a50f Use 'H' value for UBL G29 z-clearance (#21114) 2021-04-29 08:45:14 -05:00
Scott Lahteine
362776c38d Tweak case light comment 2021-04-29 08:45:14 -05:00
deirdreobyrne
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
Tanguy Pruvot
19c38f1a8a Add BOARD_PREINIT (for Longer3D open drain pins) (#21159) 2021-04-29 08:45:14 -05:00
Scott Lahteine
ac5f2a9300 Update BLTOUCH_HS_MODE comment 2021-04-29 08:45:14 -05:00
Nick
088b5cfec2 Fix Anycubic Chiron TFT SD menu (#21183) 2021-04-29 08:45:14 -05:00
X-Ryl669
b33afb790e Let libmaple accept RX/TX_BUFFER_SIZE (#21177) 2021-04-29 08:45:14 -05:00
X-Ryl669
73332f4df1 Combined LPC / Serial fixes (#21178)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
Scott Lahteine
7cb286bb6e Expose more env builds in PlatformIO extension 2021-04-29 08:45:14 -05:00
Victor Oliveira
e9d62822bd Fix MKS Robin Nano V3 I2C pins (#21174) 2021-04-29 08:45:14 -05:00
Ken Sanislo
8d05a823e9 Chamber Heater PID (#21156)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
Nick
c051a2ecae Fix Chiron TFT serial comms (#21152) 2021-04-29 08:45:14 -05:00
Scott Lahteine
dc0247c57e Outdent UBL code 2021-04-29 08:45:14 -05:00
Scott Lahteine
8fca59f63b G92, subcodes flag cleanup 2021-04-29 08:45:14 -05:00
Marcio T
1ab1c62f03 FTDI Touch UI followup (#21167) 2021-04-29 08:45:14 -05:00
Marcio T
a19c79d714 Enhance and fix FTDI Touch UI (#21148) 2021-04-29 08:45:14 -05:00
X-Ryl669
dc11874abe Postmortem Debugging to serial port (#20492) 2021-04-29 08:45:14 -05:00
kpishere
61753bb5e3 Fix SPI on SMART RAMPS with mega2560 (#21128) 2021-04-29 08:45:14 -05:00
ellensp
3f1a8c2a1c Fix G29 missing defines (#21145)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:14 -05:00
espr14
bdb67b4397 Fix cleaning_buffer_counter check (#21115) 2021-04-29 08:45:14 -05:00
Scott Lahteine
c4fcf8bfd7 Fixes for MP_SCARA (#21113)
Co-Authored-By: svsergo <52426708+svsergo@users.noreply.github.com>
2021-04-29 08:45:14 -05:00
Vert
7e8b02145c YHCB2004 followup (#21111) 2021-04-29 08:45:14 -05:00
Scott Lahteine
a09d7a59b4 Fix IDEX broken endstop test (#21110) 2021-04-29 08:45:14 -05:00
jbuck2005
27721c564f Note FAN2_PIN silkscreen label (#21087) 2021-04-29 08:45:14 -05:00
Vert
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
ellensp
2724816152 Swap Trigorilla Pro Z_MIN / MAX endstop pins (#21095) 2021-04-29 08:45:14 -05:00
X-Ryl669
03396922ab Fix/improve configs build script (#21086) 2021-04-29 08:45:14 -05:00
Allen Bauer
b4a3013c28 BTT002 pins for FYSETC mini12864 (#21096) 2021-04-29 08:45:14 -05:00
ellensp
903c2915ed Fix "BUTTON_CLICK redefined" warning (#21098) 2021-04-29 08:45:14 -05:00
jbuck2005
3ca2195ed0 Update platform ststm32 to 11.0 (#20928) 2021-04-29 08:45:14 -05:00
X-Ryl669
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
ellensp
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
Giuliano Zaro
3883853817 Fix MMU2 compile error (#21065) 2021-04-29 08:45:14 -05:00
ellensp
ead41ac491 Fix remaining time divide-by-zero (#21080) 2021-04-29 08:45:14 -05:00
Steven Haigh
8a35c9a1a0 E3V2 Status Area followup (#21072) 2021-04-29 08:45:14 -05:00
InsanityAutomation
10da0f92a0 E3V2 DWIN live movement (#21035) 2021-04-29 08:45:14 -05:00
InsanityAutomation
ca79af7a46 Use configuration website, fix edit color 2021-04-29 08:45:14 -05:00
Scott Lahteine
ba4ce63858 Fix a board comment 2021-04-29 08:45:14 -05:00
Scott Lahteine
f31a8f4086 anet_et4_openblt.py => openblt.py 2021-04-29 08:45:14 -05:00
Scott Lahteine
9c47a9256d Coolant Control sanity-checks 2021-04-29 08:45:14 -05:00
Giuliano Zaro
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
Scott Lahteine
69fcd9210f Allow mftest -t to select by number 2021-04-29 08:45:13 -05:00
Scott Lahteine
b95e60dbbd Update helpful links 2021-04-29 08:45:13 -05:00
Scott Lahteine
8bca8e5ba0 Minor serial code cleanup 2021-04-29 08:45:13 -05:00
X-Ryl669
92b5f06bf9 Use -g3 to include macros in debug symbols (#21052) 2021-04-29 08:45:13 -05:00
X-Ryl669
4316522146 Improve Delay test report (#21047) 2021-04-29 08:45:13 -05:00
kpishere
c0d1fd14f8 Fix AZSMZ_12864 on SMART RAMPS (#21056) 2021-04-29 08:45:13 -05:00
Jyers
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
kpishere
54f401506b Support SMART RAMPS 1.4 with Mega2560 (#21059) 2021-04-29 08:45:13 -05:00
Scott Lahteine
4d75c2e0f9 Ender 3 V2 DWIN cleanup (#21061) 2021-04-29 08:45:13 -05:00
Michael Telatynski
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
Scott Lahteine
897291c470 chmod and paths 2021-04-29 08:45:13 -05:00
Scott Lahteine
6320928795 Reheat bed first 2021-04-29 08:45:13 -05:00
Scott Lahteine
9acd2e176d Ender 3 V2 DWIN cleanup (#21026) 2021-04-29 08:45:13 -05:00
Scott Lahteine
c7efb2d964 Update M808 comment 2021-04-29 08:45:13 -05:00
JoAnn Manges
41ab63897f MAX Thermocouples rework (#20447)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:13 -05:00
X-Ryl669
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
Arjan Mels
897d29ea31 Fix STM32F1 emergency parser (#21011) 2021-04-29 08:45:13 -05:00
Alexander D. Kanevskiy
13f0e4729c Allow SERVO0_PIN override on Creality Melzi (#21007) 2021-04-29 08:45:13 -05:00
Scott Lahteine
86fd38ef42 Fix animated boot screen 2021-04-29 08:45:13 -05:00
MKS-Sean
127a4ada93 Fix: Unsupported use of %f in printf (#21001) 2021-04-29 08:45:13 -05:00
ellensp
1aae6395c6 Fix mini12864 v2.1 + PSU control + NeoPixel backlight (#21021) 2021-04-29 08:45:13 -05:00
Malderin
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
Scott Lahteine
47b872f5d0 Fix TEMP_0_TR_ENABLE, rename temp conditions (#21016) 2021-04-29 08:45:13 -05:00
Simon Jouet
80c1be919f Fix ESP32 I2S init placement (#21019) 2021-04-29 08:45:13 -05:00
Chris Pepper
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
Scott Lahteine
d7fbb1512a Melzi, comments cleanup 2021-04-29 08:45:13 -05:00
Marcio Teixeira
8416edd127 Refactor FTDI EVE Touch Screen (#20987) 2021-04-29 08:45:13 -05:00
X-Ryl669
77966135e8 Fix ARM delay function (#20901) 2021-04-29 08:45:13 -05:00
Scott Lahteine
6054052248 Use 'false' 2021-04-29 08:45:13 -05:00
Chris Pepper
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
ellensp
9437c72ef6 Fix MKS SGen-L DOGLCD_MOSI pin for FYSETC_MINI_12864 LCD (#20998) 2021-04-29 08:45:13 -05:00
Zs.Antal
bb511195b8 Update Hungarian language (#20996) 2021-04-29 08:45:13 -05:00
Scott Lahteine
582458998f Use serial shorthand 2021-04-29 08:45:13 -05:00
Scott Lahteine
bb5c643dfb Nybbles & Bits 2021-04-29 08:45:13 -05:00
Scott Lahteine
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
Victor Oliveira
0d7c02d2c6 Re-calibrate touch after EEPROM reset, if needed (#20934) 2021-04-29 08:45:13 -05:00
Malderin
129e9151da Add "more" menu in LVGL interface (#20940)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:13 -05:00
Scott Lahteine
4771379302 Evaluate ANY_SERIAL_IS in place 2021-04-29 08:45:13 -05:00
ellensp
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
Giuliano Zaro
032152c41d Update a UBL comment (#20931) 2021-04-29 08:45:13 -05:00
Victor Oliveira
da80fd782c STM32 Shared Media - USB Mass Storage Device (#20956) 2021-04-29 08:45:13 -05:00
Tanguy Pruvot
460cdf4c09 Multi-language pertains to Color UI (#20972) 2021-04-29 08:45:13 -05:00
Victor Oliveira
0badef42d5 Touch Calibration Screen auto-save option (#20971) 2021-04-29 08:45:13 -05:00
Victor Oliveira
811b3d0f08 Include ui_common for MARLIN_LOGO_FULL_SIZE (#20963) 2021-04-29 08:45:13 -05:00
ellensp
8de850fd07 Fix host_response_handler compile (#20962) 2021-04-29 08:45:13 -05:00
X-Ryl669
1e5995335c LVGL UI G-code console (#20755) 2021-04-29 08:45:13 -05:00
Tanguy Pruvot
4153b6a30b Refresh screen on M22 (detach) (#20958) 2021-04-29 08:45:13 -05:00
X-Ryl669
c631fb79d5 Fix AutoReporter implementation (#20959) 2021-04-29 08:45:13 -05:00
X-Ryl669
9ae204df9c Serial refactor followup (#20932) 2021-04-29 08:45:13 -05:00
zeleps
e7658ec5f5 Init serial ports first (#20944) 2021-04-29 08:45:13 -05:00
qwewer0
b3656c387f Remove extra G29 V newlines (#20955) 2021-04-29 08:45:13 -05:00
ConstantijnCrijnen
164199614c Language selection auto-save option (#20915) 2021-04-29 08:45:13 -05:00
ellensp
219f92c4ca KILL, BEEPER pins for LCD_FOR_MELZI (#20924) 2021-04-29 08:45:13 -05:00
ellensp
0e37370b0c Fix G28_STR (#20925) 2021-04-29 08:45:13 -05:00
rafaljot
845b99feb7 MPX_ARM_MINI board (Mingda MD-16) (#20711) 2021-04-29 08:45:12 -05:00
Scott Lahteine
4b9f2f13b1 AutoReport class (Temperature, Cardreader) (#20913) 2021-04-29 08:45:12 -05:00
X-Ryl669
b44de74b91 Optimize serial output code for size (#20911) 2021-04-29 08:45:12 -05:00
George Fu
59d16eb189 FYSETC Cheetah 2.0 (#20897) 2021-04-29 08:45:12 -05:00
ellensp
c7004d100c Fix undefined G28_STR (#20912) 2021-04-29 08:45:12 -05:00
ellensp
07a3ed1d7e Fix LED_CONTROL_MENU compile (#20914) 2021-04-29 08:45:12 -05:00
Scott Lahteine
cc545a73a1 Serial refactor followup 2021-04-29 08:45:12 -05:00
X-Ryl669
efa1e56369 Refactor serial class with templates (#20783) 2021-04-29 08:45:12 -05:00
ellensp
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
ellensp
b10b76e882 MeatPack followup - unused command (#20893) 2021-04-29 08:45:12 -05:00
Scott Lahteine
be058430b4 Remove extra cast 2021-04-29 08:45:12 -05:00
Scott Mudge
7a559e4733 MeatPack followup (#20896) 2021-04-29 08:45:12 -05:00
ellensp
5fb8818ae5 ZONESTAR_LCD warning for RAMPS / ReARM (#20702) 2021-04-29 08:45:12 -05:00
ConstantijnCrijnen
cdefc19129 Configure / disable PRINTCOUNTER save interval (#20856)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:12 -05:00
Scott Lahteine
918894fd84 Custom G26 FR followup 2021-04-29 08:45:12 -05:00
Scott Lahteine
1bc65be70f Custom G26 FR followup 2021-04-29 08:45:12 -05:00
ScrewThisBanana
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
Giuliano Zaro
2aaff47c9d Clean up MMU2 code (#20794)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
Rockman18
a582d1dc2f Init KILL, SUICIDE, PSU earlier (#20810) 2021-04-29 08:45:12 -05:00
Gabriele Besta
5acd8f36a4 "Move … code" followup (#20869)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
Scott Lahteine
efaff24145 Apply SEC_TO_MS and other fixes 2021-04-29 08:45:12 -05:00
Scott Lahteine
b059c9e5c0 Reformat abortSDPrinting 2021-04-29 08:45:12 -05:00
Alexander D. Kanevskiy
82122fe9cd Fix sign warning (#20872) 2021-04-29 08:45:12 -05:00
qwewer0
3beb6a9df3 Cosmetic changes (2) (#20876) 2021-04-29 08:45:12 -05:00
ellensp
a576ab83e9 "Move … code" followup (#20868)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
Kairali
70ee5e94fd "Move … code" followup (#20874)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
Tanguy Pruvot
69da8719cf Graphical TFT fixes, cleanup (#20861)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
qwewer0
4ce87eeb91 🧻 Cosmetic changes (#20859) 2021-04-29 08:45:12 -05:00
Scott Lahteine
24a801b660 🛠Fix deps script version regex 2021-04-29 08:45:12 -05:00
Scott Lahteine
786bba39ff Fix Ender 3 V2 DWIN manual move (#20837) 2021-04-29 08:45:12 -05:00
Jason Smith
bed027f41f Fix LiquidCrystal CI failures (#20873)
Fix incorrect dependency syntax for LPC.
Disambiguate LiquidCrystal library names.
2021-04-29 08:45:12 -05:00
Roxy-3D
17a4ef6730 Revert "Adding custom move feedrate for G26 (#20729)" (#20870)
This reverts commit 14567f3459.
2021-04-29 08:45:12 -05:00
ellensp
56383d3ca0 MeatPack serial encoding (#20802)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:12 -05:00
Tanguy Pruvot
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
ScrewThisBanana
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
Scott Lahteine
a8a6040b78 🛠 Replace lib_deps for custom_marlin.FEATURE (#20858) 2021-04-29 08:45:12 -05:00
Giuliano Zaro
22db4c0448 "Move … code" followup (#20852)
Fix regression from #20832
2021-04-29 08:45:12 -05:00
Scott Lahteine
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
Scott Lahteine
0b7de80a6f Move common strings (#20846) 2021-04-29 08:45:12 -05:00
Scott Lahteine
de37fbffa3 Fix undefined E_LBL 2021-04-29 08:45:12 -05:00
Jason Smith
f4a3db8db8 Ender 3 V2: Sync reset E in manual move (#20806) 2021-04-29 08:45:12 -05:00
Jason Smith
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
Scott Lahteine
71be210795 Move some MarlinCore and MarlinUI code (#20832) 2021-04-29 08:45:12 -05:00
Katelyn Schiesser
67942622f1 Increase filament runout distance edit limit (#20828) 2021-04-29 08:45:12 -05:00
Keith Bennett
5252a32de4 USB Flash Drive env hints for ABM (#20592) 2021-04-29 08:45:12 -05:00
Keith Bennett
5e5c0d65f3 Lerdge K/S/X support for Flash Drive (#20593) 2021-04-29 08:45:12 -05:00
Scott Lahteine
3dde2722bd MarlinUI multi-language support (#20725) 2021-04-29 08:45:12 -05:00
Scott Lahteine
befcdeb74d Keep G29 N on the DL 2021-04-29 08:45:12 -05:00
ellensp
0c62fd02b0 More PlatformIO source filters (#20822) 2021-04-29 08:45:12 -05:00
Tanguy Pruvot
8d2f1851eb PSTR alias followup (#20831) 2021-04-29 08:45:12 -05:00
Scott Lahteine
b355f4605e Move singlenozzle temp/fan (#20829) 2021-04-29 08:45:12 -05:00
devin122
f6c4c26937 Fix reporting of TMC_S2VSA/B (#20730) 2021-04-29 08:45:12 -05:00
ellensp
c334151294 USE_M73_REMAINING_TIME sanity-check (#20751) 2021-04-29 08:45:12 -05:00
Giuliano Zaro
faf4cb1b74 MMU2 serial followup (#20811) 2021-04-29 08:45:12 -05:00
Scott Lahteine
ccbff12d6a Fix SINGLENOZZLE compile 2021-04-29 08:45:12 -05:00
EmilGustafsson
a02e884415 Swedish language for MarlinUI (#20826) 2021-04-29 08:45:12 -05:00
Rockman18
1fdf283e5d Fix MKS UI manual move (#20813) 2021-04-29 08:45:12 -05:00
Rockman18
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
Katelyn Schiesser
a8bd376fd4 Raise Z on exit from 'Level Bed Corners' (#20817) 2021-04-29 08:45:12 -05:00
Scott Lahteine
c69f9b9883 Clean up whitespace, headings 2021-04-29 08:45:12 -05:00
Scott Lahteine
69b873b766 OS-native targets for "mftest -a" 2021-04-29 08:45:12 -05:00
Scott Lahteine
6162560b69 Internal G29N for G28+G29 (#20800) 2021-04-29 08:45:12 -05:00
George Fu
f101e19257 FYSETC_242 OLED 12864 for S6 (#20767) 2021-04-29 08:45:12 -05:00
Scott Lahteine
7836b85c96 Reduce some G-code strings 2021-04-29 08:45:12 -05:00
zeleps
522c78b5e6 Fix Tramming Wizard behavior (#20796) 2021-04-29 08:45:12 -05:00
Scott Lahteine
aabd40a7a2 Optimize some G-code strings 2021-04-29 08:45:11 -05:00
Scott Lahteine
e351ea2ee8 Apply bool to some MKS UI 2021-04-29 08:45:11 -05:00
Scott Lahteine
efc396bd05 General cleanup, use _BV 2021-04-29 08:45:11 -05:00
ellensp
ae53998a88 Fix Trigorilla Pro STOP pins (#20801) 2021-04-29 08:45:11 -05:00
Alexander D. Kanevskiy
d814d8f954 NEOPIXEL overridable on BTT SKR (#20797) 2021-04-29 08:45:11 -05:00
Martin
63e3117510 4 / 5 digits for some edit items (#20793) 2021-04-29 08:45:11 -05:00
Giuliano Zaro
cab93c2ad8 Update Italian language (#20789) 2021-04-29 08:45:11 -05:00
ellensp
3acf86510d Fix Ender-3 V2 DWIN LPC signed warnings (#20786) 2021-04-29 08:45:11 -05:00
RFBomb
418524b1be Configurable Corner Leveling point order (#20733) 2021-04-29 08:45:11 -05:00
Giuliano Zaro
a5d2180bf5 MMU2 as standard serial device (#20771) 2021-04-29 08:45:11 -05:00
Marcio Teixeira
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
Marcio T
a7c97182f7 Fix compatibility macros 2021-04-29 08:45:11 -05:00
Marcio Teixeira
1e7426e549 Silence unused parameter warnings 2021-04-29 08:45:11 -05:00
Jelmer van der Stel
fd6501207f Fix Ender 3 V2 encoder (#20784) 2021-04-29 08:45:11 -05:00
EvilGremlin
7f8188ccb6 ESP32 Tone Generator (#20704) 2021-04-29 08:45:11 -05:00
vitaliy172
f5341da94d Update Ukrainian language (#20668) 2021-04-29 08:45:11 -05:00
Scott Lahteine
a588f69f16 MKS prelim. cleanup (2) 2021-04-29 08:45:11 -05:00
Scott Lahteine
86bf374fc4 More MKS UI prelim. cleanup 2021-04-29 08:45:11 -05:00
MKS-Sean
a3d6442d02 MKS WiFi for TFT_LVGL_UI (#20191) 2021-04-29 08:45:11 -05:00
Scott Lahteine
62d20c8b37 Ignore M22 during SD print 2021-04-29 08:45:11 -05:00
Scott Lahteine
726e2e9bc0 Move WRITE_FAN 2021-04-29 08:45:11 -05:00
Scott Lahteine
eedd9c2bda whitespace 2021-04-29 08:45:11 -05:00
Scott Lahteine
5c181562f6 MKS UI prelim. cleanup (#20763) 2021-04-29 08:45:11 -05:00
Scott Lahteine
104aceb44a Rotary encoder cleanup (#20753) 2021-04-29 08:45:11 -05:00
Giuliano Zaro
bee794e598 Fix comments (#20759) 2021-04-29 08:45:11 -05:00
Scott Lahteine
483804bafd Ok to use C++11 'auto' 2021-04-29 08:45:11 -05:00
Johan van der Vyver
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
devin122
8eb32cef24 Fix TMC220x short circuit (#20731) 2021-04-29 08:45:11 -05:00
Serhiy-K
92f847c8f7 Fixes for TFTGLCD (#20734) 2021-04-29 08:45:11 -05:00
Victor Oliveira
be3caa4686 NO_SD_DETECT option (#20741) 2021-04-29 08:45:11 -05:00
Scott Lahteine
fa6a2f52e2 Fix joystick include 2021-04-29 08:45:11 -05:00
Scott Lahteine
7e188c48e1 Tweak STM32F1 pin r/w/t 2021-04-29 08:45:11 -05:00
Scott Lahteine
928cd1b8ab Clean up some includes 2021-04-29 08:45:11 -05:00
Scott Lahteine
4145d85ef1 Update Slovak glyphs 2021-04-29 08:45:11 -05:00
Mike La Spina
9901b4e9f1 Laser Test Fire (#20452) 2021-04-29 08:45:11 -05:00
Anthony Rich
4e46de66d3 Wanhao One+ SD detect pin (#20724) 2021-04-29 08:45:11 -05:00
Scott Lahteine
7c7d28345e Optimize some G76 strings 2021-04-29 08:45:11 -05:00
Dmitry Katsubo
8690f4862d Fix misc. warnings (#20715) 2021-04-29 08:45:11 -05:00
Scott Lahteine
c9a9c00f61 Fix Python 2.7 compatibility
Fix regression from #20692
2021-04-29 08:45:11 -05:00
Markus
6a60d47b90 Up to 6 Tramming points (#20720) 2021-04-29 08:45:11 -05:00
qwewer0
f19a1833bd Fix M48 output (#20713) 2021-04-29 08:45:11 -05:00
TheCodeExorcist
074d3f6266 Improved MKS Robin support (#19333) 2021-04-29 08:45:11 -05:00
Java
92eee0386f Preheat before Power Loss Recovery homing (#20697) 2021-04-29 08:45:11 -05:00
Scott Lahteine
32caeecffb Custom build_flags by feature (#20692) 2021-04-29 08:45:11 -05:00
wilbur4321
5ef0475dc5 Multi-Z stepper inverting (#20678)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:11 -05:00
ellensp
aa5ac6c3b2 Fix Azteeg X3 macro typo (#20681) 2021-04-29 08:45:11 -05:00
ellensp
fd7e34312a Define SANGUINOLOLU 1.1 enable pins (#20682) 2021-04-29 08:45:11 -05:00
ellensp
d10c734730 No BTN_ENC_EN on Anet 10 (#20684) 2021-04-29 08:45:11 -05:00
Giuliano Zaro
c64a5a4b8f Temperature report followup (#20687)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:11 -05:00
FanDjango
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
zeleps
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
Scott Lahteine
01c9d49f09 Indent tool_change_prime 2021-04-29 08:45:11 -05:00
Scott Lahteine
cc1b8c2d0b Clarify solenoid active / magnet-on state 2021-04-29 08:45:11 -05:00
FanDjango
ed7698efaa Defer "quiet probing" till the last Z bump (#20610) 2021-04-29 08:45:11 -05:00
Scott Lahteine
efe2859227 Solenoid cleanups
Followups to #20473 ahead of #20675
2021-04-29 08:45:11 -05:00
Scott Lahteine
4b4498be93 Remove untranslated strings 2021-04-29 08:45:11 -05:00
Scott Lahteine
eff2330ce1 G34/M422 cleanup 2021-04-29 08:45:11 -05:00
Scott Lahteine
8884b1f9a6 Move duplication_e_mask 2021-04-29 08:45:11 -05:00
Scott Lahteine
bb747bcd62 Fix delayed_move_time elapsed test 2021-04-29 08:45:11 -05:00
InsanityAutomation
b1f0671541 Fix IDEX reboot on travel after G28 X (#20654) 2021-04-29 08:45:10 -05:00
InsanityAutomation
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
Scott Lahteine
90c04ee15d Rename FTDI EVE screen data structs 2021-04-29 08:45:10 -05:00
Marcio T
d3d8fd6d9b Fix thermal error protection, reporting (#20655) 2021-04-29 08:45:10 -05:00
Giuliano Zaro
c6c5cc7246 Update Italian language (#20663) 2021-04-29 08:45:10 -05:00
Scott Lahteine
d5465f1ad8 Creality 4.2.10 board (#20647) 2021-04-29 08:45:10 -05:00
Scott Lahteine
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
Scott Lahteine
385152b3d2 Animated boot followup 2021-04-29 08:45:10 -05:00
ellensp
66c69aef6a Homing code followup (#20632)
Patching a87e5197cf
2021-04-29 08:45:10 -05:00
Scott Lahteine
f4f152bd01 Improved bootscreen animation 2021-04-29 08:45:10 -05:00
Scott Lahteine
eaeb9d1b20 Document, adjust some homing code 2021-04-29 08:45:10 -05:00
qwewer0
a42755a061 Fix a comment (#20629) 2021-04-29 08:45:10 -05:00
ellensp
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
qwewer0
7ef03a761b Assisted Tramming improvements (#20298) 2021-04-29 08:45:10 -05:00
ellensp
f570791e19 Fix //action prefix (#20600) 2021-04-29 08:45:10 -05:00
Jason Smith
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
Jason Smith
14b7eb1c5a Fix CHAMBER_FAN_MODE 0 build (#20621) 2021-04-29 08:45:10 -05:00
zeleps
3b4c5f982c Fix PARKING_EXTRUDER homing with solenoid (#20473) 2021-04-29 08:45:10 -05:00
Victor Oliveira
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
Scott Lahteine
7a748bd565 SPI and pins cleanup 2021-04-29 08:45:10 -05:00
Victor Oliveira
cf996949fa Support 4.3" (480x272) Color UI display (#20334) 2021-04-29 08:45:10 -05:00
Victor Oliveira
79672d51f6 USB FD via native USB Host + MSC (#20571) 2021-04-29 08:45:10 -05:00
Scott Lahteine
c3dc74bba0 Pins, comment cleanup 2021-04-29 08:45:10 -05:00
Tanguy Pruvot
f539e319f0 Clarify sanity-check for custom status bitmap (#20588) 2021-04-29 08:45:10 -05:00
Victor Oliveira
eda5a884c6 LVGL G-code preview. Legacy MKS WiFi Cura plugin compatibility (#20589) 2021-04-29 08:45:10 -05:00
Keith Bennett
7b33ceebbb Apply SHOW_BOOTSCREEN to TFT_COLOR_UI (#20586) 2021-04-29 08:45:10 -05:00
Scott Lahteine
8aa453d75b Menu item index followup 2021-04-29 08:45:10 -05:00
Victor Oliveira
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
Victor Oliveira
63f083db96 Fix LVGL_UI G-code preview (#20564) 2021-04-29 08:45:10 -05:00
Victor Oliveira
a74d4609af Use ADC_RESOLUTION 12 for all STM32 (#20562) 2021-04-29 08:45:10 -05:00
Victor Oliveira
427a2fca4d Fix Menu Mixer for Color UI (#20566) 2021-04-29 08:45:10 -05:00
Victor Oliveira
910908fb32 Better defaults, compatibility for SDIO + STM32 (#20570) 2021-04-29 08:45:10 -05:00
Keith Bennett
a8800d5b0a Small / Large Boot Screen option for TFT_COLOR_UI (#20578) 2021-04-29 08:45:10 -05:00
Scott Lahteine
adca49e432 Remove URL scheme 2021-04-29 08:45:10 -05:00
Scott Lahteine
214f6cb6e3 Allow define HOMING_FEEDRATE_(XY|Z) 2021-04-29 08:45:10 -05:00
Scott Lahteine
3395d10e82 General cleanup 2021-04-29 08:45:10 -05:00
Jason Smith
2e93923e24 Validate defined probe points (#20572) 2021-04-29 08:45:10 -05:00
Scott Lahteine
892e83e872 Init tare pin once 2021-04-29 08:45:10 -05:00
Scott Lahteine
10482ca49c Add probe_switch_activated 2021-04-29 08:45:10 -05:00
Scott Lahteine
9947072d2d Remove CREALITY_TOUCH 2021-04-29 08:45:10 -05:00
Scott Lahteine
6d3e22dd4a Fix some comments 2021-04-29 08:45:10 -05:00
Ashammaru
e3d7603d54 Fix SPINDLE_LASER_FREQUENCY (#20509) 2021-04-29 08:45:10 -05:00
Mike La Spina
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
Vi B-P
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
Scott Lahteine
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
Jason Smith
f1bf1e1835 Fix ST7920 timing for Rumba32, Fysetc S6 (#20556) 2021-04-29 08:45:10 -05:00
Victor Oliveira
35e1917655 Fix DOGM status message scrolling (#20557) 2021-04-29 08:45:10 -05:00
Scott Lahteine
121d4bf52a Add "End Repeat Loops" menu item 2021-04-29 08:45:10 -05:00
Victor Oliveira
fadc8a1944 LVGL and Classic UI for STM32 (#20552) 2021-04-29 08:45:10 -05:00
Scott Lahteine
a5dd4028ac Move BTT_SKR_CR6 2021-04-29 08:45:10 -05:00
ubik2
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
LinFor
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
Scott Lahteine
fa89a7b0bc Apply ENABLED in ExiUI / FTDI 2021-04-29 08:45:10 -05:00
Darren Peter
a24298f625 Support ANET_FULL_GRAPHICS_LCD_ALT_WIRING on BTT SKR 1.4 (#20427) 2021-04-29 08:45:10 -05:00
Sebastiaan Dammann
ec83a96484 Probe Activation Switch followup (#20550) 2021-04-29 08:45:10 -05:00
BsCmOD
a03ebfda52 Enhanced Italian language (#20551) 2021-04-29 08:45:10 -05:00
LinFor
323bf47738 FTDI EVE: Cyrillic font, some minor fixes (#20517) 2021-04-29 08:45:10 -05:00
yysh12
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
wmariz
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
Jan Krajdl
c529209c8f Support RGBW on PCA9632 (#20455)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
Tanguy Pruvot
be3e45d759 Fix G28 leveling state, UBL compile (#20499) 2021-04-29 08:45:09 -05:00
Victor Oliveira
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
Serhiy-K
256e94980e STM32F1xx support for TFTGLCD (#20515) 2021-04-29 08:45:09 -05:00
Keith Bennett
aa65c6e477 Anet ET4 / ET4P and Anet TFT28 / TFT35 (#20280) 2021-04-29 08:45:09 -05:00
Sean McGroty
59b5cb6fe2 Creality v4.3.1 (Ender 6) board (#20512) 2021-04-29 08:45:09 -05:00
X-Ryl669
a33c689c40 Improve Touch Calibration screen (#20524) 2021-04-29 08:45:09 -05:00
Jason Smith
30d9839631 Overrides to prevent STM32 timer conflicts (#20545) 2021-04-29 08:45:09 -05:00
Chris Pepper
f0b7f27029 Fix UBL mesh inset Z position (#20538) 2021-04-29 08:45:09 -05:00
Jason Smith
a1313c7066 Improve STM32 timer conflict messages (#20544) 2021-04-29 08:45:09 -05:00
LinFor
31c84d4559 FTDI EVE custom user menus (#20518) 2021-04-29 08:45:09 -05:00
LinFor
076f12e82d 12-bit ADC resolution for STM32 (#20519) 2021-04-29 08:45:09 -05:00
LinFor
231e5a5eed Add Tune -> Advanced Settings to FTDI EVE (#20532) 2021-04-29 08:45:09 -05:00
Scott Lahteine
350dc4ca05 Tweak FTDI spacing 2021-04-29 08:45:09 -05:00
Scott Lahteine
ff2f6cb110 Robin pins followup 2021-04-29 08:45:09 -05:00
LinFor
b667722184 Fix some Russian (#20529) 2021-04-29 08:45:09 -05:00
cr20-123
bc3f2f246f Fix G34 compile with bed leveling disabled (#20537) 2021-04-29 08:45:09 -05:00
Sebastiaan Dammann
28548e7ea2 Add BTT SKR CR6 board (#20522) 2021-04-29 08:45:09 -05:00
Scott Lahteine
023ef753b9 Clean up some pins 2021-04-29 08:45:09 -05:00
Dick Streefland
b799d0d073 Apply HOME_AFTER_DEACTIVATE for 'G28 O' (#20525) 2021-04-29 08:45:09 -05:00
Dick Streefland
be6e1ccba2 Get E3V2 DWIN MACHINE_SIZE from config (#20526) 2021-04-29 08:45:09 -05:00
Scott Lahteine
2a58aa2181 Fix PIO typo 2021-04-29 08:45:09 -05:00
Serhiy-K
525cdeae19 Update Russian and Ukrainian languages (#20508) 2021-04-29 08:45:09 -05:00
Scott Lahteine
c831aabe14 Languages cleanup 2021-04-29 08:45:09 -05:00
Foxies
642110b072 Migrate Hispeedv1 (QQS-Pro) to HAL/STM32 (#20354) 2021-04-29 08:45:09 -05:00
Jason Smith
56e2f39175 Fix Creality EEPROM watchdog freq. (#20510) 2021-04-29 08:45:09 -05:00
InsanityAutomation
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
InsanityAutomation
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
Keith Bennett
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
Scott Lahteine
a4701fbd3e Tweaks for pins_BTT_SKR_common.h 2021-04-29 08:45:09 -05:00
Scott Lahteine
e02fd232ba Rename QUIET_PROBING 2021-04-29 08:45:09 -05:00
Tanguy Pruvot
f7f531e59d DOGM: Slow down touchscreen calibration (#20454) 2021-04-29 08:45:09 -05:00
Victor Oliveira
51e3d8f08b MKS Robin Nano V3 and STM32F4x0Vx Variant (#20430) 2021-04-29 08:45:09 -05:00
grauerfuchs
02b65de6a2 Fix and optimize MightyBoard (#20493) 2021-04-29 08:45:09 -05:00
Jason Smith
c3a1cd10ab Balance CI tests (#20485) 2021-04-29 08:45:09 -05:00
nb-rapidia
e5d094d2bd Make M220 B / R a standard feature (#20355) 2021-04-29 08:45:09 -05:00
ellensp
d6efe75251 Fix ZoneStar LCD 2004 buttons (#20489) 2021-04-29 08:45:09 -05:00
rafaljot
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
Scott Lahteine
bee6b8af8f Use homing_feedrate function 2021-04-29 08:45:09 -05:00
Tanguy Pruvot
1b6db623a7 Update French language (#20472) 2021-04-29 08:45:09 -05:00
Scott Lahteine
a45603a344 Update Hungarian language
Co-Authored-By: Zs.Antal <45710979+AntoszHUN@users.noreply.github.com>
2021-04-29 08:45:09 -05:00
Giuliano Zaro
fa9463528d Update Italian language (#20480) 2021-04-29 08:45:09 -05:00
Scott Lahteine
82b6044dbb Trust STM32 gcc versions 2021-04-29 08:45:09 -05:00
Scott Lahteine
be7aab204f Update some LCD includes 2021-04-29 08:45:09 -05:00
Scott Lahteine
f82b3f0f51 Update some pins errors 2021-04-29 08:45:09 -05:00
Sebastiaan Dammann
3d7680a426 Creality v4.5.3 (CR-6 SE, CR-6 MAX) (#20468) 2021-04-29 08:45:09 -05:00
JoAnn Manges
878305671b Fix RESTORE_LEVELING_AFTER_G28 (#20471) 2021-04-29 08:45:09 -05:00
Scott Lahteine
46d2dc9bee Please install the EditorConfig plugin 2021-04-29 08:45:09 -05:00
Scott Lahteine
e188b3e28c Auto-check followup 2021-04-29 08:45:09 -05:00
kisslorand
a59164d5c8 Fix M1001 auto-check logic (#20456) 2021-04-29 08:45:09 -05:00
Jason Smith
0b0eb6a119 Trust that script -x flags will always be set (#20453) 2021-04-29 08:45:09 -05:00
Scott Lahteine
e6b3c74069 Always enable leveling after G28 2021-04-29 08:45:09 -05:00
Scott Lahteine
20bd54f6d3 Preheat before leveling 2021-04-29 08:45:09 -05:00
Scott Lahteine
6599e4ea53 Fix formatting 2021-04-29 08:45:09 -05:00
Chris Pepper
5617d64119 LPC176x framework update (#20469) 2021-04-29 08:45:09 -05:00
Scott Lahteine
b81a9e54a3 SHORT_MANUAL_Z_MOVE => FINE_MANUAL_MOVE 2021-04-29 08:45:09 -05:00
Scott Lahteine
cbe27daafb Adjust planner debugging 2021-04-29 08:45:08 -05:00
FanDjango
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
qwewer0
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
ellensp
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
leodoener
d0c2b643f8 Fix SDCARD_SORT_ALPHA on Ender 3 V2 (#20443) 2021-04-29 08:45:08 -05:00
Scott Lahteine
c0ad4718a4 Better animated boot screen 2021-04-29 08:45:08 -05:00
Jason Smith
8f188adc32 SENSORLESS_PROBING sanity check followup (#20438) 2021-04-29 08:45:08 -05:00
FanDjango
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
elasticdotventures
2a5b32f109 Z_SENSORLESS sanity checks (#20421)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:08 -05:00
ellensp
0c383b858f Fix UBL Debug Messages (#20423)
Co-authored-by: ellensp <ellensp@hotmsil.com>
2021-04-29 08:45:08 -05:00
Keith Bennett
aecfd95592 Clarify "not Interrupt-capable" error message (#20419) 2021-04-29 08:45:08 -05:00
Victor Oliveira
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
InsanityAutomation
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
Marcio T
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
Mike La Spina
e3e9982fec Fix Spindle/Laser Control menu (#20347) 2021-04-29 08:45:08 -05:00
swissnorp
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
Keith Bennett
38bb3b86d2 Clarify Delta & SCARA config location (#20403) 2021-04-29 08:45:08 -05:00
Scott Lahteine
ad7fe15154 Style, spacing, typo cleanup for recent changes 2021-04-29 08:45:08 -05:00
Victor Oliveira
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
ellensp
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
ellensp
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
Scott Lahteine
37dd0fd2d6 Fix auto#.g file handling, add NO_SD_AUTOSTART (#20071) 2021-04-29 08:45:08 -05:00
Scott Lahteine
1932e70e72 More LPC P-string macros 2021-04-29 08:45:08 -05:00
Scott Lahteine
ea81790d48 Watch idle() depth over 5 2021-04-29 08:45:08 -05:00
Scott Lahteine
2384e5c9c9 Fix fileExists, use openFailed 2021-04-29 08:45:08 -05:00
Victor Oliveira
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
Scott Lahteine
3a73f04fd3 G28 followup 2021-04-29 08:45:08 -05:00
Scott Lahteine
107834f899 G28 tweaks 2021-04-29 08:45:08 -05:00
Scott Lahteine
b6cd7aaf17 Fix STM32F1 SERIAL_GET_TX_BUFFER_FREE 2021-04-29 08:45:08 -05:00
Scott Lahteine
4b6fa1b54d Move G29 3-point startup earlier 2021-04-29 08:45:08 -05:00
Scott Lahteine
284cc8f62d ExtUI homing / leveling additions 2021-04-29 08:45:08 -05:00
Scott Lahteine
ef35fc60c1 Use 'nearby' for 'near' 2021-04-29 08:45:08 -05:00
Scott Lahteine
ec2843bcf3 Creality 4.5.2 format and fix 2021-04-29 08:45:08 -05:00
LinFor
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
InsanityAutomation
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
Jason Smith
c400c54b86 Suspend Servos for STM32+NeoPixel (#19963) 2021-04-29 08:45:08 -05:00
Jason Smith
1a618b1b31 Fix TMC_HOME_PHASE divide by zero (#20368) 2021-04-29 08:45:08 -05:00
Scott Lahteine
a09d096b87 Improved Longer3D LKx Pro board (#20372)
Co-authored-by: mrv96 <marione96@live.it>
2021-04-29 08:45:08 -05:00
Tanguy Pruvot
c88a7935d6 Don’t use near keyword as variable name (#20374) 2021-04-29 08:45:08 -05:00
Belin Fieldson
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
Jason Smith
10b8737c7d Fix MESH_BED_LEVELING w/o SEGMENT_LEVELED_MOVES (#20363) 2021-04-29 08:45:08 -05:00
Victor Oliveira
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
Scott Lahteine
20ea00e7f6 Consolidate common pin includes 2021-04-29 08:45:08 -05:00
ellensp
6a8ab8f1e6 Fix up start, monitor baud (#20326) 2021-04-29 08:45:08 -05:00
yysh12
eba2937715 Fix circle arc condition (#20322) 2021-04-29 08:45:08 -05:00
Jason Smith
07954edadc Permit SD EEPROM emulation on E3V2 (#20353) 2021-04-29 08:45:08 -05:00
Jason Smith
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
Luu Lac
f42d15437b Help hosts when password-locked (#20348) 2021-04-29 08:45:08 -05:00
Mathias Rasmussen
564e2e865c Update to STM32 v10, optimize build (#20325) 2021-04-29 08:45:08 -05:00
Scott Lahteine
c76f179487 Level Bed Corners is a sub-menu 2021-04-29 08:45:08 -05:00
Scott Lahteine
29a962320c Tweak to EEPROM safe delay 2021-04-29 08:45:08 -05:00
Jason Smith
e927ef94a6 Fix E3V2 Control Menu when returning from Info (#20338) 2021-04-29 08:45:08 -05:00
Jason Smith
f929123a7b Prevent Watchdog reset writing Creality 4.x EEPROM (#20328) 2021-04-29 08:45:08 -05:00
Jason Smith
d34bbee304 Increase E3V2 DWIN steps/mm range to 999.9 (#20324) 2021-04-29 08:45:08 -05:00
Scott Lahteine
74c509d36e General cleanup 2021-04-29 08:45:08 -05:00
Scott Lahteine
448cf2c357 Adjust axis homed / trusted methods (#20323) 2021-04-29 08:45:08 -05:00
Jason Smith
f22b677906 Leveling Fade Height default setting (#20316) 2021-04-29 08:45:08 -05:00
Jason Smith
272265c636 Fix STM32F1 'freeMemory()' warnings (#20319) 2021-04-29 08:45:08 -05:00
Alexander D. Kanevskiy
a8ba3c4e2e SKR E3 Turbo Controller Fan (#20320) 2021-04-29 08:45:08 -05:00
yysh12
523bc7d355 Arc Direction followup for circles (#20314) 2021-04-29 08:45:08 -05:00
Thomas Niccolo Reyes
1dd17d857e Fix M73 LCD code typo (#20300) 2021-04-29 08:45:08 -05:00
Sergey1560
a54b07d3ae Group related homing options (#20283)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:08 -05:00
yysh12
f63a7b978d Fix G2/G3 arcs > 180° (#20292) 2021-04-29 08:45:08 -05:00
ellensp
04483dd307 Fix BTT GTR 1.0 endstop/DIAG pins (#20296) 2021-04-29 08:45:08 -05:00
BsCmOD
3c5c36de50 FIX TMC menu message (#20294) 2021-04-29 08:45:07 -05:00
Scott Lahteine
deb8df8eff M808 Repeat Markers (#20084) 2021-04-29 08:45:07 -05:00
Štěpán Dalecký
3231741cd2 [WIP] Fix Probe::offset_xy (#20290)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
2021-04-29 08:45:07 -05:00
wmariz
747bde7e64 Level Corners with Probe option (#20241) 2021-04-29 08:45:07 -05:00
Scott Lahteine
7c9c897dac Optimize emergency parser check 2021-04-29 08:45:07 -05:00
Scott Lahteine
fc1deea2b8 No auto debug for EEPROM_CHITCHAT 2021-04-29 08:45:07 -05:00
Scott Lahteine
7421282d9a Finish HAL/STM32 cpp wrappers 2021-04-29 08:45:07 -05:00
mks-viva
9d5a391b54 MKS Robin E3 / E3D v1.1 (#20216) 2021-04-29 08:45:07 -05:00
Scott Lahteine
6ec6d1d39d Tweak some pin errors 2021-04-29 08:45:07 -05:00
Jason Smith
e2c57f6d47 Retire HAL for STM32F4 / F7 (#20153) 2021-04-29 08:45:07 -05:00
Scott Lahteine
664e9d6dfe Reduce warnings, extern "C" cleanup (#20279) 2021-04-29 08:45:07 -05:00
swissnorp
0c24347cdb Probe Offset Wizard improvements (#20239) 2021-04-29 08:45:07 -05:00
Victor Oliveira
c86ede8cfb Fix COLOR_UI without TOUCH_SCREEN_CALIBRATION (#20269) 2021-04-29 08:45:07 -05:00
Victor Oliveira
38a62f0d5b add missing header to use HAS_SD_HOST_DRIVE (#20270) 2021-04-29 08:45:07 -05:00
Scott Lahteine
27b2e2d3e7 Update TOUCH_UI_LULZBOT_BIO wrappers 2021-04-29 08:45:07 -05:00
Scott Lahteine
4e940ffcc2 Cosmetic G29 ABL tweak 2021-04-29 08:45:07 -05:00
Scott Lahteine
109c08e9e5 Consistent Probe XY offset type 2021-04-29 08:45:07 -05:00
Jason Smith
03cdfafc2a No Z_MULTI_ENDSTOPS when HOMING_Z_WITH_PROBE (#20254) 2021-04-29 08:45:07 -05:00
pseudex
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
ellensp
629f0e21c9 Set "lcd_move_e" index to fix the label (#20263) 2021-04-29 08:45:07 -05:00
rdhoggattjr
a711e22b17 LCD position in current units (#20145) 2021-04-29 08:45:07 -05:00
Jason Smith
82663c7d11 Fix Z4 in ENABLE/DISABLE_AXIS_Z (#20256)
This was accidentally broken in PR #20218
2021-04-29 08:45:07 -05:00
Jason Smith
8cd25f35c2 Fix dummy thermistors for Bed, Chamber, Probe (#20247) 2021-04-29 08:45:07 -05:00
Scott Lahteine
300a944af6 Allow Status Message without LCD (#20246) 2021-04-29 08:45:07 -05:00
Jason Smith
5e57e60692 Fix UBL manual mesh adjust behavior (#20248) 2021-04-29 08:45:07 -05:00
Scott Lahteine
28cd6eca88 Hide docker droppings 2021-04-29 08:45:07 -05:00
Scott Lahteine
82c1bac4e3 Move core conditionals earlier 2021-04-29 08:45:07 -05:00
Scott Lahteine
08717ef117 Put "$3" on all tests 2021-04-29 08:45:07 -05:00
qwewer0
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
Kurt Haenen
9c9fd8714e Proper pullup/pulldown configurability (#20242)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
Victor Oliveira
69b61fef67 Fix Load Filament wait (#20243) 2021-04-29 08:45:07 -05:00
Orel
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
Gurmeet Athwal
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
Scott Lahteine
f3805edbd6 Power-Loss cleanup 2021-04-29 08:45:07 -05:00
Simone Primarosa
7f91ff07c4 Superscript substitution (#20219)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:07 -05:00
Simone Primarosa
d5e13f255d Fix bad SET_FAST_PWM_FREQ calls (#20227) 2021-04-29 08:45:07 -05:00
Kurt Haenen
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
Scott Lahteine
7f84a7a85e Printrboard labels 2021-04-29 08:45:07 -05:00
Victor Oliveira
264e921d3f SINGLE_TOUCH_NAVIGATION Follow Up (#20213) 2021-04-29 08:45:07 -05:00
Victor Oliveira
7ad127668d Missing header to use suicide() on LVGL UI (#20214) 2021-04-29 08:45:07 -05:00
Ajtak
35d3e74267 Longer LK Pro / Alfawise PRO board (#20185) 2021-04-29 08:45:07 -05:00
Orel
2abde8a068 Fix DAC setDrvPct (#20205) 2021-04-29 08:45:07 -05:00
Vitaliy
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
Scott Lahteine
2e193b9a29 Fix Z label 2021-04-29 08:45:07 -05:00
Scott Lahteine
48c2065a17 MKS WiFi strings 2021-04-29 08:45:07 -05:00
Scott Lahteine
7729a0c3bb More MKS WiFi 2021-04-29 08:45:07 -05:00
Scott Lahteine
f1b32b808f MKS WiFi preliminary changes 2021-04-29 08:45:06 -05:00
Till
5ef1d053eb Add Thermistor 20-21 notes (#19246) 2021-04-29 08:45:06 -05:00
Victor Oliveira
0264841dc4 Reduce RAM usage for TFT Color UI on SGen-L V2 (#20209) 2021-04-29 08:45:06 -05:00
Maciej Rutkowski
40071c3fb9 Fix GTR NeoPixel pin with FYSETC Mini12864 (#20203) 2021-04-29 08:45:06 -05:00
ellensp
d92f69f137 Remaining Time followup (#20199) 2021-04-29 08:45:06 -05:00
Victor Oliveira
15febdfe07 Fix Filament Change menu item labels (#20201) 2021-04-29 08:45:06 -05:00
Victor Oliveira
1040f14da4 Abort print on media removal (#20200) 2021-04-29 08:45:06 -05:00
JoAnn Manges
11f08804d1 Use RTD for MAX31865 reading (#20188) 2021-04-29 08:45:06 -05:00
bosd
29d45b1144 Fix broken #include (#20193) 2021-04-29 08:45:06 -05:00
Giuliano Zaro
bd38e59479 SMUFF (MMU2 clone) support (#19912) 2021-04-29 08:45:06 -05:00
Scott Lahteine
b6d2671260 USB Media Host followup
Restore HAS_SHARED_MEDIA
2021-04-29 08:45:06 -05:00
Jason Smith
5f9ccb361a Use MANUAL_PROBE_START_Z for UBL manual probing (#20160) 2021-04-29 08:45:06 -05:00
Philippe Cayrol
ef51bd16dc Better edit range for Linear Advance K (#20155) 2021-04-29 08:45:06 -05:00
Thomas Niccolo Reyes
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
Victor Oliveira
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
Foxies
292e83466e FLSun Hispeedv1 Board update (#19959)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
Thomas Niccolo Reyes
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
wmariz
26d3caf97c Probe Wizard XY position (#20167) 2021-04-29 08:45:06 -05:00
Jason Smith
7848096acb Fix NAN mesh entries with ABL_BILINEAR_SUBDIVISION (#20143) 2021-04-29 08:45:06 -05:00
Victor Oliveira
18869c666f COLOR_UI without TOUCH_SCREEN 👍🏻 (#20178) 2021-04-29 08:45:06 -05:00
Costas Basdekis
1c81a126c5 Local testing via Makefile & Docker (#19981) 2021-04-29 08:45:06 -05:00
Victor Oliveira
180fe914b6 Prevent #div0 error (#20183) 2021-04-29 08:45:06 -05:00
Victor Oliveira
dc644df9bc Reduce RAM usage for TFT Color UI on SGen-L (#20179) 2021-04-29 08:45:06 -05:00
Roman Moravčík
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
ellensp
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
Victor Oliveira
562c41af4e Use intptr types (simulator) (#20142) 2021-04-29 08:45:06 -05:00
Jason Smith
b5e7b8e29e Allow overriding servo pin for MKS Robin Mini (#20158) 2021-04-29 08:45:06 -05:00
Keith Bennett
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
Jason Smith
a01fab662c Allow dummy thermistors without pin definitions (#20159) 2021-04-29 08:45:06 -05:00
FanDjango
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
InsanityAutomation
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
Victor Oliveira
3d9b453000 Add Touch Calibration screen (#20049) 2021-04-29 08:45:06 -05:00
Scott Lahteine
90f647b6be Fix some LCD/serial strings 2021-04-29 08:45:06 -05:00
Scott Lahteine
7f7c27be30 Add parser.is_command(letter, code) 2021-04-29 08:45:06 -05:00
Minims
2b63a1b4e1 BTT Motor Expansion for SKR Pro (#20123) 2021-04-29 08:45:06 -05:00
Keith Bennett
90f3d1f7a6 UTF Filenames followup (#20135) 2021-04-29 08:45:06 -05:00
phcay
65a5eb47b3 Fix extraneous Linear Advance DIR change (#20131) 2021-04-29 08:45:06 -05:00
Luu Lac
6b5ddfe235 Fix "autotune" LCD message (#20127) 2021-04-29 08:45:06 -05:00
Scott Lahteine
2f57b1d529 Optimize M360 2021-04-29 08:45:06 -05:00
Scott Lahteine
7e535022ab Fix compile warnings, serial alias 2021-04-29 08:45:06 -05:00
Scott Lahteine
cb1d2de838 .gitignore for native / simulation 2021-04-29 08:45:06 -05:00
Scott Lahteine
96acbb2506 LCD_FIRST_TOOL status bitmaps 2021-04-29 08:45:06 -05:00
Gonçalo Pereira
030f745b08 Typo in MMU2 serial protocol description (#19949) 2021-04-29 08:45:06 -05:00
InsanityAutomation
dc949f5488 G34 Z stepper locking (#20091)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
LinFor
7b745345f7 Fix UTF filename scroll (#20121)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
Jason Smith
3ee61e2084 UTF longname followup (#20115) 2021-04-29 08:45:06 -05:00
Scott Lahteine
26a1cd9a00 Terse sanity messages 2021-04-29 08:45:06 -05:00
Scott Lahteine
27c74d2f72 Add HOME_Z_FIRST option (#20113) 2021-04-29 08:45:06 -05:00
LinFor
a5ee22baa2 Fix MAX6675 SPI init, conflicts (#20086) 2021-04-29 08:45:06 -05:00
JoAnn Manges
02c3c314fe Fix MAX31865 on SPI (PT100/1000) support (#20074) 2021-04-29 08:45:06 -05:00
Hebezo
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
Scott Lahteine
d4b86322a9 M32 followup 2021-04-29 08:45:06 -05:00
ellensp
ac74786c2b Fix compile with PLR, no fan (#20096) 2021-04-29 08:45:06 -05:00
Davidsg33k
cf43c9901f 400 Z steps-per-mm (#20104) 2021-04-29 08:45:06 -05:00
LinFor
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
Costas Basdekis
dc144fb910 Distinct runout states (#19965)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:06 -05:00
Costas Basdekis
45b242d5f7 Fix Linux GPIO logging (#20093)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
ellensp
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
Speaka
8eb5950ebd Tramming Wizard wait position (#20063) 2021-04-29 08:45:05 -05:00
Victor Oliveira
ccb5e34052 Fix UI compile issues (#20092) 2021-04-29 08:45:05 -05:00
Jason Smith
ee48fc6544 Fix Arduino DUE compilation (#20058) 2021-04-29 08:45:05 -05:00
qwewer0
2365df532f What if 8 was 9? (#20076) 2021-04-29 08:45:05 -05:00
qwewer0
24c2ce6a87 Update issues/support link (#20077)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
Gustavo Alvarez
791fba3187 Fix SKR E3 DIP pin CLCD_SPI_CS (#20078) 2021-04-29 08:45:05 -05:00
Tanguy Pruvot
367c447ff8 Fix 320x240 touch buttons Y (#20079) 2021-04-29 08:45:05 -05:00
Scott Lahteine
ca730314e7 Ability to disable M32 2021-04-29 08:45:05 -05:00
Scott Lahteine
b2d6b8c567 Simplified temp sensor conditionals 2021-04-29 08:45:05 -05:00
Hebezo
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
qwewer0
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
Alexander D. Kanevskiy
7da62cc9f7 POWER_LOSS_PIN for BTT SKR mini MZ / E3 2.0 (#20069) 2021-04-29 08:45:05 -05:00
Jason Smith
841f0d5778 Fix tool-change servo index for E2 and up (#20060) 2021-04-29 08:45:05 -05:00
Scott Lahteine
367e717aeb Add alternative TERN macros 2021-04-29 08:45:05 -05:00
Scott Lahteine
5bf82b34c6 Temperature 'autostart' => 'auto_job' 2021-04-29 08:45:05 -05:00
Scott Lahteine
734dd1c293 MSG_AUTOSTART => MSG_RUN_AUTO_FILES 2021-04-29 08:45:05 -05:00
Albert van Osch
4052ef7097 Zonestar Z8 XM2 support (#19991) 2021-04-29 08:45:05 -05:00
Scott Lahteine
dfb6dd2ad2 Apply some pins formatting 2021-04-29 08:45:05 -05:00
Scott Lahteine
426d555f6e TFT cleanup 2021-04-29 08:45:05 -05:00
LinFor
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
Speaka
ec5b2aab15 Tramming Wizard submenu option (#20000)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:05 -05:00
Victor Oliveira
af5cf823ea Color UI single touch menu navigation (#20053) 2021-04-29 08:45:05 -05:00
Darren Horrocks
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
Darren Horrocks
d81c1961c2 Anet 1.0 alternative graphical LCD wiring (#20022) 2021-04-29 08:45:05 -05:00
Scott Lahteine
45e0dd1966 Add 'mfconfig' script used to manage configs 2021-04-29 08:45:05 -05:00
Jason Smith
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
Jason Smith
3afa6e526b STM32F1 cleanup, incl. SoftwareSerial removal (#20046) 2021-04-29 08:45:05 -05:00
Jason Smith
ecabbb6974 Fix FYSETC S6 timer conflict (#20044) 2021-04-29 08:45:05 -05:00
George Fu
989ef47bde FYSETC E4 board support (#20032) 2021-04-29 08:45:05 -05:00
Scott Lahteine
5a918e2b2e Update some file headers 2021-04-29 08:45:05 -05:00
Victor Oliveira
2dd1522e30 Standardize Marlin SPI (part 1) (#19989) 2021-04-29 08:45:05 -05:00
Scott Lahteine
e49f267c4a Use nullptr 2021-04-29 08:45:05 -05:00
Mauro
afed97bf0e Fix E4d@box pins, stepper i2s (#20055) 2021-04-29 08:45:05 -05:00
Scott Lahteine
9ba113bc05 Clean up corrected urls 2021-04-29 08:45:05 -05:00
Marc Jovaní González
35d7618117 Add Spanish translations (#20020) 2021-04-29 08:45:05 -05:00
Jason Smith
10c8647c1b Fix 0 extruders & bed compile (#20030) 2021-04-29 08:45:05 -05:00
Sergey1560
1767a3bd70 Don't close diveDir in fileExists (#20035) 2021-04-29 08:45:05 -05:00
Jason Smith
5082106145 Fix BTT002 PeripheralPins PWM assignments (#20036) 2021-04-29 08:45:05 -05:00
Scott Lahteine
b643a07b66 Comment, spacing cleanup 2021-04-29 08:45:05 -05:00
Josh Schroeder
dd92c79339 Wiring warning for ANET_FULL_GRAPHICS_LCD on SKR 1.4 (#20011) 2021-04-29 08:45:05 -05:00
Victor
b767a82bd8 FAST_PWM for STM32 (#20025) 2021-04-29 08:45:05 -05:00
Scott Lahteine
67d58ccb98 HAL support for 8s watchdog 2021-04-29 08:45:05 -05:00
Keith Bennett
bbfac75f19 Add note about TMC2225/6 (#20002) 2021-04-29 08:45:05 -05:00
Victor Oliveira
930aad6d31 Better Classic UI touch resolution (#20004) 2021-04-29 08:45:05 -05:00
Victor Oliveira
65383dd616 Show un-mounted media slot (#20005) 2021-04-29 08:45:05 -05:00
Scott Lahteine
2ae8014da7 DWIN cleanup, preserve Z offset 2021-04-29 08:45:04 -05:00
Victor Oliveira
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
Victor Oliveira
172996f2b3 Fix STM32 HW Serial + EP compile (#19990) 2021-04-29 08:45:04 -05:00
Victor Oliveira
3c512648da Increase SPI Speed on LPC. Color and Classic UI for MKS SGEN L. (#19945) 2021-04-29 08:45:04 -05:00
Alexander D. Kanevskiy
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
Victor Oliveira
5c90d0d0ae Reset calibration screen touch timer on click (#19951) 2021-04-29 08:45:04 -05:00
Scott Lahteine
95fb749923 Clean up SPI and ST7920 defines (#19956) 2021-04-29 08:45:04 -05:00
Jason Smith
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
Alexander Semion
c9c17b8863 Add SPINDLE_SERVO option (#19971) 2021-04-29 08:45:04 -05:00
Victor Oliveira
2a61ce80b8 Put PIO "debug" build in the corner (#19975) 2021-04-29 08:45:04 -05:00
Nick
3eaeaa8af3 Fix Chiron probe low point (#19962) 2021-04-29 08:45:04 -05:00
Scott Lahteine
261e8df837 Cutter power cleanup 2021-04-29 08:45:04 -05:00
Julien Lirochon
d18ab2d206 Fix SpindleLaser::cpwr_to_pct() maths (#19970) 2021-04-29 08:45:04 -05:00
Scott Lahteine
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
thinkyhead
aec215aaf3 Fix bilinear_line_to_destination definition
See #19431
2021-04-29 08:45:04 -05:00
Orel
4b08e06fa6 Rename, adjust Dagoma F5 (#19947) 2021-04-29 08:45:04 -05:00
Scott Lahteine
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
Victor
3dbe4ac593 FAST_PWM for STM32F1 (#19952) 2021-04-29 08:45:04 -05:00
Giuliano Zaro
ba28660acb Update Italian language (#19953) 2021-04-29 08:45:04 -05:00
Victor Oliveira
cec9075361 PIO env for MKS Nano boards in STM32 (#19905) 2021-04-29 08:45:04 -05:00
Marcio Teixeira
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
Scott Lahteine
3cb7128116 Tweak code formatting 2021-04-29 08:45:04 -05:00
Victor Oliveira
88e88743b9 Color UI for MKS SGen-L V2 (#19919) 2021-04-29 08:45:04 -05:00
Scott Lahteine
e6092ad146 .bin and .woff are binary 2021-04-29 08:45:04 -05:00
Scott Lahteine
59914df5b7 Fix comments, spacing 2021-04-29 08:45:04 -05:00
Scott Lahteine
67fbee389e Add a note about substitution chars 2021-04-29 08:45:04 -05:00
Victor Oliveira
b590cee35a Keep SPI active on LPC176x (#19932) 2021-04-29 08:45:04 -05:00
Victor Oliveira
0c81d86cd4 Permit spaces in dependencies g++ path (#19929) 2021-04-29 08:45:04 -05:00
Alexander Fomichev
d6e93bb9c7 Generalize BTT SKR E3-DIP version (#19910) 2021-04-29 08:45:04 -05:00
ellensp
2bb94b4329 AZTEEG X5 mini LED pins (#19909) 2021-04-29 08:45:04 -05:00
Gurmeet Athwal
fa0614516a Update ExtUI path in config comment (#19908) 2021-04-29 08:45:04 -05:00
Victor Oliveira
d08511c5dc Color UI circular task queue (#19918) 2021-04-29 08:45:04 -05:00
Jason Smith
2a4cdf5a5d Fix LCD menus + DAC (#19907) 2021-04-29 08:45:04 -05:00
Orel
f5f6170858 Fix DAC-related bugs (#19921)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:45:04 -05:00
Lucas Seiki Oshiro
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
Speaka
d4669dbf6a Fix G35 PROGMEM strings (#19926) 2021-04-29 08:45:04 -05:00
Scott Lahteine
f43f71646e Archim test matching env 2021-04-29 08:45:04 -05:00
Scott Lahteine
aecf545446 Fix Archim 1, add Archim 1&2 tests 2021-04-29 08:45:04 -05:00
Victor Oliveira
3b42e0263a Keep watchdog refreshed in LVGL init (#19900) 2021-04-29 08:45:04 -05:00
Victor Oliveira
5a74114e23 Fix some LVGL bugs (#19904) 2021-04-29 08:45:04 -05:00
Marcio Teixeira
3bab0fccc2 Fix NO_WORKSPACE_OFFSETS compile 2021-04-29 08:45:04 -05:00
Scott Lahteine
2a8fdb8ee4 Followup for BTN_ENC_EN 2021-04-29 08:45:04 -05:00
Scott Lahteine
6c103b72a2 Clean up comments, USB flash, NULLs 2021-04-29 08:45:04 -05:00
Scott Lahteine
ea9e28bb69 Format Nucleo F767ZI pins 2021-04-29 08:45:04 -05:00
ellensp
c94afc7592 Fix PASSWORD compile w/out LCD (#19888) 2021-04-29 08:45:04 -05:00
René Pasold
80909e4424 Support Fysetc Mini 12864 + GT2560 A(+) (#19878) 2021-04-29 08:45:04 -05:00
ellensp
c59f64ce49 Use LiquidCrystal_I2C@1.1.4 for RA_CONTROL_PANEL (#19875) 2021-04-29 08:45:04 -05:00
Jason Smith
e232f93018 Update ZMIB_V2 env names (#19886) 2021-04-29 08:45:04 -05:00
Jason Smith
62d578de9e Ignore NativeEthernet on AT90USB1286 (#19885) 2021-04-29 08:45:04 -05:00
Gurmeet Athwal
a625fee035 Add 'BTN_ENC_EN' for SKR V1.4 with DOGM (#19796) 2021-04-29 08:45:04 -05:00
Victor Oliveira
b586a30e7b More LVGL UI code reduction (#19879) 2021-04-29 08:45:04 -05:00
Nick
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
Victor Oliveira
e44a97a096 Update PIO dependencies script 2021-04-29 08:45:04 -05:00
Victor Oliveira
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
Keith Bennett
c3e8b46284 Fix Chitu V5/V6 FAN2 pins (#19874) 2021-04-29 08:45:04 -05:00
Scott Lahteine
d3ee5d7dfe Fix warning in gcode_D 2021-04-29 08:45:04 -05:00
Scott Lahteine
2fed3982d6 Pins post-process header (#19860) 2021-04-29 08:45:04 -05:00
Scott Lahteine
f9b04af650 Case light brightness cleanup (#19856)
Co-authored-by: Chris <chris@chrisnovoa.com>
2021-04-29 08:45:04 -05:00
Scott Lahteine
b1b2ecba6c Shorten a method name 2021-04-29 08:45:04 -05:00
qwewer0
6601ca7a22 Fix Chopper Timing extra axis defaults (#19850) 2021-04-29 08:45:04 -05:00
Scott Lahteine
1b51000736 Slim down MKS UI code (#19843) 2021-04-29 08:45:04 -05:00
George Fu
994cda3b6b Fix TMC serial port for FYSETC AIO_II (#19842) 2021-04-29 08:45:04 -05:00
ManuelMcLure
2becb5ebf7 Configure TMC interpolation per driver (#19828) 2021-04-29 08:45:03 -05:00
Foxies
32433fae61 FLSUN Delta QQS-Pro pins (#19793) 2021-04-29 08:45:03 -05:00
Scott Lahteine
99ce660aed Add power-on/off G-code options (#19837)
Co-authored-by: Chris <chris@chrisnovoa.com>
2021-04-29 08:45:03 -05:00
Keith Bennett
01b9badb51 BigTreeTech SKR Mini MZ V1 (#19818) 2021-04-29 08:45:03 -05:00
Mauro
f27b61cb0f Fresh Web GUI (based on bootstrap.js) (#19812) 2021-04-29 08:45:03 -05:00
TheMichalcinOfficial
52bc509fcf Support for Ramps-S v1.2 (#19815) 2021-04-29 08:45:03 -05:00
Scott Lahteine
2984960793 General cleanup, mostly MKS UI (#19825) 2021-04-29 08:45:03 -05:00
Scott Lahteine
e32bdf6a93 ESP32: i2s_init requires I2S_STEPPER_STREAM 2021-04-29 08:45:03 -05:00
uwedamm
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
Tanguy Pruvot
9f85a15955 Longer3D: LONGER_LK_TFT28 now set by config (#19817) 2021-04-29 08:45:03 -05:00
ellensp
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
bilsef
c6f17ac01e Teensy 4.1 Ethernet support (#19801) 2021-04-29 08:45:03 -05:00
Scott Lahteine
53a4b8fa33 Misc. cleanup, serial strings 2021-04-29 08:45:03 -05:00
Scott Lahteine
a90b90e98d Tweak a host prompt call 2021-04-29 08:45:03 -05:00
Scott Lahteine
ff9a27ee9f Use PGM serial strings 2021-04-29 08:45:03 -05:00
ellensp
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
Scott Lahteine
e00745c548 Document M125 P 2021-04-29 08:45:03 -05:00
InsanityAutomation
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
Scott Lahteine
4343a96fac ABM Teensy 3.6 build 2021-04-29 08:45:03 -05:00
Jago Strong-Wright
9124f1d7c8 Distinct Chopper Timing settings (#19781)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-04-29 08:45:03 -05:00
Sten Uusvali
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
Curtis Jenkins
25bb249ac6 Fix Smoothieboard digipots i2c pin (#19784) 2021-04-29 08:45:03 -05:00
Scott Lahteine
332adafa23 MarlinUI followup 2021-04-29 08:45:03 -05:00
Scott Lahteine
a44aae268a Starting fan followup 2021-04-29 08:45:03 -05:00
Victor Oliveira
52c090dfbe Fix starting fan with bad material preset index (#19773) 2021-04-29 08:45:03 -05:00
Scott Lahteine
141f6825ce Rename ultralcd => marlinui 2021-04-29 08:45:03 -05:00
Scott Lahteine
fff5649b6a touch_ms followup 2021-04-29 08:45:03 -05:00
arminth
34c16bb395 Provide FYSETC F6 13 LCD pins for HD44780 (#19769) 2021-04-29 08:45:03 -05:00
Jason Smith
cedc5d340f LCD conditionals followup (#19766) 2021-04-29 08:45:03 -05:00
nb-rapidia
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
Serhiy-K
19498040ef Fix HAL/STM32 FastIO for analog pins (#19735) 2021-04-29 08:45:03 -05:00
Victor Oliveira
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
Victor Oliveira
2ecc3bb560 Handle M410 in the main task (#19752) 2021-04-29 08:45:03 -05:00
Jason Smith
d5340675ae Fix SAMD Serial name macro (#19765) 2021-04-29 08:45:03 -05:00
mks-viva
dea995e19f Update MKS SGen-L V2 RGB LED pins (#19762) 2021-04-29 08:45:03 -05:00
Andreas Setterlind
473abe8eb4 Add ESP32 160MHz to README (#19748) 2021-04-29 08:45:03 -05:00
Jason Smith
386e643179 Fix NUCLEO_F767ZI build, add tests (#19746) 2021-04-29 08:45:03 -05:00
Victor Oliveira
1fa19e1fc2 Sanity check unsupported EP (#19745) 2021-04-29 08:45:03 -05:00
Victor Oliveira
13720ce6b2 Fix TOUCH_SCREEN + TFT_LVGL_UI compile (#19754) 2021-04-29 08:45:03 -05:00
Victor Oliveira
02b668baf5 Update Probe Offset Wizard for Color UI (#19742) 2021-04-29 08:45:03 -05:00
rlojek
57dc1a0649 Fix ADVANCED_PAUSE && !PREVENT_COLD_EXTRUSION (#19740) 2021-04-29 08:45:03 -05:00
Peter Hall
8ae8e1e455 Default LASER_POWER_INLINE to OFF (#19727) 2021-04-29 08:45:03 -05:00
Scott Lahteine
7905aa64fa TFT Presets, Generic options, Sanity checks (#19723) 2021-04-29 08:45:03 -05:00
Jason Smith
d81abf1d50 Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) 2021-04-29 08:45:03 -05:00
Jason Smith
6a5799fc7d Revert at90usb1286 conditional (#19733) 2021-04-29 08:45:03 -05:00
Jason Smith
3e4d9aa9bb Fix digipot compilation (#19731) 2021-04-29 08:45:03 -05:00
Jason Smith
2004080c9d Fix mega2560ext environment (#19730) 2021-04-29 08:45:02 -05:00
Keith Bennett
70dc2ee9bb If needed, home before G34 (#19713) 2021-04-29 08:45:02 -05:00
Victor Oliveira
7825fc63a0 Watchdog Refresh for LVGL Asset Load (#19724) 2021-04-29 08:45:02 -05:00
Jason Smith
33b2f0700e Add NUCLEO-F767ZI dev board (#19373)
Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com>
2021-04-29 08:45:02 -05:00
Scott Lahteine
647981ef44 Simple bool in soft_endstops_t 2021-04-29 08:45:02 -05:00
Victor Oliveira
252fd66b76 TFT followup fixes (#19710) 2021-04-29 08:45:02 -05:00
Scott Lahteine
1ef1ea0b3e Move @section temperature 2021-04-29 08:45:02 -05:00
Victor Oliveira
14fe7ee414 Fix UTF8 handling for Color UI (#19708) 2021-04-29 08:45:02 -05:00
Keith Bennett
bd22194438 Sanity-check mutually-exclusive G34 features (#19706) 2021-04-29 08:45:02 -05:00
Earle F. Philhower, III
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
Jason Smith
48a24202ef Add D100 Watchdog Test (#19697) 2021-04-29 08:45:02 -05:00
Victor Oliveira
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
Scott Lahteine
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
Jason Smith
fdcd28a0ec Allow MAX31865 resistance values configuration (#19695) 2021-04-29 08:45:02 -05:00
InsanityAutomation
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
qwewer0
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
Jason Smith
7ab74d22c4 Fix motion compile w/out probe-oriented settings (#19684) 2021-04-29 08:45:02 -05:00
Victor Oliveira
c1729330c5 Option to prevent (extra) Watchdog init on STM32 (#19693) 2021-04-29 08:45:02 -05:00
Victor Oliveira
2dafba1ad2 Implement wait_for_user for Color UI (#19694) 2021-04-29 08:45:02 -05:00
Jason Smith
67e0e6d5ad Fix I2C_ADDRESS sign warning (#19685) 2021-04-29 08:45:02 -05:00
Jason Smith
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
Jason Smith
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
Scott Lahteine
a30e8baf3e Digipots refactor / cleanup (#19690) 2021-04-29 08:45:02 -05:00
Scott Lahteine
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
Victor Oliveira
2adac87c45 Restore correct STM32 port-bits code (#19678) 2021-04-29 08:45:02 -05:00
Serhiy-K
72f9fdc05f Fixes for TFTGLCD Panel, FastIO (#19614) 2021-04-29 08:45:02 -05:00
ellensp
cbed6f4241 HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) 2021-04-29 08:45:02 -05:00
Victor Oliveira
50de8bd6fb Keep HAL tasks running during PID Autotune (#19671) 2021-04-29 08:45:02 -05:00
Scott Lahteine
7e09160ba3 Batch appercase hex values 2021-04-29 08:45:02 -05:00
Scott Lahteine
3facf34f5f Optional M42/M226; Add more features filters (#19664) 2021-04-29 08:45:02 -05:00
Victor Oliveira
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
Keith Bennett
8143d70829 Fix touch ifndefs (#19661) 2021-04-29 08:45:02 -05:00
Giuliano Zaro
92bbf3ba18 Update Italian language (#19654) 2021-04-29 08:45:02 -05:00
Samantaz Fox
5441ee5a7a Fix and improve Makefile / CMake (#19640) 2021-04-29 08:45:02 -05:00
Scott Lahteine
fde169d3ef Permit touch calibration override 2021-04-29 08:45:02 -05:00
Scott Lahteine
3516c3f936 Use 0xFF (not 'ff') for byte transfer 2021-04-29 08:45:02 -05:00
ellensp
e6de60d04e Apply env:mega2560ext to relevant boards (#19624) 2021-04-29 08:45:02 -05:00
qwewer0
cd839a251f Update PROBE_OFFSET_WIZARD comment (#19652) 2021-04-29 08:45:02 -05:00
qwewer0
fadee1b46b More accessible PROBE_OFFSET_WIZARD (#19647) 2021-04-29 08:45:02 -05:00
ellensp
3e9c6c6297 Restore ° to 6x9 small info font (#19645) 2021-04-29 08:45:02 -05:00
Scott Lahteine
45385e737c Chamber vent/fan followup 2021-04-29 08:45:02 -05:00
Scott Lahteine
c86e14c6ff Fix small font section directive, mixer warning 2021-04-29 08:45:01 -05:00
Scott Lahteine
b5da52007b Update language fonts 2021-04-29 08:45:01 -05:00
ladismrkolj
22ef4fe26c Add Chamber servo vent, auto fan (#19519) 2021-04-29 08:45:01 -05:00
signetica
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
Scott Lahteine
61d500462c Improve retract / unretract labels 2021-04-29 08:45:01 -05:00
Scott Lahteine
6002dc634e Trailing whitespace 2021-04-29 08:45:01 -05:00
Scott Lahteine
563bd01789 Sync config to examples 2021-04-29 08:45:01 -05:00
Mathew Winters
cc863ba378 Z Probe Offset Wizard (#18866) 2021-04-29 08:45:01 -05:00
Cory Ory
fb28e0cba9 Allow bypass for cold E movement (#19606) 2021-04-29 08:45:01 -05:00
Ryan V1
cd33062a81 Fix Archim1 stepper timing (with new variant) (#19596) 2021-04-29 08:45:01 -05:00
Scott Lahteine
1ac7cf2ab6 Add HAS_FAST_MOVES 2021-04-29 08:45:01 -05:00
ellensp
53b7ad3a92 Fix Z_AFTER_HOMING without probe (#19607) 2021-04-29 08:45:01 -05:00
Scott Lahteine
01c161d380 Move SF_ARC_FIX option 2021-04-29 08:45:01 -05:00
Speaka
af4c2dab8d Fix German translation purging/unloading (#19615) 2021-04-29 08:45:01 -05:00
Scott Lahteine
2a755d68d9 Shared singlenozzle item 2021-04-29 08:45:01 -05:00
Scott Lahteine
770f2b1e02 Fix Tune/Fan edit items
- Fixes #19617
- Followup to #18400
2021-04-29 08:45:01 -05:00
Ryan V1
85c6ffb364 Fix 'bossac' upload on Windows (#19545) 2021-04-29 08:45:01 -05:00
Marcio T
bf3f7ae5b9 Touch UI support for X2, Y2 and Z2 (#19538) 2021-04-29 08:45:01 -05:00
ellensp
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
ellensp
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
Andreas Setterlind
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
ellensp
a2c4c4a916 Fix compile of MMU2 with S-mode disabled (#19584) 2021-04-29 08:45:01 -05:00
bilsef
de42ef017f Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) 2021-04-29 08:45:01 -05:00
Scott Lahteine
69917690f3 Adjust HAL platform defines, comments 2021-04-29 08:45:01 -05:00
Scott Lahteine
02b17886c9 Replace tabs with spaces 2021-04-29 08:45:01 -05:00
Victor Oliveira
0507df61b2 Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) 2021-04-29 08:45:01 -05:00
swissnorp
0af95b188a G35 workaround for Pronterface "feature" (#19577) 2021-04-29 08:45:01 -05:00
Stéphane
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
Ilya
58ce9a85c1 No move on Park = No move on Resume (#19569) 2021-04-29 08:45:01 -05:00
Roman Moravčík
dc5f86e039 Update Slovak language (#19561) 2021-04-29 08:45:01 -05:00
Victor Oliveira
46c8775542 Fix Buzzer (pin) init for uninitialized FastIO (#19559) 2021-04-29 08:45:01 -05:00
Victor Oliveira
059d966d7b Fix Move Screen with disabled Touch (#19558) 2021-04-29 08:45:01 -05:00
Nick
2069ab3a15 Anycubic Chiron full feature support (#19505) 2021-04-29 08:45:01 -05:00
Scott Lahteine
bb90bc6165 Fix up E3 DWIN Power Panic 2021-04-29 08:45:01 -05:00
Scott Lahteine
de4f882a22 Fetch longname when a file exists 2021-04-29 08:45:01 -05:00
Scott Lahteine
9aff5cb095 Add extra CardReader debugging 2021-04-29 08:45:01 -05:00
Scott Lahteine
782b9ce69e Improve Power-Loss Recovery (#19540) 2021-04-29 08:45:01 -05:00
Scott Lahteine
806c908091 Fix diveToFile with open Dir object (#19539)
* Fix CardReader diveToFile
* Add CardReader::fileExists
2021-04-29 08:45:01 -05:00
qwewer0
04a712dacc Multi-line comments cleanup (#19535) 2021-04-29 08:45:01 -05:00
Pavel Melnikov
3453d2d17a Change "Fr" on LCD to ">>" (#18830) 2021-04-29 08:45:00 -05:00
Scott Lahteine
25bf561aed Default E3 V2 to English 2021-04-29 08:45:00 -05:00
Scott Lahteine
ad3c475dd1 Tweaks to git helpers 2021-04-29 08:45:00 -05:00
Scott Lahteine
85573909d1 Update configs to 020007 2021-04-29 08:45:00 -05:00
Serhiy-K
63e6437d66 MarlinUI for SPI/I2C TFT-GLCD character-based display bridge (#19375) 2021-04-29 08:45:00 -05:00
Scott Lahteine
58deab1915 Rename LCD conditionals (#19533) 2021-04-29 08:45:00 -05:00
Scott Lahteine
ac900b17e0 Prettier INI 2021-04-29 08:45:00 -05:00
Scott Lahteine
a11ba51389 Menu tweak 2021-04-29 08:45:00 -05:00
Scott Lahteine
5cd004defe Update AnyCubic deps 2021-04-29 08:45:00 -05:00
Emperor
03a5c7f52a Thermistor: Kis3d Silicone heater + precision cast plate (#19528) 2021-04-29 08:45:00 -05:00
Tanguy Pruvot
717de1e703 Working LCD_USE_DMA_FSMC (#19522) 2021-04-29 08:45:00 -05:00
Siana Gearz
33f291d769 Fix Allen Key Probe pin test (#19520) 2021-04-29 08:45:00 -05:00
Victor Oliveira
7f93173659 LVGL followup fixing "C", etc. (#19517) 2021-04-29 08:45:00 -05:00
Scott Lahteine
4648351270 CardReader cleanup 2021-04-29 08:45:00 -05:00
Scott Lahteine
4bd1ecf8a7 E3 DWIN: "No Media" message 2021-04-29 08:45:00 -05:00
Scott Lahteine
584c836918 E3 DWIN: General cleanup 2021-04-29 08:45:00 -05:00
Scott Lahteine
ac0511f02a Allow M524 between M23 and M24 2021-04-29 08:45:00 -05:00
Scott Lahteine
32b854a98b Drop extra Bed PID 2021-04-29 08:45:00 -05:00
Scott Lahteine
943a594ba0 Tweak MMU beeps, misc. cleanup 2021-04-29 08:45:00 -05:00
Trocololo
def328eec1 MMU2 S Mode spins the BMG gears during C0 (#19429) 2021-04-29 08:45:00 -05:00
Victor Oliveira
e26edbc623 Allow ColorUI color customization (#19484) 2021-04-29 08:45:00 -05:00
Victor Oliveira
d06e526dc2 Fix MBL "Click to continue" on Color UI touchscreen (#19514) 2021-04-29 08:45:00 -05:00
Keith Bennett
9a2de1570c SKR E3 Turbo followup (#19513) 2021-04-29 08:45:00 -05:00
Luke Harrison
3065e4f941 Fix SKR 1.4 thermistor pin comments (#19510) 2021-04-29 08:45:00 -05:00
ellensp
0fedd76819 Fix MKS Robin undefined pins error (#19507) 2021-04-29 08:45:00 -05:00
Victor Oliveira
fd83407991 Escape the M33 string arg (#19515) 2021-04-29 08:45:00 -05:00
Victor Oliveira
3d521a2e34 TFT: No timeout on Move Screen (#19426) 2021-04-29 08:45:00 -05:00
Scott Lahteine
affb5e53df Sanity check old serial names 2021-04-29 08:45:00 -05:00
Keith Bennett
d6b1563655 BigTreeTech SKR E3 Turbo (#19500) 2021-04-29 08:45:00 -05:00
Jason Smith
9d02cedfed Fix and improve STM32F1 serial (#19464) 2021-04-29 08:45:00 -05:00
Scott Lahteine
449a31dea9 Fix some pin inits 2021-04-29 08:45:00 -05:00
Scott Lahteine
bfa6cd3693 HAL/serial followup 2021-04-29 08:45:00 -05:00
Scott Lahteine
f588d50d57 HAL and serial cleanup
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>
2021-04-29 08:45:00 -05:00
Scott Lahteine
27c067612c Whitespace cleanup 2021-04-29 08:45:00 -05:00
ellensp
a3a5b334c4 Define UART pins for LPC debug based on LPC_PINCFG_UART (#19475) 2021-04-29 08:45:00 -05:00
ellensp
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
Scott Lahteine
8b69d697dd Teensy pins cleanup 2021-04-29 08:45:00 -05:00
Jason Smith
632ac54440 MKS Robin Mini uses ONBOARD_SPI_DEVICE (#19460) 2021-04-29 08:45:00 -05:00
Victor Oliveira
873b5db13d Include pins.h in dependencies script (#19468) 2021-04-29 08:45:00 -05:00
Marcio T
1978a29678 New Touch UI buttons (#19465) 2021-04-29 08:45:00 -05:00
Jason Smith
f34ea44d73 Catch a TMC address conflict early (#19458) 2021-04-29 08:45:00 -05:00
Scott Lahteine
bc081473f2 Fix up tests, warnings 2021-04-29 08:45:00 -05:00
Scott Lahteine
0b18034055 Fix Teensy 4.1 include 2021-04-29 08:45:00 -05:00
Jason Smith
d1eeb692c1 Update board/teensy comment (#19456) 2021-04-29 08:45:00 -05:00
makerbase
05680a4662 MKS SGEN L V2 adaptable heaters/fans (#19462) 2021-04-29 08:45:00 -05:00
Victor Oliveira
a08217a33c Define <u8,u8,u8>::softSPI (#19419) 2021-04-29 08:45:00 -05:00
riodoro1
5ccb2c62a9 Fix up K8800 pins (#19476) 2021-04-29 08:44:59 -05:00
Chris Pepper
9dd49b6c6a Update pins_ANET_10.h 2021-04-29 08:44:59 -05:00
Jason Smith
b52a2176fe Replace Serial with Serial1 in pins files (#19459) 2021-04-29 08:44:59 -05:00
qwewer0
d2a36b38ca Optional menu item for Assisted Tramming (#19447) 2021-04-29 08:44:59 -05:00
makerbase
33788c8405 Add MKS Robin E3P, improve LVGL UI (#19442) 2021-04-29 08:44:59 -05:00
Scott Lahteine
32cd5a3dc4 Add HAS_ROTARY_ENCODER 2021-04-29 08:44:59 -05:00
Scott Lahteine
ee1232051c Cleanup before MKS changes 2021-04-29 08:44:59 -05:00
Scott Lahteine
b3890d385c Add multi-extruder condition 2021-04-29 08:44:59 -05:00
Scott Lahteine
5a35595a3a Whitespace cleanup 2021-04-29 08:44:59 -05:00
enigmaquip
584a8cd1a8 Fix Creality DWIN Control menu icons (#19441) 2021-04-29 08:44:59 -05:00
ellensp
7a0d655292 Ultratronics Pro SPI pins (#19444) 2021-04-29 08:44:59 -05:00
qwewer0
2f483a25e9 Optional Host Start menu item (#19443) 2021-04-29 08:44:59 -05:00
Marcio T
7735be367f Fix case light brightness save/load (#19436) 2021-04-29 08:44:59 -05:00
InsanityAutomation
a50633d8e0 Fix compile for Taz Pro (#19424) 2021-04-29 08:44:59 -05:00
Scott Lahteine
dc7e2965d6 Change some dwin defines 2021-04-29 08:44:59 -05:00
Cole Markham
9065a8da89 Fix CoreXY compile with backlash cal. (#19422) 2021-04-29 08:44:59 -05:00
Keith Bennett
9d60047018 Fix missing include (#19418)
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2021-04-29 08:44:59 -05:00
Victor Oliveira
9d5f978d00 Move screen for Color UI (#19386) 2021-04-29 08:44:59 -05:00
InsanityAutomation
23376b8a31 Host Action: Start (#19398) 2021-04-29 08:44:59 -05:00
jahartley
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
Victor Oliveira
9d1b1cf073 Fix MKS UI SPI flash typo (#19410) 2021-04-29 08:44:59 -05:00
Marcio Teixeira
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
deram
9cdb8ca244 SHOW_REMAINING_TIME for HD44780 character LCD (#19416) 2021-04-29 08:44:59 -05:00
cosmoderp
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
enigmaquip
c407c08b0b Add more DWIN commands, docs (#19395) 2021-04-29 08:44:59 -05:00
tovam
08a7dedbc9 Fix missing spaces in info menu (#19404) 2021-04-29 08:44:59 -05:00
Jason Smith
68c98811a1 Demo and test multiple PID defaults (#19413) 2021-04-29 08:44:59 -05:00
Scott Lahteine
07f13c28ee MarlinUI percent methods for all 2021-04-29 08:44:59 -05:00
Scott Lahteine
fbd812ebb3 More DWIN cleanup 2021-04-29 08:44:59 -05:00
Scott Lahteine
34d0b5de90 E3 V2 DWIN cleanup 2021-04-29 08:44:59 -05:00
Victor Oliveira
d3f88a2482 Only set up SPI pins as needed (#19372) 2021-04-29 08:44:59 -05:00
Zachary Annand
8debad803c More strict STATIC_ITEM_N (#19378) 2021-04-29 08:44:59 -05:00
Marcio T
9aceb3711b Add missing FTDI EVE menu source (#19382) 2021-04-29 08:44:59 -05:00
Scott Lahteine
8e3ac54de3 Allow E3 V2 DWIN without EEPROM, POWER_LOSS_RECOVERY 2021-04-29 08:44:59 -05:00
Scott Lahteine
2877dc9794 M115 strings 2021-04-29 08:44:59 -05:00
Scott Lahteine
c6e35ce066 Always show Compiled: 2021-04-29 08:44:59 -05:00
Scott Lahteine
7742e70865 Better choice of code
Followup to #19344
2021-04-29 08:44:59 -05:00
ellensp
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
Scott Lahteine
2396b4e27f heater_ind_t => heater_id_t 2021-04-29 08:44:59 -05:00
mmajoor
a941faccb0 Allow SWD debug on Robin Nano (#19345) 2021-04-29 08:44:59 -05:00
Marcio T
196a72b29e Touch UI "Leveling" menu, misc. fixes (#19349) 2021-04-29 08:44:59 -05:00
ellensp
c1dcbab932 Fix extra string substitution bug (#19351) 2021-04-29 08:44:59 -05:00
ManuelMcLure
4d14667266 Read from backup TMC StealthChop state (#19364) 2021-04-29 08:44:59 -05:00
Jason Smith
c517c2ea65 Fix EXP2 pin define for MKS SGEN_L (#19369) 2021-04-29 08:44:59 -05:00
Giuliano Zaro
ee32e3eb40 Update Italian language (#19365) 2021-04-29 08:44:59 -05:00
Jesse S
09d1bf37e7 Highlight Creality DWIN menu icons (#19368) 2021-04-29 08:44:59 -05:00
Neskik
bf6ce68ed1 M872 wait for probe temperature (#19344) 2021-04-29 08:44:59 -05:00
Haxk20
ad5e73d772 Fix Print Stats appearance (#19348) 2021-04-29 08:44:59 -05:00
Keith Bennett
26492ff0ea Fix Creality RET6 env - RE (#19340) 2021-04-29 08:44:59 -05:00
Scott Lahteine
ade9476721 Clean up W25QXXFlash class 2021-04-29 08:44:59 -05:00
Scott Lahteine
a2a53406c8 Use F() for Ender 3 V2 DWIN 2021-04-29 08:44:59 -05:00
Scott Lahteine
5e3d051b6a Translate encoder comments 2021-04-29 08:44:59 -05:00
riodoro1
e48b283e39 Fix missing BOARD_K8800 (#19331) 2021-04-29 08:44:59 -05:00
Giuliano Zaro
3adb07aa00 Fix "too cold" in M600 (#19332) 2021-04-29 08:44:59 -05:00
Scott Lahteine
136b7a5305 Warning if SDCARD_READONLY should be disabled 2021-04-29 08:44:59 -05:00
Scott Lahteine
d6bbcd020b General cleanup 2021-04-29 08:44:59 -05:00
Victor Oliveira
42619a3a81 LPC: Finish DMA transfer, use HW SPI class (#19191) 2021-04-29 08:44:59 -05:00
Victor Oliveira
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
Zachary Annand
13f2915b65 Fix Separate Neopixel menu labels (#19303) 2021-04-29 08:44:58 -05:00
Keith Bennett
f7885bbdde Warn in platformio.ini about RCT6 512K (#19312) 2021-04-29 08:44:58 -05:00
Marcio Teixeira
ba6659f6be Fix ExtUI SD sorting, compile issues 2021-04-29 08:44:58 -05:00
makerbase
2af9e2f759 MKS Gen L V2.1 (#19314) 2021-04-29 08:44:58 -05:00
Keith Bennett
e6cf959170 Fix compile with Danish, Basque (#19325) 2021-04-29 08:44:58 -05:00
bilsef
ea39d3c45e Support for Teensy 4 (#19311) 2021-04-29 08:44:58 -05:00
Scott Lahteine
a8904d25ba Minor HAL cleanup 2021-04-29 08:44:58 -05:00
Jason Smith
784016a25e Update HAL/STM32 platform to 8.0 (#18496) 2021-04-29 08:44:58 -05:00
Giuliano Zaro
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
Jason Smith
09a5014b3c TFT is neither "graphical" nor "character" (#19297) 2021-04-29 08:44:58 -05:00
Victor Oliveira
f5dc18730c Sanity-check BABYSTEP_DISPLAY_TOTAL with ColorUI (#19284) 2021-04-29 08:44:58 -05:00
Kadah
0bd7a2fc7e Fix M166 Gradient Mix for DELTA (#19285) 2021-04-29 08:44:58 -05:00
Zachary Annand
b186ab90a2 Separate Neopixel followup (#19287) 2021-04-29 08:44:58 -05:00
Scott Lahteine
c360705e6a Clean up LCD conditionals, DWIN 2021-04-29 08:44:58 -05:00
Scott Lahteine
9172271c7f Whitespace cleanup 2021-04-29 08:44:58 -05:00
Jason Smith
a1860ed680 Adjust GTR PeripheralPins to avoid timer conflicts (#19183) 2021-04-29 08:44:58 -05:00
Victor Oliveira
643f192515 STM32F1 EP with USB_COMPOSITE (#19281) 2021-04-29 08:44:58 -05:00
Zachary Annand
a8db9f52ec Menu items for Separate NeoPixel (#19280) 2021-04-29 08:44:58 -05:00
Keith Bennett
83dba77955 Clarify disabling StallGuard for axes (#19263) 2021-04-29 08:44:58 -05:00
Marcio T
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
cosmoderp
3a1145b999 Fix Ender 3 V2 (DWIN) buffer overrun (#19268) 2021-04-29 08:44:58 -05:00
Victor Oliveira
24fbfae0fd Fix STM32F1 SPI device init, MKS_LCD12864 (#19271) 2021-04-29 08:44:58 -05:00
Victor Oliveira
563bd5b5bc Emergency Parser for STM32F1 (#19279) 2021-04-29 08:44:58 -05:00
Scott Lahteine
c1d9e8d571 SD card debugging 2021-04-29 08:44:58 -05:00
Scott Lahteine
f7cb9455c8 No 'ls' if media isn't mounted 2021-04-29 08:44:58 -05:00
Scott Lahteine
d94b5b5ad0 Fix Creality V4 SD Detect 2021-04-29 08:44:58 -05:00
Keith Bennett
e2625db1dd Tweak ESP32 Wifi sanity-check message (#19257) 2021-04-29 08:44:58 -05:00
Victor Sokolov
47753d8a01 MarkForged kinematics (#19235) 2021-04-29 08:44:58 -05:00
Greg Nutt
94809feac7 Smoothieboard GLCD w/ SD support (#19241) 2021-04-29 08:44:58 -05:00
Victor Oliveira
6a511b6ea7 Only show "SD Init Fail" with detectable media (#19236) 2021-04-29 08:44:58 -05:00
Zachary Annand
ffba220ae8 Separate Neopixel followup (#19250) 2021-04-29 08:44:58 -05:00
Tanguy Pruvot
43e40524c4 Fix Longer3D TFT defines, disable DMA (#19251) 2021-04-29 08:44:58 -05:00
Scott Lahteine
4f1a14532b Hide multi-step G29 on Ender 3 V2 2021-04-29 08:44:58 -05:00
ManuelMcLure
c113984b32 Fix UBL 'G29 I' for large meshes (#19231) 2021-04-29 08:44:58 -05:00
makerbase
edba363d54 MKS SGEN L V2 (#18822) 2021-04-29 08:44:58 -05:00
Victor Oliveira
919ea2a76d Fail SD mount without SPI re-init (#19226) 2021-04-29 08:44:58 -05:00
Stéphane
755a4440e7 Fix Anycubic LCDs / Trigorilla 1.4 pins (#19220) 2021-04-29 08:44:58 -05:00
Zachary Annand
c7335bcd4d Separate Neopixel followup (#19224) 2021-04-29 08:44:58 -05:00
Giuliano Zaro
881bb7bf0a Delete old LCD strings (#19227) 2021-04-29 08:44:58 -05:00
Stéphane
2212bf85b7 Fix Anycubic I3 Mega (S) original screen % display (#19210) 2021-04-29 08:44:58 -05:00
Ludy
0c85e2838c Update German, fix Mix component index (#19206) 2021-04-29 08:44:58 -05:00
Martin
7967590682 Permit touch params override w/ Robin nano (#19196) 2021-04-29 08:44:58 -05:00
Zachary Annand
df7e35ccd7 Separate Neopixels followup (#19179) 2021-04-29 08:44:58 -05:00
ellensp
414136f33a Fix 'cmd' array warning (#19193) 2021-04-29 08:44:58 -05:00
Scott Lahteine
ee572856e9 Add set_all_homed 2021-04-29 08:44:58 -05:00
swissnorp
7d2e4481c7 Mark axes not-homed with HOME_AFTER_DEACTIVATE (#18907) 2021-04-29 08:44:58 -05:00
Scott Lahteine
d10f7eae31 set_axis_not_trusted => set_axis_never_homed 2021-04-29 08:44:58 -05:00
Zachary Annand
757ab484ac Independent Neopixel option (#19115) 2021-04-29 08:44:58 -05:00
Scott Lahteine
d62933fba5 Fix Creality V4 probe pin 2021-04-29 08:44:58 -05:00
Scott Lahteine
a6829838c6 Fix small typø 2021-04-29 08:44:58 -05:00
Scott Lahteine
fd1731a7b9 Allocate sufficient MSG_MOVE_Z_DIST buffer
See #19158
2021-04-29 08:44:58 -05:00
Victor Oliveira
9419331500 One MARLIN_DEV_MODE warning per rebuild (#19163) 2021-04-29 08:44:58 -05:00
George Fu
8a24c33151 FYSETC S6 2.0 (#19140) 2021-04-29 08:44:58 -05:00
thordarsen
f5e94cd7f1 Fix SINGLENOZZLE fan speed bug (#19152) 2021-04-29 08:44:58 -05:00
ellensp
7769f19bf5 Fix NEOPIXEL_STARTUP_TEST last delay (#19156) 2021-04-29 08:44:58 -05:00
Victor Oliveira
3b4779fa15 TFT (plus Hardware SPI) for LPC (#19139) 2021-04-29 08:44:58 -05:00
Scott Lahteine
5059586fc3 Prusa => Průša 2021-04-29 08:44:58 -05:00
Colin Godsey
8670f475b8 Direct Stepping update (#19135) 2021-04-29 08:44:57 -05:00
Marcio Teixeira
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
Keith Bennett
6844ef21d4 Add Einsy Rambo Filament Runout Pin (#19136) 2021-04-29 08:44:57 -05:00
Jason Smith
6043f5d5d0 Fix SD pins for SKR Pro and GTR (#19047) 2021-04-29 08:44:57 -05:00
Scott Lahteine
0070a0642b Warn about MARLIN_DEV_MODE 2021-04-29 08:44:57 -05:00
Scott Lahteine
9bf6ddd4f1 No COM_PIN needed for DWIN 2021-04-29 08:44:57 -05:00
ellensp
0decb50fcd LEDs followup (#19133) 2021-04-29 08:44:57 -05:00
Victor Oliveira
40b89456af Color UI + Robin Nano test (#19118) 2021-04-29 08:44:57 -05:00
Giuliano Zaro
008362cd77 Fix auto-power in PID autotune (#19119) 2021-04-29 08:44:57 -05:00
Scott Lahteine
9d2241efe7 Minor cleanup w/r/t LEDs 2021-04-29 08:44:57 -05:00
Oleksii Zelivianskyi
f473145d42 TFT32 for MKS Robin Nano 1.2 (#19031) 2021-04-29 08:44:57 -05:00
qwewer0
b93a4bae45 Feedrate comment (#19116) 2021-04-29 08:44:57 -05:00
Scott Lahteine
42604cf4b2 Neopixel => NeoPixel 2021-04-29 08:44:57 -05:00
Scott Lahteine
19a237bbb0 Fix up conditions, comments 2021-04-29 08:44:57 -05:00
Scott Lahteine
ba3b995e58 Fix DUET_SMART_EFFECTOR 2021-04-29 08:44:57 -05:00
Scott Lahteine
e7b730528e Consistent static/value item macros 2021-04-29 08:44:57 -05:00
Scott Lahteine
db04bcb727 Fix probing margin sanity-check 2021-04-29 08:44:57 -05:00
Scott Lahteine
f3d0b49928 PGMSTR constexpr => const 2021-04-29 08:44:57 -05:00
Mathew Winters
fe89f5fdff NOZZLE_CLEAN_NO_Y (#18870) 2021-04-29 08:44:57 -05:00
qwewer0
05d2bb0df5 Change XY_PROBE_SPEED format to (x*60) (#18997) 2021-04-29 08:44:57 -05:00
Scott Lahteine
98ec7b61a9 Reformat pins files 2021-04-29 08:44:57 -05:00
mmajoor
8565f1e681 Permit ST7789V orientation override (#19044) 2021-04-29 08:44:57 -05:00
Giuliano Zaro
3aa5b45768 Prefer Servo AVR timer4 over 3 (#19025) 2021-04-29 08:44:57 -05:00
Greg Nutt
e02fb4a862 DIGIPOT_I2C pins for SMOOTHIEBOARD (#19098) 2021-04-29 08:44:57 -05:00
Steven Haigh
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
Giuliano Zaro
fe1e880ffe HIGH/LOW naming of pin state settings (#19089) 2021-04-29 08:44:57 -05:00
Scott Lahteine
a5dc42c47c Update copy_marlin_variant_to_framework.py 2021-04-29 08:44:57 -05:00
mmajoor
070412a6a5 GRAPHICAL_TFT_ROTATE_180 for ST7789V (#19042) 2021-04-29 08:44:57 -05:00
Victor Oliveira
0ffd5aa743 CI with PIO-dev (#19058) 2021-04-29 08:44:57 -05:00
Scott Lahteine
744f74506f More menu header fu 2021-04-29 08:44:57 -05:00
ellensp
46744e8433 Creality3D v4.2.7 (#19088) 2021-04-29 08:44:57 -05:00
Giuliano Zaro
038945110f Optional homing in LCD Repeatability Test (#19104) 2021-04-29 08:44:57 -05:00
Scott Lahteine
7852b06038 Menu headers followup 2021-04-29 08:44:57 -05:00
Victor Oliveira
dded56c4bb Emulated DOGM via HAL TFT, XPT IO (#19017) 2021-04-29 08:44:57 -05:00
Scott Lahteine
7dea6c53ed Remove extraneous defines 2021-04-29 08:44:57 -05:00
Scott Lahteine
fd0a3df315 Header for individual menus 2021-04-29 08:44:57 -05:00
BigTreeTech
a1bdc1974a Broadcast SD Print Completion (#19102) 2021-04-29 08:44:57 -05:00
Keith Bennett
24636eb7f1 Fix M512 comment (#19108) 2021-04-29 08:44:57 -05:00
Scott Lahteine
737a5453d9 Allow 'ghtp' to set a specific remote 2021-04-29 08:44:57 -05:00
Scott Lahteine
f860152a35 Fix up mixer menu display 2021-04-29 08:44:57 -05:00
Scott Lahteine
87d2c471db Apply specific menu item types 2021-04-29 08:44:57 -05:00
Scott Lahteine
ca54d67814 Fix Select Screen cancel destination 2021-04-29 08:44:57 -05:00
Scott Lahteine
615af841f0 Update some comments 2021-04-29 08:44:57 -05:00
Scott Lahteine
c43d264d3e Add custom_verbose, custom_gcc deps flags 2021-04-29 08:44:57 -05:00
Scott Lahteine
d1aed52280 Move ExtUI displays to sub-folder (#19070) 2021-04-29 08:44:57 -05:00
Scott Lahteine
7e7e870eae Config adjustments 2021-04-29 08:44:57 -05:00
Giuliano Zaro
f7dade8c2c Configurable number of M106 fans (#18883) 2021-04-29 08:44:57 -05:00
ellensp
24139c6ff0 Env mega2560ext adds pins 70-85 (#19022) 2021-04-29 08:44:57 -05:00
Steven Haigh
16c1e80491 Default Filament Runout Sensor enabled state (#19013) 2021-04-29 08:44:57 -05:00
Giuliano Zaro
5a7979b435 Fix __ARM__ / __arm__ typo (#19063) 2021-04-29 08:44:57 -05:00
Serhiy-K
349bddc652 "SD init fail" status error (#19064) 2021-04-29 08:44:57 -05:00
Giuliano Zaro
acc90ad09f Fix PSU on for PID autotune (#19066) 2021-04-29 08:44:57 -05:00
Scott Lahteine
7a750156ef Creality DWIN cleanup 2021-04-29 08:44:57 -05:00
Scott Lahteine
8075eafe91 Creality DWIN simple beeper 2021-04-29 08:44:57 -05:00
ellensp
58975fc8b5 Checks for CR10_STOCKDISPLAY with Creality v4 (#19019) 2021-04-29 08:44:57 -05:00
Julius Mumme
8320c43589 Fix IS_PROBE_PIN macro (#19024) 2021-04-29 08:44:57 -05:00
Victor Oliveira
73d1a98ce6 Update build script for PIO 4.4 (#19034) 2021-04-29 08:44:57 -05:00
Scott Lahteine
f9f514a46c Fix ExtUI base methods 2021-04-29 08:44:57 -05:00
Giuliano Zaro
16f2f2bce7 Let laser/spindle use free AVR servo timers (#19011) 2021-04-29 08:44:57 -05:00
Robby Candra
8258a76c9b Wait for hotend temp before Resume move (#19009) 2021-04-29 08:44:56 -05:00
Tommy Hartmann
c9ddbaa2c0 ENDER2_STOCKDISPLAY for BTT SKR 1.4 (and Turbo) (#19002) 2021-04-29 08:44:56 -05:00
ellensp
a99c844296 Add option to arrange Neopixel sets in series (#18992) 2021-04-29 08:44:56 -05:00
Scott Lahteine
492f49c06a Unhide /src folders in Sublime 2021-04-29 08:44:56 -05:00
Scott Lahteine
80480ae919 M80 followup 2021-04-29 08:44:56 -05:00
Scott Lahteine
1327eaa83b Do runout.reset after EEPROM read 2021-04-29 08:44:56 -05:00
Scott Lahteine
eee101b9dd Clean up M80/M81, DWIN 2021-04-29 08:44:56 -05:00
Scott Lahteine
77ab354a5a Fix touch test 2021-04-29 08:44:56 -05:00
Scott Lahteine
1801eb6393 config-labels.py needs py3 2021-04-29 08:44:56 -05:00
swissnorp
28d6dc38af Fix 'sync_plan_position' call (#19016) 2021-04-29 08:44:56 -05:00
Tanguy Pruvot
dc6e3d083e TFT: Restore ILI9341 colors and reversed logic (#19010)
Followup to #18877, #18901, #18817
2021-04-29 08:44:56 -05:00
Victor Oliveira
4e7c5f19fe Optimize LVGL with HAL TFT IO (SPI and FSMC) (#18974) 2021-04-29 08:44:56 -05:00
Scott Lahteine
3dfbdbc66c String interpolation for 2-digit numbers (#18998) 2021-04-29 08:44:56 -05:00
qwewer0
95f373448d Mention units for MANUAL_FEEDRATE (#18993) 2021-04-29 08:44:56 -05:00
Robby Candra
648b253f41 EVENT_GCODE_SD_STOP => ABORT (#18978) 2021-04-29 08:44:56 -05:00
Anders Sahlman
3e2b272239 MKS Robin new 320x240 TFT Color UI support (#18985) 2021-04-29 08:44:56 -05:00
Scott Lahteine
489143f160 Add'l CI/git script tweaks, fixes 2021-04-29 08:44:56 -05:00
Marcio T
3eafce4683 For FTDI800 compatibility, remove VERTEX_FORMAT dependency (#18982) 2021-04-29 08:44:56 -05:00
InsanityAutomation
b23da503fa Fix Ender-3 V2 DWIN with manual mesh, host prompt (#18981) 2021-04-29 08:44:56 -05:00
Scott Lahteine
cae4c76b56 Fix scripts using gawk and wget 2021-04-29 08:44:56 -05:00
Giuliano Zaro
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
Scott Lahteine
c82ff17d3b Followup for SPI Flash 2021-04-29 08:44:56 -05:00
Scott Lahteine
ca8fbbc2be Shorthand values for M575 B 2021-04-29 08:44:56 -05:00
cbaugher
b94b3e6315 Tool-change Z move followup (#18963) 2021-04-29 08:44:56 -05:00
Scott Lahteine
ab61bcafa3 Password followup 2021-04-29 08:44:56 -05:00
sherwin-dc
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
Victor Oliveira
438a9bb4aa W25QXX SPI Flash support (#18897)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:56 -05:00
Victor Oliveira
6f686b1801 Marlin Color UI for STM32F1 (SPI) (#18958) 2021-04-29 08:44:56 -05:00
Victor Oliveira
d7d3827f47 Fix compiler search in non-default PIO installs (#18960) 2021-04-29 08:44:56 -05:00
Scott Lahteine
ad30383b46 Fix up STATIC_ITEM (#18962) 2021-04-29 08:44:56 -05:00
Victor Oliveira
9af3b06fc2 Marlin Color UI (FSMC) for STM32F1 (#18952) 2021-04-29 08:44:56 -05:00
Scott Lahteine
f395960741 Patch hex_print 2021-04-29 08:44:56 -05:00
Scott Lahteine
02eb4bd806 General cleanup 2021-04-29 08:44:56 -05:00
Scott Lahteine
24f0c9da11 Clean up whitespace 2021-04-29 08:44:56 -05:00
Scott Lahteine
3dc0f9c0b4 configuration_store => settings 2021-04-29 08:44:56 -05:00
Scott Lahteine
8af8ef4404 Use uintptr_t for pointer-to-int 2021-04-29 08:44:56 -05:00
cbaugher
7a8e99de7d Fix Z height after tool change (#18951) 2021-04-29 08:44:56 -05:00
ellensp
8d6a263c1c HW PWM sanity checks for SPINDLE_LASER_FREQUENCY (#18947) 2021-04-29 08:44:56 -05:00
wmariz
cb18b858d4 ZoneStar Z6FB (#18918)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:56 -05:00
Victor Oliveira
cd977c70ca Fix / optimize FSMC init (#18941) 2021-04-29 08:44:56 -05:00
Victor Oliveira
57c3b0e0b7 Fix LVGL "C" brace (#18942) 2021-04-29 08:44:56 -05:00
Victor Oliveira
0e70d8bacb Followup fixes to LVGL for Chitu (#18940) 2021-04-29 08:44:56 -05:00
Victor Oliveira
8f0cd470ae Apply PIO-supported custom_option for deps (#18935) 2021-04-29 08:44:56 -05:00
Radek
48ddaf35fb Increase Manual E Move Feedrate to 2mm/s (#18937) 2021-04-29 08:44:56 -05:00
Victor Oliveira
9493682e49 MKS Robin Nano CI Tests (#18927) 2021-04-29 08:44:56 -05:00
Scott Lahteine
da6e5ce3db Optimize G-code / feature dependencies (#18919) 2021-04-29 08:44:56 -05:00
Marco Burato
f4894b7140 More Anycubic + Trigorilla mappings, ExtUI (#18903) 2021-04-29 08:44:56 -05:00
Scott Lahteine
7d3be90159 Conditions cleanup 2021-04-29 08:44:56 -05:00
Scott Lahteine
76eff24718 Simple rename of hex_print 2021-04-29 08:44:56 -05:00
Scott Lahteine
e8dc7cad18 General cleanup 2021-04-29 08:44:56 -05:00
Victor Oliveira
4201a48ecf Request files needed to test a PR (#18925) 2021-04-29 08:44:56 -05:00
Keith Bennett
c0d031cd1e Add Chitu 3D V6 2nd Filament Runout pin (#18922) 2021-04-29 08:44:56 -05:00
Victor Oliveira
1a50260ebd Followup to LVGL patch (#18920) 2021-04-29 08:44:56 -05:00
swissnorp
38a24ce6c9 Move Cancel Object menu, fix canceled item index (#18930) 2021-04-29 08:44:56 -05:00
Victor Oliveira
a0a87c2b81 SPI Flash data compression (#18879) 2021-04-29 08:44:55 -05:00
Scott Lahteine
a100306b00 Followup to #18906 Z_AFTER_DEACTIVATE 2021-04-29 08:44:55 -05:00
Claus Näveke
17bbcce52b Make ili9341 rotatable (e.g., Anycubic Predator) (#18877) 2021-04-29 08:44:55 -05:00
Jeff Eberl
0b2bd123ef Change include to <stddef.h> (#18880) 2021-04-29 08:44:55 -05:00
Roman Moravčík
ea53abbca7 Update Slovak language (#18884) 2021-04-29 08:44:55 -05:00
Giuliano Zaro
7f69f8e680 Update Italian language (#18886) 2021-04-29 08:44:55 -05:00
swissnorp
301569bee6 Add Z_AFTER_DEACTIVATE to account for gravity (#18906) 2021-04-29 08:44:55 -05:00
Victor Oliveira
e82e94be5b Fix MKS Nano v1.2 FSMC display (#18901) 2021-04-29 08:44:55 -05:00
Keith Bennett
0c07e7a96f Assisted Tramming requires a probe (#18912) 2021-04-29 08:44:55 -05:00
Scott Lahteine
7dd7d6dda6 Move scaled TFT / touch defines (#18915) 2021-04-29 08:44:55 -05:00
Scott Lahteine
3bb1f0a7df Clean up some PeripheralPins 2021-04-29 08:44:55 -05:00
Claus Näveke
a0d25379b2 No mks_robin extra_scripts in Trigorilla build (#18872) 2021-04-29 08:44:55 -05:00
ellensp
643b31a6a1 Fix Spindle/Laser PWM DC (#18871) 2021-04-29 08:44:55 -05:00
FLYmaker
0e2013d244 Fix FLYF407ZG pins (#18865) 2021-04-29 08:44:55 -05:00
Sebastien Andrivet
e6c95762ba Fix Duplicator i3 Plus pin diagram (#18862) 2021-04-29 08:44:55 -05:00
Slats
b66df5fa3c Translated DWIN screen titles (#18893)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-04-29 08:44:55 -05:00
Scott Lahteine
afb51d1de3 Repair config order 2021-04-29 08:44:55 -05:00
Scott Lahteine
db290201ea Add monitor_flags 2021-04-29 08:44:55 -05:00
Scott Lahteine
ed5ae0a2f7 Update include_tree 2021-04-29 08:44:55 -05:00
Alexander Gavrilenko
8f8b0d84ae Support for TFT & Touch Screens (#18130) 2021-04-29 08:44:55 -05:00
Victor Oliveira
3fbc002bad SanityCheck: No Adafruit NeoPixel for STM32F1 (#18833) 2021-04-29 08:44:55 -05:00
ellensp
60cc56b31c No HEATER_0_PIN needed with 0 EXTRUDERS (#18827) 2021-04-29 08:44:55 -05:00
Victor Oliveira
fc12ffcb30 SPI Emulated DOGM (like FSMC_GRAPHICAL_TFT, but SPI) (#18817) 2021-04-29 08:44:55 -05:00
Scott Lahteine
0c1bf01cf7 In G28 Z is sort-of known 2021-04-29 08:44:55 -05:00
Scott Lahteine
bb21d79321 Fix UNKNOWN_Z_NO_RAISE in G28
Bug introduced in 73fc0778b8
2021-04-29 08:44:55 -05:00
Diego von Deschwanden
c63c069d58 Fix URLs to websites and resources (#18844) 2021-04-29 08:44:55 -05:00
Scott Lahteine
513d3172cb Update keypad link 2021-04-29 08:44:55 -05:00
lethalwallabies
5c699ab406 Typo fix (#18856) 2021-04-29 08:44:55 -05:00
Giuliano Zaro
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
swissnorp
29e900977f Fix Cancel Objects index display (zero-based) (#18841) 2021-04-29 08:44:55 -05:00
Giuliano Zaro
796471a7c6 [SAMD51] ES Interrupt parity with other HALs (#18836) 2021-04-29 08:44:55 -05:00
Victor Oliveira
524613b610 DISABLE_DEBUG required to free Robin nano Z_DIR_PIN (#18832) 2021-04-29 08:44:55 -05:00
MoellerDi
b765bfa5a5 Fix NEOPIXEL_LED compile w/out PRINTER_EVENT_LEDS (#18824) 2021-04-29 08:44:55 -05:00
natemason
c0d8542a85 Add TEMP_PROBE_PIN for Einsy Rambo (#18823) 2021-04-29 08:44:55 -05:00
Scott Lahteine
36ef9327ef Keep -std=gnu++11 in stm32 build_unflags 2021-04-29 08:44:55 -05:00
Diego von Deschwanden
f2205b1725 Update more external links (#18819) 2021-04-29 08:44:55 -05:00
Victor Tseng
25c7577779 Fix DELTA + TMC sensorless homing + SPI endstops (#18811) 2021-04-29 08:44:55 -05:00
Victor Tseng
9ece3cfdaf Fix garbled print_xyz output (#18810) 2021-04-29 08:44:55 -05:00
ellensp
c5108687c5 Fix WiFi / ESP32 sanity check (#18808) 2021-04-29 08:44:55 -05:00
Scott Lahteine
e52bfeb491 Config for Anycubic Mega TFT 2021-04-29 08:44:54 -05:00
Scott Lahteine
dd1503d5a8 Merge remote-tracking branch 'upstream/bugfix-2.0.x' into prepare_release_2073 2021-04-29 08:11:03 -05:00
ldursw
e9618f1ba2 Fix SDIO buffer alignment (#21396) 2021-04-26 00:16:58 -05:00
Keith Bennett
0f9e096d6e Update Issue Templates (#21702) 2021-04-25 15:06:27 -05:00
Scott Lahteine
392d01555d 'issue_body' obsolete in templates 2021-04-22 19:38:05 -05:00
Scott Lahteine
89f7a19691 Fix check-pr action 2021-04-17 21:22:23 -05:00
Scott Lahteine
c0673dbdf1 Keep 'confirmed bug' open 2021-04-15 17:27:18 -05:00
ellensp
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
InsanityAutomation
dda2f58588 Fix Hotend-abort-on-idle Check (#21535) 2021-04-04 16:59:55 -05:00
Scott Lahteine
e3a12c3c28 Fix bool++ warning 2021-03-23 07:25:13 -05:00
Keith Bennett
b9065195f1 Auto-label Feature Requests (#21348) 2021-03-14 11:41:24 -05:00
Scott Lahteine
aba28ef0bc Enhance workflows 2021-03-13 04:57:47 -06:00
Scott Lahteine
e9f7003b70 Change issue templates to YML 2021-03-12 13:38:40 -06:00
Scott Lahteine
d3d1f82f73 Add emojis 2021-03-12 00:55:59 -06:00
Scott Lahteine
2439c44779 Emojis and donate link 2021-03-11 23:53:18 -06:00
Scott Lahteine
19b94ec325 Remove one label at a time 2021-03-11 11:23:14 -06:00
Keith Bennett
b9fa72d582 Token for "Clean Closed" action (#21320) 2021-03-11 09:55:42 -06:00
Scott Lahteine
b26516b3ac Clean up labels on close 2021-03-06 07:24:32 -06:00
Scott Lahteine
2f97505b93 Trust XY after Quiet Probing short sleep (#21237) 2021-03-01 19:38:45 -06:00
Scott Lahteine
5ee1087959 Ignore M22 during SD print 2021-01-13 21:29:38 -06:00
Scott Lahteine
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
Serhiy-K
730833f96c Fixes for TFTGLCD (#20734) 2021-01-11 00:05:04 -06:00
Scott Lahteine
f74015b4e5 Fix TEMP_0_TR_ENABLE 2020-12-14 00:32:32 -06:00
Jason Smith
eb254ef70b Fix TMC_HOME_PHASE divide by zero (#20368) 2020-12-04 23:59:39 -06:00
Luu Lac
3327568142 Help hosts when password-locked (#20348) 2020-12-01 23:52:51 -06:00
ellensp
65983b4288 Set "lcd_move_e" index to fix the label (#20263) 2020-11-24 16:15:29 -06:00
Simone Primarosa
1d631b7280 Fix bad SET_FAST_PWM_FREQ calls (#20227) 2020-11-20 19:55:37 -06:00
phcay
072b15784f Fix extraneous Linear Advance DIR change (#20131) 2020-11-13 19:24:52 -06:00
thinkyhead
ba2939b1dc Fix bilinear_line_to_destination definition
See #19431
2020-10-30 00:24:29 -05:00
Jason Smith
ee7476a0bf Update "Bug Report" template (#19906) 2020-10-27 17:48:06 -05:00
Scott Lahteine
88a2ac92d5 Marlin 2.0.7.2 2020-10-21 18:16:38 -05:00
Jason Smith
3ccb3801f2 Fix SAMD Serial name macro (#19765) 2020-10-21 18:16:38 -05:00
Serhiy-K
cc7fbabc96 Fix HAL/STM32 FastIO for analog pins (#19735) 2020-10-21 18:16:38 -05:00
Scott Lahteine
28a9708ddb Don't define IS_ULTIPANEL empty 2020-10-21 18:16:00 -05:00
Jason Smith
d896dedf9b Add NUCLEO-F767ZI dev board (#19373)
Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com>
2020-10-16 16:42:39 -05:00
Keith Bennett
00709017e2 If needed, home before G34 (#19713) 2020-10-16 16:42:39 -05:00
Victor Oliveira
b7d9b05952 TFT followup fixes (#19710) 2020-10-16 16:42:37 -05:00
Victor Oliveira
f7f1224941 Watchdog Refresh for LVGL Asset Load (#19724) 2020-10-16 16:42:15 -05:00
Jason Smith
fd8d83b7c8 Fix mega2560ext environment (#19730) 2020-10-16 16:42:15 -05:00
thinkyhead
52fc0b896d [cron] Bump distribution date (2020-10-15) 2020-10-16 16:42:15 -05:00
thinkyhead
ba045d6852 [cron] Bump distribution date (2020-10-14) 2020-10-16 16:42:15 -05:00
Jason Smith
54bdcb4691 Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) 2020-10-16 16:42:15 -05:00
Scott Lahteine
2a2666326b Simple bool in soft_endstops_t 2020-10-16 16:42:15 -05:00
thinkyhead
3bba5d55bf [cron] Bump distribution date (2020-10-13) 2020-10-16 16:42:15 -05:00
thinkyhead
5d07d83e78 [cron] Bump distribution date (2020-10-12) 2020-10-16 16:40:25 -05:00
Jason Smith
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
thinkyhead
6d31bbe2bf [cron] Bump distribution date (2020-10-11) 2020-10-16 16:39:55 -05:00
Victor Oliveira
e2e1776a14 Restore correct STM32 port-bits code (#19678) 2020-10-16 16:39:55 -05:00
Serhiy-K
bd196e7efc Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-16 16:39:55 -05:00
Earle F. Philhower, III
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
Jason Smith
2b326ebc84 Add D100 Watchdog Test (#19697) 2020-10-16 16:39:55 -05:00
Jason Smith
f4ff6a673f Allow MAX31865 resistance values configuration (#19695) 2020-10-16 16:39:55 -05:00
qwewer0
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
Jason Smith
600870f22b Fix motion compile w/out probe-oriented settings (#19684) 2020-10-16 16:39:55 -05:00
Jason Smith
04882e2f34 Fix I2C_ADDRESS sign warning (#19685) 2020-10-16 16:39:55 -05:00
Jason Smith
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
Jason Smith
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
Scott Lahteine
beb17d8855 Digipots refactor / cleanup (#19690) 2020-10-16 16:39:55 -05:00
Scott Lahteine
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
Victor Oliveira
e680196c59 Restore correct STM32 port-bits code (#19678) 2020-10-16 16:39:55 -05:00
Serhiy-K
ce92abfe47 Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-16 16:39:55 -05:00
Victor Oliveira
50410aaeaa Fix UTF8 handling for Color UI (#19708) 2020-10-16 16:39:55 -05:00
Victor Oliveira
35c40bc376 Implement wait_for_user for Color UI (#19694) 2020-10-16 16:39:55 -05:00
Victor Oliveira
aae644c507 Option to prevent (extra) Watchdog init on STM32 (#19693) 2020-10-16 16:39:55 -05:00
Scott Lahteine
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
Keith Bennett
d3d423a322 Sanity-check mutually-exclusive G34 features (#19706) 2020-10-16 16:39:55 -05:00
InsanityAutomation
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
Victor Oliveira
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
Scott Lahteine
11662bf2b6 Marlin 2.0.7.1 2020-10-16 16:39:55 -05:00
Serhiy-K
887e2637c0 Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-16 16:39:55 -05:00
ellensp
958f05e4b4 HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) 2020-10-16 16:39:55 -05:00
thinkyhead
9126a2e654 [cron] Bump distribution date (2020-10-10) 2020-10-16 16:39:55 -05:00
Scott Lahteine
5070fae231 Batch appercase hex values 2020-10-16 16:39:54 -05:00
Scott Lahteine
454f9d6319 Optional M42/M226; Add more features filters (#19664) 2020-10-16 16:39:54 -05:00
Victor Oliveira
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
Keith Bennett
7a484959d5 Fix touch ifndefs (#19661) 2020-10-16 16:39:54 -05:00
Giuliano Zaro
78060f55e6 Update Italian language (#19654) 2020-10-16 16:39:54 -05:00
thinkyhead
3fca19fbab [cron] Bump distribution date (2020-10-09) 2020-10-16 16:39:54 -05:00
Samantaz Fox
b8700e0aa8 Fix and improve Makefile / CMake (#19640) 2020-10-16 16:39:54 -05:00
Scott Lahteine
d66bc5cec2 Permit touch calibration override 2020-10-16 16:39:54 -05:00
Scott Lahteine
fb28c6041a Use 0xFF (not 'ff') for byte transfer 2020-10-16 16:39:54 -05:00
ellensp
0f9d57e03a Apply env:mega2560ext to relevant boards (#19624) 2020-10-16 16:39:54 -05:00
qwewer0
32377849da Update PROBE_OFFSET_WIZARD comment (#19652) 2020-10-16 16:39:54 -05:00
thinkyhead
0975c487f0 [cron] Bump distribution date (2020-10-08) 2020-10-16 16:39:54 -05:00
qwewer0
d07ad63016 More accessible PROBE_OFFSET_WIZARD (#19647) 2020-10-16 16:39:54 -05:00
ellensp
1a5a3cf253 Restore ° to 6x9 small info font (#19645) 2020-10-16 16:39:54 -05:00
Scott Lahteine
6f6901180c Chamber vent/fan followup 2020-10-16 16:39:54 -05:00
Scott Lahteine
9cc6297292 Fix small font section directive, mixer warning 2020-10-16 16:39:54 -05:00
thinkyhead
cf53bc2dd2 [cron] Bump distribution date (2020-10-07) 2020-10-16 16:39:54 -05:00
Scott Lahteine
f4f4ea05e1 Update language fonts 2020-10-16 16:39:54 -05:00
ladismrkolj
2b845e5a75 Add Chamber servo vent, auto fan (#19519) 2020-10-16 16:39:54 -05:00
signetica
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
Scott Lahteine
8a69147adf Improve retract / unretract labels 2020-10-16 16:39:54 -05:00
thinkyhead
f8ceedea5c [cron] Bump distribution date (2020-10-06) 2020-10-16 16:39:54 -05:00
Scott Lahteine
a4e4226578 Trailing whitespace 2020-10-16 16:39:54 -05:00
Scott Lahteine
e76fd6bd33 Sync config to examples 2020-10-16 16:39:54 -05:00
Mathew Winters
437bee418b Z Probe Offset Wizard (#18866) 2020-10-16 16:39:54 -05:00
Cory Ory
31238de937 Allow bypass for cold E movement (#19606) 2020-10-16 16:39:54 -05:00
thinkyhead
cb8c99c4f8 [cron] Bump distribution date (2020-10-05) 2020-10-16 16:39:54 -05:00
Ryan V1
2fe81d0cb2 Fix Archim1 stepper timing (with new variant) (#19596) 2020-10-16 16:39:54 -05:00
Scott Lahteine
fb7d7ee7b4 Add HAS_FAST_MOVES 2020-10-16 16:39:54 -05:00
ellensp
d99fdcf526 Fix Z_AFTER_HOMING without probe (#19607) 2020-10-16 16:39:54 -05:00
Scott Lahteine
e4d2234a04 Move SF_ARC_FIX option 2020-10-16 16:39:54 -05:00
Speaka
bea919da6e Fix German translation purging/unloading (#19615) 2020-10-16 16:39:54 -05:00
Scott Lahteine
2fb22cc116 Shared singlenozzle item 2020-10-16 16:39:54 -05:00
Scott Lahteine
d4b6542ce1 Fix Tune/Fan edit items
- Fixes #19617
- Followup to #18400
2020-10-16 16:39:53 -05:00
thinkyhead
7d47ee732e [cron] Bump distribution date (2020-10-04) 2020-10-16 16:39:53 -05:00
thinkyhead
6ceacd62f9 [cron] Bump distribution date (2020-10-03) 2020-10-16 16:39:53 -05:00
Ryan V1
2ce6741731 Fix 'bossac' upload on Windows (#19545) 2020-10-16 16:39:53 -05:00
Marcio T
2213eb3317 Touch UI support for X2, Y2 and Z2 (#19538) 2020-10-16 16:39:53 -05:00
ellensp
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
ellensp
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
ellensp
9834a36a17 Fix compile of MMU2 with S-mode disabled (#19584) 2020-10-16 16:39:24 -05:00
bilsef
90801f8815 Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) 2020-10-16 16:39:24 -05:00
Scott Lahteine
4d1357e318 Adjust HAL platform defines, comments 2020-10-16 16:39:23 -05:00
Scott Lahteine
8d090cbdbb Replace tabs with spaces 2020-10-16 16:38:59 -05:00
Victor Oliveira
ec5b78d18b Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) 2020-10-16 16:38:59 -05:00
thinkyhead
d33317eadb [cron] Bump distribution date (2020-10-02) 2020-10-16 16:38:59 -05:00
swissnorp
f8375a3ea2 G35 workaround for Pronterface "feature" (#19577) 2020-10-16 16:38:59 -05:00
Stéphane
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
Ilya
cc123bc657 No move on Park = No move on Resume (#19569) 2020-10-16 16:38:58 -05:00
Roman Moravčík
4f6a0605bf Update Slovak language (#19561) 2020-10-16 16:38:58 -05:00
Victor Oliveira
b89700ed35 Fix Buzzer (pin) init for uninitialized FastIO (#19559) 2020-10-16 16:38:58 -05:00
Victor Oliveira
ca853fbe19 Fix Move Screen with disabled Touch (#19558) 2020-10-16 16:38:58 -05:00
thinkyhead
1ba2548fb2 [cron] Bump distribution date (2020-10-01) 2020-10-16 16:38:58 -05:00
thinkyhead
1332be77a5 [cron] Bump distribution date (2020-09-30) 2020-10-16 16:38:58 -05:00
Victor Oliveira
a7f334387c Keep HAL tasks running during PID Autotune (#19671) 2020-10-09 23:37:43 -05:00
Scott Lahteine
e8177735a0 Marlin 2.0.7 2020-09-28 21:02:09 -05:00
Scott Lahteine
aac0326f7f Merge bugfix-2.0.x into 2.0.x 2020-09-28 20:59:49 -05:00
Jason Smith
a52afd2aeb Update stale issue message and parameters (#19412)
* Update stale issue bot

* Update close-stale.yml

* Update close-stale.yml

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-09-17 06:35:10 -05:00
Keith Bennett
9913333c33 Auto-label Feature Requests (#19258) 2020-09-03 23:27:59 -05:00
Scott Lahteine
ca194ca52e Version 2.0.6.1 2020-08-27 23:45:37 -05:00
Scott Lahteine
b90e7c421f Merge remote-tracking branch 'upstream/bugfix-2.0.x' into 2.0.x 2020-08-27 22:17:50 -05:00
Julius Mumme
96e29cd7e5 Fix IS_PROBE_PIN macro (#19024) 2020-08-15 22:52:35 -05:00
ellensp
fd9c6983d3 HW PWM sanity checks for SPINDLE_LASER_FREQUENCY (#18947) 2020-08-07 18:14:40 -05:00
Roman Moravčík
da144dcf3b Update Slovak language (#18884) 2020-08-07 18:13:37 -05:00
Giuliano Zaro
1d92badecd Update Italian language (#18886) 2020-08-07 18:13:18 -05:00
swissnorp
242064fa99 Move Cancel Object menu, fix canceled item index (#18930) 2020-08-07 18:11:20 -05:00
cbaugher
ad2d1b6e31 Fix Z height after tool change (#18951) 2020-08-07 18:07:44 -05:00
Claus Näveke
978e0e49c7 No mks_robin extra_scripts in Trigorilla build (#18872) 2020-08-02 20:40:57 -05:00
ellensp
02a500dc93 Fix Spindle/Laser PWM DC (#18871) 2020-08-02 20:40:06 -05:00
FLYmaker
fa5ca8678c Fix FLYF407ZG pins (#18865) 2020-08-02 20:40:06 -05:00
Sebastien Andrivet
01359cff6b Fix Duplicator i3 Plus pin diagram (#18862) 2020-08-02 20:40:06 -05:00
Scott Lahteine
37b56d6347 Add monitor_flags 2020-07-30 02:24:34 -05:00
Scott Lahteine
ad59adfe24 Update include_tree 2020-07-30 01:51:57 -05:00
Scott Lahteine
121cd42c41 In G28 Z is sort-of known 2020-07-29 20:55:48 -05:00
Scott Lahteine
cf1c57a04d Fix UNKNOWN_Z_NO_RAISE in G28
Bug introduced in 73fc0778b8
2020-07-29 20:55:45 -05:00
swissnorp
5804761b5d Fix Cancel Objects index display (zero-based) (#18841) 2020-07-28 21:29:42 -05:00
natemason
3dd21a2770 Add TEMP_PROBE_PIN for Einsy Rambo (#18823) 2020-07-28 21:18:02 -05:00
MoellerDi
b160e8b93f Fix NEOPIXEL_LED compile w/out PRINTER_EVENT_LEDS (#18824) 2020-07-28 21:17:56 -05:00
Victor Oliveira
de37196760 DISABLE_DEBUG required to free Robin nano Z_DIR_PIN (#18832) 2020-07-28 21:16:21 -05:00
Scott Lahteine
84b96d3d47 Hotfix for first round of post-release hiccups 2020-07-27 20:16:34 -05:00
Scott Lahteine
92076c6560 Marlin Release 2.0.6 2020-07-26 20:03:06 -05:00
Scott Lahteine
5e5daf1ff2 Merge remote-tracking branch 'upstream/bugfix-2.0.x' into release_206 2020-07-26 20:01:40 -05:00
Scott Lahteine
8b637e436c Update links, README, contributing, etc. 2020-07-23 20:59:43 -05:00
Chris Pepper
b73ac40fa3 LPC fix NeoPixel fork 2020-07-14 15:15:19 +01:00
Scott Lahteine
7ed66d06a0 LiquidCrystal@1.0.0 for LPC 2020-07-12 22:35:13 -05:00
Scott Lahteine
c1b2379204 Specify supported library versions 2020-07-11 07:42:35 -05:00
Scott Lahteine
5e0958edbf Fix pid_debug_flag 2020-07-11 07:14:54 -05:00
Scott Lahteine
5513e67512 2.0.5.4 : Use ststm32 < 6.2 2020-07-08 19:36:09 -05:00
Scott Lahteine
354a9e5970 Lock threads updated 2020-07-08 04:38:35 -05:00
Scott Lahteine
ee4910c5d7 Temporarily use patched lock-threads 2020-07-05 19:56:33 -05:00
Scott Lahteine
697ef2636e Add CI for pushed commits
Co-Authored-By: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
2020-07-05 15:45:14 -05:00
Scott Lahteine
481b8ff2d9 Limit actions to main 2020-07-05 15:23:07 -05:00
Scott Lahteine
7bf89f2b9f Two lock-closed per day 2020-07-04 17:35:48 -05:00
Scott Lahteine
ed7110838e Patch Bad PR action 2020-07-04 17:32:58 -05:00
Scott Lahteine
842dea4bd5 Updated lock / unlock actions 2020-07-02 17:38:31 -05:00
Scott Lahteine
a73e61078d Add Close / Lock actions 2020-06-23 19:58:00 -05:00
Daniel Aléxis
c352aeb32e Remove "dev" branch reference (for now) (#18242) 2020-06-09 15:27:57 -05:00
Mathias Gartner
e4d8336175 Fix XYZ types multiplication/division (#17826) 2020-05-02 16:17:02 -05:00
thisiskeithb
0518dec60d Correct link to Configurations (#17370) 2020-04-01 14:16:01 -05:00
Scott Lahteine
015c4e6fbd Version 2.0.5.3 2020-03-31 14:44:14 -05:00
Scott Lahteine
0f9a14dfda Merge latest patches 2020-03-31 14:43:42 -05:00
Scott Lahteine
7124b2164d Version 2.0.5.2 2020-03-24 17:11:59 -05:00
Scott Lahteine
efc19260a7 Merge patches from bugfix-2.0.x 2020-03-24 17:10:53 -05:00
Scott Lahteine
d37bfa3b4e Version 2.0.5.1 Release 2020-03-16 17:52:41 -05:00
Scott Lahteine
129b1bb8d4 Merge nightly patches 2020-03-16 17:50:43 -05:00
Scott Lahteine
8dbbcfd382 Version 2.0.5 Release 2020-03-14 00:49:12 -05:00
Scott Lahteine
fa48fbb9b8 Merge bugfix-2.0.x into 2.0.x 2020-03-14 00:35:11 -05:00
Scott Lahteine
d6e767e36b Version 2.0.4.4 Release 2020-02-27 04:15:00 -06:00
Scott Lahteine
b29aae6c0c Merge 'bugfix-2.0.x' into 2.0.x 2020-02-27 04:14:33 -06:00
Scott Lahteine
1955eea1b8 Version 2.0.4.3 Release 2020-02-24 11:01:52 -06:00
Scott Lahteine
42fa9fc570 Fix card_eof error 2020-02-24 11:01:52 -06:00
Marcio T
130d0395d0 Restore tabs in Makefile (#16944) 2020-02-24 11:01:52 -06:00
Marcio T
c5f1ff9ee1 Allow Z_SAFE_HOMING_POINT outside bed (#16945) 2020-02-24 11:01:52 -06:00
Scott Lahteine
089cc68a04 Merge nightly patches 2020-02-24 06:12:15 -06:00
Scott Lahteine
2b759b9e8d Suppress "packed member" warning 2020-02-22 19:26:52 -06:00
Scott Lahteine
5f27f7de47 Version 2.0.4.2 Release 2020-02-22 18:49:59 -06:00
Scott Lahteine
282f4678cd Merge nightly patches 2020-02-22 18:47:09 -06:00
Scott Lahteine
c41f3f8582 Version 2.0.4.1 Release 2020-02-22 07:02:55 -06:00
Scott Lahteine
8670df08a2 CoreXY Babystepping hotfix 2020-02-22 07:02:55 -06:00
Scott Lahteine
730690ea03 Hotfix for Babystepping 2020-02-22 02:55:26 -06:00
Scott Lahteine
3543873da7 Use moves_free in ok_to_send 2020-02-22 02:55:26 -06:00
thinkyhead
c505626c42 [cron] Bump distribution date (2020-02-22) 2020-02-22 02:55:26 -06:00
Scott Lahteine
7e8505fc11 Version 2.0.4 Release 2020-02-21 08:38:14 -06:00
Scott Lahteine
f9aec2685c Merge remote-tracking branch 'upstream/bugfix-2.0.x' into 2.0.x 2020-02-21 08:37:02 -06:00
Scott Lahteine
dd6a7ca197 Fix out-of-order M0 after SD printing
Fixes #14774

Co-Authored-By: tol2cj <tol2cj@users.noreply.github.com>
2020-02-10 16:36:31 -06:00
Scott Lahteine
62b9d7dc73 Direct link to version configs 2020-02-05 00:47:24 -06:00
Scott Lahteine
d83382eb55 Add "PR Bad Target" workflow action 2020-02-04 09:41:26 -06:00
Scott Lahteine
4c76314c26 Scheduled action to bump the date on bugfix-2.0.x 2020-02-03 19:31:41 -06:00
Scott Lahteine
64ab254f26 Use a different Configurations branch for CI 2020-02-03 18:11:52 -06:00
Scott Lahteine
e6a7be922b Version 2.0.3 2020-01-31 04:24:05 -06:00
Scott Lahteine
1525c2530e Merge commit 'dabf3939209fd8ea7f6a6327d764c16743aa22aa' into look_at_201 2020-01-31 04:23:45 -06:00
Scott Lahteine
016e4c0193 Version 2.0.2 2020-01-31 04:22:34 -06:00
Scott Lahteine
be642610ae Merge commit '8bd6b60a0141fa892984f2d5b61f06eadbbf9a5f' into look_at_201 2020-01-31 04:22:09 -06:00
Scott Lahteine
ee17051933 Version 2.0.1 2020-01-13 16:49:49 -06:00
Scott Lahteine
0673f335e1 Merge remote-tracking branch 'upstream/bugfix-2.0.x' into 2.0.x 2019-12-24 00:05:04 -06:00
Scott Lahteine
ac7ee4b94a Release version 2.0.0 2019-12-22 18:03:36 -06:00
723 changed files with 11653 additions and 6993 deletions

157
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,157 @@
name: 🪲 Report a bug
description: Create a bug report to help improve Marlin Firmware
title: "[BUG] (bug summary)"
body:
- type: markdown
attributes:
value: >
Do you want to ask a question? Are you looking for support? Please use one of the [support links](https://github.com/MarlinFirmware/Marlin/issues/new/choose).
- type: markdown
attributes:
value: |
**Thank you for reporting a bug in Marlin Firmware!**
## Before Reporting a Bug
- Read and understand Marlin's [Code of Conduct](https://github.com/MarlinFirmware/Marlin/blob/master/.github/code_of_conduct.md). You are expected to comply with it, including treating everyone with respect.
- Test with the [`bugfix-2.0.x` branch](https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip) to see whether the issue still exists.
## Instructions
Please follow the instructions below. Failure to do so may result in your issue being closed. See [Contributing to Marlin](https://github.com/MarlinFirmware/Marlin/blob/2.0.x/.github/contributing.md) for additional guidelines.
1. Provide a good title starting with [BUG].
2. Fill out all sections of this bug report form.
3. Always attach configuration files so we can build and test your setup.
- type: dropdown
attributes:
label: Did you test the latest `bugfix-2.0.x` code?
description: >-
Always try the latest code to make sure the issue you are reporting is not already fixed. To download
the latest code just [click this link](https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip).
options:
- Yes, and the problem still exists.
- No, but I will test it now!
validations:
required: true
- type: markdown
attributes:
value: |
# Bug Details
- type: textarea
attributes:
label: Bug Description
description: >-
Describe the bug in this section. Tell us what you were trying to do and what
happened that you did not expect. Provide a clear and concise description of the
problem and include as many details as possible.
placeholder: |
Marlin doesn't work.
validations:
required: true
- type: input
attributes:
label: Bug Timeline
description: Is this a new bug or an old issue? When did it first start?
- type: textarea
attributes:
label: Expected behavior
description: >-
What did you expect to happen?
placeholder: I expected it to move left.
- type: textarea
attributes:
label: Actual behavior
description: What actually happened instead?
placeholder: It moved right instead of left.
- type: textarea
attributes:
label: Steps to Reproduce
description: >-
Please describe the steps needed to reproduce the issue.
placeholder: |
1. [First Step] ...
2. [Second Step] ...
3. [and so on] ...
- type: markdown
attributes:
value: |
# Your Setup
- type: input
attributes:
label: Version of Marlin Firmware
description: "See the About Menu on the LCD or the output of `M115`. NOTE: For older releases we only patch critical bugs."
validations:
required: true
- type: input
attributes:
label: Printer model
description: Creality Ender 3, Prusa mini, or Kossel Delta?
- type: input
attributes:
label: Electronics
description: Stock electronics, upgrade board, or something else?
- type: input
attributes:
label: Add-ons
description: Please list any hardware add-ons that could be involved.
- type: dropdown
attributes:
label: Your Slicer
description: Do you use Slic3r, Prusa Slicer, Simplify3D, IdeaMaker...?
options:
- Slic3r
- Simplify3D
- Prusa Slicer
- IdeaMaker
- Cura
- Other (explain below)
- type: dropdown
attributes:
label: Host Software
description: Do you use OctoPrint, Repetier Host, Pronterface...?
options:
- SD Card (headless)
- Repetier Host
- OctoPrint
- Pronterface
- Cura
- Same as my slicer
- Other (explain below)
- type: markdown
attributes:
value: >-
## Other things to include
Please also be sure to include these items to help with troubleshooting:
* **A ZIP file** containing your `Configuration.h` and `Configuration_adv.h`.
(Please don't paste lengthy configuration text here.)
* **Log output** from the host. (`M111 S247` for maximum logging.)
* **Images or videos** demonstrating the problem, if it helps to make it clear.
* **A G-Code file** that exposes the problem, if not affecting _all_ G-code.
If you've made any other modifications to the firmware, please describe them in detail in the space provided.
When pasting formatted text into the box below don't forget to put ` ``` ` (on its own line) before and after to make it readable.
- type: textarea
attributes:
label: Additional information & file uploads

20
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
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!
- name: 💸 Want to donate?
url: https://www.thinkyhead.com/donate-to-marlin
about: Please take a look at the various options to support Marlin Firmware's development financially!

View File

@@ -0,0 +1,44 @@
name: ✨ Request a feature
description: Request a new Marlin Firmware feature
title: "[FR] (feature summary)"
labels: 'T: Feature Request'
body:
- type: markdown
attributes:
value: >
Do you want to ask a question? Are you looking for support? Please use one of the [support links](https://github.com/MarlinFirmware/Marlin/issues/new/choose).
- type: markdown
attributes:
value: >
**Thank you for requesting a new Marlin Firmware feature!**
## Before Requesting a Feature
- Read and understand Marlin's [Code of Conduct](https://github.com/MarlinFirmware/Marlin/blob/master/.github/code_of_conduct.md). You are expected to comply with it, including treating everyone with respect.
- Check the latest [`bugfix-2.0.x` branch](https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip) to see if the feature already exists.
- Before you proceed with your request, please consider if it is necessary to make it into a firmware feature, or if it may be better suited for a slicer or host feature.
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear description of the problem (e.g., "I need X but Marlin can't do it [...]").
- type: textarea
attributes:
label: Are you looking for hardware support?
description: Tell us the printer, board, or peripheral that needs support.
- type: textarea
attributes:
label: Describe the feature you want
description: A clear description of the feature and how you think it should work.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.

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

35
.github/workflows/bump-date.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
#
# 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

32
.github/workflows/check-pr.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
#
# 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: superbrothers/close-pull-request@v3
with:
comment: >
Thanks for your contribution! Unfortunately we can't accept PRs directed at release branches. We make patches to the bugfix branches and only later do we push them out as releases.
Please redo this PR starting with the `bugfix-2.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.

39
.github/workflows/clean-closed.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
#
# clean-closed.yml
# Remove obsolete labels when an Issue or PR is closed
#
name: Clean Closed
on:
pull_request:
types: [closed]
issues:
types: [closed]
jobs:
remove_label:
runs-on: ubuntu-latest
strategy:
matrix:
label:
- "S: Don't Merge"
- "S: Hold for 2.1"
- "S: Please Merge"
- "S: Please Test"
- "help wanted"
- "Needs: Discussion"
- "Needs: Documentation"
- "Needs: More Data"
- "Needs: Patch"
- "Needs: Testing"
- "Needs: Work"
steps:
- uses: actions/checkout@v2
- name: Remove Labels
uses: actions-ecosystem/action-remove-labels@v1
with:
github_token: ${{ github.token }}
labels: ${{ matrix.label }}

28
.github/workflows/close-stale.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
#
# close-stale.yml
# Close open issues after a period of inactivity
#
name: Close Stale Issues
on:
schedule:
- cron: "22 1 * * *"
jobs:
stale:
name: Close Stale Issues
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 10 days.'
days-before-stale: 60
days-before-close: 10
stale-issue-label: 'stale-closing-soon'
exempt-all-assignees: true
exempt-issue-labels: 'Bug: Confirmed !,T: Feature Request,Needs: Discussion,Needs: Documentation,Needs: More Data,Needs: Patch,Needs: Work,Needs: Testing,help wanted,no-locking'

32
.github/workflows/lock-closed.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
#
# lock-closed.yml
# Lock closed issues after a period of inactivity
#
name: Lock Closed Issues
on:
schedule:
- cron: '0 1/13 * * *'
jobs:
lock:
name: Lock Closed Issues
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
with:
github-token: ${{ github.token }}
process-only: 'issues'
issue-lock-inactive-days: '60'
issue-exclude-created-before: '2017-07-01T00:00:00Z'
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

@@ -72,6 +72,7 @@ jobs:
# STM32 (ST) Environments
- STM32F103RC_btt_stm32
- STM32F407VE_black
- STM32F401VE_STEVAL
- BIGTREE_BTT002
@@ -86,6 +87,7 @@ jobs:
- FLYF407ZG
- rumba32
- LERDGEX
- LERDGEK
- mks_robin_nano35_stm32
- NUCLEO_F767ZI
- REMRAM_V1

22
.github/workflows/unlock-reopened.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
#
# unlock-reopened.yml
# Unlock an issue whenever it is re-opened
#
name: "Unlock reopened issue"
on:
issues:
types: [reopened]
jobs:
unlock:
name: Unlock Reopened
if: github.repository == 'MarlinFirmware/Marlin'
runs-on: ubuntu-latest
steps:
- uses: OSDKDev/unlock-issues@v1.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -35,7 +35,7 @@
*
* Advanced settings can be found in Configuration_adv.h
*/
#define CONFIGURATION_H_VERSION 020008
#define CONFIGURATION_H_VERSION 02000801
//===========================================================================
//============================= Getting Started =============================
@@ -105,14 +105,9 @@
#define SERIAL_PORT 0
/**
* Select a secondary serial port on the board to use for communication with the host.
* Currently Ethernet (-2) is only supported on Teensy 4.1 boards.
* :[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//#define SERIAL_PORT_2 -1
/**
* This setting determines the communication speed of the printer.
* Serial Port Baud Rate
* This is the default communication speed for all serial ports.
* Set the baud rate defaults for additional serial ports below.
*
* 250000 works in most cases, but you might try a lower speed if
* you commonly experience drop-outs during host printing.
@@ -121,6 +116,23 @@
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
*/
#define BAUDRATE 250000
//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
/**
* Select a secondary serial port on the board to use for communication with the host.
* Currently Ethernet (-2) is only supported on Teensy 4.1 boards.
* :[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//#define SERIAL_PORT_2 -1
//#define BAUDRATE_2 250000 // Enable to override BAUDRATE
/**
* Select a third serial port on the board to use for communication with the host.
* Currently only supported for AVR, DUE, LPC1768/9 and STM32/STM32F1
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//#define SERIAL_PORT_3 1
//#define BAUDRATE_3 250000 // Enable to override BAUDRATE
// Enable the Bluetooth serial interface on AT90USB devices
//#define BLUETOOTH
@@ -1491,6 +1503,8 @@
//#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
// as the Z-Height correction value.
//#define UBL_MESH_WIZARD // Run several commands in a row to get a complete mesh
#elif ENABLED(MESH_BED_LEVELING)
//===========================================================================
@@ -2258,7 +2272,8 @@
// MKS LCD12864A/B with graphic controller and SD support. Follows MKS_MINI_12864 pinout.
// https://www.aliexpress.com/item/33018110072.html
//
//#define MKS_LCD12864
//#define MKS_LCD12864A
//#define MKS_LCD12864B
//
// FYSETC variant of the MINI12864 graphic controller with SD support
@@ -2561,7 +2576,7 @@
//#define DWIN_CREALITY_LCD
//
// ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8
// Touch Screen Settings
//
//#define TOUCH_SCREEN
#if ENABLED(TOUCH_SCREEN)
@@ -2675,7 +2690,7 @@
//#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
#define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
#define NEOPIXEL_PIN 4 // LED driving pin
//#define NEOPIXEL_PIN 4 // LED driving pin
//#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
//#define NEOPIXEL2_PIN 5
#define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip. (Longest strip when NEOPIXEL2_SEPARATE is disabled.)
@@ -2693,10 +2708,11 @@
//#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel
#endif
// Use a single NeoPixel LED for static (background) lighting
//#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use
//#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
//#define NEOPIXEL_BKGD_ALWAYS_ON // Keep the backlight on when other NeoPixels are off
// Use some of the NeoPixel LEDs for static (background) lighting
//#define NEOPIXEL_BKGD_INDEX_FIRST 0 // Index of the first background LED
//#define NEOPIXEL_BKGD_INDEX_LAST 5 // Index of the last background LED
//#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W
//#define NEOPIXEL_BKGD_ALWAYS_ON // Keep the backlight on when other NeoPixels are off
#endif
/**

View File

@@ -30,7 +30,7 @@
*
* Basic settings can be found in Configuration.h
*/
#define CONFIGURATION_ADV_H_VERSION 020008
#define CONFIGURATION_ADV_H_VERSION 02000801
//===========================================================================
//============================= Thermal Settings ============================
@@ -1301,6 +1301,8 @@
//#define BROWSE_MEDIA_ON_INSERT // Open the file browser when media is inserted
//#define MEDIA_MENU_AT_TOP // Force the media menu to be listed on the top of the main menu
#define EVENT_GCODE_SD_ABORT "G28XY" // G-code to run on SD Abort Print (e.g., "G28XY" or "G27")
#if ENABLED(PRINTER_EVENT_LEDS)
@@ -1486,8 +1488,8 @@
#if ENABLED(MULTI_VOLUME)
#define VOLUME_SD_ONBOARD
#define VOLUME_USB_FLASH_DRIVE
#define DEFAULT_VOLUME SD_ONBOARD
#define DEFAULT_SHARED_VOLUME USB_FLASH_DRIVE
#define DEFAULT_VOLUME SV_SD_ONBOARD
#define DEFAULT_SHARED_VOLUME SV_USB_FLASH_DRIVE
#endif
#endif // SDSUPPORT
@@ -2114,9 +2116,6 @@
//#define SERIAL_XON_XOFF
#endif
// Add M575 G-code to change the baud rate
//#define BAUD_RATE_GCODE
#if ENABLED(SDSUPPORT)
// Enable this option to collect and display the maximum
// RX queue usage after transferring a file to SD.
@@ -2301,14 +2300,15 @@
#endif // HAS_MULTI_EXTRUDER
/**
* Advanced Pause
* Experimental feature for filament change support and for parking the nozzle when paused.
* Adds the GCode M600 for initiating filament change.
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
* Advanced Pause for Filament Change
* - Adds the G-code M600 Filament Change to initiate a filament change.
* - This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
*
* Requires an LCD display.
* Requires NOZZLE_PARK_FEATURE.
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
* Requirements:
* - For Filament Change parking enable and configure NOZZLE_PARK_FEATURE.
* - For user interaction enable an LCD display, HOST_PROMPT_SUPPORT, or EMERGENCY_PARSER.
*
* Enable PARK_HEAD_ON_PAUSE to add the G-code M125 Pause and Park.
*/
//#define ADVANCED_PAUSE_FEATURE
#if ENABLED(ADVANCED_PAUSE_FEATURE)
@@ -2361,7 +2361,7 @@
* TMC26X Stepper Driver options
*
* The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
* https://github.com/MarlinFirmware/TMC26XStepper
*/
#if HAS_DRIVER(TMC26X)
@@ -3166,13 +3166,19 @@
//#define AIR_EVACUATION // Cutter Vacuum / Laser Blower motor control with G-codes M10-M11
#if ENABLED(AIR_EVACUATION)
#define AIR_EVACUATION_ACTIVE LOW // Set to "HIGH" if the on/off function is active HIGH
#define AIR_EVACUATION_PIN 42 // Override the default Cutter Vacuum or Laser Blower pin
//#define AIR_EVACUATION_PIN 42 // Override the default Cutter Vacuum or Laser Blower pin
#endif
//#define SPINDLE_SERVO // A servo converting an angle to spindle power
//#define AIR_ASSIST // Air Assist control with G-codes M8-M9
#if ENABLED(AIR_ASSIST)
#define AIR_ASSIST_ACTIVE LOW // Active state on air assist pin
//#define AIR_ASSIST_PIN 44 // Override the default Air Assist pin
#endif
//#define SPINDLE_SERVO // A servo converting an angle to spindle power
#ifdef SPINDLE_SERVO
#define SPINDLE_SERVO_NR 0 // Index of servo used for spindle control
#define SPINDLE_SERVO_MIN 10 // Minimum angle for servo spindle
#define SPINDLE_SERVO_NR 0 // Index of servo used for spindle control
#define SPINDLE_SERVO_MIN 10 // Minimum angle for servo spindle
#endif
/**
@@ -3409,6 +3415,11 @@
*/
#define AUTO_REPORT_TEMPERATURES
/**
* Auto-report position with M154 S<seconds>
*/
//#define AUTO_REPORT_POSITION
/**
* Include capabilities in M115 output
*/
@@ -3478,7 +3489,7 @@
#define PROPORTIONAL_FONT_RATIO 1.0
/**
* Spend 28 bytes of SRAM to optimize the GCode parser
* Spend 28 bytes of SRAM to optimize the G-code parser
*/
#define FASTER_GCODE_PARSER
@@ -3774,6 +3785,16 @@
#define GANTRY_CALIBRATION_COMMANDS_POST "G28" // G28 highly recommended to ensure an accurate position
#endif
/**
* Instant freeze / unfreeze functionality
* Specified pin has pullup and connecting to ground will instantly pause motion.
* Potentially useful for emergency stop that allows being resumed.
*/
//#define FREEZE_FEATURE
#if ENABLED(FREEZE_FEATURE)
//#define FREEZE_PIN 41 // Override the default (KILL) pin here
#endif
/**
* MAX7219 Debug Matrix
*

View File

@@ -28,7 +28,7 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "bugfix-2.0.x"
//#define SHORT_BUILD_VERSION "2.0.8.3"
/**
* Verbose version identifier which should contain a reference to the location
@@ -41,7 +41,7 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
//#define STRING_DISTRIBUTION_DATE "2019-07-10"
//#define STRING_DISTRIBUTION_DATE "2023-07-18"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.

View File

@@ -93,28 +93,35 @@ typedef int8_t pin_t;
#define MYSERIAL1 TERN(BLUETOOTH, btSerial, MSerial0)
#else
#if !WITHIN(SERIAL_PORT, -1, 3)
#error "SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#error "SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#define MYSERIAL1 customizedSerial1
#ifdef SERIAL_PORT_2
#if !WITHIN(SERIAL_PORT_2, -1, 3)
#error "SERIAL_PORT_2 must be from 0 to 3. You can also use -1 if the board supports Native USB."
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
#endif
#define MYSERIAL2 customizedSerial2
#endif
#ifdef SERIAL_PORT_3
#if !WITHIN(SERIAL_PORT_3, -1, 3)
#error "SERIAL_PORT_3 must be from 0 to 3, or -1 for USB Serial."
#endif
#define MYSERIAL3 customizedSerial3
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if !WITHIN(MMU2_SERIAL_PORT, -1, 3)
#error "MMU2_SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#error "MMU2_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#define MMU2_SERIAL mmuSerial
#endif
#ifdef LCD_SERIAL_PORT
#if !WITHIN(LCD_SERIAL_PORT, -1, 3)
#error "LCD_SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#error "LCD_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#define LCD_SERIAL lcdSerial
#if HAS_DGUS_LCD

View File

@@ -567,7 +567,7 @@ ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _UDRE_vect)) {
// Because of the template definition above, it's required to instantiate the template to have all methods generated
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
MSerialT1 customizedSerial1(MSerialT1::HasEmergencyParser);
#ifdef SERIAL_PORT_2
@@ -582,7 +582,24 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> >;
MSerialT2 customizedSerial2(MSerialT2::HasEmergencyParser);
#endif
#endif // SERIAL_PORT_2
#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
@@ -595,8 +612,9 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
}
template class MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> >;
MSerialT3 mmuSerial(MSerialT3::HasEmergencyParser);
#endif
MSerialMMU2 mmuSerial(MSerialMMU2::HasEmergencyParser);
#endif // MMU2_SERIAL_PORT
#ifdef LCD_SERIAL_PORT
@@ -609,7 +627,7 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
}
template class MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> >;
MSerialT4 lcdSerial(MSerialT4::HasEmergencyParser);
MSerialLCD lcdSerial(MSerialLCD::HasEmergencyParser);
#if HAS_DGUS_LCD
template<typename Cfg>
@@ -622,13 +640,13 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
}
#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)
MSerialT5 bluetoothSerial(false);
MSerialBT bluetoothSerial(false);
#endif
#endif // __AVR__

View File

@@ -238,14 +238,19 @@
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT;
extern MSerialT 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
#ifdef SERIAL_PORT_3
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> > > MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
#endif // !USBCON
#ifdef MMU2_SERIAL_PORT
@@ -262,8 +267,8 @@
static constexpr bool RX_OVERRUNS = false;
};
typedef Serial1Class< MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> > > MSerialT3;
extern MSerialT3 mmuSerial;
typedef Serial1Class< MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> > > MSerialMMU2;
extern MSerialMMU2 mmuSerial;
#endif
#ifdef LCD_SERIAL_PORT
@@ -281,12 +286,12 @@
static constexpr bool RX_OVERRUNS = BOTH(HAS_DGUS_LCD, SERIAL_STATS_RX_BUFFER_OVERRUNS);
};
typedef Serial1Class< MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> > > MSerialT4;
extern MSerialT4 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)
typedef Serial1Class<HardwareSerial> MSerialT5;
extern MSerialT5 bluetoothSerial;
typedef Serial1Class<HardwareSerial> MSerialBT;
extern MSerialBT bluetoothSerial;
#endif

View File

@@ -38,7 +38,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

View File

@@ -50,13 +50,12 @@ extern DefaultSerial4 MSerial3;
#define _MSERIAL(X) MSerial##X
#define MSERIAL(X) _MSERIAL(X)
// Define MYSERIAL1/2 before MarlinSerial includes!
#if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL1 customizedSerial1
#elif WITHIN(SERIAL_PORT, 0, 3)
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#error "The required SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#error "The required SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#ifdef SERIAL_PORT_2
@@ -65,7 +64,17 @@ extern DefaultSerial4 MSerial3;
#elif WITHIN(SERIAL_PORT_2, 0, 3)
#define MYSERIAL2 MSERIAL(SERIAL_PORT_2)
#else
#error "SERIAL_PORT_2 must be from 0 to 3. You can also use -1 if the board supports Native USB."
#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
@@ -78,12 +87,10 @@ extern DefaultSerial4 MSerial3;
#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 0 to 3. You can also use -1 if the board supports Native USB."
#error "LCD_SERIAL_PORT must be from 0 to 3."
#endif
#endif

View File

@@ -478,7 +478,7 @@ void MarlinSerial<Cfg>::flushTX() {
// If not using the USB port as serial port
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
MSerialT customizedSerial1(MarlinSerialCfg<SERIAL_PORT>::EMERGENCYPARSER);
MSerialT1 customizedSerial1(MarlinSerialCfg<SERIAL_PORT>::EMERGENCYPARSER);
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
@@ -486,4 +486,9 @@ void MarlinSerial<Cfg>::flushTX() {
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

@@ -141,11 +141,16 @@ struct MarlinSerialCfg {
};
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT;
extern MSerialT customizedSerial1;
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT1;
extern MSerialT1 customizedSerial1;
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
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"
@@ -65,7 +65,7 @@ int MarlinSerialUSB::peek() {
pending_char = udi_cdc_getc();
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT*>(this)->emergency_state, (char)pending_char));
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT1*>(this)->emergency_state, (char)pending_char));
return pending_char;
}
@@ -87,7 +87,7 @@ int MarlinSerialUSB::read() {
int c = udi_cdc_getc();
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT*>(this)->emergency_state, (char)c));
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT1*>(this)->emergency_state, (char)c));
return c;
}
@@ -129,10 +129,13 @@ size_t MarlinSerialUSB::write(const uint8_t c) {
// Preinstantiate
#if SERIAL_PORT == -1
MSerialT customizedSerial1(TERN0(EMERGENCY_PARSER, true));
MSerialT1 customizedSerial1(TERN0(EMERGENCY_PARSER, true));
#endif
#if SERIAL_PORT_2 == -1
MSerialT customizedSerial2(TERN0(EMERGENCY_PARSER, true));
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,11 +27,9 @@
*/
#include "../../inc/MarlinConfig.h"
#if HAS_USB_SERIAL
#include <WString.h>
#include "../../core/serial_hook.h"
#include <WString.h>
struct MarlinSerialUSB {
void begin(const long);
@@ -50,14 +48,18 @@ struct MarlinSerialUSB {
FORCE_INLINE int rxMaxEnqueued() { return 0; }
#endif
};
typedef Serial1Class<MarlinSerialUSB> MSerialT;
#if SERIAL_PORT == -1
extern MSerialT customizedSerial1;
typedef Serial1Class<MarlinSerialUSB> MSerialT1;
extern MSerialT1 customizedSerial1;
#endif
#if SERIAL_PORT_2 == -1
extern MSerialT 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

@@ -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!!
*/

View File

@@ -29,7 +29,7 @@
#include "wifi.h"
#include <ESPAsyncWebServer.h>
MSerialT webSocketSerial(false);
MSerialWebSocketT webSocketSerial(false);
AsyncWebSocket ws("/ws"); // TODO Move inside the class.
// RingBuffer impl

View File

@@ -81,5 +81,5 @@ public:
#endif
};
typedef Serial1Class<WebSocketSerial> MSerialT;
extern MSerialT webSocketSerial;
typedef Serial1Class<WebSocketSerial> MSerialWebSocketT;
extern MSerialWebSocketT webSocketSerial;

View File

@@ -84,6 +84,16 @@ extern DefaultSerial1 USBSerial;
#endif
#endif
#ifdef SERIAL_PORT_3
#if SERIAL_PORT_3 == -1
#define MYSERIAL3 USBSerial
#elif WITHIN(SERIAL_PORT_3, 0, 3)
#define MYSERIAL3 MSERIAL(SERIAL_PORT_3)
#else
#error "SERIAL_PORT_3 must be from 0 to 3. You can also use -1 if the board supports Native USB."
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if MMU2_SERIAL_PORT == -1
#define MMU2_SERIAL USBSerial

View File

@@ -21,6 +21,7 @@
*/
#ifdef TARGET_LPC1768
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#if ENABLED(POSTMORTEM_DEBUGGING)

View File

@@ -26,9 +26,9 @@
#include "../../inc/MarlinConfig.h"
#if USING_HW_SERIAL0
MarlinSerial _MSerial(LPC_UART0);
MSerialT MSerial0(true, _MSerial);
extern "C" void UART0_IRQHandler() { _MSerial.IRQHandler(); }
MarlinSerial _MSerial0(LPC_UART0);
MSerialT MSerial0(true, _MSerial0);
extern "C" void UART0_IRQHandler() { _MSerial0.IRQHandler(); }
#endif
#if USING_HW_SERIAL1
MarlinSerial _MSerial1((LPC_UART_TypeDef *) LPC_UART1);
@@ -52,7 +52,7 @@
// Need to figure out which serial port we are and react in consequence (Marlin does not have CONTAINER_OF macro)
if (false) {}
#if USING_HW_SERIAL0
else if (this == &_MSerial) emergency_parser.update(MSerial0.emergency_state, c);
else if (this == &_MSerial0) emergency_parser.update(MSerial0.emergency_state, c);
#endif
#if USING_HW_SERIAL1
else if (this == &_MSerial1) emergency_parser.update(MSerial1.emergency_state, c);

View File

@@ -60,8 +60,8 @@ extern MSerialT MSerial1;
extern MSerialT MSerial2;
extern MSerialT MSerial3;
// Consequently, we can't use a RuntimeSerial either. The workaround would be to use a RuntimeSerial<ForwardSerial<MarlinSerial>> type here
// Right now, let's ignore this until it's actually required.
// Consequently, we can't use a RuntimeSerial either. The workaround would be to use
// a RuntimeSerial<ForwardSerial<MarlinSerial>> type here. Ignore for now until it's actually required.
#if ENABLED(SERIAL_RUNTIME_HOOK)
#error "SERIAL_RUNTIME_HOOK is not yet supported for LPC176x."
#endif

View File

@@ -144,7 +144,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o
#error "Serial port pins (2) conflict with Z4 pins!"
#elif ANY_RX(2, X_DIR_PIN, Y_DIR_PIN)
#error "Serial port pins (2) conflict with other pins!"
#elif Y_HOME_DIR < 0 && IS_TX2(Y_STOP_PIN)
#elif Y_HOME_TO_MIN && IS_TX2(Y_STOP_PIN)
#error "Serial port pins (2) conflict with Y endstop pin!"
#elif HAS_CUSTOM_PROBE_PIN && IS_TX2(Z_MIN_PROBE_PIN)
#error "Serial port pins (2) conflict with probe pin!"

View File

@@ -117,7 +117,7 @@ void HAL_init() {
PinCfg.Pinmode = 2; // no pull-up/pull-down
PINSEL_ConfigPin(&PinCfg);
// now set CLKOUT_EN bit
LPC_SC->CLKOUTCFG |= (1<<8);
SBI(LPC_SC->CLKOUTCFG, 8);
#endif
USB_Init(); // USB Initialization

View File

@@ -22,7 +22,7 @@
#include "../../../inc/MarlinConfig.h"
#if HAS_TFT_XPT2046 || HAS_TOUCH_BUTTONS
#if HAS_TFT_XPT2046 || HAS_RES_TOUCH_BUTTONS
#include "xpt2046.h"
#include <SPI.h>

View File

@@ -20,101 +20,104 @@ def print_error(e):
'or copy the firmware (.pio/build/%s/firmware.bin) manually to the appropriate disk\n' \
%(e, env.get('PIOENV')))
try:
#
# Find a disk for upload
#
upload_disk = 'Disk not found'
target_file_found = False
target_drive_found = False
if current_OS == 'Windows':
def before_upload(source, target, env):
try:
#
# platformio.ini will accept this for a Windows upload port designation: 'upload_port = L:'
# Windows - doesn't care about the disk's name, only cares about the drive letter
import subprocess,string
from ctypes import windll
# Find a disk for upload
#
upload_disk = 'Disk not found'
target_file_found = False
target_drive_found = False
if current_OS == 'Windows':
#
# platformio.ini will accept this for a Windows upload port designation: 'upload_port = L:'
# Windows - doesn't care about the disk's name, only cares about the drive letter
import subprocess,string
from ctypes import windll
# getting list of drives
# https://stackoverflow.com/questions/827371/is-there-a-way-to-list-all-the-available-drive-letters-in-python
drives = []
bitmask = windll.kernel32.GetLogicalDrives()
for letter in string.ascii_uppercase:
if bitmask & 1:
drives.append(letter)
bitmask >>= 1
# getting list of drives
# https://stackoverflow.com/questions/827371/is-there-a-way-to-list-all-the-available-drive-letters-in-python
drives = []
bitmask = windll.kernel32.GetLogicalDrives()
for letter in string.ascii_uppercase:
if bitmask & 1:
drives.append(letter)
bitmask >>= 1
for drive in drives:
final_drive_name = drive + ':\\'
# print ('disc check: {}'.format(final_drive_name))
try:
volume_info = str(subprocess.check_output('cmd /C dir ' + final_drive_name, stderr=subprocess.STDOUT))
except Exception as e:
print ('error:{}'.format(e))
continue
else:
if target_drive in volume_info and not target_file_found: # set upload if not found target file yet
target_drive_found = True
upload_disk = final_drive_name
if target_filename in volume_info:
if not target_file_found:
for drive in drives:
final_drive_name = drive + ':\\'
# print ('disc check: {}'.format(final_drive_name))
try:
volume_info = str(subprocess.check_output('cmd /C dir ' + final_drive_name, stderr=subprocess.STDOUT))
except Exception as e:
print ('error:{}'.format(e))
continue
else:
if target_drive in volume_info and not target_file_found: # set upload if not found target file yet
target_drive_found = True
upload_disk = final_drive_name
target_file_found = True
if target_filename in volume_info:
if not target_file_found:
upload_disk = final_drive_name
target_file_found = True
elif current_OS == 'Linux':
#
# platformio.ini will accept this for a Linux upload port designation: 'upload_port = /media/media_name/drive'
#
drives = os.listdir(os.path.join(os.sep, 'media', getpass.getuser()))
if target_drive in drives: # If target drive is found, use it.
target_drive_found = True
upload_disk = os.path.join(os.sep, 'media', getpass.getuser(), target_drive) + os.sep
else:
elif current_OS == 'Linux':
#
# platformio.ini will accept this for a Linux upload port designation: 'upload_port = /media/media_name/drive'
#
drives = os.listdir(os.path.join(os.sep, 'media', getpass.getuser()))
if target_drive in drives: # If target drive is found, use it.
target_drive_found = True
upload_disk = os.path.join(os.sep, 'media', getpass.getuser(), target_drive) + os.sep
else:
for drive in drives:
try:
files = os.listdir(os.path.join(os.sep, 'media', getpass.getuser(), drive))
except:
continue
else:
if target_filename in files:
upload_disk = os.path.join(os.sep, 'media', getpass.getuser(), drive) + os.sep
target_file_found = True
break
#
# set upload_port to drive if found
#
if target_file_found or target_drive_found:
env.Replace(
UPLOAD_FLAGS="-P$UPLOAD_PORT"
)
elif current_OS == 'Darwin': # MAC
#
# platformio.ini will accept this for a OSX upload port designation: 'upload_port = /media/media_name/drive'
#
drives = os.listdir('/Volumes') # human readable names
if target_drive in drives and not target_file_found: # set upload if not found target file yet
target_drive_found = True
upload_disk = '/Volumes/' + target_drive + '/'
for drive in drives:
try:
files = os.listdir(os.path.join(os.sep, 'media', getpass.getuser(), drive))
filenames = os.listdir('/Volumes/' + drive + '/') # will get an error if the drive is protected
except:
continue
else:
if target_filename in files:
upload_disk = os.path.join(os.sep, 'media', getpass.getuser(), drive) + os.sep
if target_filename in filenames:
if not target_file_found:
upload_disk = '/Volumes/' + drive + '/'
target_file_found = True
break
#
# set upload_port to drive if found
#
#
# Set upload_port to drive if found
#
if target_file_found or target_drive_found:
env.Replace(
UPLOAD_FLAGS="-P$UPLOAD_PORT"
)
env.Replace(UPLOAD_PORT=upload_disk)
print('\nUpload disk: ', upload_disk, '\n')
else:
print_error('Autodetect Error')
elif current_OS == 'Darwin': # MAC
#
# platformio.ini will accept this for a OSX upload port designation: 'upload_port = /media/media_name/drive'
#
drives = os.listdir('/Volumes') # human readable names
if target_drive in drives and not target_file_found: # set upload if not found target file yet
target_drive_found = True
upload_disk = '/Volumes/' + target_drive + '/'
for drive in drives:
try:
filenames = os.listdir('/Volumes/' + drive + '/') # will get an error if the drive is protected
except:
continue
else:
if target_filename in filenames:
if not target_file_found:
upload_disk = '/Volumes/' + drive + '/'
target_file_found = True
except Exception as e:
print_error(str(e))
#
# Set upload_port to drive if found
#
if target_file_found or target_drive_found:
env.Replace(UPLOAD_PORT=upload_disk)
print('\nUpload disk: ', upload_disk, '\n')
else:
print_error('Autodetect Error')
except Exception as e:
print_error(str(e))
env.AddPreAction("upload", before_upload)

View File

@@ -43,8 +43,6 @@
extern DefaultSerial4 MSerial3;
extern DefaultSerial5 MSerial4;
// MYSERIAL1 required before MarlinSerial includes!
#define __MSERIAL(X) MSerial##X
#define _MSERIAL(X) __MSERIAL(X)
#define MSERIAL(X) _MSERIAL(INCREMENT(X))

View File

@@ -96,6 +96,12 @@ void HAL_init() {
#if HAS_SD_HOST_DRIVE
MSC_SD_init(); // Enable USB SD card access
#endif
#if PIN_EXISTS(USB_CONNECT)
OUT_WRITE(USB_CONNECT_PIN, !USB_CONNECT_INVERTING); // USB clear connection
delay(1000); // Give OS time to notice
WRITE(USB_CONNECT_PIN, USB_CONNECT_INVERTING);
#endif
}
// HAL idle task

View File

@@ -37,6 +37,9 @@
#include <stdint.h>
//
// Serial Ports
//
#ifdef USBCON
#include <USBSerial.h>
#include "../../core/serial_hook.h"
@@ -44,9 +47,6 @@
extern DefaultSerial1 MSerial0;
#endif
// ------------------------
// Defines
// ------------------------
#define _MSERIAL(X) MSerial##X
#define MSERIAL(X) _MSERIAL(X)
@@ -68,6 +68,16 @@
#endif
#endif
#ifdef SERIAL_PORT_3
#if SERIAL_PORT_3 == -1
#define MYSERIAL3 MSerial0
#elif WITHIN(SERIAL_PORT_3, 1, 6)
#define MYSERIAL3 MSERIAL(SERIAL_PORT_3)
#else
#error "SERIAL_PORT_3 must be from 1 to 6. You can also use -1 if the board supports Native USB."
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if MMU2_SERIAL_PORT == -1
#define MMU2_SERIAL MSerial0

View File

@@ -71,8 +71,8 @@ static void TXBegin() {
volatile uint32_t ICER[32];
};
NVICMin * nvicBase = (NVICMin*)0xE000E100;
nvicBase->ICER[nvicIndex / 32] |= _BV32(nvicIndex % 32);
NVICMin *nvicBase = (NVICMin*)0xE000E100;
SBI32(nvicBase->ICER[nvicIndex >> 5], nvicIndex & 0x1F);
// We NEED memory barriers to ensure Interrupts are actually disabled!
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )

View File

@@ -38,7 +38,7 @@ public:
return &card.media_usbFlashDrive;
#endif
#else
return diskIODriver();
return card.diskIODriver();
#endif
}

View File

@@ -0,0 +1,202 @@
/**
* 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/>.
*
*/
#if defined(ARDUINO_ARCH_STM32) && !defined(STM32GENERIC)
#include "../../../inc/MarlinConfig.h"
#if ENABLED(TFT_TOUCH_DEVICE_GT911)
#include "gt911.h"
#include "pinconfig.h"
SW_IIC::SW_IIC(uint16_t sda, uint16_t scl) {
scl_pin = scl;
sda_pin = sda;
}
// Software I2C hardware io init
void SW_IIC::init() {
OUT_WRITE(scl_pin, HIGH);
OUT_WRITE(sda_pin, HIGH);
}
// Software I2C start signal
void SW_IIC::start() {
write_sda(HIGH); // SDA = 1
write_scl(HIGH); // SCL = 1
iic_delay(2);
write_sda(LOW); // SDA = 0
iic_delay(1);
write_scl(LOW); // SCL = 0 // keep SCL low, avoid false stop caused by level jump caused by SDA switching IN/OUT
}
// Software I2C stop signal
void SW_IIC::stop() {
write_scl(LOW); // SCL = 0
iic_delay(2);
write_sda(LOW); // SDA = 0
iic_delay(2);
write_scl(HIGH); // SCL = 1
iic_delay(2);
write_sda(HIGH); // SDA = 1
}
// Software I2C sends ACK or NACK signal
void SW_IIC::send_ack(bool ack) {
write_sda(ack ? LOW : HIGH); // SDA = !ack
iic_delay(2);
write_scl(HIGH); // SCL = 1
iic_delay(2);
write_scl(LOW); // SCL = 0
}
// Software I2C read ACK or NACK signal
bool SW_IIC::read_ack() {
bool error = 0;
set_sda_in();
iic_delay(2);
write_scl(HIGH); // SCL = 1
error = read_sda();
iic_delay(2);
write_scl(LOW); // SCL = 0
set_sda_out();
return error;
}
void SW_IIC::send_byte(uint8_t txd) {
LOOP_L_N(i, 8) {
write_sda(txd & 0x80); // write data bit
txd <<= 1;
iic_delay(1);
write_scl(HIGH); // SCL = 1
iic_delay(2);
write_scl(LOW); // SCL = 0
iic_delay(1);
}
read_ack(); // wait ack
}
uint8_t SW_IIC::read_byte(bool ack) {
uint8_t data = 0;
set_sda_in();
LOOP_L_N(i, 8) {
write_scl(HIGH); // SCL = 1
iic_delay(1);
data <<= 1;
if (read_sda()) data++;
write_scl(LOW); // SCL = 0
iic_delay(2);
}
set_sda_out();
send_ack(ack);
return data;
}
GT911_REG_MAP GT911::reg;
SW_IIC GT911::sw_iic = SW_IIC(GT911_SW_I2C_SDA_PIN, GT911_SW_I2C_SCL_PIN);
void GT911::write_reg(uint16_t reg, uint8_t reg_len, uint8_t* w_data, uint8_t w_len) {
sw_iic.start();
sw_iic.send_byte(gt911_slave_address); // Set IIC Slave address
LOOP_L_N(i, reg_len) { // Set reg address
uint8_t r = (reg >> (8 * (reg_len - 1 - i))) & 0xFF;
sw_iic.send_byte(r);
}
LOOP_L_N(i, w_len) { // Write data to reg
sw_iic.send_byte(w_data[i]);
}
sw_iic.stop();
}
void GT911::read_reg(uint16_t reg, uint8_t reg_len, uint8_t* r_data, uint8_t r_len) {
sw_iic.start();
sw_iic.send_byte(gt911_slave_address); // Set IIC Slave address
LOOP_L_N(i, reg_len) { // Set reg address
uint8_t r = (reg >> (8 * (reg_len - 1 - i))) & 0xFF;
sw_iic.send_byte(r);
}
sw_iic.start();
sw_iic.send_byte(gt911_slave_address + 1); // Set read mode
LOOP_L_N(i, r_len) {
r_data[i] = sw_iic.read_byte(1); // Read data from reg
}
sw_iic.stop();
}
void GT911::Init() {
OUT_WRITE(GT911_RST_PIN, LOW);
OUT_WRITE(GT911_INT_PIN, LOW);
delay(20);
WRITE(GT911_RST_PIN, HIGH);
SET_INPUT(GT911_INT_PIN);
sw_iic.init();
uint8_t clear_reg = 0x0000;
write_reg(0x814E, 2, &clear_reg, 2); // Reset to 0 for start
}
bool GT911::getFirstTouchPoint(int16_t *x, int16_t *y) {
read_reg(0x814E, 2, &reg.REG.status, 1);
if (reg.REG.status & 0x80) {
uint8_t clear_reg = 0x00;
write_reg(0x814E, 2, &clear_reg, 1); // Reset to 0 for start
read_reg(0x8150, 2, reg.map + 2, 8 * (reg.REG.status & 0x0F));
// First touch point
*x = ((reg.REG.point[0].xh & 0x0F) << 8) | reg.REG.point[0].xl;
*y = ((reg.REG.point[0].yh & 0x0F) << 8) | reg.REG.point[0].yl;
return true;
}
return false;
}
bool GT911::getPoint(int16_t *x, int16_t *y) {
static bool touched = 0;
static int16_t read_x = 0, read_y = 0;
static millis_t next_time = 0;
if (ELAPSED(millis(), next_time)) {
touched = getFirstTouchPoint(&read_x, &read_y);
next_time = millis() + 20;
}
*x = read_x;
*y = read_y;
return touched;
}
#endif // TFT_TOUCH_DEVICE_GT911
#endif // ARDUINO_ARCH_STM32 && !STM32GENERIC

View File

@@ -0,0 +1,120 @@
/**
* 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 "../../../inc/MarlinConfig.h"
#define GT911_SLAVE_ADDRESS 0xBA
#if !PIN_EXISTS(GT911_RST)
#error "GT911_RST_PIN is not defined."
#elif !PIN_EXISTS(GT911_INT)
#error "GT911_INT_PIN is not defined."
#elif !PIN_EXISTS(GT911_SW_I2C_SCL)
#error "GT911_SW_I2C_SCL_PIN is not defined."
#elif !PIN_EXISTS(GT911_SW_I2C_SDA)
#error "GT911_SW_I2C_SDA_PIN is not defined."
#endif
class SW_IIC {
private:
uint16_t scl_pin;
uint16_t sda_pin;
void write_scl(bool level)
{
WRITE(scl_pin, level);
}
void write_sda(bool level)
{
WRITE(sda_pin, level);
}
bool read_sda()
{
return READ(sda_pin);
}
void set_sda_out()
{
SET_OUTPUT(sda_pin);
}
void set_sda_in()
{
SET_INPUT_PULLUP(sda_pin);
}
static void iic_delay(uint8_t t)
{
delayMicroseconds(t);
}
public:
SW_IIC(uint16_t sda, uint16_t scl);
// setSCL/SDA have to be called before begin()
void setSCL(uint16_t scl)
{
scl_pin = scl;
};
void setSDA(uint16_t sda)
{
sda_pin = sda;
};
void init(); // Initialize the IO port of IIC
void start(); // Send IIC start signal
void stop(); // Send IIC stop signal
void send_byte(uint8_t txd); // IIC sends a byte
uint8_t read_byte(bool ack); // IIC reads a byte
void send_ack(bool ack); // IIC sends ACK or NACK signal
bool read_ack();
};
typedef struct __attribute__((__packed__)) {
uint8_t xl;
uint8_t xh;
uint8_t yl;
uint8_t yh;
uint8_t sizel;
uint8_t sizeh;
uint8_t reserved;
uint8_t track_id;
} GT911_POINT;
typedef union __attribute__((__packed__)) {
uint8_t map[42];
struct {
uint8_t status; // 0x814E
uint8_t track_id; // 0x814F
GT911_POINT point[5]; // [0]:0x8150 - 0x8157 / [1]:0x8158 - 0x815F / [2]:0x8160 - 0x8167 / [3]:0x8168 - 0x816F / [4]:0x8170 - 0x8177
} REG;
} GT911_REG_MAP;
class GT911 {
private:
static const uint8_t gt911_slave_address = GT911_SLAVE_ADDRESS;
static GT911_REG_MAP reg;
static SW_IIC sw_iic;
static void write_reg(uint16_t reg, uint8_t reg_len, uint8_t* w_data, uint8_t w_len);
static void read_reg(uint16_t reg, uint8_t reg_len, uint8_t* r_data, uint8_t r_len);
public:
static void Init();
static bool getFirstTouchPoint(int16_t *x, int16_t *y);
static bool getPoint(int16_t *x, int16_t *y);
};

View File

@@ -45,7 +45,6 @@
#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200)
void SDRAM_Initialization_Sequence(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *Command) {
__IO uint32_t tmpmrd =0;
@@ -192,7 +191,7 @@ void LTDC_Config() {
hltdc_F.Instance = LTDC;
/* Layer0 Configuration ------------------------------------------------------*/
/* Layer0 Configuration ------------------------------------------------------*/
/* Windowing configuration */
pLayerCfg.WindowX0 = 0;
@@ -289,22 +288,21 @@ void TFT_LTDC::DrawRect(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey, uint
uint16_t offline = TFT_WIDTH - (ex - sx);
uint32_t addr = (uint32_t)&framebuffer[(TFT_WIDTH * sy) + sx];
DMA2D->CR &= ~(1 << 0);
CBI(DMA2D->CR, 0);
DMA2D->CR = 3 << 16;
DMA2D->OPFCCR = 0X02;
DMA2D->OOR = offline;
DMA2D->OMAR = addr;
DMA2D->NLR = (ey - sy) | ((ex - sx) << 16);
DMA2D->OCOLR = color;
DMA2D->CR |= 1<<0;
SBI(DMA2D->CR, 0);
uint32_t timeout = 0;
while((DMA2D->ISR & (1<<1)) == 0)
{
while (!TEST(DMA2D->ISR, 1)) {
timeout++;
if(timeout>0X1FFFFF)break;
if (timeout > 0x1FFFFF) break;
}
DMA2D->IFCR |= 1<<1;
SBI(DMA2D->IFCR, 1);
}
void TFT_LTDC::DrawImage(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey, uint16_t *colors) {
@@ -314,7 +312,7 @@ void TFT_LTDC::DrawImage(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey, uin
uint16_t offline = TFT_WIDTH - (ex - sx);
uint32_t addr = (uint32_t)&framebuffer[(TFT_WIDTH * sy) + sx];
DMA2D->CR &= ~(1 << 0);
CBI(DMA2D->CR, 0);
DMA2D->CR = 0 << 16;
DMA2D->FGPFCCR = 0X02;
DMA2D->FGOR = 0;
@@ -322,15 +320,14 @@ void TFT_LTDC::DrawImage(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey, uin
DMA2D->FGMAR = (uint32_t)colors;
DMA2D->OMAR = addr;
DMA2D->NLR = (ey - sy) | ((ex - sx) << 16);
DMA2D->CR |= 1<<0;
SBI(DMA2D->CR, 0);
uint32_t timeout = 0;
while((DMA2D->ISR & (1<<1)) == 0)
{
while (!TEST(DMA2D->ISR, 1)) {
timeout++;
if(timeout>0X1FFFFF)break;
if (timeout > 0x1FFFFF) break;
}
DMA2D->IFCR |= 1<<1;
SBI(DMA2D->IFCR, 1);
}
void TFT_LTDC::WriteData(uint16_t data) {

View File

@@ -23,7 +23,7 @@
#include "../../../inc/MarlinConfig.h"
#if HAS_TFT_XPT2046 || HAS_TOUCH_BUTTONS
#if HAS_TFT_XPT2046 || HAS_RES_TOUCH_BUTTONS
#include "xpt2046.h"
#include "pinconfig.h"

View File

@@ -21,15 +21,12 @@
*/
#pragma once
#include <stdint.h>
#include "../../inc/MarlinConfig.h"
// ------------------------
// Defines
// ------------------------
#define FORCE_INLINE __attribute__((always_inline)) inline
// STM32 timers may be 16 or 32 bit. Limiting HAL_TIMER_TYPE_MAX to 16 bits
// avoids issues with STM32F0 MCUs, which seem to pause timers if UINT32_MAX
// is written to the register. STM32F4 timers do not manifest this issue,

View File

@@ -293,7 +293,7 @@ void HAL_init() {
#if PIN_EXISTS(USB_CONNECT)
OUT_WRITE(USB_CONNECT_PIN, !USB_CONNECT_INVERTING); // USB clear connection
delay(1000); // Give OS time to notice
OUT_WRITE(USB_CONNECT_PIN, USB_CONNECT_INVERTING);
WRITE(USB_CONNECT_PIN, USB_CONNECT_INVERTING);
#endif
TERN_(POSTMORTEM_DEBUGGING, install_min_serial()); // Install the minimal serial handler
}

View File

@@ -36,7 +36,6 @@
#include "fastio.h"
#include "watchdog.h"
#include <stdint.h>
#include <util/atomic.h>
@@ -63,11 +62,10 @@
#ifdef SERIAL_USB
typedef ForwardSerial1Class< USBSerial > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#if !HAS_SD_HOST_DRIVE
#define UsbSerial MSerial0
#else
#if HAS_SD_HOST_DRIVE
#define UsbSerial MarlinCompositeSerial
#else
#define UsbSerial MSerial0
#endif
#endif
@@ -86,11 +84,7 @@
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#define MYSERIAL1 MSERIAL(1) // dummy port
#if NUM_UARTS == 5
#error "SERIAL_PORT must be from 1 to 5. You can also use -1 if the board supports Native USB."
#else
#error "SERIAL_PORT must be from 1 to 3. You can also use -1 if the board supports Native USB."
#endif
static_assert(false, "SERIAL_PORT must be from 1 to " STRINGIFY(NUM_UARTS) ". You can also use -1 if the board supports Native USB.")
#endif
#ifdef SERIAL_PORT_2
@@ -100,11 +94,18 @@
#define MYSERIAL2 MSERIAL(SERIAL_PORT_2)
#else
#define MYSERIAL2 MSERIAL(1) // dummy port
#if NUM_UARTS == 5
#error "SERIAL_PORT_2 must be from 1 to 5. You can also use -1 if the board supports Native USB."
#else
#error "SERIAL_PORT_2 must be from 1 to 3. You can also use -1 if the board supports Native USB."
#endif
static_assert(false, "SERIAL_PORT_2 must be from 1 to " STRINGIFY(NUM_UARTS) ". You can also use -1 if the board supports Native USB.")
#endif
#endif
#ifdef SERIAL_PORT_3
#if SERIAL_PORT_3 == -1
#define MYSERIAL3 UsbSerial
#elif WITHIN(SERIAL_PORT_3, 1, NUM_UARTS)
#define MYSERIAL3 MSERIAL(SERIAL_PORT_3)
#else
#define MYSERIAL3 MSERIAL(1) // dummy port
static_assert(false, "SERIAL_PORT_3 must be from 1 to " STRINGIFY(NUM_UARTS) ". You can also use -1 if the board supports Native USB.")
#endif
#endif
@@ -115,11 +116,7 @@
#define MMU2_SERIAL MSERIAL(MMU2_SERIAL_PORT)
#else
#define MMU2_SERIAL MSERIAL(1) // dummy port
#if NUM_UARTS == 5
#error "MMU2_SERIAL_PORT must be from 1 to 5. You can also use -1 if the board supports Native USB."
#else
#error "MMU2_SERIAL_PORT must be from 1 to 3. You can also use -1 if the board supports Native USB."
#endif
static_assert(false, "MMU2_SERIAL_PORT must be from 1 to " STRINGIFY(NUM_UARTS) ". You can also use -1 if the board supports Native USB.")
#endif
#endif
@@ -130,11 +127,7 @@
#define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT)
#else
#define LCD_SERIAL MSERIAL(1) // dummy port
#if NUM_UARTS == 5
#error "LCD_SERIAL_PORT must be from 1 to 5. You can also use -1 if the board supports Native USB."
#else
#error "LCD_SERIAL_PORT must be from 1 to 3. You can also use -1 if the board supports Native USB."
#endif
static_assert(false, "LCD_SERIAL_PORT must be from 1 to " STRINGIFY(NUM_UARTS) ". You can also use -1 if the board supports Native USB.")
#endif
#if HAS_DGUS_LCD
#define SERIAL_GET_TX_BUFFER_FREE() LCD_SERIAL.availableForWrite()

View File

@@ -55,7 +55,7 @@ static void TXBegin() {
nvic_irq_disable(dev->irq_num);
// Use this if removing libmaple
//NVIC_BASE->ICER[1] |= _BV(irq - 32);
//SBI(NVIC_BASE->ICER[1], irq - 32);
// We NEED memory barriers to ensure Interrupts are actually disabled!
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )

View File

@@ -22,7 +22,7 @@
#include "../../../inc/MarlinConfig.h"
#if HAS_TFT_XPT2046 || HAS_TOUCH_BUTTONS
#if HAS_TFT_XPT2046 || HAS_RES_TOUCH_BUTTONS
#include "xpt2046.h"
#include <SPI.h>

View File

@@ -25,9 +25,10 @@
* HAL for stm32duino.com based on Libmaple and compatible (STM32F1)
*/
#include <stdint.h>
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include <libmaple/timer.h>
#include "../../core/boards.h"
// ------------------------
// Defines
@@ -37,7 +38,6 @@
* TODO: Check and confirm what timer we will use for each Temps and stepper driving.
* We should probable drive temps with PWM.
*/
#define FORCE_INLINE __attribute__((always_inline)) inline
typedef uint16_t hal_timer_t;
#define HAL_TIMER_TYPE_MAX 0xFFFF
@@ -80,7 +80,7 @@ typedef uint16_t hal_timer_t;
//#define TEMP_TIMER_NUM 4 // 2->4, Timer 2 for Stepper Current PWM
#endif
#if MB(BTT_SKR_MINI_E3_V1_0, BTT_SKR_E3_DIP, BTT_SKR_MINI_E3_V1_2, MKS_ROBIN_LITE)
#if MB(BTT_SKR_MINI_E3_V1_0, BTT_SKR_E3_DIP, BTT_SKR_MINI_E3_V1_2, MKS_ROBIN_LITE, MKS_ROBIN_E3D, MKS_ROBIN_E3)
// SKR Mini E3 boards use PA8 as FAN_PIN, so TIMER 1 is used for Fan PWM.
#ifdef STM32_HIGH_DENSITY
#define SERVO0_TIMER_NUM 8 // tone.cpp uses Timer 4

View File

@@ -68,6 +68,8 @@ extern USBSerialType USBSerial;
#elif WITHIN(SERIAL_PORT, 0, 3)
DECLARE_SERIAL(SERIAL_PORT);
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#error "The required SERIAL_PORT must be from 0 to 3, or -1 for Native USB."
#endif
#define HAL_SERVO_LIB libServo

View File

@@ -21,11 +21,12 @@
*/
#ifdef __MK20DX256__
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include <SPI.h>
#include <pins_arduino.h>
#include "spi_pins.h"
#include "../../core/macros.h"
static SPISettings spiConfig;

View File

@@ -26,11 +26,12 @@
#if defined(__MK64FX512__) || defined(__MK66FX1M0__)
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include <SPI.h>
#include <pins_arduino.h>
#include "spi_pins.h"
#include "../../core/macros.h"
static SPISettings spiConfig;

View File

@@ -26,10 +26,11 @@
#ifdef __IMXRT1062__
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include "../shared/Delay.h"
#include "timers.h"
#include <Wire.h>
#define _IMPLEMENT_SERIAL(X) DefaultSerial##X MSerial##X(false, Serial##X)

View File

@@ -26,11 +26,12 @@
#ifdef __IMXRT1062__
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#include <SPI.h>
#include <pins_arduino.h>
#include "spi_pins.h"
#include "../../core/macros.h"
static SPISettings spiConfig;

View File

@@ -82,4 +82,8 @@
#define UNUSED(x) ((void)(x))
#endif
#ifndef FORCE_INLINE
#define FORCE_INLINE inline __attribute__((always_inline))
#endif
#include "progmem.h"

View File

@@ -30,11 +30,17 @@
#if ENABLED(I2C_EEPROM)
#include "eeprom_if.h"
#include <Wire.h>
#if ENABLED(SOFT_I2C_EEPROM)
#include <SlowSoftWire.h>
SlowSoftWire Wire = SlowSoftWire(I2C_SDA_PIN, I2C_SCL_PIN, true);
#else
#include <Wire.h>
#endif
void eeprom_init() {
Wire.begin(
#if PINS_EXIST(I2C_SCL, I2C_SDA)
#if PINS_EXIST(I2C_SCL, I2C_SDA) && DISABLED(SOFT_I2C_EEPROM)
uint8_t(I2C_SDA_PIN), uint8_t(I2C_SCL_PIN)
#endif
);

View File

@@ -68,9 +68,9 @@
#endif
#if HAS_TFT_LVGL_UI
#include "lcd/extui/lib/mks_ui/tft_lvgl_configuration.h"
#include "lcd/extui/lib/mks_ui/draw_ui.h"
#include "lcd/extui/lib/mks_ui/mks_hardware_test.h"
#include "lcd/extui/mks_ui/tft_lvgl_configuration.h"
#include "lcd/extui/mks_ui/draw_ui.h"
#include "lcd/extui/mks_ui/mks_hardware_test.h"
#include <lvgl.h>
#endif
@@ -229,7 +229,7 @@
#endif
#if ENABLED(DGUS_LCD_UI_MKS)
#include "lcd/extui/lib/dgus/DGUSScreenHandler.h"
#include "lcd/extui/dgus/DGUSScreenHandler.h"
#endif
#if HAS_DRIVER_SAFE_POWER_PROTECT
@@ -331,18 +331,14 @@ void disable_all_steppers() {
}
/**
* A Print Job exists when the timer is running or SD printing
* A Print Job exists when the timer is running or SD is printing
*/
bool printJobOngoing() {
return print_job_timer.isRunning() || IS_SD_PRINTING();
}
bool printJobOngoing() { return print_job_timer.isRunning() || IS_SD_PRINTING(); }
/**
* Printing is active when the print job timer is running
* Printing is active when a job is underway but not paused
*/
bool printingIsActive() {
return !did_pause_print && (print_job_timer.isRunning() || IS_SD_PRINTING());
}
bool printingIsActive() { return !did_pause_print && printJobOngoing(); }
/**
* Printing is paused according to SD or host indicators
@@ -367,7 +363,7 @@ void startOrResumeJob() {
inline void abortSDPrinting() {
IF_DISABLED(NO_SD_AUTOSTART, card.autofile_cancel());
card.endFilePrint(TERN_(SD_RESORT, true));
card.abortFilePrintNow(TERN_(SD_RESORT, true));
queue.clear();
quickstop_stepper();
@@ -390,8 +386,8 @@ void startOrResumeJob() {
}
inline void finishSDPrinting() {
if (queue.enqueue_one_P(PSTR("M1001"))) {
marlin_state = MF_RUNNING;
if (queue.enqueue_one_P(PSTR("M1001"))) { // Keep trying until it gets queued
marlin_state = MF_RUNNING; // Signal to stop trying
TERN_(PASSWORD_AFTER_SD_PRINT_END, password.lock_machine());
TERN_(DGUS_LCD_UI_MKS, ScreenHandler.SDPrintingFinished());
}
@@ -487,6 +483,10 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
}
#endif
#if HAS_FREEZE_PIN
Stepper::frozen = !READ(FREEZE_PIN);
#endif
#if HAS_HOME
// Handle a standalone HOME button
constexpr millis_t HOME_DEBOUNCE_DELAY = 1000UL;
@@ -748,7 +748,7 @@ void idle(TERN_(ADVANCED_PAUSE_FEATURE, bool no_stepper_sleep/*=false*/)) {
// Handle Power-Loss Recovery
#if ENABLED(POWER_LOSS_RECOVERY) && PIN_EXISTS(POWER_LOSS)
if (printJobOngoing()) recovery.outage();
if (IS_SD_PRINTING()) recovery.outage();
#endif
// Run StallGuard endstop checks
@@ -796,6 +796,7 @@ void idle(TERN_(ADVANCED_PAUSE_FEATURE, bool no_stepper_sleep/*=false*/)) {
if (!gcode.autoreport_paused) {
TERN_(AUTO_REPORT_TEMPERATURES, thermalManager.auto_reporter.tick());
TERN_(AUTO_REPORT_SD_STATUS, card.auto_reporter.tick());
TERN_(AUTO_REPORT_POSITION, position_auto_reporter.tick());
}
#endif
@@ -825,18 +826,19 @@ void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr
TERN_(HAS_CUTTER, cutter.kill()); // Full cutter shutdown including ISR control
SERIAL_ERROR_MSG(STR_ERR_KILLED);
// Echo the LCD message to serial for extra context
if (lcd_error) { SERIAL_ECHO_START(); SERIAL_ECHOLNPGM_P(lcd_error); }
#if HAS_DISPLAY
ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR);
#else
UNUSED(lcd_error);
UNUSED(lcd_component);
UNUSED(lcd_error); UNUSED(lcd_component);
#endif
#if HAS_TFT_LVGL_UI
lv_draw_error_message(lcd_error);
#endif
TERN_(HAS_TFT_LVGL_UI, lv_draw_error_message(lcd_error));
// "Error:Printer halted. kill() called!"
SERIAL_ERROR_MSG(STR_ERR_KILLED);
#ifdef ACTION_ON_KILL
host_action_kill();
@@ -900,7 +902,7 @@ void stop() {
thermalManager.set_fans_paused(false); // Un-pause fans for safety
#endif
if (IsRunning()) {
if (!IsStopped()) {
SERIAL_ERROR_MSG(STR_ERR_STOPPED);
LCD_MESSAGEPGM(MSG_STOPPED);
safe_delay(350); // allow enough time for messages to get out before stopping
@@ -1071,9 +1073,20 @@ void setup() {
while (!MYSERIAL1.connected() && PENDING(millis(), serial_connect_timeout)) { /*nada*/ }
#if HAS_MULTI_SERIAL && !HAS_ETHERNET
MYSERIAL2.begin(BAUDRATE);
#ifndef BAUDRATE_2
#define BAUDRATE_2 BAUDRATE
#endif
MYSERIAL2.begin(BAUDRATE_2);
serial_connect_timeout = millis() + 1000UL;
while (!MYSERIAL2.connected() && PENDING(millis(), serial_connect_timeout)) { /*nada*/ }
#ifdef SERIAL_PORT_3
#ifndef BAUDRATE_3
#define BAUDRATE_3 BAUDRATE
#endif
MYSERIAL3.begin(BAUDRATE_3);
serial_connect_timeout = millis() + 1000UL;
while (!MYSERIAL3.connected() && PENDING(millis(), serial_connect_timeout)) { /*nada*/ }
#endif
#endif
SERIAL_ECHOLNPGM("start");
@@ -1087,6 +1100,10 @@ void setup() {
#endif
#endif
#if HAS_FREEZE_PIN
SET_INPUT_PULLUP(FREEZE_PIN);
#endif
#if HAS_SUICIDE
SETUP_LOG("SUICIDE_PIN");
OUT_WRITE(SUICIDE_PIN, !SUICIDE_PIN_INVERTING);
@@ -1477,7 +1494,7 @@ void setup() {
#endif
#if HAS_TRINAMIC_CONFIG && DISABLED(PSU_DEFAULT_OFF)
SETUP_RUN(test_tmc_connection(true, true, true, true));
SETUP_RUN(test_tmc_connection());
#endif
#if HAS_DRIVER_SAFE_POWER_PROTECT

View File

@@ -56,20 +56,21 @@ void minkill(const bool steppers_off=false);
// Global State of the firmware
enum MarlinState : uint8_t {
MF_INITIALIZING = 0,
MF_RUNNING = _BV(0),
MF_PAUSED = _BV(1),
MF_WAITING = _BV(2),
MF_STOPPED = _BV(3),
MF_SD_COMPLETE = _BV(4),
MF_KILLED = _BV(7)
MF_INITIALIZING = 0,
MF_STOPPED,
MF_KILLED,
MF_RUNNING,
MF_SD_COMPLETE,
MF_PAUSED,
MF_WAITING,
};
extern MarlinState marlin_state;
inline bool IsRunning() { return marlin_state == MF_RUNNING; }
inline bool IsStopped() { return marlin_state != MF_RUNNING; }
inline bool IsRunning() { return marlin_state >= MF_RUNNING; }
inline bool IsStopped() { return marlin_state == MF_STOPPED; }
bool printingIsActive();
bool printJobOngoing();
bool printingIsPaused();
void startOrResumeJob();

View File

@@ -159,6 +159,7 @@
#define BOARD_PICA_REVB 1324 // PICA Shield (original version)
#define BOARD_PICA 1325 // PICA Shield (rev C or later)
#define BOARD_INTAMSYS40 1326 // Intamsys 4.0 (Funmat HT)
#define BOARD_MALYAN_M180 1327 // Malyan M180 Mainboard Version 2 (no display function, direct gcode only)
//
// ATmega1281, ATmega2561
@@ -367,22 +368,25 @@
#define BOARD_BTT_SKR_PRO_V1_2 4208 // BigTreeTech SKR Pro v1.2 (STM32F407ZGT6)
#define BOARD_BTT_BTT002_V1_0 4209 // BigTreeTech BTT002 v1.0 (STM32F407VGT6)
#define BOARD_BTT_E3_RRF 4210 // BigTreeTech E3 RRF (STM32F407VGT6)
#define BOARD_BTT_SKR_V2_0 4211 // BigTreeTech SKR v2.0 (STM32F407VGT6)
#define BOARD_BTT_GTR_V1_0 4212 // BigTreeTech GTR v1.0 (STM32F407IGT)
#define BOARD_LERDGE_K 4213 // Lerdge K (STM32F407ZG)
#define BOARD_LERDGE_S 4214 // Lerdge S (STM32F407VE)
#define BOARD_LERDGE_X 4215 // Lerdge X (STM32F407VE)
#define BOARD_VAKE403D 4216 // VAkE 403D (STM32F446VET6)
#define BOARD_FYSETC_S6 4217 // FYSETC S6 (STM32F446VET6)
#define BOARD_FYSETC_S6_V2_0 4218 // FYSETC S6 v2.0 (STM32F446VET6)
#define BOARD_FYSETC_SPIDER 4219 // FYSETC Spider (STM32F446VET6)
#define BOARD_FLYF407ZG 4220 // FLYF407ZG (STM32F407ZG)
#define BOARD_MKS_ROBIN2 4221 // MKS_ROBIN2 (STM32F407ZE)
#define BOARD_MKS_ROBIN_PRO_V2 4222 // MKS Robin Pro V2 (STM32F407VE)
#define BOARD_MKS_ROBIN_NANO_V3 4223 // MKS Robin Nano V3 (STM32F407VG)
#define BOARD_ANET_ET4 4224 // ANET ET4 V1.x (STM32F407VGT6)
#define BOARD_ANET_ET4P 4225 // ANET ET4P V1.x (STM32F407VGT6)
#define BOARD_FYSETC_CHEETAH_V20 4226 // FYSETC Cheetah V2.0
#define BOARD_BTT_SKR_V2_0_REV_A 4211 // BigTreeTech SKR v2.0 Rev A (STM32F407VGT6)
#define BOARD_BTT_SKR_V2_0_REV_B 4212 // BigTreeTech SKR v2.0 Rev B (STM32F407VGT6)
#define BOARD_BTT_GTR_V1_0 4213 // BigTreeTech GTR v1.0 (STM32F407IGT)
#define BOARD_BTT_OCTOPUS_V1_0 4214 // BigTreeTech Octopus v1.0 (STM32F446ZET6)
#define BOARD_LERDGE_K 4215 // Lerdge K (STM32F407ZG)
#define BOARD_LERDGE_S 4216 // Lerdge S (STM32F407VE)
#define BOARD_LERDGE_X 4217 // Lerdge X (STM32F407VE)
#define BOARD_VAKE403D 4218 // VAkE 403D (STM32F446VET6)
#define BOARD_FYSETC_S6 4219 // FYSETC S6 (STM32F446VET6)
#define BOARD_FYSETC_S6_V2_0 4220 // FYSETC S6 v2.0 (STM32F446VET6)
#define BOARD_FYSETC_SPIDER 4221 // FYSETC Spider (STM32F446VET6)
#define BOARD_FLYF407ZG 4222 // FLYF407ZG (STM32F407ZG)
#define BOARD_MKS_ROBIN2 4223 // MKS_ROBIN2 (STM32F407ZE)
#define BOARD_MKS_ROBIN_PRO_V2 4224 // MKS Robin Pro V2 (STM32F407VE)
#define BOARD_MKS_ROBIN_NANO_V3 4225 // MKS Robin Nano V3 (STM32F407VG)
#define BOARD_ANET_ET4 4226 // ANET ET4 V1.x (STM32F407VGT6)
#define BOARD_ANET_ET4P 4227 // ANET ET4P V1.x (STM32F407VGT6)
#define BOARD_FYSETC_CHEETAH_V20 4228 // FYSETC Cheetah V2.0
//
// ARM Cortex M7

View File

@@ -44,6 +44,6 @@ private:
SERIAL_ECHOPGM_P(the_msg);
}
SERIAL_CHAR(' ');
print_xyz(current_position);
print_pos(current_position);
}
};

View File

@@ -140,25 +140,7 @@
#define STR_RESEND "Resend: "
#define STR_UNKNOWN_COMMAND "Unknown command: \""
#define STR_ACTIVE_EXTRUDER "Active Extruder: "
#define STR_X_MIN "x_min"
#define STR_X_MAX "x_max"
#define STR_X2_MIN "x2_min"
#define STR_X2_MAX "x2_max"
#define STR_Y_MIN "y_min"
#define STR_Y_MAX "y_max"
#define STR_Y2_MIN "y2_min"
#define STR_Y2_MAX "y2_max"
#define STR_Z_MIN "z_min"
#define STR_Z_MAX "z_max"
#define STR_Z2_MIN "z2_min"
#define STR_Z2_MAX "z2_max"
#define STR_Z3_MIN "z3_min"
#define STR_Z3_MAX "z3_max"
#define STR_Z4_MIN "z4_min"
#define STR_Z4_MAX "z4_max"
#define STR_Z_PROBE "z_probe"
#define STR_PROBE_EN "probe_en"
#define STR_FILAMENT_RUNOUT_SENSOR "filament"
#define STR_PROBE_OFFSET "Probe Offset"
#define STR_SKEW_MIN "min_skew_factor: "
#define STR_SKEW_MAX "max_skew_factor: "
@@ -277,14 +259,30 @@
#define STR_REMINDER_SAVE_SETTINGS "Remember to save!"
#define STR_PASSWORD_SET "Password is "
// LCD Menu Messages
#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h)
#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
//
// Endstop Names used by Endstops::report_states
//
#define STR_X_MIN "x_min"
#define STR_X_MAX "x_max"
#define STR_X2_MIN "x2_min"
#define STR_X2_MAX "x2_max"
#define STR_Y_MIN "y_min"
#define STR_Y_MAX "y_max"
#define STR_Y2_MIN "y2_min"
#define STR_Y2_MAX "y2_max"
#define STR_Z_MIN "z_min"
#define STR_Z_MAX "z_max"
#define STR_Z2_MIN "z2_min"
#define STR_Z2_MAX "z2_max"
#define STR_Z3_MIN "z3_min"
#define STR_Z3_MAX "z3_max"
#define STR_Z4_MIN "z4_min"
#define STR_Z4_MAX "z4_max"
#define STR_Z_PROBE "z_probe"
#define STR_PROBE_EN "probe_en"
#define STR_FILAMENT_RUNOUT_SENSOR "filament"
// General axis names
#define STR_X "X"
#define STR_Y "Y"
#define STR_Z "Z"
@@ -386,6 +384,14 @@
#define LCD_STR_E6 "E" LCD_STR_N6
#define LCD_STR_E7 "E" LCD_STR_N7
// Include localized LCD Menu Messages
#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h)
#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
// Use superscripts, if possible. Evaluated at point of use.
#define SUPERSCRIPT_TWO TERN(NOT_EXTENDED_ISO10646_1_5X7, "^2", "²")
#define SUPERSCRIPT_THREE TERN(NOT_EXTENDED_ISO10646_1_5X7, "^3", "³")

View File

@@ -195,6 +195,11 @@
#define __TERN(T,V...) ___TERN(_CAT(_NO,T),V) // Prepend '_NO' to get '_NOT_0' or '_NOT_1'
#define ___TERN(P,V...) THIRD(P,V) // If first argument has a comma, A. Else B.
#define _OPTARG(A) , A
#define OPTARG(O,A) TERN_(O,DEFER4(_OPTARG)(A))
#define _OPTCODE(A) A;
#define OPTCODE(O,A) TERN_(O,DEFER4(_OPTCODE)(A))
// Macros to avoid 'f + 0.0' which is not always optimized away. Minus included for symmetry.
// Compiler flags -fno-signed-zeros -ffinite-math-only also cover 'f * 1.0', 'f - f', etc.
#define PLUS_TERN0(O,A) _TERN(_ENA_1(O),,+ (A)) // OPTION ? '+ (A)' : '<nul>'
@@ -237,6 +242,38 @@
memcpy(&a[0],&b[0],_MIN(sizeof(a),sizeof(b))); \
}while(0)
#define CODE_9( A,B,C,D,E,F,G,H,I,...) A; B; C; D; E; F; G; H; I
#define CODE_8( A,B,C,D,E,F,G,H,...) A; B; C; D; E; F; G; H
#define CODE_7( A,B,C,D,E,F,G,...) A; B; C; D; E; F; G
#define CODE_6( A,B,C,D,E,F,...) A; B; C; D; E; F
#define CODE_5( A,B,C,D,E,...) A; B; C; D; E
#define CODE_4( A,B,C,D,...) A; B; C; D
#define CODE_3( A,B,C,...) A; B; C
#define CODE_2( A,B,...) A; B
#define CODE_1( A,...) A
#define _CODE_N(N,V...) CODE_##N(V)
#define CODE_N(N,V...) _CODE_N(N,V)
#define GANG_16(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,...) A B C D E F G H I J K L M N O P
#define GANG_15(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,...) A B C D E F G H I J K L M N O
#define GANG_14(A,B,C,D,E,F,G,H,I,J,K,L,M,N,...) A B C D E F G H I J K L M N
#define GANG_13(A,B,C,D,E,F,G,H,I,J,K,L,M...) A B C D E F G H I J K L M
#define GANG_12(A,B,C,D,E,F,G,H,I,J,K,L...) A B C D E F G H I J K L
#define GANG_11(A,B,C,D,E,F,G,H,I,J,K,...) A B C D E F G H I J K
#define GANG_10(A,B,C,D,E,F,G,H,I,J,...) A B C D E F G H I J
#define GANG_9( A,B,C,D,E,F,G,H,I,...) A B C D E F G H I
#define GANG_8( A,B,C,D,E,F,G,H,...) A B C D E F G H
#define GANG_7( A,B,C,D,E,F,G,...) A B C D E F G
#define GANG_6( A,B,C,D,E,F,...) A B C D E F
#define GANG_5( A,B,C,D,E,...) A B C D E
#define GANG_4( A,B,C,D,...) A B C D
#define GANG_3( A,B,C,...) A B C
#define GANG_2( A,B,...) A B
#define GANG_1( A,...) A
#define _GANG_N(N,V...) GANG_##N(V)
#define GANG_N(N,V...) _GANG_N(N,V)
#define GANG_N_1(N,K) _GANG_N(N,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K)
// Macros for initializing arrays
#define LIST_16(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P
#define LIST_15(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O
@@ -254,10 +291,13 @@
#define LIST_3( A,B,C,...) A,B,C
#define LIST_2( A,B,...) A,B
#define LIST_1( A,...) A
#define LIST_0(...)
#define _LIST_N(N,V...) LIST_##N(V)
#define LIST_N(N,V...) _LIST_N(N,V)
#define LIST_N_1(N,K) _LIST_N(N,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K)
#define ARRAY_N(N,V...) { _LIST_N(N,V) }
#define ARRAY_N_1(N,K) { LIST_N_1(N,K) }
#define _JOIN_1(O) (O)
#define JOIN_N(N,C,V...) (DO(JOIN,C,LIST_N(N,V)))
@@ -301,8 +341,12 @@
#define HYPOT(x,y) SQRT(HYPOT2(x,y))
// Use NUM_ARGS(__VA_ARGS__) to get the number of variadic arguments
#define _NUM_ARGS(_,Z,Y,X,W,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C,B,A,OUT,...) OUT
#define NUM_ARGS(V...) _NUM_ARGS(0,V,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
#define _NUM_ARGS(_,n,m,l,k,j,i,h,g,f,e,d,c,b,a,Z,Y,X,W,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C,B,A,OUT,...) OUT
#define NUM_ARGS(V...) _NUM_ARGS(0,V,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
// Use TWO_ARGS(__VA_ARGS__) to get whether there are 1, 2, or >2 arguments
#define _TWO_ARGS(_,n,m,l,k,j,i,h,g,f,e,d,c,b,a,Z,Y,X,W,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C,B,A,OUT,...) OUT
#define TWO_ARGS(V...) _TWO_ARGS(0,V,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,0)
#ifdef __cplusplus
@@ -414,31 +458,19 @@
#else
#define MIN_2(a,b) ((a)<(b)?(a):(b))
#define MIN_3(a,V...) MIN_2(a,MIN_2(V))
#define MIN_4(a,V...) MIN_2(a,MIN_3(V))
#define MIN_5(a,V...) MIN_2(a,MIN_4(V))
#define MIN_6(a,V...) MIN_2(a,MIN_5(V))
#define MIN_7(a,V...) MIN_2(a,MIN_6(V))
#define MIN_8(a,V...) MIN_2(a,MIN_7(V))
#define MIN_9(a,V...) MIN_2(a,MIN_8(V))
#define MIN_10(a,V...) MIN_2(a,MIN_9(V))
#define __MIN_N(N,V...) MIN_##N(V)
#define _MIN_N(N,V...) __MIN_N(N,V)
#define _MIN(V...) _MIN_N(NUM_ARGS(V), V)
#define _MIN_N_REF() _MIN_N
#define _MIN(V...) EVAL(_MIN_N(TWO_ARGS(V),V))
#define MIN_2(a,b) ((a)<(b)?(a):(b))
#define MIN_3(a,V...) MIN_2(a,DEFER2(_MIN_N_REF)()(TWO_ARGS(V),V))
#define MAX_2(a,b) ((a)>(b)?(a):(b))
#define MAX_3(a,V...) MAX_2(a,MAX_2(V))
#define MAX_4(a,V...) MAX_2(a,MAX_3(V))
#define MAX_5(a,V...) MAX_2(a,MAX_4(V))
#define MAX_6(a,V...) MAX_2(a,MAX_5(V))
#define MAX_7(a,V...) MAX_2(a,MAX_6(V))
#define MAX_8(a,V...) MAX_2(a,MAX_7(V))
#define MAX_9(a,V...) MAX_2(a,MAX_8(V))
#define MAX_10(a,V...) MAX_2(a,MAX_9(V))
#define __MAX_N(N,V...) MAX_##N(V)
#define _MAX_N(N,V...) __MAX_N(N,V)
#define _MAX(V...) _MAX_N(NUM_ARGS(V), V)
#define _MAX_N_REF() _MAX_N
#define _MAX(V...) EVAL(_MAX_N(TWO_ARGS(V),V))
#define MAX_2(a,b) ((a)>(b)?(a):(b))
#define MAX_3(a,V...) MAX_2(a,DEFER2(_MAX_N_REF)()(TWO_ARGS(V),V))
#endif
@@ -473,6 +505,9 @@
#define ADD8(N) ADD4(ADD4(N))
#define ADD9(N) ADD4(ADD5(N))
#define ADD10(N) ADD5(ADD5(N))
#define SUM(A,B) _CAT(ADD,A)(B)
#define DOUBLE_(n) ADD##n(n)
#define DOUBLE(n) DOUBLE_(n)
// Macros for subtracting
#define DEC_0 0
@@ -581,6 +616,7 @@
// Repeat a macro passing S...N-1.
#define REPEAT_S(S,N,OP) EVAL(_REPEAT(S,SUB##S(N),OP))
#define REPEAT(N,OP) REPEAT_S(0,N,OP)
#define REPEAT_1(N,OP) REPEAT_S(1,INCREMENT(N),OP)
// Repeat a macro passing 0...N-1 plus additional arguments.
#define REPEAT2_S(S,N,OP,V...) EVAL(_REPEAT2(S,SUB##S(N),OP,V))

View File

@@ -44,6 +44,9 @@ PGMSTR(SP_X_LBL, " X:"); PGMSTR(SP_Y_LBL, " Y:"); PGMSTR(SP_Z_LBL, " Z:"); PGMST
#if ENABLED(MEATPACK_ON_SERIAL_PORT_2)
SerialLeafT2 mpSerial2(false, _SERIAL_LEAF_2);
#endif
#if ENABLED(MEATPACK_ON_SERIAL_PORT_3)
SerialLeafT3 mpSerial3(false, _SERIAL_LEAF_3);
#endif
// Step 2: For multiserial, handle the second serial port as well
#if HAS_MULTI_SERIAL
@@ -52,7 +55,14 @@ PGMSTR(SP_X_LBL, " X:"); PGMSTR(SP_Y_LBL, " Y:"); PGMSTR(SP_Z_LBL, " Z:"); PGMST
SerialLeafT2 msSerial2(ethernet.have_telnet_client, MYSERIAL2, false);
#endif
SerialOutputT multiSerial(SERIAL_LEAF_1, SERIAL_LEAF_2);
#define __S_LEAF(N) ,SERIAL_LEAF_##N
#define _S_LEAF(N) __S_LEAF(N)
SerialOutputT multiSerial( SERIAL_LEAF_1 REPEAT_S(2, INCREMENT(NUM_SERIAL), _S_LEAF) );
#undef __S_LEAF
#undef _S_LEAF
#endif
void serialprintPGM(PGM_P str) {
@@ -91,7 +101,7 @@ void print_bin(uint16_t val) {
}
}
void print_xyz(const_float_t x, const_float_t y, const_float_t z, PGM_P const prefix/*=nullptr*/, PGM_P const suffix/*=nullptr*/) {
void print_pos(const_float_t x, const_float_t y, const_float_t z, PGM_P const prefix/*=nullptr*/, PGM_P const suffix/*=nullptr*/) {
if (prefix) serialprintPGM(prefix);
SERIAL_ECHOPAIR_P(SP_X_STR, x, SP_Y_STR, y, SP_Z_STR, z);
if (suffix) serialprintPGM(suffix); else SERIAL_EOL();

View File

@@ -62,11 +62,11 @@ extern uint8_t marlin_debug_flags;
//
// Serial redirection
//
// Step 1: Find what's the first serial leaf
// Step 1: Find out what the first serial leaf is
#if BOTH(HAS_MULTI_SERIAL, SERIAL_CATCHALL)
#define _SERIAL_LEAF_1 MYSERIAL
#define _SERIAL_LEAF_1 MYSERIAL
#else
#define _SERIAL_LEAF_1 MYSERIAL1
#define _SERIAL_LEAF_1 MYSERIAL1
#endif
// Hook Meatpack if it's enabled on the first leaf
@@ -78,7 +78,8 @@ extern uint8_t marlin_debug_flags;
#define SERIAL_LEAF_1 _SERIAL_LEAF_1
#endif
// Step 2: For multiserial, handle the second serial port as well
// Step 2: For multiserial wrap all serial ports in a single
// interface with the ability to output to multiple serial ports.
#if HAS_MULTI_SERIAL
#define _PORT_REDIRECT(n,p) REMEMBER(n,multiSerial.portMask,p)
#define _PORT_RESTORE(n,p) RESTORE(n)
@@ -86,18 +87,17 @@ extern uint8_t marlin_debug_flags;
// If we have a catchall, use that directly
#ifdef SERIAL_CATCHALL
#define _SERIAL_LEAF_2 SERIAL_CATCHALL
#elif HAS_ETHERNET
typedef ConditionalSerial<decltype(MYSERIAL2)> SerialLeafT2; // We need to create an instance here
extern SerialLeafT2 msSerial2;
#define _SERIAL_LEAF_2 msSerial2
#else
#if HAS_ETHERNET
// We need to create an instance here
typedef ConditionalSerial<decltype(MYSERIAL2)> SerialLeafT2;
extern SerialLeafT2 msSerial2;
#define _SERIAL_LEAF_2 msSerial2
#else
// Don't create a useless instance here, directly use the existing instance
#define _SERIAL_LEAF_2 MYSERIAL2
#endif
#define _SERIAL_LEAF_2 MYSERIAL2 // Don't create a useless instance here, directly use the existing instance
#endif
// Nothing complicated here
#define _SERIAL_LEAF_3 MYSERIAL3
// Hook Meatpack if it's enabled on the second leaf
#if ENABLED(MEATPACK_ON_SERIAL_PORT_2)
typedef MeatpackSerial<decltype(_SERIAL_LEAF_2)> SerialLeafT2;
@@ -107,7 +107,23 @@ extern uint8_t marlin_debug_flags;
#define SERIAL_LEAF_2 _SERIAL_LEAF_2
#endif
typedef MultiSerial<decltype(SERIAL_LEAF_1), decltype(SERIAL_LEAF_2), 0> SerialOutputT;
// Hook Meatpack if it's enabled on the third leaf
#if ENABLED(MEATPACK_ON_SERIAL_PORT_3)
typedef MeatpackSerial<decltype(_SERIAL_LEAF_3)> SerialLeafT3;
extern SerialLeafT3 mpSerial3;
#define SERIAL_LEAF_3 mpSerial3
#else
#define SERIAL_LEAF_3 _SERIAL_LEAF_3
#endif
#define __S_MULTI(N) decltype(SERIAL_LEAF_##N),
#define _S_MULTI(N) __S_MULTI(N)
typedef MultiSerial< REPEAT_1(NUM_SERIAL, _S_MULTI) 0> SerialOutputT;
#undef __S_MULTI
#undef _S_MULTI
extern SerialOutputT multiSerial;
#define SERIAL_IMPL multiSerial
#else
@@ -166,139 +182,45 @@ inline void SERIAL_FLUSHTX() { SERIAL_IMPL.flushTX(); }
// Print a single PROGMEM string to serial
void serialprintPGM(PGM_P str);
// SERIAL_ECHOPAIR / SERIAL_ECHOPAIR_P is used to output a key value pair. The key must be a string and the value can be anything
// Print up to 12 pairs of values. Odd elements auto-wrapped in PSTR().
#define __SEP_N(N,V...) _SEP_##N(V)
#define _SEP_N(N,V...) __SEP_N(N,V)
#define _SEP_1(PRE) SERIAL_ECHOPGM(PRE)
#define _SEP_2(PRE,V) serial_echopair_PGM(PSTR(PRE),V)
#define _SEP_3(a,b,c) do{ _SEP_2(a,b); SERIAL_ECHOPGM(c); }while(0)
#define _SEP_4(a,b,V...) do{ _SEP_2(a,b); _SEP_2(V); }while(0)
#define _SEP_5(a,b,V...) do{ _SEP_2(a,b); _SEP_3(V); }while(0)
#define _SEP_6(a,b,V...) do{ _SEP_2(a,b); _SEP_4(V); }while(0)
#define _SEP_7(a,b,V...) do{ _SEP_2(a,b); _SEP_5(V); }while(0)
#define _SEP_8(a,b,V...) do{ _SEP_2(a,b); _SEP_6(V); }while(0)
#define _SEP_9(a,b,V...) do{ _SEP_2(a,b); _SEP_7(V); }while(0)
#define _SEP_10(a,b,V...) do{ _SEP_2(a,b); _SEP_8(V); }while(0)
#define _SEP_11(a,b,V...) do{ _SEP_2(a,b); _SEP_9(V); }while(0)
#define _SEP_12(a,b,V...) do{ _SEP_2(a,b); _SEP_10(V); }while(0)
#define _SEP_13(a,b,V...) do{ _SEP_2(a,b); _SEP_11(V); }while(0)
#define _SEP_14(a,b,V...) do{ _SEP_2(a,b); _SEP_12(V); }while(0)
#define _SEP_15(a,b,V...) do{ _SEP_2(a,b); _SEP_13(V); }while(0)
#define _SEP_16(a,b,V...) do{ _SEP_2(a,b); _SEP_14(V); }while(0)
#define _SEP_17(a,b,V...) do{ _SEP_2(a,b); _SEP_15(V); }while(0)
#define _SEP_18(a,b,V...) do{ _SEP_2(a,b); _SEP_16(V); }while(0)
#define _SEP_19(a,b,V...) do{ _SEP_2(a,b); _SEP_17(V); }while(0)
#define _SEP_20(a,b,V...) do{ _SEP_2(a,b); _SEP_18(V); }while(0)
#define _SEP_21(a,b,V...) do{ _SEP_2(a,b); _SEP_19(V); }while(0)
#define _SEP_22(a,b,V...) do{ _SEP_2(a,b); _SEP_20(V); }while(0)
#define _SEP_23(a,b,V...) do{ _SEP_2(a,b); _SEP_21(V); }while(0)
#define _SEP_24(a,b,V...) do{ _SEP_2(a,b); _SEP_22(V); }while(0)
//
// SERIAL_ECHOPAIR... macros are used to output string-value pairs.
//
#define SERIAL_ECHOPAIR(V...) _SEP_N(NUM_ARGS(V),V)
// Print up to 20 pairs of values. Odd elements must be literal strings.
#define __SEP_N(N,V...) _SEP_##N(V)
#define _SEP_N(N,V...) __SEP_N(N,V)
#define _SEP_N_REF() _SEP_N
#define _SEP_1(s) SERIAL_ECHOPGM(s);
#define _SEP_2(s,v) serial_echopair_PGM(PSTR(s),v);
#define _SEP_3(s,v,V...) _SEP_2(s,v); DEFER2(_SEP_N_REF)()(TWO_ARGS(V),V);
#define SERIAL_ECHOPAIR(V...) do{ EVAL(_SEP_N(TWO_ARGS(V),V)); }while(0)
// Print up to 12 pairs of values. Odd elements must be PSTR pointers.
#define __SEP_N_P(N,V...) _SEP_##N##_P(V)
#define _SEP_N_P(N,V...) __SEP_N_P(N,V)
#define _SEP_1_P(PRE) serialprintPGM(PRE)
#define _SEP_2_P(PRE,V) serial_echopair_PGM(PRE,V)
#define _SEP_3_P(a,b,c) do{ _SEP_2_P(a,b); serialprintPGM(c); }while(0)
#define _SEP_4_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_2_P(V); }while(0)
#define _SEP_5_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_3_P(V); }while(0)
#define _SEP_6_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_4_P(V); }while(0)
#define _SEP_7_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_5_P(V); }while(0)
#define _SEP_8_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_6_P(V); }while(0)
#define _SEP_9_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_7_P(V); }while(0)
#define _SEP_10_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_8_P(V); }while(0)
#define _SEP_11_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_9_P(V); }while(0)
#define _SEP_12_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_10_P(V); }while(0)
#define _SEP_13_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_11_P(V); }while(0)
#define _SEP_14_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_12_P(V); }while(0)
#define _SEP_15_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_13_P(V); }while(0)
#define _SEP_16_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_14_P(V); }while(0)
#define _SEP_17_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_15_P(V); }while(0)
#define _SEP_18_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_16_P(V); }while(0)
#define _SEP_19_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_17_P(V); }while(0)
#define _SEP_20_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_18_P(V); }while(0)
#define _SEP_21_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_19_P(V); }while(0)
#define _SEP_22_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_20_P(V); }while(0)
#define _SEP_23_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_21_P(V); }while(0)
#define _SEP_24_P(a,b,V...) do{ _SEP_2_P(a,b); _SEP_22_P(V); }while(0)
// Print up to 20 pairs of values followed by newline. Odd elements must be literal strings.
#define __SELP_N(N,V...) _SELP_##N(V)
#define _SELP_N(N,V...) __SELP_N(N,V)
#define _SELP_N_REF() _SELP_N
#define _SELP_1(s) SERIAL_ECHOLNPGM(s);
#define _SELP_2(s,v) serial_echopair_PGM(PSTR(s),v); SERIAL_EOL();
#define _SELP_3(s,v,V...) _SEP_2(s,v); DEFER2(_SELP_N_REF)()(TWO_ARGS(V),V);
#define SERIAL_ECHOLNPAIR(V...) do{ EVAL(_SELP_N(TWO_ARGS(V),V)); }while(0)
// SERIAL_ECHOPAIR_P is used to output a key value pair. Unlike SERIAL_ECHOPAIR, the key must be a PGM string already and the value can be anything
#define SERIAL_ECHOPAIR_P(V...) _SEP_N_P(NUM_ARGS(V),V)
// Print up to 20 pairs of values. Odd elements must be PSTR pointers.
#define __SEP_N_P(N,V...) _SEP_##N##_P(V)
#define _SEP_N_P(N,V...) __SEP_N_P(N,V)
#define _SEP_N_P_REF() _SEP_N_P
#define _SEP_1_P(s) serialprintPGM(s);
#define _SEP_2_P(s,v) serial_echopair_PGM(s,v);
#define _SEP_3_P(s,v,V...) _SEP_2_P(s,v); DEFER2(_SEP_N_P_REF)()(TWO_ARGS(V),V);
#define SERIAL_ECHOPAIR_P(V...) do{ EVAL(_SEP_N_P(TWO_ARGS(V),V)); }while(0)
// Print up to 12 pairs of values followed by newline
#define __SELP_N(N,V...) _SELP_##N(V)
#define _SELP_N(N,V...) __SELP_N(N,V)
#define _SELP_1(PRE) SERIAL_ECHOLNPGM(PRE)
#define _SELP_2(PRE,V) do{ serial_echopair_PGM(PSTR(PRE),V); SERIAL_EOL(); }while(0)
#define _SELP_3(a,b,c) do{ _SEP_2(a,b); SERIAL_ECHOLNPGM(c); }while(0)
#define _SELP_4(a,b,V...) do{ _SEP_2(a,b); _SELP_2(V); }while(0)
#define _SELP_5(a,b,V...) do{ _SEP_2(a,b); _SELP_3(V); }while(0)
#define _SELP_6(a,b,V...) do{ _SEP_2(a,b); _SELP_4(V); }while(0)
#define _SELP_7(a,b,V...) do{ _SEP_2(a,b); _SELP_5(V); }while(0)
#define _SELP_8(a,b,V...) do{ _SEP_2(a,b); _SELP_6(V); }while(0)
#define _SELP_9(a,b,V...) do{ _SEP_2(a,b); _SELP_7(V); }while(0)
#define _SELP_10(a,b,V...) do{ _SEP_2(a,b); _SELP_8(V); }while(0)
#define _SELP_11(a,b,V...) do{ _SEP_2(a,b); _SELP_9(V); }while(0)
#define _SELP_12(a,b,V...) do{ _SEP_2(a,b); _SELP_10(V); }while(0)
#define _SELP_13(a,b,V...) do{ _SEP_2(a,b); _SELP_11(V); }while(0)
#define _SELP_14(a,b,V...) do{ _SEP_2(a,b); _SELP_12(V); }while(0)
#define _SELP_15(a,b,V...) do{ _SEP_2(a,b); _SELP_13(V); }while(0)
#define _SELP_16(a,b,V...) do{ _SEP_2(a,b); _SELP_14(V); }while(0)
#define _SELP_17(a,b,V...) do{ _SEP_2(a,b); _SELP_15(V); }while(0)
#define _SELP_18(a,b,V...) do{ _SEP_2(a,b); _SELP_16(V); }while(0)
#define _SELP_19(a,b,V...) do{ _SEP_2(a,b); _SELP_17(V); }while(0)
#define _SELP_20(a,b,V...) do{ _SEP_2(a,b); _SELP_18(V); }while(0)
#define _SELP_21(a,b,V...) do{ _SEP_2(a,b); _SELP_19(V); }while(0)
#define _SELP_22(a,b,V...) do{ _SEP_2(a,b); _SELP_20(V); }while(0)
#define _SELP_23(a,b,V...) do{ _SEP_2(a,b); _SELP_21(V); }while(0)
#define _SELP_24(a,b,V...) do{ _SEP_2(a,b); _SELP_22(V); }while(0)
#define _SELP_25(a,b,V...) do{ _SEP_2(a,b); _SELP_23(V); }while(0)
#define _SELP_26(a,b,V...) do{ _SEP_2(a,b); _SELP_24(V); }while(0)
#define _SELP_27(a,b,V...) do{ _SEP_2(a,b); _SELP_25(V); }while(0)
#define _SELP_28(a,b,V...) do{ _SEP_2(a,b); _SELP_26(V); }while(0)
#define _SELP_29(a,b,V...) do{ _SEP_2(a,b); _SELP_27(V); }while(0)
#define _SELP_30(a,b,V...) do{ _SEP_2(a,b); _SELP_28(V); }while(0) // Eat two args, pass the rest up
#define SERIAL_ECHOLNPAIR(V...) _SELP_N(NUM_ARGS(V),V)
// Print up to 12 pairs of values followed by newline
#define __SELP_N_P(N,V...) _SELP_##N##_P(V)
#define _SELP_N_P(N,V...) __SELP_N_P(N,V)
#define _SELP_1_P(PRE) serialprintPGM(PRE)
#define _SELP_2_P(PRE,V) do{ serial_echopair_PGM(PRE,V); SERIAL_EOL(); }while(0)
#define _SELP_3_P(a,b,c) do{ _SEP_2_P(a,b); serialprintPGM(c); }while(0)
#define _SELP_4_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_2_P(V); }while(0)
#define _SELP_5_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_3_P(V); }while(0)
#define _SELP_6_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_4_P(V); }while(0)
#define _SELP_7_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_5_P(V); }while(0)
#define _SELP_8_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_6_P(V); }while(0)
#define _SELP_9_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_7_P(V); }while(0)
#define _SELP_10_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_8_P(V); }while(0)
#define _SELP_11_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_9_P(V); }while(0)
#define _SELP_12_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_10_P(V); }while(0)
#define _SELP_13_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_11_P(V); }while(0)
#define _SELP_14_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_12_P(V); }while(0)
#define _SELP_15_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_13_P(V); }while(0)
#define _SELP_16_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_14_P(V); }while(0)
#define _SELP_17_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_15_P(V); }while(0)
#define _SELP_18_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_16_P(V); }while(0)
#define _SELP_19_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_17_P(V); }while(0)
#define _SELP_20_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_18_P(V); }while(0)
#define _SELP_21_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_19_P(V); }while(0)
#define _SELP_22_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_20_P(V); }while(0)
#define _SELP_23_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_21_P(V); }while(0)
#define _SELP_24_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_22_P(V); }while(0)
#define _SELP_25_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_23_P(V); }while(0)
#define _SELP_26_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_24_P(V); }while(0)
#define _SELP_27_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_25_P(V); }while(0)
#define _SELP_28_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_26_P(V); }while(0)
#define _SELP_29_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_27_P(V); }while(0)
#define _SELP_30_P(a,b,V...) do{ _SEP_2_P(a,b); _SELP_28_P(V); }while(0) // Eat two args, pass the rest up
#define SERIAL_ECHOLNPAIR_P(V...) _SELP_N_P(NUM_ARGS(V),V)
// Print up to 20 pairs of values followed by newline. Odd elements must be PSTR pointers.
#define __SELP_N_P(N,V...) _SELP_##N##_P(V)
#define _SELP_N_P(N,V...) __SELP_N_P(N,V)
#define _SELP_N_P_REF() _SELP_N_P
#define _SELP_1_P(s) { serialprintPGM(s); SERIAL_EOL(); }
#define _SELP_2_P(s,v) { serial_echopair_PGM(s,v); SERIAL_EOL(); }
#define _SELP_3_P(s,v,V...) { _SEP_2_P(s,v); DEFER2(_SELP_N_P_REF)()(TWO_ARGS(V),V); }
#define SERIAL_ECHOLNPAIR_P(V...) do{ EVAL(_SELP_N_P(TWO_ARGS(V),V)); }while(0)
#ifdef AllowDifferentTypeInList
@@ -388,11 +310,11 @@ void serialprint_truefalse(const bool tf);
void serial_spaces(uint8_t count);
void print_bin(const uint16_t val);
void print_xyz(const_float_t x, const_float_t y, const_float_t z, PGM_P const prefix=nullptr, PGM_P const suffix=nullptr);
void print_pos(const_float_t x, const_float_t y, const_float_t z, PGM_P const prefix=nullptr, PGM_P const suffix=nullptr);
inline void print_xyz(const xyz_pos_t &xyz, PGM_P const prefix=nullptr, PGM_P const suffix=nullptr) {
print_xyz(xyz.x, xyz.y, xyz.z, prefix, suffix);
inline void print_pos(const xyz_pos_t &xyz, PGM_P const prefix=nullptr, PGM_P const suffix=nullptr) {
print_pos(xyz.x, xyz.y, xyz.z, prefix, suffix);
}
#define SERIAL_POS(SUFFIX,VAR) do { print_xyz(VAR, PSTR(" " STRINGIFY(VAR) "="), PSTR(" : " SUFFIX "\n")); }while(0)
#define SERIAL_XYZ(PREFIX,V...) do { print_xyz(V, PSTR(PREFIX), nullptr); }while(0)
#define SERIAL_POS(SUFFIX,VAR) do { print_pos(VAR, PSTR(" " STRINGIFY(VAR) "="), PSTR(" : " SUFFIX "\n")); }while(0)
#define SERIAL_XYZ(PREFIX,V...) do { print_pos(V, PSTR(PREFIX), nullptr); }while(0)

View File

@@ -67,7 +67,7 @@ struct BaseSerial : public SerialBase< BaseSerial<SerialT> >, public SerialT {
SerialFeature features(serial_index_t index) const { return CALL_IF_EXISTS(SerialFeature, static_cast<const SerialT*>(this), features, index); }
// We have 2 implementation of the same method in both base class, let's say which one we want
// Two implementations of the same method exist in both base classes so indicate the right one
using SerialT::available;
using SerialT::read;
using SerialT::begin;
@@ -134,7 +134,7 @@ struct ForwardSerial : public SerialBase< ForwardSerial<SerialT> > {
ForwardSerial(const bool e, SerialT & out) : BaseClassT(e), out(out) {}
};
// A class that's can be hooked and unhooked at runtime, useful to capturing the output of the serial interface
// A class that can be hooked and unhooked at runtime, useful to capture the output of the serial interface
template <class SerialT>
struct RuntimeSerial : public SerialBase< RuntimeSerial<SerialT> >, public SerialT {
typedef SerialBase< RuntimeSerial<SerialT> > BaseClassT;
@@ -195,54 +195,71 @@ struct RuntimeSerial : public SerialBase< RuntimeSerial<SerialT> >, public Seria
RuntimeSerial(const bool e, Args... args) : BaseClassT(e), SerialT(args...), writeHook(0), eofHook(0), userPointer(0) {}
};
// A class that duplicates its output conditionally to 2 serial interfaces
template <class Serial0T, class Serial1T, const uint8_t offset = 0, const uint8_t step = 1>
struct MultiSerial : public SerialBase< MultiSerial<Serial0T, Serial1T, offset, step> > {
typedef SerialBase< MultiSerial<Serial0T, Serial1T, offset, step> > BaseClassT;
#define _S_CLASS(N) class Serial##N##T,
#define _S_NAME(N) Serial##N##T,
template < REPEAT(NUM_SERIAL, _S_CLASS) const uint8_t offset=0, const uint8_t step=1 >
struct MultiSerial : public SerialBase< MultiSerial< REPEAT(NUM_SERIAL, _S_NAME) offset, step > > {
typedef SerialBase< MultiSerial< REPEAT(NUM_SERIAL, _S_NAME) offset, step > > BaseClassT;
#undef _S_CLASS
#undef _S_NAME
SerialMask portMask;
Serial0T & serial0;
Serial1T & serial1;
static constexpr uint8_t Usage = ((1 << step) - 1); // A bit mask containing as many bits as step
static constexpr uint8_t FirstOutput = (Usage << offset);
static constexpr uint8_t SecondOutput = (Usage << (offset + step));
static constexpr uint8_t Both = FirstOutput | SecondOutput;
#define _S_DECLARE(N) Serial##N##T & serial##N;
REPEAT(NUM_SERIAL, _S_DECLARE);
#undef _S_DECLARE
static constexpr uint8_t Usage = _BV(step) - 1; // A bit mask containing 'step' bits
#define _OUT_PORT(N) (Usage << (offset + (step * N))),
static constexpr uint8_t output[] = { REPEAT(NUM_SERIAL, _OUT_PORT) };
#undef _OUT_PORT
#define _OUT_MASK(N) | output[N]
static constexpr uint8_t ALL = 0 REPEAT(NUM_SERIAL, _OUT_MASK);
#undef _OUT_MASK
NO_INLINE void write(uint8_t c) {
if (portMask.enabled(FirstOutput)) serial0.write(c);
if (portMask.enabled(SecondOutput)) serial1.write(c);
#define _S_WRITE(N) if (portMask.enabled(output[N])) serial##N.write(c);
REPEAT(NUM_SERIAL, _S_WRITE);
#undef _S_WRITE
}
NO_INLINE void msgDone() {
if (portMask.enabled(FirstOutput)) serial0.msgDone();
if (portMask.enabled(SecondOutput)) serial1.msgDone();
#define _S_DONE(N) if (portMask.enabled(output[N])) serial##N.msgDone();
REPEAT(NUM_SERIAL, _S_DONE);
#undef _S_DONE
}
int available(serial_index_t index) {
if (index.within(0 + offset, step + offset - 1))
return serial0.available(index);
else if (index.within(step + offset, 2 * step + offset - 1))
return serial1.available(index);
uint8_t pos = offset;
#define _S_AVAILABLE(N) if (index.within(pos, pos + step - 1)) return serial##N.available(index); else pos += step;
REPEAT(NUM_SERIAL, _S_AVAILABLE);
#undef _S_AVAILABLE
return false;
}
int read(serial_index_t index) {
if (index.within(0 + offset, step + offset - 1))
return serial0.read(index);
else if (index.within(step + offset, 2 * step + offset - 1))
return serial1.read(index);
uint8_t pos = offset;
#define _S_READ(N) if (index.within(pos, pos + step - 1)) return serial##N.read(index); else pos += step;
REPEAT(NUM_SERIAL, _S_READ);
#undef _S_READ
return -1;
}
void begin(const long br) {
if (portMask.enabled(FirstOutput)) serial0.begin(br);
if (portMask.enabled(SecondOutput)) serial1.begin(br);
#define _S_BEGIN(N) if (portMask.enabled(output[N])) serial##N.begin(br);
REPEAT(NUM_SERIAL, _S_BEGIN);
#undef _S_BEGIN
}
void end() {
if (portMask.enabled(FirstOutput)) serial0.end();
if (portMask.enabled(SecondOutput)) serial1.end();
#define _S_END(N) if (portMask.enabled(output[N])) serial##N.end();
REPEAT(NUM_SERIAL, _S_END);
#undef _S_END
}
bool connected() {
bool ret = true;
if (portMask.enabled(FirstOutput)) ret = CALL_IF_EXISTS(bool, &serial0, connected);
if (portMask.enabled(SecondOutput)) ret = ret && CALL_IF_EXISTS(bool, &serial1, connected);
#define _S_CONNECTED(N) if (portMask.enabled(output[N]) && !CALL_IF_EXISTS(bool, &serial##N, connected)) ret = false;
REPEAT(NUM_SERIAL, _S_CONNECTED);
#undef _S_CONNECTED
return ret;
}
@@ -250,27 +267,32 @@ struct MultiSerial : public SerialBase< MultiSerial<Serial0T, Serial1T, offset,
using BaseClassT::read;
// Redirect flush
NO_INLINE void flush() {
if (portMask.enabled(FirstOutput)) serial0.flush();
if (portMask.enabled(SecondOutput)) serial1.flush();
NO_INLINE void flush() {
#define _S_FLUSH(N) if (portMask.enabled(output[N])) serial##N.flush();
REPEAT(NUM_SERIAL, _S_FLUSH);
#undef _S_FLUSH
}
NO_INLINE void flushTX() {
if (portMask.enabled(FirstOutput)) CALL_IF_EXISTS(void, &serial0, flushTX);
if (portMask.enabled(SecondOutput)) CALL_IF_EXISTS(void, &serial1, flushTX);
NO_INLINE void flushTX() {
#define _S_FLUSHTX(N) if (portMask.enabled(output[N])) CALL_IF_EXISTS(void, &serial0, flushTX);
REPEAT(NUM_SERIAL, _S_FLUSHTX);
#undef _S_FLUSHTX
}
// Forward feature queries
SerialFeature features(serial_index_t index) const {
if (index.within(0 + offset, step + offset - 1))
return serial0.features(index);
else if (index.within(step + offset, 2 * step + offset - 1))
return serial1.features(index);
SerialFeature features(serial_index_t index) const {
uint8_t pos = offset;
#define _S_FEATURES(N) if (index.within(pos, pos + step - 1)) return serial##N.features(index); else pos += step;
REPEAT(NUM_SERIAL, _S_FEATURES);
#undef _S_FEATURES
return SerialFeature::None;
}
MultiSerial(Serial0T & serial0, Serial1T & serial1, const SerialMask mask = Both, const bool e = false) :
BaseClassT(e),
portMask(mask), serial0(serial0), serial1(serial1) {}
#define _S_REFS(N) Serial##N##T & serial##N,
#define _S_INIT(N) ,serial##N (serial##N)
MultiSerial(REPEAT(NUM_SERIAL, _S_REFS) const SerialMask mask = ALL, const bool e = false)
: BaseClassT(e), portMask(mask) REPEAT(NUM_SERIAL, _S_INIT) {}
};
// Build the actual serial object depending on current configuration
@@ -278,4 +300,7 @@ struct MultiSerial : public SerialBase< MultiSerial<Serial0T, Serial1T, offset,
#define ForwardSerial1Class TERN(SERIAL_RUNTIME_HOOK, RuntimeSerial, ForwardSerial)
#ifdef HAS_MULTI_SERIAL
#define Serial2Class ConditionalSerial
#if NUM_SERIAL >= 3
#define Serial3Class ConditionalSerial
#endif
#endif

View File

@@ -29,34 +29,6 @@
class __FlashStringHelper;
typedef const __FlashStringHelper *progmem_str;
//
// Enumerated axis indices
//
// - X_AXIS, Y_AXIS, and Z_AXIS should be used for axes in Cartesian space
// - A_AXIS, B_AXIS, and C_AXIS should be used for Steppers, corresponding to XYZ on Cartesians
// - X_HEAD, Y_HEAD, and Z_HEAD should be used for Steppers on Core kinematics
//
enum AxisEnum : uint8_t {
X_AXIS = 0, A_AXIS = 0,
Y_AXIS = 1, B_AXIS = 1,
Z_AXIS = 2, C_AXIS = 2,
E_AXIS = 3,
X_HEAD = 4, Y_HEAD = 5, Z_HEAD = 6,
E0_AXIS = 3,
E1_AXIS, E2_AXIS, E3_AXIS, E4_AXIS, E5_AXIS, E6_AXIS, E7_AXIS,
ALL_AXES = 0xFE, NO_AXIS = 0xFF
};
//
// Loop over XYZE axes
//
#define LOOP_XYZ(VAR) LOOP_S_LE_N(VAR, X_AXIS, Z_AXIS)
#define LOOP_XYZE(VAR) LOOP_S_LE_N(VAR, X_AXIS, E_AXIS)
#define LOOP_XYZE_N(VAR) LOOP_S_L_N(VAR, X_AXIS, XYZE_N)
#define LOOP_ABC(VAR) LOOP_S_LE_N(VAR, A_AXIS, C_AXIS)
#define LOOP_ABCE(VAR) LOOP_S_LE_N(VAR, A_AXIS, E_AXIS)
#define LOOP_ABCE_N(VAR) LOOP_S_L_N(VAR, A_AXIS, XYZE_N)
//
// Conditional type assignment magic. For example...
//
@@ -67,6 +39,32 @@ struct IF { typedef R type; };
template <class L, class R>
struct IF<true, L, R> { typedef L type; };
//
// Enumerated axis indices
//
// - X_AXIS, Y_AXIS, and Z_AXIS should be used for axes in Cartesian space
// - A_AXIS, B_AXIS, and C_AXIS should be used for Steppers, corresponding to XYZ on Cartesians
// - X_HEAD, Y_HEAD, and Z_HEAD should be used for Steppers on Core kinematics
//
enum AxisEnum : uint8_t {
X_AXIS = 0, A_AXIS = X_AXIS,
Y_AXIS = 1, B_AXIS = Y_AXIS,
Z_AXIS = 2, C_AXIS = Z_AXIS,
E_AXIS,
X_HEAD, Y_HEAD, Z_HEAD,
E0_AXIS = E_AXIS,
E1_AXIS, E2_AXIS, E3_AXIS, E4_AXIS, E5_AXIS, E6_AXIS, E7_AXIS,
ALL_AXES_ENUM = 0xFE, NO_AXIS_ENUM = 0xFF
};
//
// Loop over axes
//
#define LOOP_ABC(VAR) LOOP_S_LE_N(VAR, A_AXIS, C_AXIS)
#define LOOP_LINEAR_AXES(VAR) LOOP_S_L_N(VAR, X_AXIS, LINEAR_AXES)
#define LOOP_LOGICAL_AXES(VAR) LOOP_S_L_N(VAR, X_AXIS, LOGICAL_AXES)
#define LOOP_DISTINCT_AXES(VAR) LOOP_S_L_N(VAR, X_AXIS, DISTINCT_AXES)
//
// feedRate_t is just a humble float
//
@@ -201,8 +199,8 @@ struct XYval {
FI void set(const T (&arr)[XY]) { x = arr[0]; y = arr[1]; }
FI void set(const T (&arr)[XYZ]) { x = arr[0]; y = arr[1]; }
FI void set(const T (&arr)[XYZE]) { x = arr[0]; y = arr[1]; }
#if XYZE_N > XYZE
FI void set(const T (&arr)[XYZE_N]) { x = arr[0]; y = arr[1]; }
#if DISTINCT_AXES > LOGICAL_AXES
FI void set(const T (&arr)[DISTINCT_AXES]) { x = arr[0]; y = arr[1]; }
#endif
FI void reset() { x = y = 0; }
FI T magnitude() const { return (T)sqrtf(x*x + y*y); }
@@ -312,8 +310,8 @@ struct XYZval {
FI void set(const T (&arr)[XY]) { x = arr[0]; y = arr[1]; }
FI void set(const T (&arr)[XYZ]) { x = arr[0]; y = arr[1]; z = arr[2]; }
FI void set(const T (&arr)[XYZE]) { x = arr[0]; y = arr[1]; z = arr[2]; }
#if XYZE_N > XYZE
FI void set(const T (&arr)[XYZE_N]) { x = arr[0]; y = arr[1]; z = arr[2]; }
#if DISTINCT_AXES > XYZE
FI void set(const T (&arr)[DISTINCT_AXES]) { x = arr[0]; y = arr[1]; z = arr[2]; }
#endif
FI void reset() { x = y = z = 0; }
FI T magnitude() const { return (T)sqrtf(x*x + y*y + z*z); }
@@ -427,8 +425,8 @@ struct XYZEval {
FI void set(const T (&arr)[XY]) { x = arr[0]; y = arr[1]; }
FI void set(const T (&arr)[XYZ]) { x = arr[0]; y = arr[1]; z = arr[2]; }
FI void set(const T (&arr)[XYZE]) { x = arr[0]; y = arr[1]; z = arr[2]; e = arr[3]; }
#if XYZE_N > XYZE
FI void set(const T (&arr)[XYZE_N]) { x = arr[0]; y = arr[1]; z = arr[2]; e = arr[3]; }
#if DISTINCT_AXES > XYZE
FI void set(const T (&arr)[DISTINCT_AXES]) { x = arr[0]; y = arr[1]; z = arr[2]; e = arr[3]; }
#endif
FI XYZEval<T> copy() const { return *this; }
FI XYZEval<T> ABS() const { return { T(_ABS(x)), T(_ABS(y)), T(_ABS(z)), T(_ABS(e)) }; }
@@ -518,4 +516,4 @@ struct XYZEval {
#undef FI
const xyze_char_t axis_codes { 'X', 'Y', 'Z', 'E' };
#define XYZ_CHAR(A) ((char)('X' + A))
#define AXIS_CHAR(A) ((char)('X' + A))

View File

@@ -35,18 +35,6 @@ void safe_delay(millis_t ms) {
thermalManager.manage_heater(); // This keeps us safe if too many small safe_delay() calls are made
}
#if ENABLED(MARLIN_DEV_MODE)
void early_safe_delay(millis_t ms) {
while (ms > 50) {
ms -= 50;
delay(50);
watchdog_refresh();
}
delay(ms);
watchdog_refresh();
}
#endif
// A delay to provide brittle hosts time to receive bytes
#if ENABLED(SERIAL_OVERRUN_PROTECTION)
@@ -135,9 +123,9 @@ void safe_delay(millis_t ms) {
#endif
#if ABL_PLANAR
SERIAL_ECHOPGM("ABL Adjustment X");
LOOP_XYZ(a) {
LOOP_LINEAR_AXES(a) {
const float v = planner.get_axis_position_mm(AxisEnum(a)) - current_position[a];
SERIAL_CHAR(' ', XYZ_CHAR(a));
SERIAL_CHAR(' ', AXIS_CHAR(a));
if (v > 0) SERIAL_CHAR('+');
SERIAL_DECIMAL(v);
}

View File

@@ -26,11 +26,6 @@
#include "../core/millis_t.h"
void safe_delay(millis_t ms); // Delay ensuring that temperatures are updated and the watchdog is kept alive.
#if ENABLED(MARLIN_DEV_MODE)
void early_safe_delay(millis_t ms); // Delay ensuring that the watchdog is kept alive. Can be used before the Temperature ISR starts.
#else
inline void early_safe_delay(millis_t ms) { safe_delay(ms); }
#endif
#if ENABLED(SERIAL_OVERRUN_PROTECTION)
void serial_delay(const millis_t ms);

View File

@@ -104,7 +104,7 @@ void Backlash::add_correction_steps(const int32_t &da, const int32_t &db, const
const float f_corr = float(correction) / 255.0f;
LOOP_XYZ(axis) {
LOOP_LINEAR_AXES(axis) {
if (distance_mm[axis]) {
const bool reversing = TEST(dm,axis);

View File

@@ -103,9 +103,7 @@ public:
}
static float get_z(const xy_pos_t &pos
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
, const_float_t factor=1.0f
#endif
OPTARG(ENABLE_LEVELING_FADE_HEIGHT, const_float_t factor=1.0f)
) {
#if DISABLED(ENABLE_LEVELING_FADE_HEIGHT)
constexpr float factor = 1.0f;

View File

@@ -35,6 +35,7 @@ unified_bed_leveling ubl;
#include "../../../module/planner.h"
#include "../../../module/motion.h"
#include "../../../module/probe.h"
#include "../../../module/temperature.h"
#if ENABLED(EXTENSIBLE_UI)
#include "../../../lcd/extui/ui_api.h"
@@ -254,4 +255,48 @@ bool unified_bed_leveling::sanity_check() {
return !!error_flag;
}
#if ENABLED(UBL_MESH_WIZARD)
/**
* M1004: UBL Mesh Wizard - One-click mesh creation with or without a probe
*/
void GcodeSuite::M1004() {
#define ALIGN_GCODE TERN(Z_STEPPER_AUTO_ALIGN, "G34", "")
#define PROBE_GCODE TERN(HAS_BED_PROBE, "G29P1\nG29P3", "G29P4R255")
#if HAS_HOTEND
if (parser.seenval('H')) { // Handle H# parameter to set Hotend temp
const celsius_t hotend_temp = parser.value_int(); // Marlin never sends itself F or K, always C
thermalManager.setTargetHotend(hotend_temp, 0);
thermalManager.wait_for_hotend(false);
}
#endif
#if HAS_HEATED_BED
if (parser.seenval('B')) { // Handle B# parameter to set Bed temp
const celsius_t bed_temp = parser.value_int(); // Marlin never sends itself F or K, always C
thermalManager.setTargetBed(bed_temp);
thermalManager.wait_for_bed(false);
}
#endif
process_subcommands_now_P(G28_STR); // Home
process_subcommands_now_P(PSTR(ALIGN_GCODE "\n" // Align multi z axis if available
PROBE_GCODE "\n" // Build mesh with available hardware
"G29P3\nG29P3")); // Ensure mesh is complete by running smart fill twice
if (parser.seenval('S')) {
char umw_gcode[32];
sprintf_P(umw_gcode, PSTR("G29S%i"), parser.value_int());
queue.inject(umw_gcode);
}
process_subcommands_now_P(PSTR("G29A\nG29F10\n" // Set UBL Active & Fade 10
"M140S0\nM104S0\n" // Turn off heaters
"M500")); // Store settings
}
#endif // UBL_MESH_WIZARD
#endif // AUTO_BED_LEVELING_UBL

View File

@@ -32,7 +32,7 @@
#define UBL_OK false
#define UBL_ERR true
enum MeshPointType : char { INVALID, REAL, SET_IN_BITMAP };
enum MeshPointType : char { INVALID, REAL, SET_IN_BITMAP, CLOSEST };
// External references

View File

@@ -306,7 +306,7 @@ void unified_bed_leveling::G29() {
if (G29_parse_parameters()) return; // Abort on parameter error
const int8_t p_val = parser.intval('P', -1);
const bool may_move = p_val == 1 || p_val == 2 || p_val == 4 || parser.seen('J');
const bool may_move = p_val == 1 || p_val == 2 || p_val == 4 || parser.seen_test('J');
#if ENABLED(HAS_MULTI_HOTEND)
const uint8_t old_tool_index = active_extruder;
#endif
@@ -315,7 +315,7 @@ void unified_bed_leveling::G29() {
if (may_move) {
planner.synchronize();
// Send 'N' to force homing before G29 (internal only)
if (axes_should_home() || parser.seen('N')) gcode.home_all_axes();
if (axes_should_home() || parser.seen_test('N')) gcode.home_all_axes();
TERN_(HAS_MULTI_HOTEND, if (active_extruder) tool_change(0));
}
@@ -380,7 +380,7 @@ void unified_bed_leveling::G29() {
// Allow the user to specify the height because 10mm is a little extreme in some cases.
for (uint8_t x = (GRID_MAX_POINTS_X) / 3; x < 2 * (GRID_MAX_POINTS_X) / 3; x++) // Create a rectangular raised area in
for (uint8_t y = (GRID_MAX_POINTS_Y) / 3; y < 2 * (GRID_MAX_POINTS_Y) / 3; y++) { // the center of the bed
z_values[x][y] += parser.seen('C') ? param.C_constant : 9.99f;
z_values[x][y] += parser.seen_test('C') ? param.C_constant : 9.99f;
TERN_(EXTENSIBLE_UI, ExtUI::onMeshUpdate(x, y, z_values[x][y]));
}
break;
@@ -389,7 +389,7 @@ void unified_bed_leveling::G29() {
#if HAS_BED_PROBE
if (parser.seen('J')) {
if (parser.seen_test('J')) {
save_ubl_active_state_and_disable();
tilt_mesh_based_on_probed_grid(param.J_grid_size == 0); // Zero size does 3-Point
restore_ubl_active_state_and_leave();
@@ -402,7 +402,7 @@ void unified_bed_leveling::G29() {
#endif // HAS_BED_PROBE
if (parser.seen('P')) {
if (parser.seen_test('P')) {
if (WITHIN(param.P_phase, 0, 1) && storage_slot == -1) {
storage_slot = 0;
SERIAL_ECHOLNPGM("Default storage slot 0 selected.");
@@ -423,7 +423,7 @@ void unified_bed_leveling::G29() {
//
// Invalidate Entire Mesh and Automatically Probe Mesh in areas that can be reached by the probe
//
if (!parser.seen('C')) {
if (!parser.seen_test('C')) {
invalidate();
SERIAL_ECHOLNPGM("Mesh invalidated. Probing mesh.");
}
@@ -433,7 +433,7 @@ void unified_bed_leveling::G29() {
SERIAL_DECIMAL(param.XY_pos.y);
SERIAL_ECHOLNPGM(").\n");
}
probe_entire_mesh(param.XY_pos, parser.seen('T'), parser.seen('E'), parser.seen('U'));
probe_entire_mesh(param.XY_pos, parser.seen_test('T'), parser.seen_test('E'), parser.seen_test('U'));
report_current_position();
probe_deployed = true;
@@ -449,7 +449,7 @@ void unified_bed_leveling::G29() {
SERIAL_ECHOLNPGM("Manually probing unreachable points.");
do_z_clearance(Z_CLEARANCE_BETWEEN_PROBES);
if (parser.seen('C') && !param.XY_seen) {
if (parser.seen_test('C') && !param.XY_seen) {
/**
* Use a good default location for the path.
@@ -483,7 +483,7 @@ void unified_bed_leveling::G29() {
}
const float height = parser.floatval('H', Z_CLEARANCE_BETWEEN_PROBES);
manually_probe_remaining_mesh(param.XY_pos, height, param.B_shim_thickness, parser.seen('T'));
manually_probe_remaining_mesh(param.XY_pos, height, param.B_shim_thickness, parser.seen_test('T'));
SERIAL_ECHOLNPGM("G29 P2 finished.");
@@ -555,7 +555,7 @@ void unified_bed_leveling::G29() {
case 4: // Fine Tune (i.e., Edit) the Mesh
#if HAS_LCD_MENU
fine_tune_mesh(param.XY_pos, parser.seen('T'));
fine_tune_mesh(param.XY_pos, parser.seen_test('T'));
#else
SERIAL_ECHOLNPGM("?P4 is only available when an LCD is present.");
return;
@@ -574,7 +574,7 @@ void unified_bed_leveling::G29() {
// Much of the 'What?' command can be eliminated. But until we are fully debugged, it is
// good to have the extra information. Soon... we prune this to just a few items
//
if (parser.seen('W')) g29_what_command();
if (parser.seen_test('W')) g29_what_command();
//
// When we are fully debugged, this may go away. But there are some valid
@@ -640,7 +640,7 @@ void unified_bed_leveling::G29() {
SERIAL_ECHOLNPGM("Done.");
}
if (parser.seen('T'))
if (parser.seen_test('T'))
display_map(param.T_map_type);
LEAVE:
@@ -915,7 +915,7 @@ void set_message_with_feedback(PGM_P const msg_P) {
if (do_ubl_mesh_map) display_map(param.T_map_type); // Show user where we're probing
if (parser.seen('B')) {
if (parser.seen_test('B')) {
SERIAL_ECHOPGM_P(GET_TEXT(MSG_UBL_BC_INSERT));
LCD_MESSAGEPGM(MSG_UBL_BC_INSERT);
}
@@ -954,7 +954,7 @@ void set_message_with_feedback(PGM_P const msg_P) {
* NOTE: Blocks the G-code queue and captures Marlin UI during use.
*/
void unified_bed_leveling::fine_tune_mesh(const xy_pos_t &pos, const bool do_ubl_mesh_map) {
if (!parser.seen('R')) // fine_tune_mesh() is special. If no repetition count flag is specified
if (!parser.seen_test('R')) // fine_tune_mesh() is special. If no repetition count flag is specified
param.R_repetition = 1; // do exactly one mesh location. Otherwise use what the parser decided.
#if ENABLED(UBL_MESH_EDIT_MOVES_Z)
@@ -1091,7 +1091,7 @@ bool unified_bed_leveling::G29_parse_parameters() {
}
}
param.V_verbosity = parser.seen('V') ? parser.value_int() : 0;
param.V_verbosity = parser.intval('V');
if (!WITHIN(param.V_verbosity, 0, 4)) {
SERIAL_ECHOLNPGM("?(V)erbose level implausible (0-4).\n");
err_flag = true;
@@ -1153,15 +1153,15 @@ bool unified_bed_leveling::G29_parse_parameters() {
* Leveling is being enabled here with old data, possibly
* none. Error handling should disable for safety...
*/
if (parser.seen('A')) {
if (parser.seen('D')) {
if (parser.seen_test('A')) {
if (parser.seen_test('D')) {
SERIAL_ECHOLNPGM("?Can't activate and deactivate at the same time.\n");
return UBL_ERR;
}
set_bed_leveling_enabled(true);
report_state();
}
else if (parser.seen('D')) {
else if (parser.seen_test('D')) {
set_bed_leveling_enabled(false);
report_state();
}
@@ -1282,7 +1282,7 @@ mesh_index_pair unified_bed_leveling::find_furthest_invalid_mesh_point() {
static bool test_func(uint8_t i, uint8_t j, void *data) {
find_closest_t *d = (find_closest_t*)data;
if ( (d->type == (isnan(ubl.z_values[i][j]) ? INVALID : REAL))
if ( d->type == CLOSEST || d->type == (isnan(ubl.z_values[i][j]) ? INVALID : REAL)
|| (d->type == SET_IN_BITMAP && !d->done_flags->marked(i, j))
) {
// Found a Mesh Point of the specified type!
@@ -1326,7 +1326,7 @@ mesh_index_pair unified_bed_leveling::find_closest_mesh_point_of_type(const Mesh
float best_so_far = 99999.99f;
GRID_LOOP(i, j) {
if ( (type == (isnan(z_values[i][j]) ? INVALID : REAL))
if ( type == CLOSEST || type == (isnan(z_values[i][j]) ? INVALID : REAL)
|| (type == SET_IN_BITMAP && !done_flags->marked(i, j))
) {
// Found a Mesh Point of the specified type!
@@ -1520,7 +1520,7 @@ void unified_bed_leveling::smart_fill_mesh() {
SERIAL_ECHOLNPAIR("Tilting mesh point ", point_num, "/", total_points, "\n");
TERN_(HAS_STATUS_MESSAGE, ui.status_printf_P(0, PSTR(S_FMT " %i/%i"), GET_TEXT(MSG_LCD_TILTING_MESH), point_num, total_points));
measured_z = probe.probe_at_point(rpos, parser.seen('E') ? PROBE_PT_STOW : PROBE_PT_RAISE, param.V_verbosity); // TODO: Needs error handling
measured_z = probe.probe_at_point(rpos, parser.seen_test('E') ? PROBE_PT_STOW : PROBE_PT_RAISE, param.V_verbosity); // TODO: Needs error handling
abort_flag = isnan(measured_z);

View File

@@ -362,15 +362,11 @@
while (--segments) {
raw += diff;
planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, segment_xyz_mm
#if ENABLED(SCARA_FEEDRATE_SCALING)
, inv_duration
#endif
OPTARG(SCARA_FEEDRATE_SCALING, inv_duration)
);
}
planner.buffer_line(destination, scaled_fr_mm_s, active_extruder, segment_xyz_mm
#if ENABLED(SCARA_FEEDRATE_SCALING)
, inv_duration
#endif
OPTARG(SCARA_FEEDRATE_SCALING, inv_duration)
);
return false; // Did not set current from destination
}

View File

@@ -28,10 +28,6 @@
CaseLight caselight;
#if CASE_LIGHT_IS_COLOR_LED
#include "leds/leds.h"
#endif
#if CASELIGHT_USES_BRIGHTNESS && !defined(CASE_LIGHT_DEFAULT_BRIGHTNESS)
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 0 // For use on PWM pin as non-PWM just sets a default
#endif
@@ -43,17 +39,9 @@ CaseLight caselight;
bool CaseLight::on = CASE_LIGHT_DEFAULT_ON;
#if CASE_LIGHT_IS_COLOR_LED
LEDColor CaseLight::color =
#ifdef CASE_LIGHT_DEFAULT_COLOR
CASE_LIGHT_DEFAULT_COLOR
#else
{ 255, 255, 255, 255 }
#endif
;
#endif
#ifndef INVERT_CASE_LIGHT
#define INVERT_CASE_LIGHT false
#include "leds/leds.h"
constexpr uint8_t init_case_light[] = CASE_LIGHT_DEFAULT_COLOR;
LEDColor CaseLight::color = { init_case_light[0], init_case_light[1], init_case_light[2] OPTARG(HAS_WHITE_LED, init_case_light[3]) };
#endif
void CaseLight::update(const bool sflag) {
@@ -72,16 +60,12 @@ void CaseLight::update(const bool sflag) {
if (sflag && on)
brightness = brightness_sav; // Restore last brightness for M355 S1
const uint8_t i = on ? brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i;
const uint8_t i = on ? brightness : 0, n10ct = ENABLED(INVERT_CASE_LIGHT) ? 255 - i : i;
UNUSED(n10ct);
#endif
#if CASE_LIGHT_IS_COLOR_LED
leds.set_color(
MakeLEDColor(color.r, color.g, color.b, color.w, n10ct),
false
);
leds.set_color(LEDColor(color.r, color.g, color.b OPTARG(HAS_WHITE_LED, color.w), n10ct));
#else // !CASE_LIGHT_IS_COLOR_LED
#if CASELIGHT_USES_BRIGHTNESS
@@ -96,7 +80,7 @@ void CaseLight::update(const bool sflag) {
else
#endif
{
const bool s = on ? !INVERT_CASE_LIGHT : INVERT_CASE_LIGHT;
const bool s = on ? TERN(INVERT_CASE_LIGHT, LOW, HIGH) : TERN(INVERT_CASE_LIGHT, HIGH, LOW);
WRITE(CASE_LIGHT_PIN, s ? HIGH : LOW);
}

View File

@@ -27,7 +27,7 @@
#include "leds/leds.h" // for LEDColor
#endif
#if DISABLED(CASE_LIGHT_NO_BRIGHTNESS) || ENABLED(CASE_LIGHT_USE_NEOPIXEL)
#if NONE(CASE_LIGHT_NO_BRIGHTNESS, CASE_LIGHT_IS_COLOR_LED) || ENABLED(CASE_LIGHT_USE_NEOPIXEL)
#define CASELIGHT_USES_BRIGHTNESS 1
#endif

View File

@@ -78,10 +78,8 @@ public:
// Get the total flow (in liters per minute) since the last reading
static void calc_flowrate() {
//flowmeter_interrupt_disable();
// const uint16_t pulses = flowpulses;
//flowmeter_interrupt_enable();
flowrate = flowpulses * 60.0f * (1000.0f / (FLOWMETER_INTERVAL)) * (1000.0f / (FLOWMETER_PPL));
// flowrate = (litres) * (seconds) = litres per minute
flowrate = (flowpulses / (float)FLOWMETER_PPL) * ((1000.0f / (float)FLOWMETER_INTERVAL) * 60.0f);
flowpulses = 0;
}

View File

@@ -66,14 +66,14 @@ uint8_t MCP4728::analogWrite(const uint8_t channel, const uint16_t value) {
}
/**
* Write all input resistor values to EEPROM using SequencialWrite method.
* Write all input resistor values to EEPROM using SequentialWrite method.
* This will update both input register and EEPROM value
* This will also write current Vref, PowerDown, Gain settings to EEPROM
*/
uint8_t MCP4728::eepromWrite() {
Wire.beginTransmission(I2C_ADDRESS(DAC_DEV_ADDRESS));
Wire.write(SEQWRITE);
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
Wire.write(DAC_STEPPER_VREF << 7 | DAC_STEPPER_GAIN << 4 | highByte(dac_values[i]));
Wire.write(lowByte(dac_values[i]));
}
@@ -135,7 +135,7 @@ void MCP4728::setDrvPct(xyze_uint_t &pct) {
*/
uint8_t MCP4728::fastWrite() {
Wire.beginTransmission(I2C_ADDRESS(DAC_DEV_ADDRESS));
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
Wire.write(highByte(dac_values[i]));
Wire.write(lowByte(dac_values[i]));
}

View File

@@ -51,7 +51,7 @@ int StepperDAC::init() {
mcp4728.setVref_all(DAC_STEPPER_VREF);
mcp4728.setGain_all(DAC_STEPPER_GAIN);
if (mcp4728.getDrvPct(0) < 1 || mcp4728.getDrvPct(1) < 1 || mcp4728.getDrvPct(2) < 1 || mcp4728.getDrvPct(3) < 1 ) {
if (mcp4728.getDrvPct(0) < 1 || mcp4728.getDrvPct(1) < 1 || mcp4728.getDrvPct(2) < 1 || mcp4728.getDrvPct(3) < 1) {
mcp4728.setDrvPct(dac_channel_pct);
mcp4728.eepromWrite();
}
@@ -77,7 +77,7 @@ static float dac_amps(int8_t n) { return mcp4728.getValue(dac_order[n]) * 0.125
uint8_t StepperDAC::get_current_percent(const AxisEnum axis) { return mcp4728.getDrvPct(dac_order[axis]); }
void StepperDAC::set_current_percents(xyze_uint8_t &pct) {
LOOP_XYZE(i) dac_channel_pct[i] = pct[dac_order[i]];
LOOP_LOGICAL_AXES(i) dac_channel_pct[i] = pct[dac_order[i]];
mcp4728.setDrvPct(dac_channel_pct);
}

View File

@@ -337,7 +337,7 @@ bool I2CPositionEncoder::test_axis() {
ec = false;
xyze_pos_t startCoord, endCoord;
LOOP_XYZ(a) {
LOOP_LINEAR_AXES(a) {
startCoord[a] = planner.get_axis_position_mm((AxisEnum)a);
endCoord[a] = planner.get_axis_position_mm((AxisEnum)a);
}
@@ -392,7 +392,7 @@ void I2CPositionEncoder::calibrate_steps_mm(const uint8_t iter) {
travelDistance = endDistance - startDistance;
xyze_pos_t startCoord, endCoord;
LOOP_XYZ(a) {
LOOP_LINEAR_AXES(a) {
startCoord[a] = planner.get_axis_position_mm((AxisEnum)a);
endCoord[a] = planner.get_axis_position_mm((AxisEnum)a);
}
@@ -819,11 +819,11 @@ int8_t I2CPositionEncodersMgr::parse() {
void I2CPositionEncodersMgr::M860() {
if (parse()) return;
const bool hasU = parser.seen('U'), hasO = parser.seen('O');
const bool hasU = parser.seen_test('U'), hasO = parser.seen_test('O');
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen_test(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) report_position(idx, hasU, hasO);
}
@@ -849,7 +849,7 @@ void I2CPositionEncodersMgr::M861() {
if (parse()) return;
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) report_status(idx);
@@ -877,7 +877,7 @@ void I2CPositionEncodersMgr::M862() {
if (parse()) return;
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) test_axis(idx);
@@ -908,7 +908,7 @@ void I2CPositionEncodersMgr::M863() {
const uint8_t iterations = constrain(parser.byteval('P', 1), 1, 10);
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) calibrate_steps_mm(idx, iterations);
@@ -956,10 +956,10 @@ void I2CPositionEncodersMgr::M864() {
return;
}
else {
if (parser.seen('X')) newAddress = I2CPE_PRESET_ADDR_X;
else if (parser.seen('Y')) newAddress = I2CPE_PRESET_ADDR_Y;
else if (parser.seen('Z')) newAddress = I2CPE_PRESET_ADDR_Z;
else if (parser.seen('E')) newAddress = I2CPE_PRESET_ADDR_E;
if (parser.seen_test('X')) newAddress = I2CPE_PRESET_ADDR_X;
else if (parser.seen_test('Y')) newAddress = I2CPE_PRESET_ADDR_Y;
else if (parser.seen_test('Z')) newAddress = I2CPE_PRESET_ADDR_Z;
else if (parser.seen_test('E')) newAddress = I2CPE_PRESET_ADDR_E;
else return;
}
@@ -984,7 +984,7 @@ void I2CPositionEncodersMgr::M865() {
if (parse()) return;
if (!I2CPE_addr) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) report_module_firmware(encoders[idx].get_address());
@@ -1012,10 +1012,10 @@ void I2CPositionEncodersMgr::M865() {
void I2CPositionEncodersMgr::M866() {
if (parse()) return;
const bool hasR = parser.seen('R');
const bool hasR = parser.seen_test('R');
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) {
@@ -1053,7 +1053,7 @@ void I2CPositionEncodersMgr::M867() {
const int8_t onoff = parser.seenval('S') ? parser.value_int() : -1;
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) {
@@ -1089,7 +1089,7 @@ void I2CPositionEncodersMgr::M868() {
const float newThreshold = parser.seenval('T') ? parser.value_float() : -9999;
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) {
@@ -1123,7 +1123,7 @@ void I2CPositionEncodersMgr::M869() {
if (parse()) return;
if (I2CPE_idx == 0xFF) {
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (!I2CPE_anyaxis || parser.seen(axis_codes[i])) {
const uint8_t idx = idx_from_axis(AxisEnum(i));
if ((int8_t)idx >= 0) report_error(idx);

View File

@@ -91,11 +91,7 @@ void FWRetract::reset() {
* Note: Auto-retract will apply the set Z hop in addition to any Z hop
* included in the G-code. Use M207 Z0 to to prevent double hop.
*/
void FWRetract::retract(const bool retracting
#if HAS_MULTI_EXTRUDER
, bool swapping/*=false*/
#endif
) {
void FWRetract::retract(const bool retracting OPTARG(HAS_MULTI_EXTRUDER, bool swapping/*=false*/)) {
// Prevent two retracts or recovers in a row
if (retracted[active_extruder] == retracting) return;
@@ -212,10 +208,10 @@ void FWRetract::retract(const bool retracting
*/
void FWRetract::M207() {
if (!parser.seen("FSWZ")) return M207_report();
if (parser.seen('S')) settings.retract_length = parser.value_axis_units(E_AXIS);
if (parser.seen('F')) settings.retract_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
if (parser.seen('Z')) settings.retract_zraise = parser.value_linear_units();
if (parser.seen('W')) settings.swap_retract_length = parser.value_axis_units(E_AXIS);
if (parser.seenval('S')) settings.retract_length = parser.value_axis_units(E_AXIS);
if (parser.seenval('F')) settings.retract_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
if (parser.seenval('Z')) settings.retract_zraise = parser.value_linear_units();
if (parser.seenval('W')) settings.swap_retract_length = parser.value_axis_units(E_AXIS);
}
void FWRetract::M207_report(const bool forReplay/*=false*/) {
@@ -238,10 +234,10 @@ void FWRetract::M207_report(const bool forReplay/*=false*/) {
*/
void FWRetract::M208() {
if (!parser.seen("FSRW")) return M208_report();
if (parser.seen('S')) settings.retract_recover_extra = parser.value_axis_units(E_AXIS);
if (parser.seen('F')) settings.retract_recover_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
if (parser.seen('S')) settings.retract_recover_extra = parser.value_axis_units(E_AXIS);
if (parser.seen('F')) settings.retract_recover_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
if (parser.seen('R')) settings.swap_retract_recover_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
if (parser.seen('W')) settings.swap_retract_recover_extra = parser.value_axis_units(E_AXIS);
if (parser.seen('W')) settings.swap_retract_recover_extra = parser.value_axis_units(E_AXIS);
}
void FWRetract::M208_report(const bool forReplay/*=false*/) {

View File

@@ -74,11 +74,7 @@ public:
#endif
}
static void retract(const bool retracting
#if HAS_MULTI_EXTRUDER
, bool swapping = false
#endif
);
static void retract(const bool retracting OPTARG(HAS_MULTI_EXTRUDER, bool swapping = false));
static void M207();
static void M207_report(const bool forReplay=false);

View File

@@ -163,13 +163,8 @@ Joystick joystick;
// norm_jog values of [-1 .. 1] maps linearly to [-feedrate .. feedrate]
xyz_float_t move_dist{0};
float hypot2 = 0;
LOOP_XYZ(i) if (norm_jog[i]) {
move_dist[i] = seg_time * norm_jog[i] *
#if ENABLED(EXTENSIBLE_UI)
manual_feedrate_mm_s[i];
#else
planner.settings.max_feedrate_mm_s[i];
#endif
LOOP_LINEAR_AXES(i) if (norm_jog[i]) {
move_dist[i] = seg_time * norm_jog[i] * TERN(EXTENSIBLE_UI, manual_feedrate_mm_s, planner.settings.max_feedrate_mm_s)[i];
hypot2 += sq(move_dist[i]);
}

View File

@@ -47,13 +47,14 @@
#endif
#if ENABLED(LED_COLOR_PRESETS)
const LEDColor LEDLights::defaultLEDColor = MakeLEDColor(
LED_USER_PRESET_RED, LED_USER_PRESET_GREEN, LED_USER_PRESET_BLUE,
LED_USER_PRESET_WHITE, LED_USER_PRESET_BRIGHTNESS
const LEDColor LEDLights::defaultLEDColor = LEDColor(
LED_USER_PRESET_RED, LED_USER_PRESET_GREEN, LED_USER_PRESET_BLUE
OPTARG(HAS_WHITE_LED, LED_USER_PRESET_WHITE)
OPTARG(NEOPIXEL_LED, LED_USER_PRESET_BRIGHTNESS)
);
#endif
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
#if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS, CASE_LIGHT_IS_COLOR_LED)
LEDColor LEDLights::color;
bool LEDLights::lights_on;
#endif
@@ -75,36 +76,35 @@ void LEDLights::setup() {
}
void LEDLights::set_color(const LEDColor &incol
#if ENABLED(NEOPIXEL_LED)
, bool isSequence/*=false*/
#endif
OPTARG(NEOPIXEL_IS_SEQUENTIAL, bool isSequence/*=false*/)
) {
#if ENABLED(NEOPIXEL_LED)
const uint32_t neocolor = LEDColorWhite() == incol
? neo.Color(NEO_WHITE)
: neo.Color(incol.r, incol.g, incol.b, incol.w);
static uint16_t nextLed = 0;
: neo.Color(incol.r, incol.g, incol.b OPTARG(HAS_WHITE_LED, incol.w));
#ifdef NEOPIXEL_BKGD_LED_INDEX
if (NEOPIXEL_BKGD_LED_INDEX == nextLed) {
neo.set_color_background();
if (++nextLed >= neo.pixels()) {
nextLed = 0;
return;
#if ENABLED(NEOPIXEL_IS_SEQUENTIAL)
static uint16_t nextLed = 0;
#ifdef NEOPIXEL_BKGD_INDEX_FIRST
while (WITHIN(nextLed, NEOPIXEL_BKGD_INDEX_FIRST, NEOPIXEL_BKGD_INDEX_LAST)) {
neo.reset_background_color();
if (++nextLed >= neo.pixels()) { nextLed = 0; return; }
}
}
#endif
#endif
neo.set_brightness(incol.i);
if (isSequence) {
neo.set_pixel_color(nextLed, neocolor);
neo.show();
if (++nextLed >= neo.pixels()) nextLed = 0;
return;
}
#if ENABLED(NEOPIXEL_IS_SEQUENTIAL)
if (isSequence) {
neo.set_pixel_color(nextLed, neocolor);
neo.show();
if (++nextLed >= neo.pixels()) nextLed = 0;
return;
}
#endif
neo.set_color(neocolor);
@@ -169,9 +169,10 @@ void LEDLights::set_color(const LEDColor &incol
#if ENABLED(NEOPIXEL2_SEPARATE)
#if ENABLED(NEO2_COLOR_PRESETS)
const LEDColor LEDLights2::defaultLEDColor = MakeLEDColor(
NEO2_USER_PRESET_RED, NEO2_USER_PRESET_GREEN, NEO2_USER_PRESET_BLUE,
NEO2_USER_PRESET_WHITE, NEO2_USER_PRESET_BRIGHTNESS
const LEDColor LEDLights2::defaultLEDColor = LEDColor(
LED_USER_PRESET_RED, LED_USER_PRESET_GREEN, LED_USER_PRESET_BLUE
OPTARG(HAS_WHITE_LED2, LED_USER_PRESET_WHITE)
OPTARG(NEOPIXEL_LED, LED_USER_PRESET_BRIGHTNESS)
);
#endif
@@ -190,7 +191,7 @@ void LEDLights::set_color(const LEDColor &incol
void LEDLights2::set_color(const LEDColor &incol) {
const uint32_t neocolor = LEDColorWhite() == incol
? neo2.Color(NEO2_WHITE)
: neo2.Color(incol.r, incol.g, incol.b, incol.w);
: neo2.Color(incol.r, incol.g, incol.b OPTARG(HAS_WHITE_LED2, incol.w));
neo2.set_brightness(incol.i);
neo2.set_color(neocolor);

View File

@@ -29,13 +29,15 @@
#include <string.h>
#if ENABLED(NEOPIXEL_LED)
#include "neopixel.h"
// A white component can be passed
#if EITHER(RGBW_LED, PCA9632_RGBW)
#define HAS_WHITE_LED 1
#endif
// A white component can be passed
#if ANY(RGBW_LED, NEOPIXEL_LED, PCA9632_RGBW)
#define HAS_WHITE_LED 1
#if ENABLED(NEOPIXEL_LED)
#define _NEOPIXEL_INCLUDE_
#include "neopixel.h"
#undef _NEOPIXEL_INCLUDE_
#endif
/**
@@ -43,46 +45,21 @@
*/
typedef struct LEDColor {
uint8_t r, g, b
#if HAS_WHITE_LED
, w
#if ENABLED(NEOPIXEL_LED)
, i
#endif
#endif
OPTARG(HAS_WHITE_LED, w)
OPTARG(NEOPIXEL_LED, i)
;
LEDColor() : r(255), g(255), b(255)
#if HAS_WHITE_LED
, w(255)
#if ENABLED(NEOPIXEL_LED)
, i(NEOPIXEL_BRIGHTNESS)
#endif
#endif
OPTARG(HAS_WHITE_LED, w(255))
OPTARG(NEOPIXEL_LED, i(NEOPIXEL_BRIGHTNESS))
{}
LEDColor(uint8_t r, uint8_t g, uint8_t b
#if HAS_WHITE_LED
, uint8_t w=0
#if ENABLED(NEOPIXEL_LED)
, uint8_t i=NEOPIXEL_BRIGHTNESS
#endif
#endif
) : r(r), g(g), b(b)
#if HAS_WHITE_LED
, w(w)
#if ENABLED(NEOPIXEL_LED)
, i(i)
#endif
#endif
{}
LEDColor(uint8_t r, uint8_t g, uint8_t b OPTARG(HAS_WHITE_LED, uint8_t w=0) OPTARG(NEOPIXEL_LED, uint8_t i=NEOPIXEL_BRIGHTNESS))
: r(r), g(g), b(b) OPTARG(HAS_WHITE_LED, w(w)) OPTARG(NEOPIXEL_LED, i(i)) {}
LEDColor(const uint8_t (&rgbw)[4]) : r(rgbw[0]), g(rgbw[1]), b(rgbw[2])
#if HAS_WHITE_LED
, w(rgbw[3])
#if ENABLED(NEOPIXEL_LED)
, i(NEOPIXEL_BRIGHTNESS)
#endif
#endif
OPTARG(HAS_WHITE_LED, w(rgbw[3]))
OPTARG(NEOPIXEL_LED, i(NEOPIXEL_BRIGHTNESS))
{}
LEDColor& operator=(const uint8_t (&rgbw)[4]) {
@@ -109,17 +86,8 @@ typedef struct LEDColor {
} LEDColor;
/**
* Color helpers and presets
* Color presets
*/
#if HAS_WHITE_LED
#if ENABLED(NEOPIXEL_LED)
#define MakeLEDColor(R,G,B,W,I) LEDColor(R, G, B, W, I)
#else
#define MakeLEDColor(R,G,B,W,I) LEDColor(R, G, B, W)
#endif
#else
#define MakeLEDColor(R,G,B,W,I) LEDColor(R, G, B)
#endif
#define LEDColorOff() LEDColor( 0, 0, 0)
#define LEDColorRed() LEDColor(255, 0, 0)
@@ -147,25 +115,15 @@ public:
static void setup(); // init()
static void set_color(const LEDColor &color
#if ENABLED(NEOPIXEL_LED)
, bool isSequence=false
#endif
OPTARG(NEOPIXEL_IS_SEQUENTIAL, bool isSequence=false)
);
static inline void set_color(uint8_t r, uint8_t g, uint8_t b
#if HAS_WHITE_LED
, uint8_t w=0
#endif
#if ENABLED(NEOPIXEL_LED)
, uint8_t i=NEOPIXEL_BRIGHTNESS
, bool isSequence=false
#endif
OPTARG(HAS_WHITE_LED, uint8_t w=0)
OPTARG(NEOPIXEL_LED, uint8_t i=NEOPIXEL_BRIGHTNESS)
OPTARG(NEOPIXEL_IS_SEQUENTIAL, bool isSequence=false)
) {
set_color(MakeLEDColor(r, g, b, w, i)
#if ENABLED(NEOPIXEL_LED)
, isSequence
#endif
);
set_color(LEDColor(r, g, b OPTARG(HAS_WHITE_LED, w) OPTARG(NEOPIXEL_LED, i)) OPTARG(NEOPIXEL_IS_SEQUENTIAL, isSequence));
}
static inline void set_off() { set_color(LEDColorOff()); }
@@ -187,7 +145,7 @@ public:
static inline LEDColor get_color() { return lights_on ? color : LEDColorOff(); }
#endif
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
#if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS, CASE_LIGHT_IS_COLOR_LED)
static LEDColor color; // last non-off color
static bool lights_on; // the last set color was "on"
#endif
@@ -223,8 +181,14 @@ extern LEDLights leds;
static void set_color(const LEDColor &color);
inline void set_color(uint8_t r, uint8_t g, uint8_t b, uint8_t w=0, uint8_t i=NEOPIXEL2_BRIGHTNESS) {
set_color(MakeLEDColor(r, g, b, w, i));
static inline void set_color(uint8_t r, uint8_t g, uint8_t b
OPTARG(HAS_WHITE_LED, uint8_t w=0)
OPTARG(NEOPIXEL_LED, uint8_t i=NEOPIXEL_BRIGHTNESS)
) {
set_color(LEDColor(r, g, b
OPTARG(HAS_WHITE_LED, w)
OPTARG(NEOPIXEL_LED, i)
));
}
static inline void set_off() { set_color(LEDColorOff()); }

View File

@@ -28,7 +28,7 @@
#if ENABLED(NEOPIXEL_LED)
#include "neopixel.h"
#include "leds.h"
#if EITHER(NEOPIXEL_STARTUP_TEST, NEOPIXEL2_STARTUP_TEST)
#include "../../core/utility.h"
@@ -37,17 +37,21 @@
Marlin_NeoPixel neo;
int8_t Marlin_NeoPixel::neoindex;
Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIXEL_TYPE + NEO_KHZ800)
#if CONJOINED_NEOPIXEL
, Marlin_NeoPixel::adaneo2(NEOPIXEL_PIXELS, NEOPIXEL2_PIN, NEOPIXEL2_TYPE + NEO_KHZ800)
#endif
;
Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIXEL_TYPE + NEO_KHZ800);
#if CONJOINED_NEOPIXEL
Adafruit_NeoPixel Marlin_NeoPixel::adaneo2(NEOPIXEL_PIXELS, NEOPIXEL2_PIN, NEOPIXEL2_TYPE + NEO_KHZ800);
#endif
#ifdef NEOPIXEL_BKGD_LED_INDEX
#ifdef NEOPIXEL_BKGD_INDEX_FIRST
void Marlin_NeoPixel::set_color_background() {
uint8_t background_color[4] = NEOPIXEL_BKGD_COLOR;
set_pixel_color(NEOPIXEL_BKGD_LED_INDEX, adaneo1.Color(background_color[0], background_color[1], background_color[2], background_color[3]));
void Marlin_NeoPixel::set_background_color(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
for (int background_led = NEOPIXEL_BKGD_INDEX_FIRST; background_led <= NEOPIXEL_BKGD_INDEX_LAST; background_led++)
set_pixel_color(background_led, adaneo1.Color(r, g, b, w));
}
void Marlin_NeoPixel::reset_background_color() {
constexpr uint8_t background_color[4] = NEOPIXEL_BKGD_COLOR;
set_background_color(background_color[0], background_color[1], background_color[2], background_color[3]);
}
#endif
@@ -59,9 +63,10 @@ void Marlin_NeoPixel::set_color(const uint32_t color) {
}
else {
for (uint16_t i = 0; i < pixels(); ++i) {
#ifdef NEOPIXEL_BKGD_LED_INDEX
if (i == NEOPIXEL_BKGD_LED_INDEX && TERN(NEOPIXEL_BKGD_ALWAYS_ON, true, color != 0x000000)) {
set_color_background();
#ifdef NEOPIXEL_BKGD_INDEX_FIRST
if (i == NEOPIXEL_BKGD_INDEX_FIRST && TERN(NEOPIXEL_BKGD_ALWAYS_ON, true, color != 0x000000)) {
reset_background_color();
i += NEOPIXEL_BKGD_INDEX_LAST - (NEOPIXEL_BKGD_INDEX_FIRST);
continue;
}
#endif
@@ -90,36 +95,23 @@ void Marlin_NeoPixel::init() {
safe_delay(500);
set_color_startup(adaneo1.Color(0, 0, 255, 0)); // blue
safe_delay(500);
#if HAS_WHITE_LED
set_color_startup(adaneo1.Color(0, 0, 0, 255)); // white
safe_delay(500);
#endif
#endif
#ifdef NEOPIXEL_BKGD_LED_INDEX
set_color_background();
#ifdef NEOPIXEL_BKGD_INDEX_FIRST
reset_background_color();
#endif
#if ENABLED(LED_USER_PRESET_STARTUP)
set_color(adaneo1.Color(LED_USER_PRESET_RED, LED_USER_PRESET_GREEN, LED_USER_PRESET_BLUE, LED_USER_PRESET_WHITE));
#else
set_color(adaneo1.Color(0, 0, 0, 0));
#endif
set_color(adaneo1.Color
TERN(LED_USER_PRESET_STARTUP,
(LED_USER_PRESET_RED, LED_USER_PRESET_GREEN, LED_USER_PRESET_BLUE, LED_USER_PRESET_WHITE),
(0, 0, 0, 0))
);
}
#if 0
bool Marlin_NeoPixel::set_led_color(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t w, const uint8_t p) {
const uint32_t color = adaneo1.Color(r, g, b, w);
set_brightness(p);
#if DISABLED(NEOPIXEL_IS_SEQUENTIAL)
set_color(color);
return false;
#else
static uint16_t nextLed = 0;
set_pixel_color(nextLed, color);
show();
if (++nextLed >= pixels()) nextLed = 0;
return true;
#endif
}
#endif
#if ENABLED(NEOPIXEL2_SEPARATE)
Marlin_NeoPixel2 neo2;
@@ -158,13 +150,17 @@ bool Marlin_NeoPixel::set_led_color(const uint8_t r, const uint8_t g, const uint
safe_delay(500);
set_color_startup(adaneo.Color(0, 0, 255, 0)); // blue
safe_delay(500);
#if HAS_WHITE_LED2
set_color_startup(adaneo.Color(0, 0, 0, 255)); // white
safe_delay(500);
#endif
#endif
#if ENABLED(NEO2_USER_PRESET_STARTUP)
set_color(adaneo.Color(NEO2_USER_PRESET_RED, NEO2_USER_PRESET_GREEN, NEO2_USER_PRESET_BLUE, NEO2_USER_PRESET_WHITE));
#else
set_color(adaneo.Color(0, 0, 0, 0));
#endif
set_color(adaneo.Color
TERN(NEO2_USER_PRESET_STARTUP,
(NEO2_USER_PRESET_RED, NEO2_USER_PRESET_GREEN, NEO2_USER_PRESET_BLUE, NEO2_USER_PRESET_WHITE),
(0, 0, 0, 0))
);
}
#endif // NEOPIXEL2_SEPARATE

View File

@@ -25,6 +25,10 @@
* NeoPixel support
*/
#ifndef _NEOPIXEL_INCLUDE_
#error "Always include 'leds.h' and not 'neopixel.h' directly."
#endif
// ------------------------
// Includes
// ------------------------
@@ -38,6 +42,18 @@
// Defines
// ------------------------
#define _NEO_IS_RGB(N) (N == NEO_RGB || N == NEO_RBG || N == NEO_GRB || N == NEO_GBR || N == NEO_BRG || N == NEO_BGR)
#if !_NEO_IS_RGB(NEOPIXEL_TYPE)
#define HAS_WHITE_LED 1
#endif
#if HAS_WHITE_LED
#define NEO_WHITE 0, 0, 0, 255
#else
#define NEO_WHITE 255, 255, 255
#endif
#if defined(NEOPIXEL2_TYPE) && NEOPIXEL2_TYPE != NEOPIXEL_TYPE && DISABLED(NEOPIXEL2_SEPARATE)
#define MULTIPLE_NEOPIXEL_TYPES 1
#endif
@@ -46,29 +62,16 @@
#define CONJOINED_NEOPIXEL 1
#endif
#if NEOPIXEL_TYPE == NEO_RGB || NEOPIXEL_TYPE == NEO_RBG || NEOPIXEL_TYPE == NEO_GRB || NEOPIXEL_TYPE == NEO_GBR || NEOPIXEL_TYPE == NEO_BRG || NEOPIXEL_TYPE == NEO_BGR
#define NEOPIXEL_IS_RGB 1
#else
#define NEOPIXEL_IS_RGBW 1
#endif
#if NEOPIXEL_IS_RGB
#define NEO_WHITE 255, 255, 255, 0
#else
#define NEO_WHITE 0, 0, 0, 255
#endif
// ------------------------
// Function prototypes
// ------------------------
class Marlin_NeoPixel {
private:
static Adafruit_NeoPixel adaneo1
#if CONJOINED_NEOPIXEL
, adaneo2
#endif
;
static Adafruit_NeoPixel adaneo1;
#if CONJOINED_NEOPIXEL
static Adafruit_NeoPixel adaneo2;
#endif
public:
static int8_t neoindex;
@@ -78,8 +81,9 @@ public:
static void set_color(const uint32_t c);
#ifdef NEOPIXEL_BKGD_LED_INDEX
static void set_color_background();
#ifdef NEOPIXEL_BKGD_INDEX_FIRST
static void set_background_color(uint8_t r, uint8_t g, uint8_t b, uint8_t w);
static void reset_background_color();
#endif
static inline void begin() {
@@ -93,9 +97,7 @@ public:
else adaneo1.setPixelColor(n, c);
#else
adaneo1.setPixelColor(n, c);
#if MULTIPLE_NEOPIXEL_TYPES
adaneo2.setPixelColor(n, c);
#endif
TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setPixelColor(n, c));
#endif
}
@@ -120,15 +122,13 @@ public:
TERN_(HAS_PAUSE_SERVO_OUTPUT, RESUME_SERVO_OUTPUT());
}
#if 0
bool set_led_color(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t w, const uint8_t p);
#endif
// Accessors
static inline uint16_t pixels() { TERN(NEOPIXEL2_INSERIES, return adaneo1.numPixels() * 2, return adaneo1.numPixels()); }
static inline uint16_t pixels() { return adaneo1.numPixels() * TERN1(NEOPIXEL2_INSERIES, 2); }
static inline uint8_t brightness() { return adaneo1.getBrightness(); }
static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
return adaneo1.Color(r, g, b, w);
static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b OPTARG(HAS_WHITE_LED, uint8_t w)) {
return adaneo1.Color(r, g, b OPTARG(HAS_WHITE_LED, w));
}
};
@@ -137,15 +137,12 @@ extern Marlin_NeoPixel neo;
// Neo pixel channel 2
#if ENABLED(NEOPIXEL2_SEPARATE)
#if NEOPIXEL2_TYPE == NEO_RGB || NEOPIXEL2_TYPE == NEO_RBG || NEOPIXEL2_TYPE == NEO_GRB || NEOPIXEL2_TYPE == NEO_GBR || NEOPIXEL2_TYPE == NEO_BRG || NEOPIXEL2_TYPE == NEO_BGR
#if _NEO_IS_RGB(NEOPIXEL2_TYPE)
#define NEOPIXEL2_IS_RGB 1
#define NEO2_WHITE 255, 255, 255
#else
#define NEOPIXEL2_IS_RGBW 1
#endif
#if NEOPIXEL2_IS_RGB
#define NEO2_WHITE 255, 255, 255, 0
#else
#define HAS_WHITE_LED2 1 // A white component can be passed for NEOPIXEL2
#define NEO2_WHITE 0, 0, 0, 255
#endif
@@ -172,11 +169,13 @@ extern Marlin_NeoPixel neo;
// Accessors
static inline uint16_t pixels() { return adaneo.numPixels();}
static inline uint8_t brightness() { return adaneo.getBrightness(); }
static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
return adaneo.Color(r, g, b, w);
static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b OPTARG(HAS_WHITE_LED2, uint8_t w)) {
return adaneo.Color(r, g, b OPTARG(HAS_WHITE_LED2, w));
}
};
extern Marlin_NeoPixel2 neo2;
#endif // NEOPIXEL2_SEPARATE
#undef _NEO_IS_RGB

View File

@@ -93,9 +93,7 @@ static void PCA9632_WriteRegister(const byte addr, const byte regadd, const byte
}
static void PCA9632_WriteAllRegisters(const byte addr, const byte regadd, const byte vr, const byte vg, const byte vb
#if ENABLED(PCA9632_RGBW)
, const byte vw
#endif
OPTARG(PCA9632_RGBW, const byte vw)
) {
#if DISABLED(PCA9632_NO_AUTO_INC)
uint8_t data[4];
@@ -143,9 +141,7 @@ void PCA9632_set_led_color(const LEDColor &color) {
;
PCA9632_WriteAllRegisters(PCA9632_ADDRESS,PCA9632_PWM0, color.r, color.g, color.b
#if ENABLED(PCA9632_RGBW)
, color.w
#endif
OPTARG(PCA9632_RGBW, color.w)
);
PCA9632_WriteRegister(PCA9632_ADDRESS,PCA9632_LEDOUT, LEDOUT);
}

View File

@@ -45,12 +45,10 @@ PrinterEventLEDs printerEventLEDs;
return (uint8_t)map(constrain(current, start, target), start, target, 0, 255);
}
inline void pel_set_rgb(const uint8_t r, const uint8_t g, const uint8_t b) {
inline void pel_set_rgb(const uint8_t r, const uint8_t g, const uint8_t b OPTARG(HAS_WHITE_LED, const uint8_t w=0)) {
leds.set_color(
MakeLEDColor(r, g, b, 0, neo.brightness())
#if ENABLED(NEOPIXEL_IS_SEQUENTIAL)
, true
#endif
LEDColor(r, g, b OPTARG(HAS_WHITE_LED, w) OPTARG(NEOPIXEL_LED, neo.brightness()))
OPTARG(NEOPIXEL_IS_SEQUENTIAL, true)
);
}

View File

@@ -159,7 +159,7 @@ void MMU2::mmu_loop() {
MMU2_COMMAND("S1"); // Read Version
state = -2;
}
else if (millis() > 3000000) {
else if (millis() > 30000) { // 30sec after reset disable MMU
SERIAL_ECHOLNPGM("MMU not responding - DISABLED");
state = 0;
}

View File

@@ -316,7 +316,7 @@ bool unload_filament(const_float_t unload_length, const bool show_lcd/*=false*/,
);
#if !BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
constexpr float mix_multiplier = 1.0;
constexpr float mix_multiplier = 1.0f;
#endif
if (!ensure_safe_temperature(false, mode)) {
@@ -371,7 +371,7 @@ bool unload_filament(const_float_t unload_length, const bool show_lcd/*=false*/,
*/
uint8_t did_pause_print = 0;
bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const_float_t unload_length/*=0*/, const bool show_lcd/*=false*/ DXC_ARGS) {
bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const bool show_lcd/*=false*/, const_float_t unload_length/*=0*/ DXC_ARGS) {
DEBUG_SECTION(pp, "pause_print", true);
DEBUG_ECHOLNPAIR("... park.x:", park_point.x, " y:", park_point.y, " z:", park_point.z, " unloadlen:", unload_length, " showlcd:", show_lcd DXC_SAY);
@@ -394,7 +394,8 @@ bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const_float
// Pause the print job and timer
#if ENABLED(SDSUPPORT)
if (IS_SD_PRINTING()) {
const bool was_sd_printing = IS_SD_PRINTING();
if (was_sd_printing) {
card.pauseSDPrint();
++did_pause_print; // Indicate SD pause also
}
@@ -405,6 +406,15 @@ bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const_float
// Save current position
resume_position = current_position;
// Will the nozzle be parking?
const bool do_park = !axes_should_home();
#if ENABLED(POWER_LOSS_RECOVERY)
// Save PLR info in case the power goes out while parked
const float park_raise = do_park ? nozzle.park_mode_0_height(park_point.z) - current_position.z : POWER_LOSS_ZRAISE;
if (was_sd_printing && recovery.enabled) recovery.save(true, park_raise, do_park);
#endif
// Wait for buffered blocks to complete
planner.synchronize();
@@ -418,9 +428,8 @@ bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const_float
unscaled_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE);
}
// Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos)
if (!axes_should_home())
nozzle.park(0, park_point);
// If axes don't need to home then the nozzle can park
if (do_park) nozzle.park(0, park_point); // Park the nozzle by doing a Minimum Z Raise followed by an XY Move
#if ENABLED(DUAL_X_CARRIAGE)
const int8_t saved_ext = active_extruder;
@@ -428,7 +437,8 @@ bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const_float
set_duplication_enabled(false, DXC_ext);
#endif
if (unload_length) // Unload the filament
// Unload the filament, if specified
if (unload_length)
unload_filament(unload_length, show_lcd, PAUSE_MODE_CHANGE_FILAMENT);
#if ENABLED(DUAL_X_CARRIAGE)
@@ -630,9 +640,6 @@ void resume_print(const_float_t slow_load_length/*=0*/, const_float_t fast_load_
// Set extruder to saved position
planner.set_e_position_mm((destination.e = current_position.e = resume_position.e));
// Write PLR now to update the z axis value
TERN_(POWER_LOSS_RECOVERY, if (recovery.enabled) recovery.save(true));
ui.pause_show_message(PAUSE_MESSAGE_STATUS);
#ifdef ACTION_ON_RESUMED
@@ -645,8 +652,16 @@ void resume_print(const_float_t slow_load_length/*=0*/, const_float_t fast_load_
TERN_(HOST_PROMPT_SUPPORT, host_prompt_open(PROMPT_INFO, PSTR("Resuming"), DISMISS_STR));
// Resume the print job timer if it was running
if (print_job_timer.isPaused()) print_job_timer.start();
#if ENABLED(SDSUPPORT)
if (did_pause_print) { card.startFileprint(); --did_pause_print; }
if (did_pause_print) {
--did_pause_print;
card.startOrResumeFilePrinting();
// Write PLR now to update the z axis value
TERN_(POWER_LOSS_RECOVERY, if (recovery.enabled) recovery.save(true));
}
#endif
#if ENABLED(ADVANCED_PAUSE_FANS_PAUSE) && HAS_FAN
@@ -655,9 +670,6 @@ void resume_print(const_float_t slow_load_length/*=0*/, const_float_t fast_load_
TERN_(HAS_FILAMENT_SENSOR, runout.reset());
// Resume the print job timer if it was running
if (print_job_timer.isPaused()) print_job_timer.start();
TERN_(HAS_STATUS_MESSAGE, ui.reset_status());
TERN_(HAS_LCD_MENU, ui.return_to_status());
}

View File

@@ -85,19 +85,47 @@ extern uint8_t did_pause_print;
#define DXC_SAY
#endif
bool pause_print(const_float_t retract, const xyz_pos_t &park_point, const_float_t unload_length=0, const bool show_lcd=false DXC_PARAMS);
// Pause the print. If unload_length is set, do a Filament Unload
bool pause_print(
const_float_t retract, // (mm) Retraction length
const xyz_pos_t &park_point, // Parking XY Position and Z Raise
const bool show_lcd=false, // Set LCD status messages?
const_float_t unload_length=0 // (mm) Filament Change Unload Length - 0 to skip
DXC_PARAMS // Dual-X-Carriage extruder index
);
void wait_for_confirmation(const bool is_reload=false, const int8_t max_beep_count=0 DXC_PARAMS);
void wait_for_confirmation(
const bool is_reload=false, // Reload Filament? (otherwise Resume Print)
const int8_t max_beep_count=0 // Beep alert for attention
DXC_PARAMS // Dual-X-Carriage extruder index
);
void resume_print(const_float_t slow_load_length=0, const_float_t fast_load_length=0, const_float_t extrude_length=ADVANCED_PAUSE_PURGE_LENGTH,
const int8_t max_beep_count=0, const celsius_t targetTemp=0 DXC_PARAMS);
void resume_print(
const_float_t slow_load_length=0, // (mm) Slow Load Length for finishing move
const_float_t fast_load_length=0, // (mm) Fast Load Length for initial move
const_float_t extrude_length=ADVANCED_PAUSE_PURGE_LENGTH, // (mm) Purge length
const int8_t max_beep_count=0, // Beep alert for attention
const celsius_t targetTemp=0 // (°C) A target temperature for the hotend
DXC_PARAMS // Dual-X-Carriage extruder index
);
bool load_filament(const_float_t slow_load_length=0, const_float_t fast_load_length=0, const_float_t extrude_length=0, const int8_t max_beep_count=0,
const bool show_lcd=false, const bool pause_for_user=false, const PauseMode mode=PAUSE_MODE_PAUSE_PRINT DXC_PARAMS);
bool load_filament(
const_float_t slow_load_length=0, // (mm) Slow Load Length for finishing move
const_float_t fast_load_length=0, // (mm) Fast Load Length for initial move
const_float_t extrude_length=0, // (mm) Purge length
const int8_t max_beep_count=0, // Beep alert for attention
const bool show_lcd=false, // Set LCD status messages?
const bool pause_for_user=false, // Pause for user before returning?
const PauseMode mode=PAUSE_MODE_PAUSE_PRINT // Pause Mode to apply
DXC_PARAMS // Dual-X-Carriage extruder index
);
bool unload_filament(const_float_t unload_length, const bool show_lcd=false, const PauseMode mode=PAUSE_MODE_PAUSE_PRINT
bool unload_filament(
const_float_t unload_length, // (mm) Filament Unload Length - 0 to skip
const bool show_lcd=false, // Set LCD status messages?
const PauseMode mode=PAUSE_MODE_PAUSE_PRINT // Pause Mode to apply
#if BOTH(FILAMENT_UNLOAD_ALL_EXTRUDERS, MIXING_EXTRUDER)
, const_float_t mix_multiplier=1.0
, const_float_t mix_multiplier=1.0f // Extrusion multiplier (for a Mixing Extruder)
#endif
);

View File

@@ -99,6 +99,10 @@ bool Power::is_power_needed() {
return false;
}
#ifndef POWER_TIMEOUT
#define POWER_TIMEOUT 0
#endif
void Power::check() {
static millis_t nextPowerCheck = 0;
millis_t ms = millis();
@@ -106,7 +110,7 @@ void Power::check() {
nextPowerCheck = ms + 2500UL;
if (is_power_needed())
power_on();
else if (!lastPowerOn || ELAPSED(ms, lastPowerOn + SEC_TO_MS(POWER_TIMEOUT)))
else if (!lastPowerOn || (POWER_TIMEOUT > 0 && ELAPSED(ms, lastPowerOn + SEC_TO_MS(POWER_TIMEOUT))))
power_off();
}
}

View File

@@ -66,9 +66,6 @@ PrintJobRecovery recovery;
#ifndef POWER_LOSS_PURGE_LEN
#define POWER_LOSS_PURGE_LEN 0
#endif
#ifndef POWER_LOSS_ZRAISE
#define POWER_LOSS_ZRAISE 2 // Move on loss with backup power, or on resume without it
#endif
#if DISABLED(BACKUP_POWER_SUPPLY)
#undef POWER_LOSS_RETRACT_LEN // No retract at outage without backup power
@@ -140,14 +137,16 @@ void PrintJobRecovery::load() {
* Set info fields that won't change
*/
void PrintJobRecovery::prepare() {
card.getAbsFilename(info.sd_filename); // SD filename
card.getAbsFilenameInCWD(info.sd_filename); // SD filename
cmd_sdpos = 0;
}
/**
* Save the current machine state to the power-loss recovery file
*/
void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/) {
void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=POWER_LOSS_ZRAISE*/, const bool raised/*=false*/) {
// We don't check IS_SD_PRINTING here so a save may occur during a pause
#if SAVE_INFO_INTERVAL_MS > 0
static millis_t next_save_ms; // = 0
@@ -182,17 +181,15 @@ void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/
info.current_position = current_position;
info.feedrate = uint16_t(MMS_TO_MMM(feedrate_mm_s));
info.zraise = zraise;
info.flag.raised = raised; // Was Z raised before power-off?
TERN_(GCODE_REPEAT_MARKERS, info.stored_repeat = repeat);
TERN_(HAS_HOME_OFFSET, info.home_offset = home_offset);
TERN_(HAS_POSITION_SHIFT, info.position_shift = position_shift);
#if HAS_MULTI_EXTRUDER
info.active_extruder = active_extruder;
#endif
TERN_(HAS_MULTI_EXTRUDER, info.active_extruder = active_extruder);
#if DISABLED(NO_VOLUMETRICS)
info.volumetric_enabled = parser.volumetric_enabled;
info.flag.volumetric_enabled = parser.volumetric_enabled;
#if HAS_MULTI_EXTRUDER
for (int8_t e = 0; e < EXTRUDERS; e++) info.filament_size[e] = planner.filament_size[e];
#else
@@ -200,7 +197,7 @@ void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/
#endif
#endif
#if EXTRUDERS
#if HAS_EXTRUDERS
HOTEND_LOOP() info.target_temperature[e] = thermalManager.degTargetHotend(e);
#endif
@@ -254,7 +251,7 @@ void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/
// Raise the Z axis now
if (zraise) {
char cmd[20], str_1[16];
sprintf_P(cmd, PSTR("G0 Z%s"), dtostrf(zraise, 1, 3, str_1));
sprintf_P(cmd, PSTR("G0Z%s"), dtostrf(zraise, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
}
#else
@@ -290,8 +287,9 @@ void PrintJobRecovery::save(const bool force/*=false*/, const float zraise/*=0*/
constexpr float zraise = 0;
#endif
// Save, including the limited Z raise
if (IS_SD_PRINTING()) save(true, zraise);
// Save the current position, distance that Z was (or should be) raised,
// and a flag whether the raise was already done here.
if (IS_SD_PRINTING()) save(true, zraise, ENABLED(BACKUP_POWER_SUPPLY));
// Disable all heaters to reduce power loss
thermalManager.disable_all_heaters();
@@ -346,88 +344,143 @@ void PrintJobRecovery::resume() {
const celsius_t bt = info.target_temperature_bed;
if (bt) {
// Restore the bed temperature
sprintf_P(cmd, PSTR("M190 S%i"), bt);
sprintf_P(cmd, PSTR("M190S%i"), bt);
gcode.process_subcommands_now(cmd);
}
#endif
// Heat hotend enough to soften material
#if HAS_HOTEND
HOTEND_LOOP() {
const celsius_t et = _MAX(info.target_temperature[e], 180);
if (et) {
#if HAS_MULTI_HOTEND
sprintf_P(cmd, PSTR("T%iS"), e);
gcode.process_subcommands_now(cmd);
#endif
sprintf_P(cmd, PSTR("M109S%i"), et);
gcode.process_subcommands_now(cmd);
}
}
#endif
// Interpret the saved Z according to flags
const float z_print = info.current_position.z,
z_raised = z_print + info.zraise;
//
// Home the axes that can safely be homed, and
// establish the current position as best we can.
//
gcode.process_subcommands_now_P(PSTR("G92.9E0")); // Reset E to 0
#if Z_HOME_TO_MAX
float z_now = z_raised;
// If Z homing goes to max then just move back to the "raised" position
sprintf_P(cmd, PSTR(
"G28R0\n" // Home all axes (no raise)
"G1Z%sF1200" // Move Z down to (raised) height
), dtostrf(z_now, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
#else
#if ENABLED(POWER_LOSS_RECOVER_ZHOME) && defined(POWER_LOSS_ZHOME_POS)
#define HOMING_Z_DOWN 1
#else
#define HOME_XY_ONLY 1
#endif
float z_now = info.flag.raised ? z_raised : z_print;
// Reset E to 0 and set Z to the real position
#if HOME_XY_ONLY
sprintf_P(cmd, PSTR("G92.9Z%s"), dtostrf(z_now, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
#endif
// Does Z need to be raised now? It should be raised before homing XY.
if (z_raised > z_now) {
z_now = z_raised;
sprintf_P(cmd, PSTR("G1Z%sF600"), dtostrf(z_now, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
}
// Home XY with no Z raise, and also home Z here if Z isn't homing down below.
gcode.process_subcommands_now_P(PSTR("G28R0" TERN_(HOME_XY_ONLY, "XY"))); // No raise during G28
#endif
#if HOMING_Z_DOWN
// Move to a safe XY position and home Z while avoiding the print.
constexpr xy_pos_t p = POWER_LOSS_ZHOME_POS;
sprintf_P(cmd, PSTR("G1X%sY%sF1000\nG28Z"), dtostrf(p.x, 1, 3, str_1), dtostrf(p.y, 1, 3, str_2));
gcode.process_subcommands_now(cmd);
#endif
// Mark all axes as having been homed (no effect on current_position)
set_all_homed();
#if HAS_LEVELING
// Restore Z fade and possibly re-enable bed leveling compensation.
// Leveling may already be enabled due to the ENABLE_LEVELING_AFTER_G28 option.
// TODO: Add a G28 parameter to leave leveling disabled.
sprintf_P(cmd, PSTR("M420S%cZ%s"), '0' + (char)info.flag.leveling, dtostrf(info.fade, 1, 1, str_1));
gcode.process_subcommands_now(cmd);
#if HOME_XY_ONLY
// The physical Z was adjusted at power-off so undo the M420S1 correction to Z with G92.9.
sprintf_P(cmd, PSTR("G92.9Z%s"), dtostrf(z_now, 1, 1, str_1));
gcode.process_subcommands_now(cmd);
#endif
#endif
#if ENABLED(POWER_LOSS_RECOVER_ZHOME)
// Z was homed down to the bed, so move up to the raised height.
z_now = z_raised;
sprintf_P(cmd, PSTR("G1Z%sF600"), dtostrf(z_now, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
#endif
// Recover volumetric extrusion state
#if DISABLED(NO_VOLUMETRICS)
#if HAS_MULTI_EXTRUDER
for (int8_t e = 0; e < EXTRUDERS; e++) {
sprintf_P(cmd, PSTR("M200T%iD%s"), e, dtostrf(info.filament_size[e], 1, 3, str_1));
gcode.process_subcommands_now(cmd);
}
if (!info.flag.volumetric_enabled) {
sprintf_P(cmd, PSTR("M200T%iD0"), info.active_extruder);
gcode.process_subcommands_now(cmd);
}
#else
if (info.flag.volumetric_enabled) {
sprintf_P(cmd, PSTR("M200D%s"), dtostrf(info.filament_size[0], 1, 3, str_1));
gcode.process_subcommands_now(cmd);
}
#endif
#endif
// Restore all hotend temperatures
#if HAS_HOTEND
HOTEND_LOOP() {
const celsius_t et = info.target_temperature[e];
if (et) {
#if HAS_MULTI_HOTEND
sprintf_P(cmd, PSTR("T%i S"), e);
sprintf_P(cmd, PSTR("T%iS"), e);
gcode.process_subcommands_now(cmd);
#endif
sprintf_P(cmd, PSTR("M109 S%i"), et);
sprintf_P(cmd, PSTR("M109S%i"), et);
gcode.process_subcommands_now(cmd);
}
}
#endif
// Reset E, raise Z, home XY...
#if Z_HOME_DIR > 0
// If Z homing goes to max, just reset E and home all
gcode.process_subcommands_now_P(PSTR(
"G92.9 E0\n"
"G28R0"
));
#else // "G92.9 E0 ..."
// If a Z raise occurred at outage restore Z, otherwise raise Z now
sprintf_P(cmd, PSTR("G92.9 E0 " TERN(BACKUP_POWER_SUPPLY, "Z%s", "Z0\nG1Z%s")), dtostrf(info.zraise, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
// Home safely with no Z raise
gcode.process_subcommands_now_P(PSTR(
"G28R0" // No raise during G28
#if IS_CARTESIAN && (DISABLED(POWER_LOSS_RECOVER_ZHOME) || defined(POWER_LOSS_ZHOME_POS))
"XY" // Don't home Z on Cartesian unless overridden
#endif
));
#endif
#ifdef POWER_LOSS_ZHOME_POS
// If defined move to a safe Z homing position that avoids the print
constexpr xy_pos_t p = POWER_LOSS_ZHOME_POS;
sprintf_P(cmd, PSTR("G1 X%s Y%s F1000\nG28Z"), dtostrf(p.x, 1, 3, str_1), dtostrf(p.y, 1, 3, str_2));
gcode.process_subcommands_now(cmd);
#endif
// Ensure that all axes are marked as homed
set_all_homed();
#if ENABLED(POWER_LOSS_RECOVER_ZHOME)
// Now move to ZsavedPos + POWER_LOSS_ZRAISE
sprintf_P(cmd, PSTR("G1 F500 Z%s"), dtostrf(info.current_position.z + POWER_LOSS_ZRAISE, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
#endif
// Recover volumetric extrusion state
#if DISABLED(NO_VOLUMETRICS)
#if HAS_MULTI_EXTRUDER
for (int8_t e = 0; e < EXTRUDERS; e++) {
sprintf_P(cmd, PSTR("M200 T%i D%s"), e, dtostrf(info.filament_size[e], 1, 3, str_1));
gcode.process_subcommands_now(cmd);
}
if (!info.volumetric_enabled) {
sprintf_P(cmd, PSTR("M200 T%i D0"), info.active_extruder);
gcode.process_subcommands_now(cmd);
}
#else
if (info.volumetric_enabled) {
sprintf_P(cmd, PSTR("M200 D%s"), dtostrf(info.filament_size[0], 1, 3, str_1));
gcode.process_subcommands_now(cmd);
}
#endif
#endif
// Select the previously active tool (with no_move)
#if HAS_MULTI_EXTRUDER
// Restore the previously active tool (with no_move)
#if HAS_MULTI_EXTRUDER || HAS_MULTI_HOTEND
sprintf_P(cmd, PSTR("T%i S"), info.active_extruder);
gcode.process_subcommands_now(cmd);
#endif
@@ -437,13 +490,13 @@ void PrintJobRecovery::resume() {
FANS_LOOP(i) {
const int f = info.fan_speed[i];
if (f) {
sprintf_P(cmd, PSTR("M106 P%i S%i"), i, f);
sprintf_P(cmd, PSTR("M106P%iS%i"), i, f);
gcode.process_subcommands_now(cmd);
}
}
#endif
// Restore retract and hop state
// Restore retract and hop state from an active `G10` command
#if ENABLED(FWRETRACT)
LOOP_L_N(e, EXTRUDERS) {
if (info.retract[e] != 0.0) {
@@ -454,25 +507,16 @@ void PrintJobRecovery::resume() {
fwretract.current_hop = info.retract_hop;
#endif
#if HAS_LEVELING
// Restore leveling state before 'G92 Z' to ensure
// the Z stepper count corresponds to the native Z.
if (info.fade || info.flag.leveling) {
sprintf_P(cmd, PSTR("M420 S%i Z%s"), int(info.flag.leveling), dtostrf(info.fade, 1, 1, str_1));
gcode.process_subcommands_now(cmd);
}
#endif
#if ENABLED(GRADIENT_MIX)
memcpy(&mixer.gradient, &info.gradient, sizeof(info.gradient));
#endif
// Un-retract if there was a retract at outage
#if POWER_LOSS_RETRACT_LEN
gcode.process_subcommands_now_P(PSTR("G1 E" STRINGIFY(POWER_LOSS_RETRACT_LEN) " F3000"));
#if ENABLED(BACKUP_POWER_SUPPLY) && POWER_LOSS_RETRACT_LEN > 0
gcode.process_subcommands_now_P(PSTR("G1E" STRINGIFY(POWER_LOSS_RETRACT_LEN) "F3000"));
#endif
// Additional purge if configured
// Additional purge on resume if configured
#if POWER_LOSS_PURGE_LEN
sprintf_P(cmd, PSTR("G1 E%d F3000"), (POWER_LOSS_PURGE_LEN) + (POWER_LOSS_RETRACT_LEN));
gcode.process_subcommands_now(cmd);
@@ -482,36 +526,30 @@ void PrintJobRecovery::resume() {
gcode.process_subcommands_now_P(PSTR("G12"));
#endif
// Move back to the saved XY
sprintf_P(cmd, PSTR("G1 X%s Y%s F3000"),
// Move back over to the saved XY
sprintf_P(cmd, PSTR("G1X%sY%sF3000"),
dtostrf(info.current_position.x, 1, 3, str_1),
dtostrf(info.current_position.y, 1, 3, str_2)
);
gcode.process_subcommands_now(cmd);
// Move back to the saved Z
dtostrf(info.current_position.z, 1, 3, str_1);
#if Z_HOME_DIR > 0 || ENABLED(POWER_LOSS_RECOVER_ZHOME)
sprintf_P(cmd, PSTR("G1 Z%s F500"), str_1);
#else
gcode.process_subcommands_now_P(PSTR("G1 Z0 F200"));
sprintf_P(cmd, PSTR("G92.9 Z%s"), str_1);
#endif
// Move back down to the saved Z for printing
sprintf_P(cmd, PSTR("G1Z%sF600"), dtostrf(z_print, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
// Restore the feedrate
sprintf_P(cmd, PSTR("G1 F%d"), info.feedrate);
sprintf_P(cmd, PSTR("G1F%d"), info.feedrate);
gcode.process_subcommands_now(cmd);
// Restore E position with G92.9
sprintf_P(cmd, PSTR("G92.9 E%s"), dtostrf(info.current_position.e, 1, 3, str_1));
sprintf_P(cmd, PSTR("G92.9E%s"), dtostrf(info.current_position.e, 1, 3, str_1));
gcode.process_subcommands_now(cmd);
TERN_(GCODE_REPEAT_MARKERS, repeat = info.stored_repeat);
TERN_(HAS_HOME_OFFSET, home_offset = info.home_offset);
TERN_(HAS_POSITION_SHIFT, position_shift = info.position_shift);
#if HAS_HOME_OFFSET || HAS_POSITION_SHIFT
LOOP_XYZ(i) update_workspace_offset((AxisEnum)i);
LOOP_LINEAR_AXES(i) update_workspace_offset((AxisEnum)i);
#endif
// Relative axis modes
@@ -529,7 +567,7 @@ void PrintJobRecovery::resume() {
char *fn = info.sd_filename;
sprintf_P(cmd, M23_STR, fn);
gcode.process_subcommands_now(cmd);
sprintf_P(cmd, PSTR("M24 S%ld T%ld"), resume_sdpos, info.print_job_elapsed);
sprintf_P(cmd, PSTR("M24S%ldT%ld"), resume_sdpos, info.print_job_elapsed);
gcode.process_subcommands_now(cmd);
TERN_(DEBUG_POWER_LOSS_RECOVERY, marlin_debug_flags = old_flags);
@@ -543,17 +581,25 @@ void PrintJobRecovery::resume() {
if (info.valid_head) {
if (info.valid_head == info.valid_foot) {
DEBUG_ECHOPGM("current_position: ");
LOOP_XYZE(i) {
LOOP_LOGICAL_AXES(i) {
if (i) DEBUG_CHAR(',');
DEBUG_DECIMAL(info.current_position[i]);
}
DEBUG_EOL();
DEBUG_ECHOLNPAIR("zraise: ", info.zraise);
DEBUG_ECHOLNPAIR("feedrate: ", info.feedrate);
DEBUG_ECHOLNPAIR("zraise: ", info.zraise, " ", info.flag.raised ? "(before)" : "");
#if ENABLED(GCODE_REPEAT_MARKERS)
DEBUG_ECHOLNPAIR("repeat index: ", info.stored_repeat.index);
LOOP_L_N(i, info.stored_repeat.index)
DEBUG_ECHOLNPAIR("..... sdpos: ", info.stored_repeat.marker.sdpos, " count: ", info.stored_repeat.marker.counter);
#endif
#if HAS_HOME_OFFSET
DEBUG_ECHOPGM("home_offset: ");
LOOP_XYZ(i) {
LOOP_LINEAR_AXES(i) {
if (i) DEBUG_CHAR(',');
DEBUG_DECIMAL(info.home_offset[i]);
}
@@ -562,19 +608,23 @@ void PrintJobRecovery::resume() {
#if HAS_POSITION_SHIFT
DEBUG_ECHOPGM("position_shift: ");
LOOP_XYZ(i) {
LOOP_LINEAR_AXES(i) {
if (i) DEBUG_CHAR(',');
DEBUG_DECIMAL(info.position_shift[i]);
}
DEBUG_EOL();
#endif
DEBUG_ECHOLNPAIR("feedrate: ", info.feedrate);
#if HAS_MULTI_EXTRUDER
DEBUG_ECHOLNPAIR("active_extruder: ", info.active_extruder);
#endif
#if DISABLED(NO_VOLUMETRICS)
DEBUG_ECHOPGM("filament_size:");
LOOP_L_N(i, EXTRUDERS) DEBUG_ECHOLNPAIR(" ", info.filament_size[i]);
DEBUG_EOL();
#endif
#if HAS_HOTEND
DEBUG_ECHOPGM("target_temperature: ");
HOTEND_LOOP() {
@@ -598,8 +648,9 @@ void PrintJobRecovery::resume() {
#endif
#if HAS_LEVELING
DEBUG_ECHOLNPAIR("leveling: ", info.flag.leveling, " fade: ", info.fade);
DEBUG_ECHOLNPAIR("leveling: ", info.flag.leveling ? "ON" : "OFF", " fade: ", info.fade);
#endif
#if ENABLED(FWRETRACT)
DEBUG_ECHOPGM("retract: ");
for (int8_t e = 0; e < EXTRUDERS; e++) {
@@ -609,11 +660,28 @@ void PrintJobRecovery::resume() {
DEBUG_EOL();
DEBUG_ECHOLNPAIR("retract_hop: ", info.retract_hop);
#endif
// Mixing extruder and gradient
#if BOTH(MIXING_EXTRUDER, GRADIENT_MIX)
DEBUG_ECHOLNPAIR("gradient: ", info.gradient.enabled ? "ON" : "OFF");
#endif
DEBUG_ECHOLNPAIR("sd_filename: ", info.sd_filename);
DEBUG_ECHOLNPAIR("sdpos: ", info.sdpos);
DEBUG_ECHOLNPAIR("print_job_elapsed: ", info.print_job_elapsed);
DEBUG_ECHOLNPAIR("dryrun: ", AS_DIGIT(info.flag.dryrun));
DEBUG_ECHOLNPAIR("allow_cold_extrusion: ", info.flag.allow_cold_extrusion);
DEBUG_ECHOPGM("axis_relative:");
if (TEST(info.axis_relative, REL_X)) DEBUG_ECHOPGM(" REL_X");
if (TEST(info.axis_relative, REL_Y)) DEBUG_ECHOPGM(" REL_Y");
if (TEST(info.axis_relative, REL_Z)) DEBUG_ECHOPGM(" REL_Z");
if (TEST(info.axis_relative, REL_E)) DEBUG_ECHOPGM(" REL_E");
if (TEST(info.axis_relative, E_MODE_ABS)) DEBUG_ECHOPGM(" E_MODE_ABS");
if (TEST(info.axis_relative, E_MODE_REL)) DEBUG_ECHOPGM(" E_MODE_REL");
DEBUG_EOL();
DEBUG_ECHOLNPAIR("flag.dryrun: ", AS_DIGIT(info.flag.dryrun));
DEBUG_ECHOLNPAIR("flag.allow_cold_extrusion: ", AS_DIGIT(info.flag.allow_cold_extrusion));
DEBUG_ECHOLNPAIR("flag.volumetric_enabled: ", AS_DIGIT(info.flag.volumetric_enabled));
}
else
DEBUG_ECHOLNPGM("INVALID DATA");

View File

@@ -42,6 +42,10 @@
#define POWER_LOSS_STATE HIGH
#endif
#ifndef POWER_LOSS_ZRAISE
#define POWER_LOSS_ZRAISE 2
#endif
//#define DEBUG_POWER_LOSS_RECOVERY
//#define SAVE_EACH_CMD_MODE
//#define SAVE_INFO_INTERVAL_MS 0
@@ -52,6 +56,7 @@ typedef struct {
// Machine state
xyze_pos_t current_position;
uint16_t feedrate;
float zraise;
// Repeat information
@@ -70,7 +75,6 @@ typedef struct {
#endif
#if DISABLED(NO_VOLUMETRICS)
bool volumetric_enabled;
float filament_size[EXTRUDERS];
#endif
@@ -113,10 +117,14 @@ typedef struct {
// Misc. Marlin flags
struct {
bool raised:1; // Raised before saved
bool dryrun:1; // M111 S8
bool allow_cold_extrusion:1; // M302 P1
#if ENABLED(HAS_LEVELING)
bool leveling:1;
bool leveling:1; // M420 S
#endif
#if DISABLED(NO_VOLUMETRICS)
bool volumetric_enabled:1; // M200 S D
#endif
} flag;
@@ -175,12 +183,18 @@ class PrintJobRecovery {
static inline void cancel() { purge(); IF_DISABLED(NO_SD_AUTOSTART, card.autofile_begin()); }
static void load();
static void save(const bool force=ENABLED(SAVE_EACH_CMD_MODE), const float zraise=0);
static void save(const bool force=ENABLED(SAVE_EACH_CMD_MODE), const float zraise=POWER_LOSS_ZRAISE, const bool raised=false);
#if PIN_EXISTS(POWER_LOSS)
static inline void outage() {
if (enabled && READ(POWER_LOSS_PIN) == POWER_LOSS_STATE)
_outage();
static constexpr uint8_t OUTAGE_THRESHOLD = 3;
static uint8_t outage_counter = 0;
if (enabled && READ(POWER_LOSS_PIN) == POWER_LOSS_STATE) {
outage_counter++;
if (outage_counter >= OUTAGE_THRESHOLD) _outage();
}
else
outage_counter = 0;
}
#endif

View File

@@ -207,7 +207,7 @@ class FilamentSensorBase {
// Return a bitmask of runout pin states
static inline uint8_t poll_runout_pins() {
#define _OR_RUNOUT(N) | (READ(FIL_RUNOUT##N##_PIN) ? _BV((N) - 1) : 0)
return (0 REPEAT_S(1, INCREMENT(NUM_RUNOUT_SENSORS), _OR_RUNOUT));
return (0 REPEAT_1(NUM_RUNOUT_SENSORS, _OR_RUNOUT));
#undef _OR_RUNOUT
}

View File

@@ -71,6 +71,9 @@ void SpindleLaser::init() {
#if ENABLED(AIR_EVACUATION)
OUT_WRITE(AIR_EVACUATION_PIN, !AIR_EVACUATION_ACTIVE); // Init Vacuum/Blower OFF
#endif
#if ENABLED(AIR_ASSIST)
OUT_WRITE(AIR_ASSIST_PIN, !AIR_ASSIST_ACTIVE); // Init Air Assist OFF
#endif
}
#if ENABLED(SPINDLE_LASER_PWM)
@@ -147,6 +150,17 @@ void SpindleLaser::apply_power(const uint8_t opwr) {
void SpindleLaser::air_evac_toggle() { TOGGLE(AIR_EVACUATION_PIN); } // Toggle state
#endif
#endif // AIR_EVACUATION
#if ENABLED(AIR_ASSIST)
// Enable / disable air assist
void SpindleLaser::air_assist_enable() { WRITE(AIR_ASSIST_PIN, AIR_ASSIST_PIN); } // Turn ON
void SpindleLaser::air_assist_disable() { WRITE(AIR_ASSIST_PIN, !AIR_ASSIST_PIN); } // Turn OFF
void SpindleLaser::air_assist_toggle() { TOGGLE(AIR_ASSIST_PIN); } // Toggle state
#endif // AIR_ASSIST
#endif // HAS_CUTTER

View File

@@ -221,6 +221,15 @@ public:
}
#endif
#if ENABLED(AIR_ASSIST)
static void air_assist_enable(); // Turn on air assist
static void air_assist_disable(); // Turn off air assist
static void air_assist_toggle(); // Toggle air assist
static inline bool air_assist_state() { // Get current state
return (READ(AIR_ASSIST_PIN) == AIR_ASSIST_ACTIVE);
}
#endif
static inline void disable() { isReady = false; set_enabled(false); }
#if HAS_LCD_MENU

View File

@@ -211,7 +211,7 @@
SERIAL_PRINTLN(data.drv_status, HEX);
if (data.is_ot) SERIAL_ECHOLNPGM("overtemperature");
if (data.is_s2g) SERIAL_ECHOLNPGM("coil short circuit");
TERN_(TMC_DEBUG, tmc_report_all(true, true, true, true));
TERN_(TMC_DEBUG, tmc_report_all());
kill(PSTR("Driver error"));
}
#endif
@@ -889,7 +889,7 @@
* M122 report functions
*/
void tmc_report_all(bool print_x, const bool print_y, const bool print_z, const bool print_e) {
void tmc_report_all(const bool print_x/*=true*/, const bool print_y/*=true*/, const bool print_z/*=true*/, const bool print_e/*=true*/) {
#define TMC_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); tmc_debug_loop(ITEM, print_x, print_y, print_z, print_e); }while(0)
#define DRV_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); drv_status_loop(ITEM, print_x, print_y, print_z, print_e); }while(0)
TMC_REPORT("\t", TMC_CODES);
@@ -1214,7 +1214,7 @@ static bool test_connection(TMC &st) {
return test_result;
}
void test_tmc_connection(const bool test_x, const bool test_y, const bool test_z, const bool test_e) {
void test_tmc_connection(const bool test_x/*=true*/, const bool test_y/*=true*/, const bool test_z/*=true*/, const bool test_e/*=true*/) {
uint8_t axis_connection = 0;
if (test_x) {

View File

@@ -70,15 +70,9 @@ class TMCStorage {
}
struct {
#if ENABLED(HAS_STEALTHCHOP)
bool stealthChop_enabled = false;
#endif
#if ENABLED(HYBRID_THRESHOLD)
uint8_t hybrid_thrs = 0;
#endif
#if ENABLED(USE_SENSORLESS)
int16_t homing_thrs = 0;
#endif
OPTCODE(HAS_STEALTHCHOP, bool stealthChop_enabled = false)
OPTCODE(HYBRID_THRESHOLD, uint8_t hybrid_thrs = 0)
OPTCODE(USE_SENSORLESS, int16_t homing_thrs = 0)
} stored;
};
@@ -341,13 +335,13 @@ void tmc_print_current(TMC &st) {
#endif
void monitor_tmc_drivers();
void test_tmc_connection(const bool test_x, const bool test_y, const bool test_z, const bool test_e);
void test_tmc_connection(const bool test_x=true, const bool test_y=true, const bool test_z=true, const bool test_e=true);
#if ENABLED(TMC_DEBUG)
#if ENABLED(MONITOR_DRIVER_STATUS)
void tmc_set_report_interval(const uint16_t update_interval);
#endif
void tmc_report_all(const bool print_x, const bool print_y, const bool print_z, const bool print_e);
void tmc_report_all(const bool print_x=true, const bool print_y=true, const bool print_z=true, const bool print_e=true);
void tmc_get_registers(const bool print_x, const bool print_y, const bool print_z, const bool print_e);
#endif

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