Compare commits

...

1789 Commits

Author SHA1 Message Date
InsanityAutomation 2065f1e267 Initial Commit 2021-06-05 18:37:34 -04:00
InsanityAutomation 5a4b2ba5c5 Merge branch 'bugfix-2.0.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.0.x 2021-06-05 16:51:34 -04:00
DerAndere 7726af9c53 🏗️ Support for up to 6 linear axes (#19112)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-06-05 02:18:47 -05:00
Marcio T 733d5fd57d 📺 Fix and enhance FTDI EVE Touch UI (#22047) 2021-06-05 00:35:05 -05:00
Keith Bennett d18c834029 BigTreeTech Octopus V1.1 (#22042) 2021-06-04 23:56:18 -05:00
ellensp da8576f642 🐛 Fix STM3R / BEAST envs (#22028) 2021-06-04 23:51:17 -05:00
Victor Oliveira c73d47327b 📦️ STM32F103RE_btt(_USB) with HAL/STM32 (#22040) 2021-06-04 23:49:00 -05:00
Scott Lahteine 53a82511ff Update G34 for 4x Z steppers (#22039) 2021-06-04 23:44:16 -05:00
hannesweisbach 9d3bc551bc 🐛 Fix Probe Temp Calibration compile (#22032) 2021-06-04 23:38:43 -05:00
Taylor Talkington c2c771a1cc 🐛 Fix M140 print job timer autostart (#22046) 2021-06-04 23:01:06 -05:00
thinkyhead a6125b859d [cron] Bump distribution date (2021-06-05) 2021-06-05 01:38:30 +00:00
Giuliano Zaro eea9b6d8ae 🐛 Fix MMU compile with >5 EXTRUDERS (#22036) 2021-06-04 20:02:37 -05:00
ldursw 6131d2c5a6 🔨 MKS Robin E3 for HAL/STM32 (#21927) 2021-06-03 22:38:10 -05:00
thinkyhead 29ab4f5982 [cron] Bump distribution date (2021-06-04) 2021-06-04 01:56:49 +00:00
Keith Bennett 30c9b9bbba 🔨 Consolidate BTT linker scripts followup (#22038) 2021-06-03 19:51:22 -05:00
Victor Oliveira 0398a0b780 👽️ Fix usb-host-msc-cdc-msc issue (#22025) 2021-06-03 16:52:25 -05:00
Scott Lahteine 9d1d35f1ed ✏️ Remove whitespace 2021-06-03 03:23:10 -05:00
ellensp 4e9ccffc10 🐛 Fix Creality v4 servo timer (#22021)
Followup to #21999
2021-06-03 03:10:04 -05:00
Scott Lahteine 62dc3e7a22 🔨 Consolidate BTT linker scripts
Originally from #22022
2021-06-03 02:55:30 -05:00
ellensp 67c1075e47 🐛 Fix env:STM32F103RE maple/unified split-up (#22019)
Followup to #21999
2021-06-03 02:40:16 -05:00
thinkyhead a4e955d606 [cron] Bump distribution date (2021-06-03) 2021-06-03 02:28:46 +00:00
Scott Lahteine 25053572ec 📌 Use U8glib-HAL@~0.4.5 2021-06-02 19:38:34 -05:00
Scott Lahteine 8f59d44e4d 📝 Update G61 comment 2021-06-02 17:09:47 -05:00
Scott Lahteine b99411b62b 🎨 Reorganize BTT_E3_RRF_IDEX_BOARD 2021-06-02 15:34:31 -05:00
Scott Lahteine dc202b3cb3 🎨 Clean up stops, sdss pins 2021-06-02 15:34:03 -05:00
ellensp 08155b4875 🔨 Creality v4 with STM32 HAL (#21999)
- New STM32 env for Creality V4 boards.
- Separate Libmaple targets into their own `ini` file.
- Temporarily remove unusable targets from `pins.h`.

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

Fix insane timeout value. Now match original Prusa firmware.

* Update mmu2.cpp

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

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

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

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

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

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

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

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

Closes MarlinFirmware/Marlin#20615

* Fixing missing default 'G26_XY_FEEDRATE_MOVE' value

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

* Adding comment describing functionality in G26.cpp

* Renaming 'G26_XY_FEEDRATE_MOVE' to 'G26_XY_FEEDRATE_TRAVEL'

Configuration parameter renamed for better readability and consistency

MarlinFirmware/Marlin#20615

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

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

MarlinFirmware/Marlin#20615
2021-01-22 20:02:22 -07:00
Scott Lahteine a54154e760 🛠 Replace lib_deps for custom_marlin.FEATURE (#20858) 2021-01-22 20:51:58 -06:00
thinkyhead ac10fdc50f [cron] Bump distribution date (2021-01-23) 2021-01-23 00:44:51 +00:00
Giuliano Zaro 90c0194598 "Move … code" followup (#20852)
Fix regression from #20832
2021-01-22 15:58:08 -06:00
Scott Lahteine 09d07f76b3 Add labels, condition for BTT GTR M5 pins (#20772)
Co-Authored-By: NAPCAL <47440988+NAPCAL@users.noreply.github.com>
2021-01-22 15:15:45 -06:00
Scott Lahteine d33fe2378c Move common strings (#20846) 2021-01-22 15:01:19 -06:00
thinkyhead 7b9f7d8aba [cron] Bump distribution date (2021-01-22) 2021-01-22 00:44:13 +00:00
Scott Lahteine 0681b8096c Fix undefined E_LBL 2021-01-21 17:32:12 -06:00
Jason Smith d879853e8f Ender 3 V2: Sync reset E in manual move (#20806) 2021-01-21 04:14:24 -06:00
Jason Smith 0a279cf666 Fix ANYCUBIC_LCD_CHIRON compilation (#20807)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-21 03:44:03 -06:00
Scott Lahteine c0870d417a Move some MarlinCore and MarlinUI code (#20832) 2021-01-21 03:40:07 -06:00
Katelyn Schiesser ac82dc418a Increase filament runout distance edit limit (#20828) 2021-01-21 03:30:15 -06:00
Keith Bennett 144272e735 USB Flash Drive env hints for ABM (#20592) 2021-01-21 01:28:38 -06:00
Keith Bennett d62aa6221b Lerdge K/S/X support for Flash Drive (#20593) 2021-01-21 01:26:12 -06:00
Scott Lahteine 68abaeab19 MarlinUI multi-language support (#20725) 2021-01-20 18:52:06 -06:00
Scott Lahteine 00bc094914 Keep G29 N on the DL 2021-01-20 18:51:00 -06:00
thinkyhead 84a47a6691 [cron] Bump distribution date (2021-01-21) 2021-01-21 00:46:33 +00:00
ellensp 03b53ffde1 More PlatformIO source filters (#20822) 2021-01-20 18:18:22 -06:00
Tanguy Pruvot ef14b18f8e PSTR alias followup (#20831) 2021-01-20 16:52:09 -06:00
Scott Lahteine 3f90ecfd77 Move singlenozzle temp/fan (#20829) 2021-01-19 20:58:50 -06:00
devin122 a275e4e5b8 Fix reporting of TMC_S2VSA/B (#20730) 2021-01-19 20:57:12 -06:00
ellensp fd45854000 USE_M73_REMAINING_TIME sanity-check (#20751) 2021-01-19 20:55:57 -06:00
Giuliano Zaro a10626705d MMU2 serial followup (#20811) 2021-01-19 20:55:01 -06:00
Scott Lahteine 0cbc44d8bf Fix SINGLENOZZLE compile 2021-01-19 19:19:35 -06:00
thinkyhead 5c93b49a6f [cron] Bump distribution date (2021-01-20) 2021-01-20 00:47:05 +00:00
EmilGustafsson df238fe6a0 Swedish language for MarlinUI (#20826) 2021-01-19 16:52:04 -06:00
Rockman18 f1d4713097 Fix MKS UI manual move (#20813) 2021-01-19 16:27:57 -06:00
Rockman18 d0f953218f Fix, consolidate PSTR aliases (#20812)
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-19 16:26:25 -06:00
Katelyn Schiesser fda9fb563b Raise Z on exit from 'Level Bed Corners' (#20817) 2021-01-18 21:59:18 -06:00
Scott Lahteine 49b5e1d9bf Clean up whitespace, headings 2021-01-18 21:54:23 -06:00
thinkyhead eb84acaf5b [cron] Bump distribution date (2021-01-19) 2021-01-19 00:45:26 +00:00
thinkyhead e9364c7cba [cron] Bump distribution date (2021-01-18) 2021-01-18 00:41:57 +00:00
Scott Lahteine 08f392cdd3 OS-native targets for "mftest -a" 2021-01-17 15:45:04 -06:00
Scott Lahteine bb597dcf66 Internal G29N for G28+G29 (#20800) 2021-01-17 12:08:40 -06:00
George Fu fec58157ac FYSETC_242 OLED 12864 for S6 (#20767) 2021-01-17 00:46:57 -06:00
Scott Lahteine 6be8ffb771 Reduce some G-code strings 2021-01-16 23:18:02 -06:00
zeleps 1b19eed195 Fix Tramming Wizard behavior (#20796) 2021-01-16 23:08:48 -06:00
Scott Lahteine fb41413b76 Optimize some G-code strings 2021-01-16 22:53:50 -06:00
Scott Lahteine 40c8f2001d Apply bool to some MKS UI 2021-01-16 22:53:50 -06:00
Scott Lahteine b41f41589a General cleanup, use _BV 2021-01-16 22:53:50 -06:00
ellensp 69a6d26c80 Fix Trigorilla Pro STOP pins (#20801) 2021-01-16 22:34:54 -06:00
Alexander D. Kanevskiy 0fef29b6e3 NEOPIXEL overridable on BTT SKR (#20797) 2021-01-16 19:51:08 -06:00
Martin f7e2467da1 4 / 5 digits for some edit items (#20793) 2021-01-16 19:49:34 -06:00
Giuliano Zaro dc44edc1b8 Update Italian language (#20789) 2021-01-16 19:20:35 -06:00
thinkyhead ca53d88284 [cron] Bump distribution date (2021-01-17) 2021-01-17 00:42:42 +00:00
ellensp 5e46f63e17 Fix Ender-3 V2 DWIN LPC signed warnings (#20786) 2021-01-16 00:50:25 -06:00
RFBomb 43a91e5963 Configurable Corner Leveling point order (#20733) 2021-01-16 00:43:38 -06:00
Giuliano Zaro 1d5862a39b MMU2 as standard serial device (#20771) 2021-01-15 20:38:34 -06:00
thinkyhead 7c786506e1 [cron] Bump distribution date (2021-01-16) 2021-01-16 00:45:54 +00:00
Marcio Teixeira d03c3980de Improve filament runout handling in FTDI EVE Touch UI
- On filament runout, take the user to the tune menu where they can initiate a filament change or resume the print.
2021-01-15 17:44:16 -06:00
Marcio T 9bbe9455cf Fix compatibility macros 2021-01-15 17:44:16 -06:00
Marcio Teixeira 6376b683c7 Silence unused parameter warnings 2021-01-15 17:44:16 -06:00
Jelmer van der Stel 9dba7cd371 Fix Ender 3 V2 encoder (#20784) 2021-01-15 17:23:04 -06:00
thinkyhead 49e252df03 [cron] Bump distribution date (2021-01-15) 2021-01-15 00:42:52 +00:00
EvilGremlin 8049db20ff ESP32 Tone Generator (#20704) 2021-01-14 02:33:50 -06:00
vitaliy172 ecf5f5d21d Update Ukrainian language (#20668) 2021-01-14 02:21:28 -06:00
Scott Lahteine 12a39450b0 MKS prelim. cleanup (2) 2021-01-14 00:56:35 -06:00
Scott Lahteine c753fc690f More MKS UI prelim. cleanup 2021-01-14 00:27:10 -06:00
MKS-Sean 35c1b330ec MKS WiFi for TFT_LVGL_UI (#20191) 2021-01-13 22:41:09 -06:00
thinkyhead a88ae2080c [cron] Bump distribution date (2021-01-14) 2021-01-14 00:47:36 +00:00
Scott Lahteine e8aa6ab735 Ignore M22 during SD print 2021-01-12 22:33:03 -06:00
Scott Lahteine f2726399dd Move WRITE_FAN 2021-01-12 22:33:03 -06:00
Scott Lahteine d47e694048 whitespace 2021-01-12 22:33:03 -06:00
Scott Lahteine 44c57ab05a MKS UI prelim. cleanup (#20763) 2021-01-12 21:02:35 -06:00
Scott Lahteine 4a89731025 Rotary encoder cleanup (#20753) 2021-01-12 20:43:52 -06:00
Giuliano Zaro 2b928b4754 Fix comments (#20759) 2021-01-12 19:38:51 -06:00
thinkyhead 923ca6f104 [cron] Bump distribution date (2021-01-13) 2021-01-13 00:40:12 +00:00
Scott Lahteine 4472ba2b6b Ok to use C++11 'auto' 2021-01-12 18:08:24 -06:00
Johan van der Vyver 7f3dcb3e8a Multi-platform DWIN_CREALITY_LCD support (#20738)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-12 18:05:49 -06:00
thinkyhead a26f2fb00b [cron] Bump distribution date (2021-01-12) 2021-01-12 00:33:31 +00:00
devin122 8ff87c120a Fix TMC220x short circuit (#20731) 2021-01-11 01:46:17 -06:00
Serhiy-K 4327b5c1b0 Fixes for TFTGLCD (#20734) 2021-01-10 23:59:42 -06:00
Victor Oliveira d6de6de1bb NO_SD_DETECT option (#20741) 2021-01-10 21:55:16 -06:00
Scott Lahteine 9eecb2f542 Fix joystick include 2021-01-10 21:49:35 -06:00
Scott Lahteine 54debf855c Tweak STM32F1 pin r/w/t 2021-01-10 21:38:31 -06:00
Scott Lahteine acda53aa1c Clean up some includes 2021-01-10 21:38:31 -06:00
Scott Lahteine 71921bc9b2 Update Slovak glyphs 2021-01-10 21:38:31 -06:00
thinkyhead bc5c52dc95 [cron] Bump distribution date (2021-01-11) 2021-01-11 00:30:23 +00:00
Mike La Spina cf1f8aff77 Laser Test Fire (#20452) 2021-01-10 06:01:25 -06:00
Anthony Rich d78f2926ec Wanhao One+ SD detect pin (#20724) 2021-01-10 05:50:09 -06:00
thinkyhead 46916d322e [cron] Bump distribution date (2021-01-10) 2021-01-10 00:30:52 +00:00
Scott Lahteine 299f849ffa Optimize some G76 strings 2021-01-09 00:09:03 -06:00
Dmitry Katsubo bbf06152da Fix misc. warnings (#20715) 2021-01-08 18:55:36 -06:00
Scott Lahteine 8ffae97128 Fix Python 2.7 compatibility
Fix regression from #20692
2021-01-08 18:51:54 -06:00
Markus d4ac8bc67b Up to 6 Tramming points (#20720) 2021-01-08 18:42:08 -06:00
thinkyhead 8e1637a2cc [cron] Bump distribution date (2021-01-09) 2021-01-09 00:29:33 +00:00
thinkyhead 4e8d92bece [cron] Bump distribution date (2021-01-08) 2021-01-08 00:29:39 +00:00
qwewer0 4eedeabb51 Fix M48 output (#20713) 2021-01-07 17:55:57 -06:00
TheCodeExorcist 3009707723 Improved MKS Robin support (#19333) 2021-01-06 21:13:15 -06:00
Java 8edcf03715 Preheat before Power Loss Recovery homing (#20697) 2021-01-06 20:57:11 -06:00
thinkyhead abea8ff8f4 [cron] Bump distribution date (2021-01-07) 2021-01-07 00:30:20 +00:00
Scott Lahteine 3dd1fe4211 Custom build_flags by feature (#20692) 2021-01-05 21:03:13 -06:00
thinkyhead d2969d2326 [cron] Bump distribution date (2021-01-06) 2021-01-06 00:27:10 +00:00
wilbur4321 e3831c146d Multi-Z stepper inverting (#20678)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-05 17:03:45 -06:00
ellensp 218de578e0 Fix Azteeg X3 macro typo (#20681) 2021-01-05 06:23:56 -06:00
ellensp 87fbda8344 Define SANGUINOLOLU 1.1 enable pins (#20682) 2021-01-05 06:22:51 -06:00
ellensp e9ab6c10cf No BTN_ENC_EN on Anet 10 (#20684) 2021-01-05 06:21:08 -06:00
Giuliano Zaro 1eb592550c Temperature report followup (#20687)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-05 06:18:09 -06:00
FanDjango dc3cfd0d9d Adjustable precision in M105 temperature report (#20602)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-04 23:57:58 -06:00
zeleps 2f17f2207a Don't apply hotend_offset.z to Z soft endstops (#20675)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2021-01-04 23:48:42 -06:00
Scott Lahteine d2e1e9a0ac Indent tool_change_prime 2021-01-04 23:36:12 -06:00
Scott Lahteine c0a3931595 Clarify solenoid active / magnet-on state 2021-01-04 23:09:35 -06:00
FanDjango 55d1938977 Defer "quiet probing" till the last Z bump (#20610) 2021-01-04 20:32:52 -06:00
Scott Lahteine 3a99d001ff Solenoid cleanups
Followups to #20473 ahead of #20675
2021-01-04 19:01:45 -06:00
thinkyhead 7033003c36 [cron] Bump distribution date (2021-01-05) 2021-01-05 00:26:38 +00:00
Scott Lahteine 21c7e699f1 Remove untranslated strings 2021-01-04 18:18:45 -06:00
Scott Lahteine 208200a3cc G34/M422 cleanup 2021-01-04 17:52:00 -06:00
Scott Lahteine ba2cadb479 Move duplication_e_mask 2021-01-03 22:23:13 -06:00
Scott Lahteine ca47dffa35 Fix delayed_move_time elapsed test 2021-01-03 22:22:21 -06:00
InsanityAutomation 548d5603ea Fix IDEX reboot on travel after G28 X (#20654) 2021-01-03 22:07:29 -06:00
InsanityAutomation 6b458676b1 Fix SD SPI Speed override, FTDI mesh edit (#20657)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2021-01-03 21:59:48 -06:00
Scott Lahteine 63448f3244 Rename FTDI EVE screen data structs 2021-01-03 21:52:05 -06:00
Marcio T 2d88bcb67e Fix thermal error protection, reporting (#20655) 2021-01-03 21:39:15 -06:00
thinkyhead effc37362a [cron] Bump distribution date (2021-01-04) 2021-01-04 00:26:24 +00:00
Giuliano Zaro 3ba80d11eb Update Italian language (#20663) 2021-01-03 17:43:31 -06:00
Scott Lahteine edea49f9a9 Creality 4.2.10 board (#20647) 2021-01-03 07:16:50 -06:00
Scott Lahteine 1d63fe6542 Add ALL_AXES manual move for UBL mesh editing
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>

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

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

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

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

* add MKS Robin PRO V2 board - development board

* tft spi working with F4 boards

* pins formating

* sanity check for TFT on supported cores in STM32

* Fix tabs/spaces in pins file

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

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

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

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

Co-Authored-By: Orel <37673727+0r31@users.noreply.github.com>
2020-10-29 17:34:17 -05:00
Victor de315c97b1 FAST_PWM for STM32F1 (#19952) 2020-10-29 17:17:04 -05:00
Giuliano Zaro 1247f73754 Update Italian language (#19953) 2020-10-29 16:27:01 -05:00
Victor Oliveira 50ba20fe1f PIO env for MKS Nano boards in STM32 (#19905) 2020-10-29 02:01:25 -05:00
Marcio Teixeira b6856dcb99 Improvement and fixes to FTDI touch UI
- Fixed incorrect LCD text string
- Fixed incorrect refresh of filament change screens
- Allow host control via touch UI
- Updates to leveling menu
- Modified ExtUI::isPrinting() to check if the job timer is running
- Added ExtUI method to check whether a host print is paused
2020-10-29 01:14:15 -05:00
Scott Lahteine 54ec6a0ce2 Tweak code formatting 2020-10-29 01:14:15 -05:00
Victor Oliveira dca7c5d1ad Color UI for MKS SGen-L V2 (#19919) 2020-10-29 00:52:50 -05:00
Scott Lahteine 7473241438 .bin and .woff are binary 2020-10-29 00:49:18 -05:00
Scott Lahteine be0c9ff705 Fix comments, spacing 2020-10-29 00:49:18 -05:00
Scott Lahteine 3f644b6275 Add a note about substitution chars 2020-10-29 00:21:41 -05:00
Victor Oliveira 838220e4b3 Keep SPI active on LPC176x (#19932) 2020-10-28 23:47:12 -05:00
Victor Oliveira 18a5000718 Permit spaces in dependencies g++ path (#19929) 2020-10-28 23:45:10 -05:00
thinkyhead 21674b2879 [cron] Bump distribution date (2020-10-29) 2020-10-29 00:16:59 +00:00
Alexander Fomichev 12dec2563a Generalize BTT SKR E3-DIP version (#19910) 2020-10-27 21:59:22 -05:00
ellensp 603e4d66ac AZTEEG X5 mini LED pins (#19909) 2020-10-27 21:57:32 -05:00
Gurmeet Athwal 90fcb82a3e Update ExtUI path in config comment (#19908) 2020-10-27 21:55:49 -05:00
Victor Oliveira 94a6844521 Color UI circular task queue (#19918) 2020-10-27 21:54:30 -05:00
Jason Smith bdb3f1ae2f Fix LCD menus + DAC (#19907) 2020-10-27 21:40:12 -05:00
Orel e3f1f7cd85 Fix DAC-related bugs (#19921)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-27 21:37:10 -05:00
Lucas Seiki Oshiro c0b4f4eb47 "Sound: ON/OFF" menu item (#19901)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-27 20:41:12 -05:00
thinkyhead 68ef3ac675 [cron] Bump distribution date (2020-10-28) 2020-10-28 00:16:40 +00:00
Speaka 2cae26ee35 Fix G35 PROGMEM strings (#19926) 2020-10-27 17:25:01 -05:00
Scott Lahteine 83aa3dbfa6 Archim test matching env 2020-10-27 17:21:54 -05:00
Scott Lahteine 82ac8a1e76 Fix Archim 1, add Archim 1&2 tests 2020-10-27 16:21:03 -05:00
Victor Oliveira c60696dbae Keep watchdog refreshed in LVGL init (#19900) 2020-10-27 15:16:35 -05:00
Victor Oliveira 75b0e3246a Fix some LVGL bugs (#19904) 2020-10-27 15:09:19 -05:00
Marcio Teixeira a74e82fbae Fix NO_WORKSPACE_OFFSETS compile 2020-10-27 15:05:30 -05:00
thinkyhead 8cf672104e [cron] Bump distribution date (2020-10-27) 2020-10-27 00:16:29 +00:00
thinkyhead 8bdde8d7a0 [cron] Bump distribution date (2020-10-26) 2020-10-26 00:16:36 +00:00
Scott Lahteine c4f3f67537 Followup for BTN_ENC_EN 2020-10-25 04:19:59 -05:00
Scott Lahteine ec23e37a4a Clean up comments, USB flash, NULLs 2020-10-25 04:10:00 -05:00
Scott Lahteine 00fbe50bbe Format Nucleo F767ZI pins 2020-10-25 04:07:15 -05:00
ellensp 2e48d6cf70 Fix PASSWORD compile w/out LCD (#19888) 2020-10-25 03:46:21 -05:00
René Pasold ec04517710 Support Fysetc Mini 12864 + GT2560 A(+) (#19878) 2020-10-25 03:43:21 -05:00
ellensp 8cc0369d97 Use LiquidCrystal_I2C@1.1.4 for RA_CONTROL_PANEL (#19875) 2020-10-24 19:46:27 -05:00
Jason Smith f7cdc05937 Update ZMIB_V2 env names (#19886) 2020-10-24 19:44:46 -05:00
Jason Smith ea0afd0b4d Ignore NativeEthernet on AT90USB1286 (#19885) 2020-10-24 19:43:42 -05:00
Gurmeet Athwal 62ba799d72 Add 'BTN_ENC_EN' for SKR V1.4 with DOGM (#19796) 2020-10-24 19:41:52 -05:00
thinkyhead b6508c4bd1 [cron] Bump distribution date (2020-10-25) 2020-10-25 00:16:51 +00:00
Victor Oliveira 853d01de68 More LVGL UI code reduction (#19879) 2020-10-24 17:28:31 -05:00
Nick 311b65b225 Fix Anycubic Chiron "Ready" detection (#19880)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-24 16:48:29 -05:00
Victor Oliveira b632b52b11 Update PIO dependencies script 2020-10-24 16:25:14 -05:00
Victor Oliveira 9630c2683c More MKS UI cleanup, optimization (#19869)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-23 23:37:45 -05:00
Keith Bennett f53d5a0872 Fix Chitu V5/V6 FAN2 pins (#19874) 2020-10-23 23:29:58 -05:00
Scott Lahteine 5917b5cf5c Fix warning in gcode_D 2020-10-23 19:25:32 -05:00
thinkyhead 2a6d48bf9e [cron] Bump distribution date (2020-10-24) 2020-10-24 00:16:09 +00:00
Scott Lahteine 0967c87a8f Pins post-process header (#19860) 2020-10-23 14:52:59 -05:00
Scott Lahteine 0ffee29a11 Case light brightness cleanup (#19856)
Co-authored-by: Chris <chris@chrisnovoa.com>
2020-10-22 22:31:48 -05:00
Scott Lahteine c75e98dc84 Shorten a method name 2020-10-22 20:54:11 -05:00
qwewer0 c7f7f2403d Fix Chopper Timing extra axis defaults (#19850) 2020-10-22 20:46:48 -05:00
Scott Lahteine 4533a197d5 Slim down MKS UI code (#19843) 2020-10-22 20:22:17 -05:00
thinkyhead 1ed853f5d6 [cron] Bump distribution date (2020-10-23) 2020-10-23 00:16:15 +00:00
George Fu f83bbce3a3 Fix TMC serial port for FYSETC AIO_II (#19842) 2020-10-22 06:29:29 -05:00
ManuelMcLure 4fccb92e07 Configure TMC interpolation per driver (#19828) 2020-10-22 06:27:33 -05:00
thinkyhead ec596315bd [cron] Bump distribution date (2020-10-22) 2020-10-22 00:16:17 +00:00
Foxies 9aee6674bb FLSUN Delta QQS-Pro pins (#19793) 2020-10-21 19:00:57 -05:00
Scott Lahteine 7d64de646a Add power-on/off G-code options (#19837)
Co-authored-by: Chris <chris@chrisnovoa.com>
2020-10-21 15:03:11 -05:00
Keith Bennett 1e4691f02a BigTreeTech SKR Mini MZ V1 (#19818) 2020-10-21 14:14:19 -05:00
Mauro 4fe4fb0585 Fresh Web GUI (based on bootstrap.js) (#19812) 2020-10-21 13:51:14 -05:00
TheMichalcinOfficial cf74248949 Support for Ramps-S v1.2 (#19815) 2020-10-21 13:44:55 -05:00
Scott Lahteine 072f996af7 General cleanup, mostly MKS UI (#19825) 2020-10-21 12:45:27 -05:00
Scott Lahteine 1f7c085527 ESP32: i2s_init requires I2S_STEPPER_STREAM 2020-10-20 22:36:31 -05:00
uwedamm a596969049 Fix G2/G3 P<circles> E and Z motion (#19797)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-20 20:26:07 -05:00
thinkyhead 11badea962 [cron] Bump distribution date (2020-10-21) 2020-10-21 00:16:12 +00:00
Tanguy Pruvot d04ec15849 Longer3D: LONGER_LK_TFT28 now set by config (#19817) 2020-10-20 15:06:06 -05:00
ellensp 69d55cabd4 Handle dependent Stepper Driver defaults later (#19820)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-20 15:01:46 -05:00
bilsef 9baa944460 Teensy 4.1 Ethernet support (#19801) 2020-10-20 14:35:29 -05:00
Scott Lahteine 92767f5513 Misc. cleanup, serial strings 2020-10-19 20:39:36 -05:00
thinkyhead b320b1a3c2 [cron] Bump distribution date (2020-10-20) 2020-10-19 20:39:36 -05:00
Scott Lahteine 35b9e9b4a5 Tweak a host prompt call 2020-10-19 20:39:36 -05:00
Scott Lahteine 21ce39aa9b Use PGM serial strings 2020-10-19 04:25:48 -05:00
ellensp ea80b2c8fc Ensure A4988 for unspecified driver type (#19798)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-19 03:16:02 -05:00
Scott Lahteine f501930728 Document M125 P 2020-10-19 00:38:11 -05:00
thinkyhead 8285953c1b [cron] Bump distribution date (2020-10-19) 2020-10-19 00:16:11 +00:00
InsanityAutomation 6375829448 Apply home offsets to probing, Z Safe Homing (#19423)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-18 15:53:12 -05:00
Scott Lahteine b0f0dc683d ABM Teensy 3.6 build 2020-10-18 00:20:25 -05:00
Jago Strong-Wright c2802d35bb Distinct Chopper Timing settings (#19781)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-17 22:35:19 -05:00
thinkyhead 2693d0eb27 [cron] Bump distribution date (2020-10-18) 2020-10-18 00:16:03 +00:00
Sten Uusvali 6fed11896b Fix M503 output for M907 motor current (#19777)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-10-17 16:11:22 -05:00
Curtis Jenkins 178721a329 Fix Smoothieboard digipots i2c pin (#19784) 2020-10-17 15:05:50 -05:00
Scott Lahteine 263f29a96a MarlinUI followup 2020-10-16 20:48:59 -05:00
Scott Lahteine e99f967372 Starting fan followup 2020-10-16 20:38:30 -05:00
Victor Oliveira 313efa33ae Fix starting fan with bad material preset index (#19773) 2020-10-16 20:05:45 -05:00
Scott Lahteine eaf6777a66 Rename ultralcd => marlinui 2020-10-16 19:55:18 -05:00
Scott Lahteine 0f6fc48f85 touch_ms followup 2020-10-16 19:55:18 -05:00
thinkyhead 1e13a7161a [cron] Bump distribution date (2020-10-17) 2020-10-17 00:15:41 +00:00
arminth 3ed0b24831 Provide FYSETC F6 13 LCD pins for HD44780 (#19769) 2020-10-16 17:07:34 -05:00
Jason Smith 050ba0e0a0 LCD conditionals followup (#19766) 2020-10-16 17:04:10 -05:00
nb-rapidia 418b3e5ee2 Fix IDEX layer shift and DIR states (#19756)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:59:55 -05:00
Serhiy-K aa901ac4a2 Fix HAL/STM32 FastIO for analog pins (#19735) 2020-10-16 16:21:21 -05:00
Victor Oliveira 0b80841c38 Fix Color UI external_control, wait_for_release (#19771)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-16 16:19:48 -05:00
Victor Oliveira e370834c35 Handle M410 in the main task (#19752) 2020-10-16 16:11:00 -05:00
Jason Smith 9b9cd698a5 Fix SAMD Serial name macro (#19765) 2020-10-16 16:04:51 -05:00
mks-viva a4b89e67c6 Update MKS SGen-L V2 RGB LED pins (#19762) 2020-10-16 02:16:09 -05:00
Andreas Setterlind 814db9d7c9 Add ESP32 160MHz to README (#19748) 2020-10-16 02:06:05 -05:00
Jason Smith 7f83231385 Fix NUCLEO_F767ZI build, add tests (#19746) 2020-10-16 02:04:55 -05:00
Victor Oliveira 5247bb11f7 Sanity check unsupported EP (#19745) 2020-10-16 02:03:45 -05:00
thinkyhead 763544585a [cron] Bump distribution date (2020-10-16) 2020-10-16 00:15:39 +00:00
Victor Oliveira 8a885dc61b Fix TOUCH_SCREEN + TFT_LVGL_UI compile (#19754) 2020-10-15 18:38:27 -05:00
Victor Oliveira f74b5a6b9b Update Probe Offset Wizard for Color UI (#19742) 2020-10-15 14:15:11 -05:00
rlojek 72e3238c3f Fix ADVANCED_PAUSE && !PREVENT_COLD_EXTRUSION (#19740) 2020-10-15 13:44:57 -05:00
Peter Hall f86c6851fc Default LASER_POWER_INLINE to OFF (#19727) 2020-10-15 13:18:43 -05:00
Scott Lahteine f6ffbe548c TFT Presets, Generic options, Sanity checks (#19723) 2020-10-15 03:00:27 -05:00
thinkyhead 04c27573d6 [cron] Bump distribution date (2020-10-15) 2020-10-15 00:15:10 +00:00
Jason Smith 9a23fb5863 Fix SET_SOFT_ENDSTOP_LOOSE w/out soft endstops (#19734) 2020-10-14 13:50:03 -05:00
Jason Smith 90d364fc37 Revert at90usb1286 conditional (#19733) 2020-10-14 13:48:46 -05:00
Jason Smith 79d51581ba Fix digipot compilation (#19731) 2020-10-14 13:44:03 -05:00
Jason Smith 9507c49b18 Fix mega2560ext environment (#19730) 2020-10-14 13:43:36 -05:00
thinkyhead 87b07d6f2f [cron] Bump distribution date (2020-10-14) 2020-10-14 00:15:03 +00:00
Keith Bennett 64711e0d56 If needed, home before G34 (#19713) 2020-10-13 18:13:25 -05:00
Victor Oliveira bf33b2f862 Watchdog Refresh for LVGL Asset Load (#19724) 2020-10-13 18:12:34 -05:00
Jason Smith 54315252c7 Add NUCLEO-F767ZI dev board (#19373)
Co-authored-by: Lorenzo Delana <lorenzo.delana@gmail.com>
2020-10-13 18:03:09 -05:00
Scott Lahteine 733eb127e9 Simple bool in soft_endstops_t 2020-10-13 14:55:14 -05:00
Victor Oliveira 2132efa981 TFT followup fixes (#19710) 2020-10-13 11:58:50 -05:00
thinkyhead da79674f84 [cron] Bump distribution date (2020-10-13) 2020-10-13 00:15:19 +00:00
Scott Lahteine ae36ed3903 Move @section temperature 2020-10-12 18:02:25 -05:00
Victor Oliveira cc4db8e4a9 Fix UTF8 handling for Color UI (#19708) 2020-10-12 18:01:03 -05:00
Keith Bennett f9f8fd37de Sanity-check mutually-exclusive G34 features (#19706) 2020-10-12 16:52:56 -05:00
Earle F. Philhower, III 193c0a52d9 Add loose soft endstop state, apply to UBL fine-tune (#19681)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-12 16:48:04 -05:00
Jason Smith f5139f8bf4 Add D100 Watchdog Test (#19697) 2020-10-12 16:39:31 -05:00
Victor Oliveira c0920bbf6a TFT Refactoring (#19192)
* split tft folder in two: tft for color ui; tft_io for shared tft code

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

* classic ui using TFT IO init lcd codes

* feature to compile tft_io when enabled

* compiling fix

* lvgl spi tft working with tft io init codes

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

* remove debug

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

* ST7796S rotate and mirror support

* ST7789V rotate and mirror support

* ST7735 rotate and mirror support

* ILI9341 rotate and mirror support

* ILI9328 rotate and mirror support

* R61505 rotate and mirror support

* MKS TFT definitions

* more configs for mks tfts

* update config

* naming typo

* to configure the user interface

* ANYCUBIC_TFT35

* tft configs

* support for SSD1963

* tft display types

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

* compatiblity

* changed name

* move classic ui file name

* rename TURN -> ROTATE

* GRAPHICAL_TFT_ROTATE_180 deprecated

* first fsmc board fully working - chitu v5

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

* right pin name

* anycubic tft tested in a TRIGORILLA_PRO

* chitu v6

* nano 32 tft orientation

* mks tft43

* mks tft43 rotation

* fixed LONGER LK tft setup

* GRAPHICAL_TFT_UPSCALE defined by the display type

* better offsets defaults

* Update Configuration.h

* Update tft_fsmc.cpp

* Update Conditionals_LCD.h

* Tweak comments

* update nano tests

* Revert "update nano tests"

This reverts commit a071ebbfad30e28855a4a5695ec8a726542a1a65.

* default tft

* outdated comments

* to not break non-vscode builds

* upscale tft 35

* support tft 180 rotation for color ui

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

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

* extra s

* unused code

* wrong -1

* missing mirror options

* Smaller regex pattern

* Comment updates

* Clean up old defines

* Apply pins formatting

* GRAPHICAL_TFT_ROTATE_180 => TFT_ROTATE_180

* MKS_ROBIN_TFT_V1_1R

* merge fix

* correct resolution

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

* to not use rotation with MKS_ROBIN_TFT_V1_1R

* i like () in macros

* avoid sleepy commits

* default for st7789 is rgb

* nano follow up

* to allow ili9328 rotation

* default is rgb

* boards merge follow up

* to match bootloader orientation

* HAS_TOUCH_XPT2046 is not hal specific anymore

* lets not forget LPC

* 180 rotation for ili9328 and R61505

* Clean up whitespace

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

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-11 18:13:01 -05:00
Scott Lahteine 492ba2a111 Digipots refactor / cleanup (#19690) 2020-10-11 14:58:35 -05:00
thinkyhead 349465b168 [cron] Bump distribution date (2020-10-11) 2020-10-11 00:15:24 +00:00
Scott Lahteine 98427ea92a Save PLR on resume from pause (#19676)
Co-Authored-By: shahab <32130261+SHBnik@users.noreply.github.com>
2020-10-10 12:09:44 -05:00
Victor Oliveira a90edd5eb4 Restore correct STM32 port-bits code (#19678) 2020-10-10 11:47:28 -05:00
Serhiy-K 6fdaaf3d20 Fixes for TFTGLCD Panel, FastIO (#19614) 2020-10-10 05:08:01 -05:00
ellensp 406f8363bc HAS_CHARACTER_LCD => HAS_MARLINUI_HD44780 (#19673) 2020-10-10 04:39:12 -05:00
Victor Oliveira 8e03a4cb93 Keep HAL tasks running during PID Autotune (#19671) 2020-10-09 23:35:41 -05:00
thinkyhead 1403260487 [cron] Bump distribution date (2020-10-10) 2020-10-10 00:14:40 +00:00
Scott Lahteine 6831341ab4 Batch appercase hex values 2020-10-09 16:55:27 -05:00
Scott Lahteine 0988af453c Optional M42/M226; Add more features filters (#19664) 2020-10-09 16:42:23 -05:00
Victor Oliveira 631457ffea Support for Debug Codes - Dnnn (#19225)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-09 06:28:53 -05:00
石立枫 bec1844954 Support for FLY MINI (#19185) 2020-10-09 06:09:27 -05:00
Keith Bennett e6d0a8ef66 Fix touch ifndefs (#19661) 2020-10-09 02:52:06 -05:00
Giuliano Zaro 70ab146cbb Update Italian language (#19654) 2020-10-09 02:51:25 -05:00
thinkyhead 33b2e12886 [cron] Bump distribution date (2020-10-09) 2020-10-09 00:14:12 +00:00
Samantaz Fox 1de29026d5 Fix and improve Makefile / CMake (#19640) 2020-10-08 18:40:54 -05:00
Scott Lahteine 854af7a4bf Permit touch calibration override 2020-10-08 16:59:54 -05:00
Scott Lahteine f72c559824 Use 0xFF (not 'ff') for byte transfer 2020-10-08 15:18:43 -05:00
ellensp 321afd5fef Apply env:mega2560ext to relevant boards (#19624) 2020-10-08 02:30:31 -05:00
qwewer0 91df2bea80 Update PROBE_OFFSET_WIZARD comment (#19652) 2020-10-07 20:43:08 -05:00
thinkyhead 5de2946999 [cron] Bump distribution date (2020-10-08) 2020-10-08 00:12:06 +00:00
qwewer0 c650b752f1 More accessible PROBE_OFFSET_WIZARD (#19647) 2020-10-07 13:01:01 -05:00
ellensp c12f41ec6f Restore ° to 6x9 small info font (#19645) 2020-10-07 13:00:08 -05:00
Scott Lahteine 2c6ec0c999 Chamber vent/fan followup 2020-10-06 19:42:11 -05:00
Scott Lahteine f1e563d8cf Fix small font section directive, mixer warning 2020-10-06 19:18:00 -05:00
thinkyhead 6de179eb7d [cron] Bump distribution date (2020-10-07) 2020-10-07 00:14:42 +00:00
Scott Lahteine 584ffc6f52 Update language fonts 2020-10-06 18:37:32 -05:00
ladismrkolj 2c99c1e06f Add Chamber servo vent, auto fan (#19519) 2020-10-06 18:36:01 -05:00
signetica f95a2f6d91 Fix Ender-3 V2 DWIN Stop SD Print (#19642)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-06 16:58:28 -05:00
Scott Lahteine b31e358270 Improve retract / unretract labels 2020-10-06 03:01:28 -05:00
thinkyhead 673835e5d9 [cron] Bump distribution date (2020-10-06) 2020-10-06 00:14:30 +00:00
Scott Lahteine f5bae208cc Trailing whitespace 2020-10-05 17:16:42 -05:00
Scott Lahteine c25c31b1de Sync config to examples 2020-10-05 17:16:42 -05:00
Mathew Winters 343441d746 Z Probe Offset Wizard (#18866) 2020-10-05 00:31:20 -05:00
Cory Ory 78fc4c8947 Allow bypass for cold E movement (#19606) 2020-10-04 19:51:21 -05:00
thinkyhead 86165ceca5 [cron] Bump distribution date (2020-10-05) 2020-10-05 00:14:33 +00:00
Ryan V1 8989353fab Fix Archim1 stepper timing (with new variant) (#19596) 2020-10-04 17:41:41 -05:00
Scott Lahteine 7e0524109e Add HAS_FAST_MOVES 2020-10-04 17:31:10 -05:00
ellensp d88e694d06 Fix Z_AFTER_HOMING without probe (#19607) 2020-10-04 16:47:06 -05:00
Scott Lahteine 44d50c2bd3 Move SF_ARC_FIX option 2020-10-04 15:46:00 -05:00
Speaka 58548f5051 Fix German translation purging/unloading (#19615) 2020-10-04 14:50:12 -05:00
Scott Lahteine 782eabc226 Shared singlenozzle item 2020-10-04 14:47:06 -05:00
Scott Lahteine 0ff3ae3cc6 Fix Tune/Fan edit items
- Fixes #19617
- Followup to #18400
2020-10-04 14:29:44 -05:00
thinkyhead 8088c7dcd5 [cron] Bump distribution date (2020-10-04) 2020-10-04 00:14:30 +00:00
thinkyhead 604d10d307 [cron] Bump distribution date (2020-10-03) 2020-10-03 00:14:05 +00:00
Ryan V1 8dcc72ce9c Fix 'bossac' upload on Windows (#19545) 2020-10-02 17:31:33 -05:00
Marcio T d06bcd6dd3 Touch UI support for X2, Y2 and Z2 (#19538) 2020-10-02 17:30:32 -05:00
ellensp b3c2ee56f9 Fix wrappers on HAL/STM32F1 .cpp files (#19581)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-02 17:28:08 -05:00
ellensp 435e98ceed Fix TEMP_ADC_PROBE support for STM32F1 (#19582)
Co-authored-by: ellensp <ellensp@ellensp-HP-ProBook-6470b.fritz.box>
2020-10-02 17:19:43 -05:00
Andreas Setterlind 7d21dfc938 Add Configurations repo info to config/README.md (#19583)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-10-02 17:16:55 -05:00
ellensp 2e1ba73926 Fix compile of MMU2 with S-mode disabled (#19584) 2020-10-02 17:12:17 -05:00
bilsef e8a62ee3cf Fix onboard SD card support for Teensy 3.6 & 4.1 (#19593) 2020-10-02 17:08:50 -05:00
Scott Lahteine 4e8eea8e78 Adjust HAL platform defines, comments 2020-10-02 17:05:59 -05:00
Scott Lahteine d83baf8925 Replace tabs with spaces 2020-10-02 17:05:59 -05:00
Victor Oliveira 348570fd68 Minor SPI fixes, systick_callback for STM32F1 HAL compatibility (#19565) 2020-10-01 20:54:22 -05:00
thinkyhead cf61562196 [cron] Bump distribution date (2020-10-02) 2020-10-02 00:13:10 +00:00
swissnorp d02d7a95d1 G35 workaround for Pronterface "feature" (#19577) 2020-10-01 18:17:11 -05:00
Stéphane ba07c26761 Fix Anycubic i3 Mega target temperature display (#19572)
Also includes a workaround for missing (probably un-fetched) long name in file listing
2020-10-01 18:09:39 -05:00
Ilya e56295851f No move on Park = No move on Resume (#19569) 2020-10-01 17:51:11 -05:00
Roman Moravčík f7d93dadeb Update Slovak language (#19561) 2020-10-01 17:47:24 -05:00
Victor Oliveira 5c87762f9e Fix Buzzer (pin) init for uninitialized FastIO (#19559) 2020-09-30 20:14:19 -05:00
Victor Oliveira ea78514ff3 Fix Move Screen with disabled Touch (#19558) 2020-09-30 20:06:32 -05:00
thinkyhead 2616feb3df [cron] Bump distribution date (2020-10-01) 2020-10-01 00:14:15 +00:00
thinkyhead f4255b14e8 [cron] Bump distribution date (2020-09-30) 2020-09-30 00:13:59 +00:00
thinkyhead 41774ec9de [cron] Bump distribution date (2020-09-29) 2020-09-29 00:13:48 +00:00
Nick 60155aa442 Anycubic Chiron full feature support (#19505) 2020-09-28 18:53:40 -05:00
Scott Lahteine 169ec65e72 Fix up E3 DWIN Power Panic 2020-09-28 17:17:12 -05:00
Scott Lahteine 660420050b Fetch longname when a file exists 2020-09-28 17:17:12 -05:00
Scott Lahteine 0ddb4d88a9 Add extra CardReader debugging 2020-09-28 17:17:12 -05:00
Scott Lahteine 9142f5446a Improve Power-Loss Recovery (#19540) 2020-09-28 15:52:21 -05:00
Scott Lahteine 6d4c82f4d8 Fix diveToFile with open Dir object (#19539)
* Fix CardReader diveToFile
* Add CardReader::fileExists
2020-09-28 15:46:12 -05:00
qwewer0 4424645e04 Multi-line comments cleanup (#19535) 2020-09-28 14:53:50 -05:00
Pavel Melnikov 05517e2096 Change "Fr" on LCD to ">>" (#18830) 2020-09-28 04:55:46 -05:00
Scott Lahteine be7bbadabe Default E3 V2 to English 2020-09-28 04:39:29 -05:00
Scott Lahteine d4a5b10133 Tweaks to git helpers 2020-09-28 03:57:33 -05:00
Scott Lahteine 4584a52ba5 Update configs to 020007 2020-09-28 03:55:14 -05:00
Serhiy-K 27bdf4b24e MarlinUI for SPI/I2C TFT-GLCD character-based display bridge (#19375) 2020-09-28 01:52:38 -05:00
Scott Lahteine c2c6a679ea Rename LCD conditionals (#19533) 2020-09-28 01:13:27 -05:00
Scott Lahteine 1c372df449 Prettier INI 2020-09-28 01:11:48 -05:00
Scott Lahteine 3a91ab4706 Menu tweak 2020-09-28 01:02:05 -05:00
Scott Lahteine 303d871ca7 Update AnyCubic deps 2020-09-28 01:02:05 -05:00
Emperor 00c09e95ac Thermistor: Kis3d Silicone heater + precision cast plate (#19528) 2020-09-27 21:38:30 -05:00
Tanguy Pruvot f3de0f6c53 Working LCD_USE_DMA_FSMC (#19522) 2020-09-27 21:28:48 -05:00
Siana Gearz 7415e4e66d Fix Allen Key Probe pin test (#19520) 2020-09-27 21:25:35 -05:00
Victor Oliveira 6572d7131f LVGL followup fixing "C", etc. (#19517) 2020-09-27 21:22:08 -05:00
thinkyhead d9d920e0b3 [cron] Bump distribution date (2020-09-28) 2020-09-28 00:13:59 +00:00
Scott Lahteine cd5735130d CardReader cleanup 2020-09-27 16:58:50 -05:00
Scott Lahteine 3245a5fdf6 E3 DWIN: "No Media" message 2020-09-27 16:55:57 -05:00
Scott Lahteine 37cf156223 E3 DWIN: General cleanup 2020-09-27 16:55:57 -05:00
Scott Lahteine d2741c8680 Allow M524 between M23 and M24 2020-09-27 16:55:57 -05:00
Scott Lahteine dd118e2f36 Drop extra Bed PID 2020-09-27 16:55:57 -05:00
Scott Lahteine 4975e93350 Tweak MMU beeps, misc. cleanup 2020-09-27 02:03:00 -05:00
thinkyhead 82e602c847 [cron] Bump distribution date (2020-09-27) 2020-09-27 00:14:12 +00:00
Trocololo 88d7f4d7be MMU2 S Mode spins the BMG gears during C0 (#19429) 2020-09-25 20:28:01 -05:00
Victor Oliveira 5cf2cf2be9 Allow ColorUI color customization (#19484) 2020-09-25 20:05:23 -05:00
Victor Oliveira a7f5d38da7 Fix MBL "Click to continue" on Color UI touchscreen (#19514) 2020-09-25 19:58:45 -05:00
Keith Bennett ec4a0a3e0d SKR E3 Turbo followup (#19513) 2020-09-25 19:49:36 -05:00
Luke Harrison 97e0d55073 Fix SKR 1.4 thermistor pin comments (#19510) 2020-09-25 19:48:24 -05:00
ellensp 7efd740950 Fix MKS Robin undefined pins error (#19507) 2020-09-25 19:47:22 -05:00
Victor Oliveira 61d96ce1c9 Escape the M33 string arg (#19515) 2020-09-25 19:45:01 -05:00
thinkyhead f902e208a3 [cron] Bump distribution date (2020-09-26) 2020-09-26 00:13:15 +00:00
Victor Oliveira 178a1da165 TFT: No timeout on Move Screen (#19426) 2020-09-25 14:58:28 -05:00
Scott Lahteine 7ce91c5ffe Sanity check old serial names 2020-09-24 21:46:13 -05:00
Keith Bennett 23faf902ab BigTreeTech SKR E3 Turbo (#19500) 2020-09-24 21:19:04 -05:00
Jason Smith da6c8317a7 Fix and improve STM32F1 serial (#19464) 2020-09-24 20:28:48 -05:00
thinkyhead 6bb6f7f288 [cron] Bump distribution date (2020-09-25) 2020-09-25 00:13:26 +00:00
Scott Lahteine b3223d7b41 Fix some pin inits 2020-09-23 21:36:39 -05:00
Scott Lahteine 568f292883 HAL/serial followup 2020-09-23 21:36:31 -05:00
Scott Lahteine 4b928b2da8 HAL and serial cleanup
Co-Authored-By: Jason Smith <20053467+sjasonsmith@users.noreply.github.com>
2020-09-23 19:45:33 -05:00
thinkyhead 928d874dea [cron] Bump distribution date (2020-09-24) 2020-09-24 00:13:39 +00:00
Scott Lahteine ecc8013812 Whitespace cleanup 2020-09-23 17:43:32 -05:00
ellensp 6634bedb25 Define UART pins for LPC debug based on LPC_PINCFG_UART (#19475) 2020-09-23 16:03:07 -05:00
ellensp e3d4e328f9 Preserve brightness in EEPROM validate (#19485)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-09-23 15:44:15 -05:00
Scott Lahteine 93421f3a00 Teensy pins cleanup 2020-09-23 15:34:10 -05:00
Jason Smith 023cb54fae MKS Robin Mini uses ONBOARD_SPI_DEVICE (#19460) 2020-09-23 15:07:34 -05:00
Victor Oliveira 90bc1993b6 Include pins.h in dependencies script (#19468) 2020-09-23 15:06:36 -05:00
Marcio T 362145f608 New Touch UI buttons (#19465) 2020-09-22 21:01:01 -05:00
Jason Smith 5d0429ee2a Catch a TMC address conflict early (#19458) 2020-09-22 20:36:31 -05:00
Scott Lahteine 5f5f76956f Fix up tests, warnings 2020-09-22 19:59:02 -05:00
thinkyhead fd8cd31504 [cron] Bump distribution date (2020-09-23) 2020-09-23 00:13:17 +00:00
Scott Lahteine a87c517da5 Fix Teensy 4.1 include 2020-09-22 17:52:42 -05:00
Jason Smith d051c2adbd Update board/teensy comment (#19456) 2020-09-22 17:36:59 -05:00
makerbase 63e7ae793b MKS SGEN L V2 adaptable heaters/fans (#19462) 2020-09-22 15:57:17 -05:00
Victor Oliveira 79dc8a2297 Define <u8,u8,u8>::softSPI (#19419) 2020-09-22 15:44:17 -05:00
riodoro1 225487f9db Fix up K8800 pins (#19476) 2020-09-22 15:08:14 -05:00
thinkyhead 47aa61c0ec [cron] Bump distribution date (2020-09-22) 2020-09-22 00:13:24 +00:00
Chris Pepper 1bfc51ad5c Update pins_ANET_10.h 2020-09-21 16:19:09 +01:00
Jason Smith fb48cd0ab4 Replace Serial with Serial1 in pins files (#19459) 2020-09-20 22:30:20 -05:00
qwewer0 0251eb85b2 Optional menu item for Assisted Tramming (#19447) 2020-09-20 22:29:34 -05:00
makerbase d8ed749045 Add MKS Robin E3P, improve LVGL UI (#19442) 2020-09-20 20:55:02 -05:00
thinkyhead 77b06dce0c [cron] Bump distribution date (2020-09-21) 2020-09-20 20:51:21 -05:00
Scott Lahteine 4f73ac7289 Add HAS_ROTARY_ENCODER 2020-09-20 20:51:21 -05:00
Scott Lahteine 60ab7a1ddb Cleanup before MKS changes 2020-09-20 20:51:21 -05:00
Scott Lahteine 76d8d1742c Add multi-extruder condition 2020-09-20 20:51:21 -05:00
Scott Lahteine 8e0fac897b Whitespace cleanup 2020-09-20 18:25:42 -05:00
thinkyhead 0c7035d8a3 [cron] Bump distribution date (2020-09-20) 2020-09-20 00:13:46 +00:00
enigmaquip b5e4511de8 Fix Creality DWIN Control menu icons (#19441) 2020-09-19 10:19:45 -05:00
ellensp 98bcb25fd4 Ultratronics Pro SPI pins (#19444) 2020-09-19 10:18:42 -05:00
qwewer0 af8f9f790a Optional Host Start menu item (#19443) 2020-09-19 10:17:24 -05:00
Marcio T 9fd06fa767 Fix case light brightness save/load (#19436) 2020-09-19 09:23:56 -05:00
InsanityAutomation 4696142a31 Fix compile for Taz Pro (#19424) 2020-09-19 09:20:15 -05:00
Scott Lahteine 435e1535cc Change some dwin defines 2020-09-19 09:04:00 -05:00
Cole Markham 4628f0e237 Fix CoreXY compile with backlash cal. (#19422) 2020-09-19 08:14:34 -05:00
thinkyhead e65deacabb [cron] Bump distribution date (2020-09-19) 2020-09-19 00:13:10 +00:00
Keith Bennett 55ba5044ef Fix missing include (#19418)
Co-authored-by: ellensp <530024+ellensp@users.noreply.github.com>
2020-09-18 04:45:56 -05:00
thinkyhead 648269e0ec [cron] Bump distribution date (2020-09-18) 2020-09-18 00:13:20 +00:00
Victor Oliveira 5b56d6698a Move screen for Color UI (#19386) 2020-09-17 06:52:21 -05:00
InsanityAutomation 62206c0386 Host Action: Start (#19398) 2020-09-17 06:36:21 -05:00
jahartley da1a60aeb6 Expose JOYSTICK_DEBUG to the general user (#19394)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-09-17 06:01:10 -05:00
Victor Oliveira 3eaa19fdb0 Fix MKS UI SPI flash typo (#19410) 2020-09-17 05:52:47 -05:00
Marcio Teixeira c539254101 Add warning to ExtUI Bed Mesh Screen. (#19397)
- Show a warning on the Mesh Bed Leveling screen if some points aren't probed.
2020-09-17 05:49:18 -05:00
deram 24d8daa01b SHOW_REMAINING_TIME for HD44780 character LCD (#19416) 2020-09-17 05:41:13 -05:00
cosmoderp 073b7f1e3a E3 V2 DWIN: Z-Offset, cleanup, versatility (#19384)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-09-17 05:35:04 -05:00
enigmaquip 5926bacea1 Add more DWIN commands, docs (#19395) 2020-09-17 03:17:47 -05:00
tovam c5204807e9 Fix missing spaces in info menu (#19404) 2020-09-17 03:07:03 -05:00
Jason Smith 9d5a9621de Demo and test multiple PID defaults (#19413) 2020-09-17 03:06:01 -05:00
thinkyhead 9cf8537051 [cron] Bump distribution date (2020-09-17) 2020-09-17 00:13:06 +00:00
Scott Lahteine 56ed55ddba MarlinUI percent methods for all 2020-09-16 07:12:24 -05:00
Scott Lahteine 217bae9ff1 More DWIN cleanup 2020-09-16 07:12:24 -05:00
Scott Lahteine 250bfac0cc E3 V2 DWIN cleanup 2020-09-16 04:35:30 -05:00
thinkyhead 57a87a278b [cron] Bump distribution date (2020-09-16) 2020-09-16 00:12:57 +00:00
thinkyhead 0b7d69d06f [cron] Bump distribution date (2020-09-15) 2020-09-15 00:13:01 +00:00
Victor Oliveira 79d4123319 Only set up SPI pins as needed (#19372) 2020-09-14 17:16:19 -05:00
Zachary Annand 648e7f73a5 More strict STATIC_ITEM_N (#19378) 2020-09-14 03:28:21 -05:00
Marcio T 941b890881 Add missing FTDI EVE menu source (#19382) 2020-09-14 03:25:20 -05:00
Scott Lahteine 0f9eb480aa Allow E3 V2 DWIN without EEPROM, POWER_LOSS_RECOVERY 2020-09-14 02:48:45 -05:00
Scott Lahteine 0473f7ee58 M115 strings 2020-09-14 02:42:05 -05:00
Scott Lahteine 3a89d34e7f Always show Compiled: 2020-09-14 02:42:05 -05:00
Scott Lahteine cd85fa3abe Better choice of code
Followup to #19344
2020-09-14 02:22:44 -05:00
ellensp 979876e958 Improve temperature runaway, idle timeout (#19339)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-09-13 23:58:39 -05:00
thinkyhead cf8316bfbb [cron] Bump distribution date (2020-09-14) 2020-09-14 00:13:25 +00:00
Scott Lahteine 49ca16c3fb heater_ind_t => heater_id_t 2020-09-13 18:22:28 -05:00
mmajoor d93471fdad Allow SWD debug on Robin Nano (#19345) 2020-09-12 23:33:55 -05:00
Marcio T 872516f9f9 Touch UI "Leveling" menu, misc. fixes (#19349) 2020-09-12 23:32:00 -05:00
ellensp 7c7e663911 Fix extra string substitution bug (#19351) 2020-09-12 23:01:03 -05:00
ManuelMcLure c04d5624da Read from backup TMC StealthChop state (#19364) 2020-09-12 22:59:20 -05:00
Jason Smith d07ce9ef21 Fix EXP2 pin define for MKS SGEN_L (#19369) 2020-09-12 21:52:46 -05:00
Giuliano Zaro dcf3587d9a Update Italian language (#19365) 2020-09-12 21:51:20 -05:00
Jesse S 94244c1d93 Highlight Creality DWIN menu icons (#19368) 2020-09-12 21:50:15 -05:00
thinkyhead ed39317203 [cron] Bump distribution date (2020-09-13) 2020-09-13 00:13:14 +00:00
Neskik 1917ed8741 M872 wait for probe temperature (#19344) 2020-09-11 22:51:19 -05:00
Haxk20 6f8282f01e Fix Print Stats appearance (#19348) 2020-09-11 19:53:06 -05:00
thinkyhead 4f390ea18f [cron] Bump distribution date (2020-09-12) 2020-09-12 00:12:50 +00:00
Keith Bennett cb9a34c6f7 Fix Creality RET6 env - RE (#19340) 2020-09-11 02:12:49 -05:00
Scott Lahteine 6759aff220 Clean up W25QXXFlash class 2020-09-10 21:54:04 -05:00
Scott Lahteine b33f4ba300 Use F() for Ender 3 V2 DWIN 2020-09-10 21:52:36 -05:00
Scott Lahteine 85089898be Translate encoder comments 2020-09-10 20:14:07 -05:00
thinkyhead 4d65ab5a0b [cron] Bump distribution date (2020-09-11) 2020-09-11 00:12:52 +00:00
riodoro1 abf1222f1d Fix missing BOARD_K8800 (#19331) 2020-09-10 17:06:37 -05:00
Giuliano Zaro b2ba9009d0 Fix "too cold" in M600 (#19332) 2020-09-10 16:47:58 -05:00
Scott Lahteine 21ee7be30a Warning if SDCARD_READONLY should be disabled 2020-09-10 03:03:42 -05:00
Scott Lahteine 9b78138600 General cleanup 2020-09-10 02:29:01 -05:00
Victor Oliveira 160f70be63 LPC: Finish DMA transfer, use HW SPI class (#19191) 2020-09-10 00:41:26 -05:00
Victor Oliveira b98946b5c1 Raise STM32F1 UART IRQ Priority, add error handling (#19301)
(Error handling for Overrun, Framing and Parity.)
2020-09-09 22:46:50 -05:00
Zachary Annand 20ac0faa86 Fix Separate Neopixel menu labels (#19303) 2020-09-09 22:04:10 -05:00
Keith Bennett 700e0fe7d7 Warn in platformio.ini about RCT6 512K (#19312) 2020-09-09 21:59:42 -05:00
Marcio Teixeira 328d8b5952 Fix ExtUI SD sorting, compile issues 2020-09-09 21:54:08 -05:00
makerbase 006b7f3f17 MKS Gen L V2.1 (#19314) 2020-09-09 21:48:42 -05:00
Keith Bennett 6eebcb5e48 Fix compile with Danish, Basque (#19325) 2020-09-09 21:23:01 -05:00
thinkyhead 0b01aa8276 [cron] Bump distribution date (2020-09-10) 2020-09-10 00:12:33 +00:00
bilsef 049fbc92a9 Support for Teensy 4 (#19311) 2020-09-09 18:57:20 -05:00
Scott Lahteine bc7720c0cd Minor HAL cleanup 2020-09-08 22:17:44 -05:00
thinkyhead 40fdf8f087 [cron] Bump distribution date (2020-09-09) 2020-09-09 00:12:44 +00:00
Jason Smith 4fc1aba848 Update HAL/STM32 platform to 8.0 (#18496) 2020-09-07 21:41:48 -05:00
Giuliano Zaro 828a582f4d Make M600 heat up the nozzle. Reset runout on fail. (#19298)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
2020-09-07 21:29:45 -05:00
thinkyhead d1d8417a61 [cron] Bump distribution date (2020-09-08) 2020-09-08 00:12:45 +00:00
Jason Smith 5c3140811d TFT is neither "graphical" nor "character" (#19297) 2020-09-07 17:07:53 -05:00
Victor Oliveira 4268d86da1 Sanity-check BABYSTEP_DISPLAY_TOTAL with ColorUI (#19284) 2020-09-07 03:17:35 -05:00
Kadah bb017038d4 Fix M166 Gradient Mix for DELTA (#19285) 2020-09-07 03:15:42 -05:00
Zachary Annand d3f1f3533d Separate Neopixel followup (#19287) 2020-09-07 02:59:31 -05:00
Scott Lahteine a445746a8b Clean up LCD conditionals, DWIN 2020-09-06 23:21:42 -05:00
Scott Lahteine b709baba7a Whitespace cleanup 2020-09-06 22:51:59 -05:00
Jason Smith ef1d154a4a Adjust GTR PeripheralPins to avoid timer conflicts (#19183) 2020-09-06 20:10:25 -05:00
Victor Oliveira a4bc9e669c STM32F1 EP with USB_COMPOSITE (#19281) 2020-09-06 20:04:20 -05:00
Zachary Annand 5ea7a8373a Menu items for Separate NeoPixel (#19280) 2020-09-06 20:00:24 -05:00
thinkyhead f29baed540 [cron] Bump distribution date (2020-09-07) 2020-09-07 00:13:11 +00:00
Keith Bennett d19fc64392 Clarify disabling StallGuard for axes (#19263) 2020-09-06 17:51:19 -05:00
Marcio T 2b789ddab9 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.
2020-09-06 17:37:16 -05:00
cosmoderp 86b71b83fa Fix Ender 3 V2 (DWIN) buffer overrun (#19268) 2020-09-06 17:34:08 -05:00
Victor Oliveira 486731162f Fix STM32F1 SPI device init, MKS_LCD12864 (#19271) 2020-09-06 17:29:43 -05:00
Victor Oliveira b6ab163814 Emergency Parser for STM32F1 (#19279) 2020-09-06 17:23:36 -05:00
thinkyhead 2ea1bf0e1d [cron] Bump distribution date (2020-09-06) 2020-09-06 00:13:05 +00:00
Scott Lahteine d9ad8caf02 SD card debugging 2020-09-04 20:14:30 -05:00
Scott Lahteine 14314b68ec No 'ls' if media isn't mounted 2020-09-04 19:57:47 -05:00
Scott Lahteine 3002e1cd60 Fix Creality V4 SD Detect 2020-09-04 19:34:51 -05:00
thinkyhead 00e738e485 [cron] Bump distribution date (2020-09-05) 2020-09-05 00:18:44 +00:00
Keith Bennett 1d6a92751b Tweak ESP32 Wifi sanity-check message (#19257) 2020-09-03 23:15:45 -05:00
Victor Sokolov e97e6865c3 MarkForged kinematics (#19235) 2020-09-03 20:12:53 -05:00
thinkyhead 55dcff746b [cron] Bump distribution date (2020-09-04) 2020-09-04 00:12:46 +00:00
Greg Nutt 691f02acab Smoothieboard GLCD w/ SD support (#19241) 2020-09-03 17:52:14 -05:00
Victor Oliveira 1f25312b65 Only show "SD Init Fail" with detectable media (#19236) 2020-09-03 17:46:05 -05:00
Zachary Annand 26858fdebf Separate Neopixel followup (#19250) 2020-09-03 17:43:52 -05:00
Tanguy Pruvot 7d8d0010e3 Fix Longer3D TFT defines, disable DMA (#19251) 2020-09-03 17:40:29 -05:00
Scott Lahteine 277042bc4e Hide multi-step G29 on Ender 3 V2 2020-09-03 16:55:16 -05:00
thinkyhead 768182c691 [cron] Bump distribution date (2020-09-03) 2020-09-03 00:12:25 +00:00
ManuelMcLure ab06d5c7fb Fix UBL 'G29 I' for large meshes (#19231) 2020-09-02 01:32:52 -05:00
thinkyhead f97b8c835a [cron] Bump distribution date (2020-09-02) 2020-09-02 00:12:22 +00:00
makerbase f375d9bd7b MKS SGEN L V2 (#18822) 2020-09-01 18:20:16 -05:00
Victor Oliveira e3d855673e Fail SD mount without SPI re-init (#19226) 2020-09-01 17:09:28 -05:00
Stéphane 62268aae65 Fix Anycubic LCDs / Trigorilla 1.4 pins (#19220) 2020-09-01 17:05:52 -05:00
Zachary Annand 09ddb5a724 Separate Neopixel followup (#19224) 2020-09-01 17:03:28 -05:00
Giuliano Zaro 56c44b053d Delete old LCD strings (#19227) 2020-09-01 16:59:29 -05:00
Stéphane 2979da73cf Fix Anycubic I3 Mega (S) original screen % display (#19210) 2020-08-31 22:27:42 -05:00
Ludy d3ac4ba83d Update German, fix Mix component index (#19206) 2020-08-31 22:23:28 -05:00
thinkyhead 203e44e026 [cron] Bump distribution date (2020-09-01) 2020-09-01 00:12:57 +00:00
Martin 4ab4dbb8a1 Permit touch params override w/ Robin nano (#19196) 2020-08-31 18:56:58 -05:00
Zachary Annand 41c7ae5d54 Separate Neopixels followup (#19179) 2020-08-31 16:06:24 -05:00
ellensp 2a72961be4 Fix 'cmd' array warning (#19193) 2020-08-31 15:05:42 -05:00
thinkyhead 8d76d8c081 [cron] Bump distribution date (2020-08-31) 2020-08-31 00:14:49 +00:00
thinkyhead c8995b91e2 [cron] Bump distribution date (2020-08-30) 2020-08-30 00:07:24 +00:00
thinkyhead e492c613f7 [cron] Bump distribution date (2020-08-29) 2020-08-29 00:13:59 +00:00
thinkyhead 6ac8f5abb7 [cron] Bump distribution date (2020-08-28) 2020-08-28 00:13:10 +00:00
Scott Lahteine e0b413cf19 Add set_all_homed 2020-08-27 16:38:26 -05:00
swissnorp a12ac5e175 Mark axes not-homed with HOME_AFTER_DEACTIVATE (#18907) 2020-08-27 16:05:53 -05:00
Scott Lahteine 462d3eeab1 set_axis_not_trusted => set_axis_never_homed 2020-08-27 14:49:00 -05:00
Zachary Annand 97ec6c1be6 Independent Neopixel option (#19115) 2020-08-27 14:18:16 -05:00
Scott Lahteine 21070c0aaf Fix Creality V4 probe pin 2020-08-27 14:01:56 -05:00
Scott Lahteine a96c5209d1 Fix small typø 2020-08-27 14:01:36 -05:00
Scott Lahteine e8dcbd8300 Allocate sufficient MSG_MOVE_Z_DIST buffer
See #19158
2020-08-27 12:22:47 -05:00
Victor Oliveira cb75bec06d One MARLIN_DEV_MODE warning per rebuild (#19163) 2020-08-27 11:29:07 -05:00
George Fu 1e124e6713 FYSETC S6 2.0 (#19140) 2020-08-26 19:41:15 -05:00
thinkyhead 84ad7cdc29 [cron] Bump distribution date (2020-08-27) 2020-08-27 00:11:19 +00:00
thordarsen 195d20cef2 Fix SINGLENOZZLE fan speed bug (#19152) 2020-08-26 05:23:56 -05:00
ellensp 91c8c6d96e Fix NEOPIXEL_STARTUP_TEST last delay (#19156) 2020-08-26 05:14:54 -05:00
Victor Oliveira 1a4b82a5d6 TFT (plus Hardware SPI) for LPC (#19139) 2020-08-26 05:13:58 -05:00
Scott Lahteine 4955aa5b78 Prusa => Průša 2020-08-26 02:15:50 -05:00
Colin Godsey 131ddeaeba Direct Stepping update (#19135) 2020-08-26 01:32:56 -05:00
Marcio Teixeira b07dd44ec2 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
2020-08-26 00:59:06 -05:00
Keith Bennett 1793de4a28 Add Einsy Rambo Filament Runout Pin (#19136) 2020-08-26 00:44:15 -05:00
Jason Smith 646d90f3da Fix SD pins for SKR Pro and GTR (#19047) 2020-08-26 00:43:33 -05:00
Scott Lahteine bd9dc73d3d Warn about MARLIN_DEV_MODE 2020-08-25 23:57:48 -05:00
Scott Lahteine 5db62d7abd No COM_PIN needed for DWIN 2020-08-25 23:34:58 -05:00
thinkyhead 076f59c630 [cron] Bump distribution date (2020-08-26) 2020-08-26 00:11:08 +00:00
ellensp 66694a213f LEDs followup (#19133) 2020-08-25 08:16:43 -05:00
thinkyhead e2edfabc3c [cron] Bump distribution date (2020-08-25) 2020-08-25 00:11:11 +00:00
Victor Oliveira f7fe499305 Color UI + Robin Nano test (#19118) 2020-08-24 13:23:32 -05:00
Giuliano Zaro f67ad6fd70 Fix auto-power in PID autotune (#19119) 2020-08-24 09:54:25 -05:00
Scott Lahteine c488070859 Minor cleanup w/r/t LEDs 2020-08-23 23:57:51 -05:00
Oleksii Zelivianskyi 4b124352ef TFT32 for MKS Robin Nano 1.2 (#19031) 2020-08-23 22:13:49 -05:00
thinkyhead 5dadba432e [cron] Bump distribution date (2020-08-24) 2020-08-24 00:12:38 +00:00
qwewer0 dd6cbbbbad Feedrate comment (#19116) 2020-08-23 05:08:47 -05:00
Scott Lahteine 638f6f0f06 Neopixel => NeoPixel 2020-08-23 03:14:11 -05:00
Scott Lahteine b36163d53a Fix up conditions, comments 2020-08-23 02:45:58 -05:00
Scott Lahteine 6036a0df6b Fix DUET_SMART_EFFECTOR 2020-08-23 02:07:52 -05:00
Scott Lahteine bff0c68078 Consistent static/value item macros 2020-08-23 01:09:23 -05:00
thinkyhead 34fb9c7071 [cron] Bump distribution date (2020-08-23) 2020-08-23 00:12:22 +00:00
Scott Lahteine d84aff701e Fix probing margin sanity-check 2020-08-22 17:28:44 -05:00
Scott Lahteine fa5a1f7d7f PGMSTR constexpr => const 2020-08-22 16:40:27 -05:00
Mathew Winters ca105493aa NOZZLE_CLEAN_NO_Y (#18870) 2020-08-22 16:20:37 -05:00
qwewer0 434e43cc42 Change XY_PROBE_SPEED format to (x*60) (#18997) 2020-08-22 02:04:28 -05:00
Scott Lahteine a9f7e855d8 Reformat pins files 2020-08-22 01:22:21 -05:00
mmajoor 8cededa7dd Permit ST7789V orientation override (#19044) 2020-08-22 00:35:39 -05:00
Giuliano Zaro b6e4acec9d Prefer Servo AVR timer4 over 3 (#19025) 2020-08-21 23:49:39 -05:00
Greg Nutt aa92fa7ee3 DIGIPOT_I2C pins for SMOOTHIEBOARD (#19098) 2020-08-21 23:47:25 -05:00
Steven Haigh 563eda4b6b Translatable strings on Ender-3 V2 DWIN (#19053)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-08-21 23:44:21 -05:00
Giuliano Zaro 8652a7bdd2 HIGH/LOW naming of pin state settings (#19089) 2020-08-21 23:13:43 -05:00
Scott Lahteine 93167afaf5 Update copy_marlin_variant_to_framework.py 2020-08-21 22:50:45 -05:00
mmajoor 02ea13b511 GRAPHICAL_TFT_ROTATE_180 for ST7789V (#19042) 2020-08-21 22:04:31 -05:00
Victor Oliveira d6574a03a1 CI with PIO-dev (#19058) 2020-08-21 22:03:32 -05:00
Scott Lahteine ec02aee46c More menu header fu 2020-08-21 22:01:33 -05:00
ellensp 04909a2010 Creality3D v4.2.7 (#19088) 2020-08-21 21:56:18 -05:00
Giuliano Zaro 6b549e1971 Optional homing in LCD Repeatability Test (#19104) 2020-08-21 21:20:30 -05:00
Scott Lahteine bb8606ac29 Menu headers followup 2020-08-21 21:19:13 -05:00
thinkyhead 45d22d4f09 [cron] Bump distribution date (2020-08-22) 2020-08-22 00:11:44 +00:00
Victor Oliveira a37cf24900 Emulated DOGM via HAL TFT, XPT IO (#19017) 2020-08-21 18:54:21 -05:00
Scott Lahteine b8c4098de2 Remove extraneous defines 2020-08-21 18:11:37 -05:00
Scott Lahteine 4f67642122 Header for individual menus 2020-08-21 18:11:37 -05:00
BigTreeTech e2ee05c976 Broadcast SD Print Completion (#19102) 2020-08-21 17:06:51 -05:00
Keith Bennett 7e65464dd7 Fix M512 comment (#19108) 2020-08-21 17:04:32 -05:00
Scott Lahteine d10b11ad9f Allow 'ghtp' to set a specific remote 2020-08-21 16:22:57 -05:00
Scott Lahteine db8522b411 Fix up mixer menu display 2020-08-21 03:37:30 -05:00
Scott Lahteine ba6c41b798 Apply specific menu item types 2020-08-21 02:59:38 -05:00
Scott Lahteine bf316d9ec5 Fix Select Screen cancel destination 2020-08-21 02:59:23 -05:00
Scott Lahteine 7807b613d5 Update some comments 2020-08-21 02:59:23 -05:00
Scott Lahteine 28a0650cf3 Add custom_verbose, custom_gcc deps flags 2020-08-21 02:49:05 -05:00
thinkyhead 16e1dbbb21 [cron] Bump distribution date (2020-08-21) 2020-08-21 00:11:45 +00:00
Scott Lahteine 853aec2c9a Move ExtUI displays to sub-folder (#19070) 2020-08-20 01:38:22 -05:00
Scott Lahteine 38cd7b9938 Config adjustments 2020-08-19 22:42:54 -05:00
Giuliano Zaro 3426c7fc94 Configurable number of M106 fans (#18883) 2020-08-19 20:11:20 -05:00
ellensp 64e181979c Env mega2560ext adds pins 70-85 (#19022) 2020-08-19 19:18:39 -05:00
thinkyhead a4809b3a47 [cron] Bump distribution date (2020-08-20) 2020-08-20 00:11:10 +00:00
Steven Haigh a62ae2aa2d Default Filament Runout Sensor enabled state (#19013) 2020-08-19 18:58:18 -05:00
Giuliano Zaro d3c5161476 Fix __ARM__ / __arm__ typo (#19063) 2020-08-19 02:59:37 -05:00
Serhiy-K 60b61de395 "SD init fail" status error (#19064) 2020-08-19 02:58:41 -05:00
Giuliano Zaro f205bff2cc Fix PSU on for PID autotune (#19066) 2020-08-19 02:49:46 -05:00
Scott Lahteine 092aad1813 Creality DWIN cleanup 2020-08-19 01:51:22 -05:00
Scott Lahteine 2cbc84855b Creality DWIN simple beeper 2020-08-19 01:51:08 -05:00
thinkyhead 167e42af99 [cron] Bump distribution date (2020-08-19) 2020-08-19 00:11:56 +00:00
thinkyhead c55f477520 [cron] Bump distribution date (2020-08-18) 2020-08-18 00:10:40 +00:00
thinkyhead ed775ac985 [cron] Bump distribution date (2020-08-17) 2020-08-17 00:11:16 +00:00
ellensp 19818a95a2 Checks for CR10_STOCKDISPLAY with Creality v4 (#19019) 2020-08-15 22:57:07 -05:00
Julius Mumme e70440b7cb Fix IS_PROBE_PIN macro (#19024) 2020-08-15 22:50:28 -05:00
Victor Oliveira bb64aa7841 Update build script for PIO 4.4 (#19034) 2020-08-15 19:38:13 -05:00
thinkyhead 0e8cdd1938 [cron] Bump distribution date (2020-08-16) 2020-08-16 00:11:06 +00:00
thinkyhead f7ff3f0803 [cron] Bump distribution date (2020-08-15) 2020-08-15 00:10:28 +00:00
Scott Lahteine 8f730cfb6e Fix ExtUI base methods 2020-08-14 08:46:38 -05:00
Giuliano Zaro 6cfc4b5711 Let laser/spindle use free AVR servo timers (#19011) 2020-08-14 08:41:44 -05:00
Robby Candra 1b097d0467 Wait for hotend temp before Resume move (#19009) 2020-08-14 08:38:00 -05:00
Tommy Hartmann e69bbc3531 ENDER2_STOCKDISPLAY for BTT SKR 1.4 (and Turbo) (#19002) 2020-08-14 08:35:53 -05:00
ellensp 5038cddfd5 Add option to arrange Neopixel sets in series (#18992) 2020-08-14 08:25:45 -05:00
Scott Lahteine 1b28a28ced Unhide /src folders in Sublime 2020-08-14 06:32:08 -05:00
Scott Lahteine b11c3ddbed M80 followup 2020-08-14 00:33:10 -05:00
Scott Lahteine 56b35fc103 Do runout.reset after EEPROM read 2020-08-14 00:16:22 -05:00
Scott Lahteine aaba9b7880 Clean up M80/M81, DWIN 2020-08-14 00:16:22 -05:00
Scott Lahteine 16cb4303a4 Fix touch test 2020-08-14 00:16:22 -05:00
Scott Lahteine 506deedfdd config-labels.py needs py3 2020-08-14 00:16:22 -05:00
swissnorp 3ddb720722 Fix 'sync_plan_position' call (#19016) 2020-08-13 22:37:57 -05:00
Tanguy Pruvot 567d77f1cb TFT: Restore ILI9341 colors and reversed logic (#19010)
Followup to #18877, #18901, #18817
2020-08-13 22:32:01 -05:00
thinkyhead f01cb240d7 [cron] Bump distribution date (2020-08-14) 2020-08-14 00:10:34 +00:00
Victor Oliveira ff5c8d3570 Optimize LVGL with HAL TFT IO (SPI and FSMC) (#18974) 2020-08-13 18:31:59 -05:00
thinkyhead 3b9e0c3dde [cron] Bump distribution date (2020-08-13) 2020-08-13 00:10:41 +00:00
Scott Lahteine ee28a10795 String interpolation for 2-digit numbers (#18998) 2020-08-12 16:46:51 -05:00
thinkyhead ca4eaf92b4 [cron] Bump distribution date (2020-08-12) 2020-08-12 00:10:11 +00:00
qwewer0 bd690f12bc Mention units for MANUAL_FEEDRATE (#18993) 2020-08-11 03:11:40 -05:00
Robby Candra 9590fcd855 EVENT_GCODE_SD_STOP => ABORT (#18978) 2020-08-10 20:25:35 -05:00
Anders Sahlman b14f630f26 MKS Robin new 320x240 TFT Color UI support (#18985) 2020-08-10 20:21:48 -05:00
Scott Lahteine 6dd054895b Add'l CI/git script tweaks, fixes 2020-08-10 20:17:41 -05:00
Marcio T f62578efec For FTDI800 compatibility, remove VERTEX_FORMAT dependency (#18982) 2020-08-10 20:06:19 -05:00
InsanityAutomation d2d6c167df Fix Ender-3 V2 DWIN with manual mesh, host prompt (#18981) 2020-08-10 20:04:40 -05:00
thinkyhead 276d78461e [cron] Bump distribution date (2020-08-11) 2020-08-11 00:10:45 +00:00
Scott Lahteine 911cdd4d2f Fix scripts using gawk and wget 2020-08-10 01:47:49 -05:00
Giuliano Zaro ce3df42e22 Fix DISABLE_[XYZE] code (#18970)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
2020-08-09 20:48:57 -05:00
thinkyhead f642656bff [cron] Bump distribution date (2020-08-10) 2020-08-10 00:10:53 +00:00
ftk b15c207d08 Remaining Time for LIGHTWEIGHT_UI (#18875) 2020-08-09 17:19:35 -05:00
Scott Lahteine 81f5973afc Followup for SPI Flash 2020-08-09 15:58:12 -05:00
Scott Lahteine f7b261a363 Shorthand values for M575 B 2020-08-09 15:55:31 -05:00
cbaugher 837dc4727d Tool-change Z move followup (#18963) 2020-08-09 15:46:47 -05:00
1995 changed files with 154115 additions and 73380 deletions
+2 -2
View File
@@ -4,10 +4,10 @@ root = true
[{*.patch,syntax_test_*}]
trim_trailing_whitespace = false
[{*.c,*.cpp,*.h}]
[{*.c,*.cpp,*.h,*.ino}]
charset = utf-8
[{*.c,*.cpp,*.h,Makefile}]
[{*.c,*.cpp,*.h,*.ino,Makefile}]
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
+2
View File
@@ -17,3 +17,5 @@
*.png binary
*.jpg binary
*.fon binary
*.bin binary
*.woff binary
+28 -21
View File
@@ -36,64 +36,75 @@ jobs:
# Base Environments
- DUE
- DUE_archim
- esp32
- linux_native
- mega2560
- at90usb1286_dfu
- teensy31
- teensy35
- teensy41
- SAMD51_grandcentral_m4
# Extended AVR Environments
- FYSETC_F6_13
- FYSETC_F6
- mega1280
- rambo
- sanguino1284p
- sanguino644p
# Extended STM32 Environments
# STM32F1 (Maple) Environments
- STM32F103RC_btt
- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
#- STM32F103RC_btt_maple
- STM32F103RC_btt_USB_maple
- STM32F103RC_fysetc
- STM32F103RC_meeb
- jgaurora_a5s_a1
- STM32F103VE_longer
#- mks_robin_maple
- mks_robin_lite
- mks_robin_pro
#- mks_robin_nano35_maple
#- STM32F103RET6_creality_maple
# STM32 (ST) Environments
- STM32F103RC_btt
#- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RET6_creality
- STM32F407VE_black
- STM32F401VE_STEVAL
- BIGTREE_BTT002
- BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin
- mks_robin_stm32
- ARMED
- FYSETC_S6
- STM32F070CB_malyan
- STM32F070RB_malyan
- malyan_M300
- mks_robin_lite
- FLYF407ZG
- rumba32
- mks_robin_pro
- STM32F103RET6_creality
- LERDGEX
- LERDGEK
- mks_robin_nano35
- NUCLEO_F767ZI
- REMRAM_V1
- BTT_SKR_SE_BX
- chitu_f103
# Put lengthy tests last
- LPC1768
- LPC1769
# STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working.
#- STM32F4
#- STM32F7
# Non-working environment tests
#- at90usb1286_cdc
#- at90usb1286_dfu
#- STM32F103CB_malyan
#- STM32F103RE
#- mks_robin_mini
steps:
@@ -114,8 +125,4 @@ jobs:
- name: Run ${{ matrix.test-platform }} Tests
run: |
# Inline tests script
chmod +x buildroot/bin/*
chmod +x buildroot/tests/*
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH}
run_tests . ${{ matrix.test-platform }}
make tests-single-ci TEST_TARGET=${{ matrix.test-platform }}
+15 -32
View File
@@ -19,9 +19,9 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# Our automatic versioning scheme generates the following file
# NEVER put it in the repository
# Generated files
_Version.h
bdf2u8g
#
# OS
@@ -77,7 +77,6 @@ tags
*.out
*.app
#
# C
#
@@ -123,33 +122,10 @@ tags
.gcc-flags.json
/lib/
# Workaround for Deviot+platformio quirks
Marlin/lib
Marlin/platformio.ini
Marlin/*/platformio.ini
Marlin/*/*/platformio.ini
Marlin/*/*/*/platformio.ini
Marlin/*/*/*/*/platformio.ini
Marlin/.travis.yml
Marlin/*/.travis.yml
Marlin/*/*/.travis.yml
Marlin/*/*/*/.travis.yml
Marlin/*/*/*/*/.travis.yml
Marlin/.gitignore
Marlin/*/.gitignore
Marlin/*/*/.gitignore
Marlin/*/*/*/.gitignore
Marlin/*/*/*/*/.gitignore
Marlin/readme.txt
Marlin/*/readme.txt
Marlin/*/*/readme.txt
Marlin/*/*/*/readme.txt
Marlin/*/*/*/*/readme.txt
# Secure Credentials
Configuration_Secure.h
#Visual Studio
# Visual Studio
*.sln
*.vcxproj
*.vcxproj.user
@@ -160,27 +136,34 @@ __vm/
.vs/
vc-fileutils.settings
#Visual Studio Code
# Visual Studio Code
.vscode
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/*.db
#cmake
# cmake
CMakeLists.txt
src/CMakeLists.txt
CMakeListsPrivate.txt
#CLion
# CLion
cmake-build-*
#Eclipse
# Eclipse
.project
.cproject
.pydevproject
.settings
.classpath
#Python
# Python
__pycache__
# IOLogger logs
*_log.csv
# Simulation / Native
eeprom.dat
imgui.ini
+52
View File
@@ -0,0 +1,52 @@
help:
@echo "Tasks for local development:"
@echo "* tests-single-ci: Run a single test from inside the CI"
@echo "* tests-single-local: Run a single test locally"
@echo "* tests-single-local-docker: Run a single test locally, using docker-compose"
@echo "* tests-all-local: Run all tests locally"
@echo "* tests-all-local-docker: Run all tests locally, using docker-compose"
@echo "* setup-local-docker: Setup local docker-compose"
@echo ""
@echo "Options for testing:"
@echo " TEST_TARGET Set when running tests-single-*, to select the"
@echo " test. If you set it to ALL it will run all "
@echo " tests, but some of them are broken: use "
@echo " tests-all-* instead to run only the ones that "
@echo " run on GitHub CI"
@echo " ONLY_TEST Limit tests to only those that contain this, or"
@echo " the index of the test (1-based)"
@echo " VERBOSE_PLATFORMIO If you want the full PIO output, set any value"
@echo " GIT_RESET_HARD Used by CI: reset all local changes. WARNING:"
@echo " THIS WILL UNDO ANY CHANGES YOU'VE MADE!"
.PHONY: help
tests-single-ci:
export GIT_RESET_HARD=true
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET)
.PHONY: tests-single-ci
tests-single-local:
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local" ; return 1; fi
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH} \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& run_tests . $(TEST_TARGET) "$(ONLY_TEST)"
.PHONY: tests-single-local
tests-single-local-docker:
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
docker-compose run --rm marlin $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
.PHONY: tests-single-local-docker
tests-all-local:
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH} \
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
&& for TEST_TARGET in $$(./get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
.PHONY: tests-all-local
tests-all-local-docker:
docker-compose run --rm marlin $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
.PHONY: tests-all-local-docker
setup-local-docker:
docker-compose build
.PHONY: setup-local-docker
+721 -261
View File
File diff suppressed because it is too large Load Diff
+983 -372
View File
File diff suppressed because it is too large Load Diff
+187 -90
View File
@@ -22,8 +22,10 @@
# (e.g. UPLOAD_PORT = /dev/tty.USB0). If the exact name of this file
# changes, you can use * as a wild card (e.g. UPLOAD_PORT = /dev/tty.usb*).
#
# 3. Set the line containing "MCU" to match your board's processor.
# Older one's are atmega8 based, newer ones like Arduino Mini, Bluetooth
# 3. Set the line containing "MCU" to match your board's processor. Set
# "PROG_MCU" as the AVR part name corresponding to "MCU". You can use the
# following command to get a list of correspondences: `avrdude -c alf -p x`
# Older boards are atmega8 based, newer ones like Arduino Mini, Bluetooth
# or Diecimila have the atmega168. If you're using a LilyPad Arduino,
# change F_CPU to 8000000. If you are using Gen7 electronics, you
# probably need to use 20000000. Either way, you must regenerate
@@ -34,18 +36,18 @@
# 5. Type "make upload", reset your Arduino board, and press enter to
# upload your program to the Arduino board.
#
# Note that all settings at the top of this file can be overriden from
# Note that all settings at the top of this file can be overridden from
# the command line with, for example, "make HARDWARE_MOTHERBOARD=71"
#
# To compile for RAMPS (atmega2560) with Arduino 1.6.9 at root/arduino you would use...
#
# make ARDUINO_VERSION=10609 AVR_TOOLS_PATH=/root/arduino/hardware/tools/avr/bin/ \
# HARDWARE_MOTHERBOARD=33 ARDUINO_INSTALL_DIR=/root/arduino
# HARDWARE_MOTHERBOARD=1200 ARDUINO_INSTALL_DIR=/root/arduino
#
# To compile and upload simply add "upload" to the end of the line...
#
# make ARDUINO_VERSION=10609 AVR_TOOLS_PATH=/root/arduino/hardware/tools/avr/bin/ \
# HARDWARE_MOTHERBOARD=33 ARDUINO_INSTALL_DIR=/root/arduino upload
# HARDWARE_MOTHERBOARD=1200 ARDUINO_INSTALL_DIR=/root/arduino upload
#
# If uploading doesn't work try adding the parameter "AVRDUDE_PROGRAMMER=wiring" or
# start upload manually (using stk500) like so:
@@ -57,7 +59,26 @@
#
# This defines the board to compile for (see boards.h for your board's ID)
HARDWARE_MOTHERBOARD ?= 11
HARDWARE_MOTHERBOARD ?= 1020
ifeq ($(OS),Windows_NT)
# Windows
ARDUINO_INSTALL_DIR ?= ${HOME}/Arduino
ARDUINO_USER_DIR ?= ${HOME}/Arduino
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
# Linux
ARDUINO_INSTALL_DIR ?= /usr/share/arduino
ARDUINO_USER_DIR ?= ${HOME}/Arduino
endif
ifeq ($(UNAME_S),Darwin)
# Darwin (macOS)
ARDUINO_INSTALL_DIR ?= /Applications/Arduino.app/Contents/Java
ARDUINO_USER_DIR ?= ${HOME}/Documents/Arduino
AVR_TOOLS_PATH ?= /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/
endif
endif
# Arduino source install directory, and version number
# On most linuxes this will be /usr/share/arduino
@@ -67,32 +88,38 @@ ARDUINO_VERSION ?= 106
# The installed Libraries are in the User folder
ARDUINO_USER_DIR ?= ${HOME}/Arduino
# You can optionally set a path to the avr-gcc tools. Requires a trailing slash. (ex: /usr/local/avr-gcc/bin)
# You can optionally set a path to the avr-gcc tools.
# Requires a trailing slash. For example, /usr/local/avr-gcc/bin/
AVR_TOOLS_PATH ?=
#Programmer configuration
# Programmer configuration
UPLOAD_RATE ?= 57600
AVRDUDE_PROGRAMMER ?= arduino
# on most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1
# On most linuxes this will be /dev/ttyACM0 or /dev/ttyACM1
UPLOAD_PORT ?= /dev/ttyUSB0
#Directory used to build files in, contains all the build files, from object files to the final hex file
#on linux it is best to put an absolute path like /home/username/tmp .
# Directory used to build files in, contains all the build files, from object
# files to the final hex file on linux it is best to put an absolute path
# like /home/username/tmp .
BUILD_DIR ?= applet
# This defines whether Liquid_TWI2 support will be built
LIQUID_TWI2 ?= 0
# this defines if Wire is needed
# This defines if Wire is needed
WIRE ?= 0
# this defines if U8GLIB is needed (may require RELOC_WORKAROUND)
U8GLIB ?= 1
# This defines if Tone is needed (i.e SPEAKER is defined in Configuration.h)
# Disabling this (and SPEAKER) saves approximatively 350 bytes of memory.
TONE ?= 1
# this defines whether to include the Trinamic TMCStepper library
TMC ?= 1
# This defines if U8GLIB is needed (may require RELOC_WORKAROUND)
U8GLIB ?= 0
# this defines whether to include the AdaFruit NeoPixel library
# This defines whether to include the Trinamic TMCStepper library
TMC ?= 0
# This defines whether to include the AdaFruit NeoPixel library
NEOPIXEL ?= 0
############
@@ -170,110 +197,115 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1100)
else ifeq ($(HARDWARE_MOTHERBOARD),1101)
# Velleman K8400 Controller (derived from 3Drag Controller)
else ifeq ($(HARDWARE_MOTHERBOARD),1102)
# Velleman K8600 Controller (derived from 3Drag Controller)
# Velleman K8600 Controller (Vertex Nano)
else ifeq ($(HARDWARE_MOTHERBOARD),1103)
# 2PrintBeta BAM&DICE with STK drivers
# Velleman K8800 Controller (Vertex Delta)
else ifeq ($(HARDWARE_MOTHERBOARD),1104)
# 2PrintBeta BAM&DICE Due with STK drivers
# 2PrintBeta BAM&DICE with STK drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1105)
# MKS BASE v1.0
# 2PrintBeta BAM&DICE Due with STK drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1106)
# MKS v1.4 with A4982 stepper drivers
# MKS BASE v1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1107)
# MKS v1.5 with Allegro A4982 stepper drivers
# MKS v1.4 with A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1108)
# MKS v1.6 with Allegro A4982 stepper drivers
# MKS v1.5 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1109)
# MKS BASE 1.0 with Heroic HR4982 stepper drivers
# MKS v1.6 with Allegro A4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1110)
# MKS GEN v1.3 or 1.4
# MKS BASE 1.0 with Heroic HR4982 stepper drivers
else ifeq ($(HARDWARE_MOTHERBOARD),1111)
# MKS GEN L
# MKS GEN v1.3 or 1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1112)
# zrib V2.0 control board (Chinese knock off RAMPS replica)
# MKS GEN L
else ifeq ($(HARDWARE_MOTHERBOARD),1113)
# BigTreeTech or BIQU KFB2.0
# zrib V2.0 control board (Chinese RAMPS replica)
else ifeq ($(HARDWARE_MOTHERBOARD),1114)
# Felix 2.0+ Electronics Board (RAMPS like)
# BigTreeTech or BIQU KFB2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1115)
# Invent-A-Part RigidBoard
# Felix 2.0+ Electronics Board (RAMPS like)
else ifeq ($(HARDWARE_MOTHERBOARD),1116)
# Invent-A-Part RigidBoard V2
# Invent-A-Part RigidBoard
else ifeq ($(HARDWARE_MOTHERBOARD),1117)
# Sainsmart 2-in-1 board
# Invent-A-Part RigidBoard V2
else ifeq ($(HARDWARE_MOTHERBOARD),1118)
# Ultimaker
# Sainsmart 2-in-1 board
else ifeq ($(HARDWARE_MOTHERBOARD),1119)
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
# Ultimaker
else ifeq ($(HARDWARE_MOTHERBOARD),1120)
MCU ?= atmega1280
# Ultimaker (Older electronics. Pre 1.5.4. This is rare)
else ifeq ($(HARDWARE_MOTHERBOARD),1121)
MCU ?= atmega1280
PROG_MCU ?= m1280
# Azteeg X3
else ifeq ($(HARDWARE_MOTHERBOARD),1121)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1122)
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
# Azteeg X3 Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1123)
# Rumba
# Ultimainboard 2.x (Uses TEMP_SENSOR 20)
else ifeq ($(HARDWARE_MOTHERBOARD),1124)
# Raise3D Rumba
# Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1125)
# Rapide Lite RL200 Rumba
# Raise3D Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1126)
# Formbot T-Rex 2 Plus
# Rapide Lite RL200 Rumba
else ifeq ($(HARDWARE_MOTHERBOARD),1127)
# Formbot T-Rex 3
# Formbot T-Rex 2 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1128)
# Formbot Raptor
# Formbot T-Rex 3
else ifeq ($(HARDWARE_MOTHERBOARD),1129)
# Formbot Raptor 2
# Formbot Raptor
else ifeq ($(HARDWARE_MOTHERBOARD),1130)
# bq ZUM Mega 3D
# Formbot Raptor 2
else ifeq ($(HARDWARE_MOTHERBOARD),1131)
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
# bq ZUM Mega 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1132)
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
# MakeBoard Mini v2.1.2 is a control board sold by MicroMake
else ifeq ($(HARDWARE_MOTHERBOARD),1133)
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
# TriGorilla Anycubic version 1.3 based on RAMPS EFB
else ifeq ($(HARDWARE_MOTHERBOARD),1134)
# TriGorilla Anycubic version 1.4 Rev 1.1
# TriGorilla Anycubic version 1.4 based on RAMPS EFB
else ifeq ($(HARDWARE_MOTHERBOARD),1135)
# Creality: Ender-4, CR-8
# TriGorilla Anycubic version 1.4 Rev 1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1136)
# Creality: CR10S, CR20, CR-X
# Creality: Ender-4, CR-8
else ifeq ($(HARDWARE_MOTHERBOARD),1137)
# Dagoma F5
# Creality: CR10S, CR20, CR-X
else ifeq ($(HARDWARE_MOTHERBOARD),1138)
# FYSETC F6 1.3
# Dagoma F5
else ifeq ($(HARDWARE_MOTHERBOARD),1139)
# FYSETC F6 1.5
# FYSETC F6 1.3
else ifeq ($(HARDWARE_MOTHERBOARD),1140)
# Duplicator i3 Plus
# FYSETC F6 1.5
else ifeq ($(HARDWARE_MOTHERBOARD),1141)
# VORON
# Duplicator i3 Plus
else ifeq ($(HARDWARE_MOTHERBOARD),1142)
# TRONXY V3 1.0
# VORON
else ifeq ($(HARDWARE_MOTHERBOARD),1143)
# Z-Bolt X Series
# TRONXY V3 1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1144)
# TT OSCAR
# Z-Bolt X Series
else ifeq ($(HARDWARE_MOTHERBOARD),1145)
# Overlord/Overlord Pro
# TT OSCAR
else ifeq ($(HARDWARE_MOTHERBOARD),1146)
# ADIMLab Gantry v1
# Overlord/Overlord Pro
else ifeq ($(HARDWARE_MOTHERBOARD),1147)
# ADIMLab Gantry v2
# ADIMLab Gantry v1
else ifeq ($(HARDWARE_MOTHERBOARD),1148)
# BIQU Tango V1
# ADIMLab Gantry v2
else ifeq ($(HARDWARE_MOTHERBOARD),1149)
# MKS GEN L V2
# BIQU Tango V1
else ifeq ($(HARDWARE_MOTHERBOARD),1150)
# Copymaster 3D
# MKS GEN L V2
else ifeq ($(HARDWARE_MOTHERBOARD),1151)
# Ortur 4
# MKS GEN L V2.1
else ifeq ($(HARDWARE_MOTHERBOARD),1152)
# Tenlog D3 Hero
# Copymaster 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1153)
# Ortur 4
else ifeq ($(HARDWARE_MOTHERBOARD),1154)
# Tenlog D3 Hero
else ifeq ($(HARDWARE_MOTHERBOARD),1155)
#
# RAMBo and derivatives
@@ -291,6 +323,8 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1203)
else ifeq ($(HARDWARE_MOTHERBOARD),1204)
# abee Scoovo X9H
else ifeq ($(HARDWARE_MOTHERBOARD),1205)
# Rambo ThinkerV2
else ifeq ($(HARDWARE_MOTHERBOARD),1206)
#
# Other ATmega1280, ATmega2560
@@ -346,9 +380,11 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1320)
# Minitronics v1.0/1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1400)
MCU ?= atmega1281
PROG_MCU ?= m1281
# Silvergate v1.0
else ifeq ($(HARDWARE_MOTHERBOARD),1401)
MCU ?= atmega1281
PROG_MCU ?= m1281
#
# Sanguinololu and Derivatives - ATmega644P, ATmega1284P
@@ -358,46 +394,57 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1401)
else ifeq ($(HARDWARE_MOTHERBOARD),1500)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Sanguinololu 1.2 and above
else ifeq ($(HARDWARE_MOTHERBOARD),1501)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Melzi
else ifeq ($(HARDWARE_MOTHERBOARD),1502)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Melzi V2.0
else ifeq ($(HARDWARE_MOTHERBOARD),1503)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Melzi with ATmega1284 (MaKr3d version)
else ifeq ($(HARDWARE_MOTHERBOARD),1504)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Melzi Creality3D board (for CR-10 etc)
else ifeq ($(HARDWARE_MOTHERBOARD),1505)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Melzi Malyan M150 board
else ifeq ($(HARDWARE_MOTHERBOARD),1506)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Tronxy X5S
else ifeq ($(HARDWARE_MOTHERBOARD),1507)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# STB V1.1
else ifeq ($(HARDWARE_MOTHERBOARD),1508)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Azteeg X1
else ifeq ($(HARDWARE_MOTHERBOARD),1509)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
# Anet 1.0 (Melzi clone)
else ifeq ($(HARDWARE_MOTHERBOARD),1510)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega1284p
PROG_MCU ?= m1284p
#
# Other ATmega644P, ATmega644, ATmega1284P
@@ -407,50 +454,61 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1510)
else ifeq ($(HARDWARE_MOTHERBOARD),1600)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen3+
else ifeq ($(HARDWARE_MOTHERBOARD),1601)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen6
else ifeq ($(HARDWARE_MOTHERBOARD),1602)
HARDWARE_VARIANT ?= Gen6
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen6 deluxe
else ifeq ($(HARDWARE_MOTHERBOARD),1603)
HARDWARE_VARIANT ?= Gen6
MCU ?= atmega644p
PROG_MCU ?= m644p
# Gen7 custom (Alfons3 Version)
else ifeq ($(HARDWARE_MOTHERBOARD),1604)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega644
PROG_MCU ?= m644
F_CPU ?= 20000000
# Gen7 v1.1, v1.2
else ifeq ($(HARDWARE_MOTHERBOARD),1605)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega644p
PROG_MCU ?= m644p
F_CPU ?= 20000000
# Gen7 v1.3
else ifeq ($(HARDWARE_MOTHERBOARD),1606)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega644p
PROG_MCU ?= m644p
F_CPU ?= 20000000
# Gen7 v1.4
else ifeq ($(HARDWARE_MOTHERBOARD),1607)
HARDWARE_VARIANT ?= Gen7
MCU ?= atmega1284p
PROG_MCU ?= m1284p
F_CPU ?= 20000000
# Alpha OMCA board
else ifeq ($(HARDWARE_MOTHERBOARD),1608)
HARDWARE_VARIANT ?= SanguinoA
MCU ?= atmega644
PROG_MCU ?= m644
# Final OMCA board
else ifeq ($(HARDWARE_MOTHERBOARD),1609)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
# Sethi 3D_1
else ifeq ($(HARDWARE_MOTHERBOARD),1610)
HARDWARE_VARIANT ?= Sanguino
MCU ?= atmega644p
PROG_MCU ?= m644p
#
# Teensyduino - AT90USB1286, AT90USB1286P
@@ -460,51 +518,60 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1610)
else ifeq ($(HARDWARE_MOTHERBOARD),1700)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Printrboard (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1701)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Printrboard Revision F (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1702)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Brainwave (AT90USB646)
else ifeq ($(HARDWARE_MOTHERBOARD),1703)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb646
PROG_MCU ?= usb646
# Brainwave Pro (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1704)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# SAV Mk-I (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1705)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# Teensy++2.0 (AT90USB1286)
else ifeq ($(HARDWARE_MOTHERBOARD),1706)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# 5DPrint D8 Driver Board
else ifeq ($(HARDWARE_MOTHERBOARD),1707)
HARDWARE_VARIANT ?= Teensy
MCU ?= at90usb1286
PROG_MCU ?= usb1286
# UltiMachine Archim1 (with DRV8825 drivers)
else ifeq ($(HARDWARE_MOTHERBOARD),3023)
HARDWARE_VARIANT ?= archim
MCPU = cortex-m3
F_CPU = 84000000L
F_CPU = 84000000
IS_MCU = 0
# UltiMachine Archim2 (with TMC2130 drivers)
else ifeq ($(HARDWARE_MOTHERBOARD),3024)
HARDWARE_VARIANT ?= archim
MCPU = cortex-m3
F_CPU = 84000000L
F_CPU = 84000000
IS_MCU = 0
endif
# Be sure to regenerate speed_lookuptable.h with create_speed_lookuptable.py
# if you are setting this to something other than 16MHz
# Do not put the UL suffix, it's done later on.
# Set to 16Mhz if not yet set.
F_CPU ?= 16000000
@@ -514,7 +581,8 @@ IS_MCU ?= 1
ifeq ($(IS_MCU),1)
# Set to arduino, ATmega2560 if not yet set.
HARDWARE_VARIANT ?= arduino
MCU ?= atmega2560
MCU ?= atmega2560
PROG_MCU ?= m2560
TOOL_PREFIX = avr
MCU_FLAGS = -mmcu=$(MCU)
@@ -545,27 +613,36 @@ VPATH += $(BUILD_DIR)
VPATH += $(HARDWARE_SRC)
ifeq ($(HARDWARE_VARIANT), $(filter $(HARDWARE_VARIANT),arduino Teensy Sanguino))
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/LiquidCrystal/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/marlin/avr/libraries/SPI
# Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
endif
ifeq ($(IS_MCU),1)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/cores/arduino
# Old libraries (avr-core 1.6.21 < / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SPI/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/SoftwareSerial/src
endif
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidCrystal/src
ifeq ($(LIQUID_TWI2), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2
WIRE = 1
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/LiquidTWI2
endif
ifeq ($(WIRE), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Wire/utility
# Old libraries (avr-core 1.6.21 / Arduino < 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/utility
# New libraries (avr-core >= 1.6.21 / Arduino >= 1.6.8)
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src
VPATH += $(ARDUINO_INSTALL_DIR)/hardware/arduino/avr/libraries/Wire/src/utility
endif
ifeq ($(NEOPIXEL), 1)
VPATH += $(ARDUINO_INSTALL_DIR)/libraries/Adafruit_NeoPixel
@@ -637,13 +714,23 @@ ifeq ($(WIRE), 1)
LIB_CXXSRC += Wire.cpp
endif
ifeq ($(TONE), 1)
LIB_CXXSRC += Tone.cpp
endif
ifeq ($(U8GLIB), 1)
LIB_CXXSRC += U8glib.cpp
LIB_SRC += u8g_ll_api.c u8g_bitmap.c u8g_clip.c u8g_com_null.c u8g_delay.c u8g_page.c u8g_pb.c u8g_pb16h1.c u8g_rect.c u8g_state.c u8g_font.c u8g_font_6x13.c u8g_font_04b_03.c u8g_font_5x8.c
LIB_SRC += u8g_ll_api.c u8g_bitmap.c u8g_clip.c u8g_com_null.c u8g_delay.c \
u8g_page.c u8g_pb.c u8g_pb16h1.c u8g_rect.c u8g_state.c u8g_font.c \
u8g_font_6x13.c u8g_font_04b_03.c u8g_font_5x8.c
endif
ifeq ($(TMC), 1)
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp \
CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp \
DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp \
SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp \
TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
endif
ifeq ($(RELOC_WORKAROUND), 1)
@@ -685,17 +772,23 @@ REMOVE = rm -f
MV = mv -f
# Place -D or -U options here
CDEFS = -DF_CPU=$(F_CPU) ${addprefix -D , $(DEFINES)} -DARDUINO=$(ARDUINO_VERSION)
CDEFS = -DF_CPU=$(F_CPU)UL ${addprefix -D , $(DEFINES)} -DARDUINO=$(ARDUINO_VERSION)
CXXDEFS = $(CDEFS)
ifeq ($(HARDWARE_VARIANT), Teensy)
CDEFS += -DUSB_SERIAL
CDEFS += -DUSB_SERIAL
LIB_SRC += usb.c pins_teensy.c
LIB_CXXSRC += usb_api.cpp
else ifeq ($(HARDWARE_VARIANT), archim)
CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSB_VID=0x27b1 -DUSB_PID=0x0001 -DUSBCON '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT="Archim"'
LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp UARTClass.cpp USARTClass.cpp abi.cpp new.cpp watchdog.cpp CDC.cpp PluggableUSB.cpp USBCore.cpp
CDEFS += -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__
CDEFS += -DUSB_VID=0x27B1 -DUSB_PID=0x0001 -DUSBCON
CDEFS += '-DUSB_MANUFACTURER="UltiMachine"' '-DUSB_PRODUCT_STRING="Archim"'
LIB_CXXSRC += variant.cpp IPAddress.cpp Reset.cpp RingBuffer.cpp Stream.cpp \
UARTClass.cpp USARTClass.cpp abi.cpp new.cpp watchdog.cpp CDC.cpp \
PluggableUSB.cpp USBCore.cpp
LIB_SRC += cortex_handlers.c iar_calls_sam3.c syscalls_sam3.c dtostrf.c itoa.c
ifeq ($(U8GLIB), 1)
@@ -721,16 +814,20 @@ CTUNING = -fsigned-char -funsigned-bitfields -fno-exceptions \
ifneq ($(HARDWARE_MOTHERBOARD),)
CTUNING += -DMOTHERBOARD=${HARDWARE_MOTHERBOARD}
endif
#CEXTRA = -Wa,-adhlns=$(<:.c=.lst)
CXXEXTRA = -fno-use-cxa-atexit -fno-threadsafe-statics -fno-rtti
CFLAGS := $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CEXTRA) $(CTUNING) $(CSTANDARD)
CXXFLAGS := $(CDEFS) $(CINCS) -O$(OPT) $(CXXEXTRA) $(CTUNING) $(CXXSTANDARD)
ASFLAGS := $(CDEFS)
#ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
ifeq ($(HARDWARE_VARIANT), archim)
LD_PREFIX = -Wl,--gc-sections,-Map,Marlin.ino.map,--cref,--check-sections,--entry=Reset_Handler,--unresolved-symbols=report-all,--warn-common,--warn-section-align
LD_SUFFIX = $(LDLIBS)
LDFLAGS = -lm -T$(LDSCRIPT) -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid
LDFLAGS = -lm -T$(LDSCRIPT) -u _sbrk -u link -u _close -u _fstat -u _isatty
LDFLAGS += -u _lseek -u _read -u _write -u _exit -u kill -u _getpid
else
LD_PREFIX = -Wl,--gc-sections,--relax
LDFLAGS = -lm
@@ -746,7 +843,7 @@ else
AVRDUDE_CONF = $(ARDUINO_INSTALL_DIR)/hardware/tools/avr/etc/avrdude.conf
endif
AVRDUDE_FLAGS = -D -C$(AVRDUDE_CONF) \
-p$(MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \
-p$(PROG_MCU) -P$(AVRDUDE_PORT) -c$(AVRDUDE_PROGRAMMER) \
-b$(UPLOAD_RATE)
# Since Marlin 2.0, the source files may be distributed into several
@@ -847,7 +944,7 @@ extcoff: $(TARGET).elf
.elf.eep:
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
.elf.lss:
@@ -861,7 +958,7 @@ extcoff: $(TARGET).elf
$(BUILD_DIR)/$(TARGET).elf: $(OBJ) Configuration.h
$(Pecho) " CXX $@"
$P $(CC) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
$P $(CXX) $(LD_PREFIX) $(ALL_CXXFLAGS) -o $@ -L. $(OBJ) $(LDFLAGS) $(LD_SUFFIX)
# Object files that were found in "src" will be stored in $(BUILD_DIR)
# in directories that mirror the structure of "src"
@@ -896,5 +993,5 @@ clean:
.PHONY: all build elf hex eep lss sym program coff extcoff clean depend sizebefore sizeafter
# Automaticaly include the dependency files created by gcc
# Automatically include the dependency files created by gcc
-include ${patsubst %.o, %.d, ${OBJ}}
+6 -6
View File
@@ -28,25 +28,25 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "bugfix-2.0.x"
#define SHORT_BUILD_VERSION "2.0.8"
/**
* Verbose version identifier which should contain a reference to the location
* from where the binary was downloaded or the source code was compiled.
*/
//#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION
#define DETAILED_BUILD_VERSION "IA_" SHORT_BUILD_VERSION
/**
* The STRING_DISTRIBUTION_DATE represents when the binary file was built,
* 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 "2021-06-05"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
*/
//#define MACHINE_NAME "3D Printer"
#define MACHINE_NAME "Insanity Automation S8"
/**
* The SOURCE_CODE_URL is the location where users will find the Marlin Source
@@ -54,7 +54,7 @@
* has a distinct Github fork— the Source Code URL should just be the main
* Marlin repository.
*/
//#define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"
#define SOURCE_CODE_URL "github.com/InsanityAutomation"
/**
* Default generic printer UUID.
@@ -65,7 +65,7 @@
* The WEBSITE_URL is the location where users can get more information such as
* documentation about a specific Marlin release.
*/
//#define WEBSITE_URL "https://marlinfw.org"
//#define WEBSITE_URL "insanityautomation.com"
/**
* Set the vendor info the serial USB interface, if changable
+113
View File
@@ -0,0 +1,113 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 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 <http://www.gnu.org/licenses/>.
*
*/
/**
* Custom Bitmap for splashscreen
*
* You may use one of the following tools to generate the C++ bitmap array from
* a black and white image:
*
* - http://www.marlinfw.org/tools/u8glib/converter.html
* - http://www.digole.com/tools/PicturetoC_Hex_converter.php
*/
#pragma once
#define CUSTOM_BOOTSCREEN_TIMEOUT 2500
#define CUSTOM_BOOTSCREEN_BMPWIDTH 128
#define CUSTOM_BOOTSCREEN_BMPHEIGHT 64
/**
* Made with Marlin Bitmap Converter
* https://marlinfw.org/tools/u8glib/converter.html
*
* This bitmap from 128x64 C/C++ data
*/
#define HMIJ3S_BMPWIDTH 128
const unsigned char custom_start_bmp[] PROGMEM = {
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111111,B01111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00011111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111100,B00001111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111000,B00000011,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111000,B00000001,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11110000,B00000000,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11100000,B00000000,B00111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11000000,B00000000,B00001111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B10000000,B00000000,B00000111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000001,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111111,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B01111111,B11111111,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111100,B00000000,B00000000,B00000000,B00011111,B11111111,B10000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111000,B00000000,B00000000,B00000000,B00001111,B11111111,B10000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11110000,B00000000,B00000000,B00000000,B00000111,B11111111,B10000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000111,B11111111,B11100000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00011111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B11111110,B01111110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000001,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B11111000,B00001110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00001111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B11110000,B00001110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00011111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00000110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00000110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B01111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00000110,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B01111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111000,B00000110,B00000000,B00000000,B00000000,
B00000000,B00000111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B00111110,B00000000,B00000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111001,B11110000,B00000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11110000,B00000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11000000,B00000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11100010,B00000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B10000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01000011,B11111111,B11000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B10000000,B00000000,
B00000000,B00011111,B11111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111100,B00000000,B00000000,
B00000000,B00001111,B11111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111100,B00000000,B00000000,
B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00111100,B00000000,B00000000,
B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111001,B00000000,B00000000,
B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100001,B11000000,B00000000,
B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11110000,B00000000,
B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111100,B00000000,
B00111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B00000000,
B00011111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11100111,B11000000,
B00001111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11000011,B11110000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11011111,B11100001,B10000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11110000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000
};
+16
View File
@@ -24,6 +24,13 @@
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#ifdef USBCON
DefaultSerial1 MSerial0(false, Serial);
#ifdef BLUETOOTH
BTSerial btSerial(false, bluetoothSerial);
#endif
#endif
// ------------------------
// Public Variables
// ------------------------
@@ -51,6 +58,15 @@ void HAL_init() {
#endif
}
void HAL_reboot() {
#if ENABLED(USE_WATCHDOG)
while (1) { /* run out the watchdog */ }
#else
void (*resetFunc)() = 0; // Declare resetFunc() at address 0
resetFunc(); // Jump to address 0
#endif
}
#if ENABLED(SDSUPPORT)
#include "../../sd/SdFatUtil.h"
+45 -41
View File
@@ -15,6 +15,7 @@
*
* 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
@@ -81,54 +82,51 @@ typedef int8_t pin_t;
// Serial ports
#ifdef USBCON
#if ENABLED(BLUETOOTH)
#define MYSERIAL0 bluetoothSerial
#else
#define MYSERIAL0 Serial
#endif
#define NUM_SERIAL 1
#else
#if !WITHIN(SERIAL_PORT, -1, 3)
#error "SERIAL_PORT must be from -1 to 3. Please update your configuration."
#include "../../core/serial_hook.h"
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#ifdef BLUETOOTH
typedef ForwardSerial1Class< decltype(bluetoothSerial) > BTSerial;
extern BTSerial btSerial;
#endif
#define MYSERIAL0 customizedSerial1
#define MYSERIAL1 TERN(BLUETOOTH, btSerial, MSerial0)
#else
#if !WITHIN(SERIAL_PORT, -1, 3)
#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 -1 to 3. Please update your configuration."
#elif SERIAL_PORT_2 == SERIAL_PORT
#error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration."
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
#endif
#define MYSERIAL1 customizedSerial2
#define NUM_SERIAL 2
#else
#define NUM_SERIAL 1
#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 DGUS_SERIAL_PORT
#if !WITHIN(DGUS_SERIAL_PORT, -1, 3)
#error "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#elif DGUS_SERIAL_PORT == SERIAL_PORT
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration."
#elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration."
#ifdef MMU2_SERIAL_PORT
#if !WITHIN(MMU2_SERIAL_PORT, -1, 3)
#error "MMU2_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#define DGUS_SERIAL internalDgusSerial
#define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.get_tx_buffer_free
#define MMU2_SERIAL mmuSerial
#endif
#ifdef ANYCUBIC_LCD_SERIAL_PORT
#if !WITHIN(ANYCUBIC_LCD_SERIAL_PORT, -1, 3)
#error "ANYCUBIC_LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#elif ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT
#error "ANYCUBIC_LCD_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration."
#elif defined(SERIAL_PORT_2) && ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT_2
#error "ANYCUBIC_LCD_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration."
#ifdef LCD_SERIAL_PORT
#if !WITHIN(LCD_SERIAL_PORT, -1, 3)
#error "LCD_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#define LCD_SERIAL lcdSerial
#if HAS_DGUS_LCD
#define SERIAL_GET_TX_BUFFER_FREE() LCD_SERIAL.get_tx_buffer_free()
#endif
#define ANYCUBIC_LCD_SERIAL anycubicLcdSerial
#endif
// ------------------------
@@ -144,12 +142,18 @@ void HAL_init();
inline void HAL_clear_reset_source() { MCUSR = 0; }
inline uint8_t HAL_get_reset_source() { return MCUSR; }
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
extern "C" {
int freeMemory();
}
#pragma GCC diagnostic pop
void HAL_reboot();
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
extern "C" int freeMemory();
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
// ADC
#ifdef DIDR2
+18 -18
View File
@@ -34,17 +34,17 @@
#include "../../inc/MarlinConfig.h"
void spiBegin() {
OUT_WRITE(SS_PIN, HIGH);
SET_OUTPUT(SCK_PIN);
SET_INPUT(MISO_PIN);
SET_OUTPUT(MOSI_PIN);
OUT_WRITE(SD_SS_PIN, HIGH);
SET_OUTPUT(SD_SCK_PIN);
SET_INPUT(SD_MISO_PIN);
SET_OUTPUT(SD_MOSI_PIN);
#if DISABLED(SOFTWARE_SPI)
// SS must be in output mode even it is not chip select
//SET_OUTPUT(SS_PIN);
//SET_OUTPUT(SD_SS_PIN);
// set SS high - may be chip select for another SPI device
//#if SET_SPI_SS_HIGH
//WRITE(SS_PIN, HIGH);
//WRITE(SD_SS_PIN, HIGH);
//#endif
// set a default rate
spiInit(1);
@@ -88,7 +88,7 @@ void spiBegin() {
}
/** SPI read data */
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (nbyte-- == 0) return;
SPDR = 0xFF;
for (uint16_t i = 0; i < nbyte; i++) {
@@ -107,7 +107,7 @@ void spiBegin() {
}
/** SPI send block */
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
SPDR = token;
for (uint16_t i = 0; i < 512; i += 2) {
while (!TEST(SPSR, SPIF)) { /* Intentionally left empty */ }
@@ -195,19 +195,19 @@ void spiBegin() {
// no interrupts during byte receive - about 8µs
cli();
// output pin high - like sending 0xFF
WRITE(MOSI_PIN, HIGH);
WRITE(SD_MOSI_PIN, HIGH);
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, HIGH);
WRITE(SD_SCK_PIN, HIGH);
nop; // adjust so SCK is nice
nop;
data <<= 1;
if (READ(MISO_PIN)) data |= 1;
if (READ(SD_MISO_PIN)) data |= 1;
WRITE(SCK_PIN, LOW);
WRITE(SD_SCK_PIN, LOW);
}
sei();
@@ -215,7 +215,7 @@ void spiBegin() {
}
// Soft SPI read data
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
for (uint16_t i = 0; i < nbyte; i++)
buf[i] = spiRec();
}
@@ -225,10 +225,10 @@ void spiBegin() {
// no interrupts during byte send - about 8µs
cli();
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, LOW);
WRITE(MOSI_PIN, data & 0x80);
WRITE(SD_SCK_PIN, LOW);
WRITE(SD_MOSI_PIN, data & 0x80);
data <<= 1;
WRITE(SCK_PIN, HIGH);
WRITE(SD_SCK_PIN, HIGH);
}
nop; // hold SCK high for a few ns
@@ -236,13 +236,13 @@ void spiBegin() {
nop;
nop;
WRITE(SCK_PIN, LOW);
WRITE(SD_SCK_PIN, LOW);
sei();
}
// Soft SPI send block
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
spiSend(token);
for (uint16_t i = 0; i < 512; i++)
spiSend(buf[i]);
File diff suppressed because it is too large Load Diff
+48 -86
View File
@@ -34,6 +34,7 @@
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#include "../../core/serial_hook.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
@@ -48,11 +49,11 @@
// These are macros to build serial port register names for the selected SERIAL_PORT (C preprocessor
// requires two levels of indirection to expand macro values properly)
#define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix)
#define SERIAL_REGNAME(registerbase,number,suffix) _SERIAL_REGNAME(registerbase,number,suffix)
#if SERIAL_PORT == 0 && (!defined(UBRR0H) || !defined(UDR0)) // use un-numbered registers if necessary
#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##suffix
#define _SERIAL_REGNAME(registerbase,number,suffix) registerbase##suffix
#else
#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix
#define _SERIAL_REGNAME(registerbase,number,suffix) registerbase##number##suffix
#endif
// Registers used by MarlinSerial class (expanded depending on selected serial port)
@@ -135,10 +136,6 @@
UART_DECL(3);
#endif
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#define BYTE 0
// Templated type selector
@@ -202,58 +199,30 @@
static FORCE_INLINE void atomic_set_rx_tail(ring_buffer_pos_t value);
static FORCE_INLINE ring_buffer_pos_t atomic_read_rx_tail();
public:
public:
FORCE_INLINE static void store_rxd_char();
FORCE_INLINE static void _tx_udr_empty_irq();
public:
MarlinSerial() {};
static void begin(const long);
static void end();
static int peek();
static int read();
static void flush();
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static void flushTX();
#ifdef DGUS_SERIAL_PORT
static ring_buffer_pos_t get_tx_buffer_free();
#endif
public:
static void begin(const long);
static void end();
static int peek();
static int read();
static void flush();
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static void flushTX();
#if HAS_DGUS_LCD
static ring_buffer_pos_t get_tx_buffer_free();
#endif
FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; }
FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; }
FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; }
FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return Cfg::MAX_RX_QUEUED ? rx_max_enqueued : 0; }
enum { HasEmergencyParser = Cfg::EMERGENCYPARSER };
static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
FORCE_INLINE static void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE static void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); }
FORCE_INLINE static void print(const char* str) { write(str); }
static void print(char, int = BYTE);
static void print(unsigned char, int = BYTE);
static void print(int, int = DEC);
static void print(unsigned int, int = DEC);
static void print(long, int = DEC);
static void print(unsigned long, int = DEC);
static void print(double, int = 2);
static void println(const String& s);
static void println(const char[]);
static void println(char, int = BYTE);
static void println(unsigned char, int = BYTE);
static void println(int, int = DEC);
static void println(unsigned int, int = DEC);
static void println(long, int = DEC);
static void println(unsigned long, int = DEC);
static void println(double, int = 2);
static void println();
operator bool() { return true; }
private:
static void printNumber(unsigned long, const uint8_t);
static void printFloat(double, uint8_t);
FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; }
FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; }
FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; }
FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return Cfg::MAX_RX_QUEUED ? rx_max_enqueued : 0; }
};
template <uint8_t serial>
@@ -268,68 +237,61 @@
static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT1;
extern MSerialT1 customizedSerial1;
#ifdef SERIAL_PORT_2
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> > > MSerialT2;
extern MSerialT2 customizedSerial2;
#endif
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#ifdef SERIAL_PORT_3
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> > > MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
#endif // !USBCON
#ifdef INTERNAL_SERIAL_PORT
#ifdef MMU2_SERIAL_PORT
template <uint8_t serial>
struct MarlinInternalSerialCfg {
struct MMU2SerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = 32;
static constexpr unsigned int TX_SIZE = 32;
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = false;
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_OVERRUNS = false;
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
static constexpr bool RX_OVERRUNS = false;
};
extern MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>> internalSerial;
typedef Serial1Class< MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> > > MSerialMMU2;
extern MSerialMMU2 mmuSerial;
#endif
#ifdef DGUS_SERIAL_PORT
#ifdef LCD_SERIAL_PORT
template <uint8_t serial>
struct MarlinInternalSerialCfg {
struct LCDSerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = DGUS_RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = DGUS_TX_BUFFER_SIZE;
static constexpr unsigned int RX_SIZE = TERN(HAS_DGUS_LCD, DGUS_RX_BUFFER_SIZE, 64);
static constexpr unsigned int TX_SIZE = TERN(HAS_DGUS_LCD, DGUS_TX_BUFFER_SIZE, 128);
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = false;
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_OVERRUNS = BOTH(HAS_DGUS_LCD, DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
static constexpr bool RX_OVERRUNS = BOTH(HAS_DGUS_LCD, SERIAL_STATS_RX_BUFFER_OVERRUNS);
};
extern MarlinSerial<MarlinInternalSerialCfg<DGUS_SERIAL_PORT>> internalDgusSerial;
#endif
#ifdef ANYCUBIC_LCD_SERIAL_PORT
template <uint8_t serial>
struct AnycubicLcdSerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = 64;
static constexpr unsigned int TX_SIZE = 128;
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = false;
static constexpr bool DROPPED_RX = false;
static constexpr bool RX_OVERRUNS = false;
static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false;
};
extern MarlinSerial<AnycubicLcdSerialCfg<ANYCUBIC_LCD_SERIAL_PORT>> anycubicLcdSerial;
typedef Serial1Class< MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> > > MSerialLCD;
extern MSerialLCD lcdSerial;
#endif
// Use the UART for Bluetooth in AT90USB configurations
#if defined(USBCON) && ENABLED(BLUETOOTH)
extern HardwareSerial bluetoothSerial;
typedef Serial1Class<HardwareSerial> MSerialBT;
extern MSerialBT bluetoothSerial;
#endif
-1
View File
@@ -48,7 +48,6 @@
* readMicroseconds() - Get the last-written servo pulse width in microseconds.
* attached() - Return true if a servo is attached.
* detach() - Stop an attached servo from pulsing its i/o pin.
*
*/
#ifdef __AVR__
+5 -3
View File
@@ -59,10 +59,12 @@
// Say which 16 bit timers can be used and in what order
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
//#define _useTimer1
#define _useTimer3
#define _useTimer4
#if !HAS_MOTOR_CURRENT_PWM
#define _useTimer5 // Timer 5 is used for motor current PWM and can't be used for servos.
#if NUM_SERVOS > SERVOS_PER_TIMER
#define _useTimer3
#if !HAS_MOTOR_CURRENT_PWM && SERVOS > 2 * SERVOS_PER_TIMER
#define _useTimer5 // Timer 5 is used for motor current PWM and can't be used for servos.
#endif
#endif
#elif defined(__AVR_ATmega32U4__)
#define _useTimer3
+4 -4
View File
@@ -40,13 +40,13 @@ bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0;
while (size--) {
uint8_t * const p = (uint8_t * const)pos;
uint8_t v = *value;
// EEPROM has only ~100,000 write cycles,
// so only write bytes that have changed!
if (v != eeprom_read_byte(p)) {
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
eeprom_write_byte(p, v);
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
if (eeprom_read_byte(p) != v) {
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
@@ -59,7 +59,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
uint8_t c = eeprom_read_byte((uint8_t*)pos);
if (writing) *value = c;
+62 -18
View File
@@ -124,7 +124,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X_MAX_PIN), "X_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X_MAX_PIN);
#endif
#endif
@@ -132,7 +132,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X_MIN_PIN), "X_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X_MIN_PIN);
#endif
#endif
@@ -140,7 +140,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y_MAX_PIN), "Y_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y_MAX_PIN);
#endif
#endif
@@ -148,7 +148,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y_MIN_PIN), "Y_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y_MIN_PIN);
#endif
#endif
@@ -156,7 +156,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MAX_PIN), "Z_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z_MAX_PIN);
#endif
#endif
@@ -164,15 +164,60 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MIN_PIN), "Z_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z_MIN_PIN);
#endif
#endif
#if HAS_I_MAX
#if (digitalPinToInterrupt(I_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(I_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(I_MAX_PIN), "I_MAX_PIN is not interrupt-capable");
pciSetup(I_MAX_PIN);
#endif
#elif HAS_I_MIN
#if (digitalPinToInterrupt(I_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(I_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(I_MIN_PIN), "I_MIN_PIN is not interrupt-capable");
pciSetup(I_MIN_PIN);
#endif
#endif
#if HAS_J_MAX
#if (digitalPinToInterrupt(J_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(J_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(J_MAX_PIN), "J_MAX_PIN is not interrupt-capable");
pciSetup(J_MAX_PIN);
#endif
#elif HAS_J_MIN
#if (digitalPinToInterrupt(J_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(J_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(J_MIN_PIN), "J_MIN_PIN is not interrupt-capable");
pciSetup(J_MIN_PIN);
#endif
#endif
#if HAS_K_MAX
#if (digitalPinToInterrupt(K_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(K_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(K_MAX_PIN), "K_MAX_PIN is not interrupt-capable");
pciSetup(K_MAX_PIN);
#endif
#elif HAS_K_MIN
#if (digitalPinToInterrupt(K_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(K_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(K_MIN_PIN), "K_MIN_PIN is not interrupt-capable");
pciSetup(K_MIN_PIN);
#endif
#endif
#if HAS_X2_MAX
#if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X2_MAX_PIN), "X2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X2_MAX_PIN);
#endif
#endif
@@ -180,7 +225,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(X2_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(X2_MIN_PIN), "X2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(X2_MIN_PIN);
#endif
#endif
@@ -188,7 +233,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y2_MAX_PIN), "Y2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y2_MAX_PIN);
#endif
#endif
@@ -196,7 +241,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Y2_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Y2_MIN_PIN), "Y2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Y2_MIN_PIN);
#endif
#endif
@@ -204,7 +249,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z2_MAX_PIN), "Z2_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z2_MAX_PIN);
#endif
#endif
@@ -212,7 +257,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z2_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z2_MIN_PIN), "Z2_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z2_MIN_PIN);
#endif
#endif
@@ -220,7 +265,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z3_MAX_PIN), "Z3_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z3_MAX_PIN);
#endif
#endif
@@ -228,7 +273,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z3_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z3_MIN_PIN), "Z3_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z3_MIN_PIN);
#endif
#endif
@@ -236,7 +281,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z4_MAX_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MAX_PIN);
#else
static_assert(digitalPinHasPCICR(Z4_MAX_PIN), "Z4_MAX_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z4_MAX_PIN), "Z4_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z4_MAX_PIN);
#endif
#endif
@@ -244,7 +289,7 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z4_MIN_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z4_MIN_PIN);
#else
static_assert(digitalPinHasPCICR(Z4_MIN_PIN), "Z4_MIN_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z4_MIN_PIN), "Z4_MIN_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z4_MIN_PIN);
#endif
#endif
@@ -252,10 +297,9 @@ void setup_endstop_interrupts() {
#if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT)
_ATTACH(Z_MIN_PROBE_PIN);
#else
static_assert(digitalPinHasPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable");
static_assert(digitalPinHasPCICR(Z_MIN_PROBE_PIN), "Z_MIN_PROBE_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue.");
pciSetup(Z_MIN_PROBE_PIN);
#endif
#endif
// If we arrive here without raising an assertion, each pin has either an EXT-interrupt or a PCI.
}
+2 -2
View File
@@ -185,8 +185,8 @@ void set_pwm_frequency(const pin_t pin, int f_desired) {
res_temp_phase_correct = rtf / 2;
}
LIMIT(res_temp_fast, 1u, size);
LIMIT(res_temp_phase_correct, 1u, size);
LIMIT(res_temp_fast, 1U, size);
LIMIT(res_temp_phase_correct, 1U, size);
// Calculate frequencies of test prescaler and resolution values
const int f_temp_fast = (F_CPU) / (prescaler[i] * (1 + res_temp_fast)),
f_temp_phase_correct = (F_CPU) / (2 * prescaler[i] * res_temp_phase_correct),
+1 -1
View File
@@ -241,7 +241,7 @@ uint8_t extDigitalRead(const int8_t pin) {
*
* DC values -1.0 to 1.0. Negative duty cycle inverts the pulse.
*/
uint16_t set_pwm_frequency_hz(const float &hz, const float dca, const float dcb, const float dcc) {
uint16_t set_pwm_frequency_hz(const_float_t hz, const float dca, const float dcb, const float dcc) {
float count = 0;
if (hz > 0 && (dca || dcb || dcc)) {
count = float(F_CPU) / hz; // 1x prescaler, TOP for 16MHz base freq.
+12 -6
View File
@@ -29,11 +29,17 @@
#include <avr/io.h>
#define AVR_AT90USB1286_FAMILY (defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1286P__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB646P__) || defined(__AVR_AT90USB647__))
#define AVR_ATmega1284_FAMILY (defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__))
#define AVR_ATmega2560_FAMILY (defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__))
#define AVR_ATmega2561_FAMILY (defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__))
#define AVR_ATmega328_FAMILY (defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__))
#if defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1286P__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB646P__) || defined(__AVR_AT90USB647__)
#define AVR_AT90USB1286_FAMILY 1
#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)
#define AVR_ATmega1284_FAMILY 1
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define AVR_ATmega2560_FAMILY 1
#elif defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
#define AVR_ATmega2561_FAMILY 1
#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega328P__)
#define AVR_ATmega328_FAMILY 1
#endif
/**
* Include Ports and Functions
@@ -279,7 +285,7 @@ enum ClockSource2 : char {
*/
// Determine which harware PWMs are already in use
#define _PWM_CHK_FAN_B(P) (P == E0_AUTO_FAN_PIN || P == E1_AUTO_FAN_PIN || P == E2_AUTO_FAN_PIN || P == E3_AUTO_FAN_PIN || P == E4_AUTO_FAN_PIN || P == E5_AUTO_FAN_PIN || P == E6_AUTO_FAN_PIN || P == E7_AUTO_FAN_PIN || P == CHAMBER_AUTO_FAN_PIN)
#define _PWM_CHK_FAN_B(P) (P == E0_AUTO_FAN_PIN || P == E1_AUTO_FAN_PIN || P == E2_AUTO_FAN_PIN || P == E3_AUTO_FAN_PIN || P == E4_AUTO_FAN_PIN || P == E5_AUTO_FAN_PIN || P == E6_AUTO_FAN_PIN || P == E7_AUTO_FAN_PIN || P == CHAMBER_AUTO_FAN_PIN || P == COOLER_AUTO_FAN_PIN)
#if PIN_EXISTS(CONTROLLER_FAN)
#define PWM_CHK_FAN_B(P) (_PWM_CHK_FAN_B(P) || P == CONTROLLER_FAN_PIN)
#else
+9 -1
View File
@@ -36,9 +36,10 @@
* Sanity checks for Spindle / Laser PWM
*/
#if ENABLED(SPINDLE_LASER_PWM)
#include "../ServoTimers.h" // Needed to check timer availability (_useTimer3)
#if SPINDLE_LASER_PWM_PIN == 4 || WITHIN(SPINDLE_LASER_PWM_PIN, 11, 13)
#error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by a system interrupt."
#elif NUM_SERVOS > 0 && (WITHIN(SPINDLE_LASER_PWM_PIN, 2, 3) || SPINDLE_LASER_PWM_PIN == 5)
#elif NUM_SERVOS > 0 && defined(_useTimer3) && (WITHIN(SPINDLE_LASER_PWM_PIN, 2, 3) || SPINDLE_LASER_PWM_PIN == 5)
#error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by the servo system."
#endif
#elif defined(SPINDLE_LASER_FREQUENCY)
@@ -55,3 +56,10 @@
#if BOTH(HAS_TMC_SW_SERIAL, MONITOR_DRIVER_STATUS)
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#endif
/**
* Postmortem debugging
*/
#if ENABLED(POSTMORTEM_DEBUGGING)
#error "POSTMORTEM_DEBUGGING is not supported on AVR boards."
#endif
+11 -17
View File
@@ -26,7 +26,9 @@
#define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS
#define AVR_ATmega2560_FAMILY_PLUS_70 MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H)
#if MB(BQ_ZUM_MEGA_3D, MIGHTYBOARD_REVE, MINIRAMBO, SCOOVO_X9H, TRIGORILLA_14)
#define AVR_ATmega2560_FAMILY_PLUS_70 1
#endif
#if AVR_AT90USB1286_FAMILY
@@ -36,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
@@ -233,8 +235,8 @@ static void print_is_also_tied() { SERIAL_ECHOPGM(" is also tied to this pin");
inline void com_print(const uint8_t N, const uint8_t Z) {
const uint8_t *TCCRA = (uint8_t*)TCCR_A(N);
SERIAL_ECHOPGM(" COM");
SERIAL_CHAR('0' + N, Z);
SERIAL_ECHOPAIR(" COM", AS_CHAR('0' + N));
SERIAL_CHAR(Z);
SERIAL_ECHOPAIR(": ", int((*TCCRA >> (6 - Z * 2)) & 0x03));
}
@@ -245,8 +247,8 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
uint8_t WGM = (((*TCCRB & _BV(WGM_2)) >> 1) | (*TCCRA & (_BV(WGM_0) | _BV(WGM_1))));
if (N == 4) WGM |= ((*TCCRB & _BV(WGM_3)) >> 1);
SERIAL_ECHOPGM(" TIMER");
SERIAL_CHAR(T + '0', L);
SERIAL_ECHOPAIR(" TIMER", AS_CHAR(T + '0'));
SERIAL_CHAR(L);
SERIAL_ECHO_SP(3);
if (N == 3) {
@@ -260,19 +262,11 @@ void timer_prefix(uint8_t T, char L, uint8_t N) { // T - timer L - pwm N -
SERIAL_ECHOPAIR(" WGM: ", WGM);
com_print(T,L);
SERIAL_ECHOPAIR(" CS: ", (*TCCRB & (_BV(CS_0) | _BV(CS_1) | _BV(CS_2)) ));
SERIAL_ECHOPGM(" TCCR");
SERIAL_CHAR(T + '0');
SERIAL_ECHOPAIR("A: ", *TCCRA);
SERIAL_ECHOPGM(" TCCR");
SERIAL_CHAR(T + '0');
SERIAL_ECHOPAIR("B: ", *TCCRB);
SERIAL_ECHOPAIR(" TCCR", AS_CHAR(T + '0'), "A: ", *TCCRA);
SERIAL_ECHOPAIR(" TCCR", AS_CHAR(T + '0'), "B: ", *TCCRB);
const uint8_t *TMSK = (uint8_t*)TIMSK(T);
SERIAL_ECHOPGM(" TIMSK");
SERIAL_CHAR(T + '0');
SERIAL_ECHOPAIR(": ", *TMSK);
SERIAL_ECHOPAIR(" TIMSK", AS_CHAR(T + '0'), ": ", *TMSK);
const uint8_t OCIE = L - 'A' + 1;
if (N == 3) { if (WGM == 0 || WGM == 2 || WGM == 4 || WGM == 6) err_is_counter(); }
+3 -6
View File
@@ -22,15 +22,12 @@
* Structures for 2560 family boards that use more than 70 pins
*/
#undef NUM_DIGITAL_PINS
#if MB(BQ_ZUM_MEGA_3D)
#if MB(BQ_ZUM_MEGA_3D, MINIRAMBO, SCOOVO_X9H, TRIGORILLA_14)
#undef NUM_DIGITAL_PINS
#define NUM_DIGITAL_PINS 85
#elif MB(MIGHTYBOARD_REVE)
#undef NUM_DIGITAL_PINS
#define NUM_DIGITAL_PINS 80
#elif MB(MINIRAMBO)
#define NUM_DIGITAL_PINS 85
#elif MB(SCOOVO_X9H)
#define NUM_DIGITAL_PINS 85
#endif
#define PA 1
+8 -8
View File
@@ -51,15 +51,15 @@
#define AVR_SS_PIN 16
#endif
#ifndef SCK_PIN
#define SCK_PIN AVR_SCK_PIN
#ifndef SD_SCK_PIN
#define SD_SCK_PIN AVR_SCK_PIN
#endif
#ifndef MISO_PIN
#define MISO_PIN AVR_MISO_PIN
#ifndef SD_MISO_PIN
#define SD_MISO_PIN AVR_MISO_PIN
#endif
#ifndef MOSI_PIN
#define MOSI_PIN AVR_MOSI_PIN
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN AVR_MOSI_PIN
#endif
#ifndef SS_PIN
#define SS_PIN AVR_SS_PIN
#ifndef SD_SS_PIN
#define SD_SS_PIN AVR_SS_PIN
#endif
+1
View File
@@ -15,6 +15,7 @@
*
* 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
@@ -57,7 +57,7 @@
#include "../../inc/MarlinConfigPre.h"
#if HAS_GRAPHICAL_LCD
#if HAS_MARLINUI_U8GLIB
#include "../shared/Marduino.h"
#include "../shared/Delay.h"
@@ -189,5 +189,5 @@ uint8_t u8g_com_HAL_AVR_sw_sp_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
return 1;
}
#endif // HAS_GRAPHICAL_LCD
#endif // HAS_MARLINUI_U8GLIB
#endif // ARDUINO_ARCH_SAM
-342
View File
@@ -1,342 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#ifdef ARDUINO_ARCH_SAM
#include "../../core/macros.h"
#include "../../core/serial.h"
#include "../shared/backtrace/unwinder.h"
#include "../shared/backtrace/unwmemaccess.h"
#include <stdarg.h>
// Debug monitor that dumps to the Programming port all status when
// an exception or WDT timeout happens - And then resets the board
// All the Monitor routines must run with interrupts disabled and
// under an ISR execution context. That is why we cannot reuse the
// Serial interrupt routines or any C runtime, as we don't know the
// state we are when running them
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() __asm__ volatile("": : :"memory");
// (re)initialize UART0 as a monitor output to 250000,n,8,1
static void TXBegin() {
// Disable UART interrupt in NVIC
NVIC_DisableIRQ( UART_IRQn );
// We NEED memory barriers to ensure Interrupts are actually disabled!
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )
__DSB();
__ISB();
// Disable clock
pmc_disable_periph_clk( ID_UART );
// Configure PMC
pmc_enable_periph_clk( ID_UART );
// Disable PDC channel
UART->UART_PTCR = UART_PTCR_RXTDIS | UART_PTCR_TXTDIS;
// Reset and disable receiver and transmitter
UART->UART_CR = UART_CR_RSTRX | UART_CR_RSTTX | UART_CR_RXDIS | UART_CR_TXDIS;
// Configure mode: 8bit, No parity, 1 bit stop
UART->UART_MR = UART_MR_CHMODE_NORMAL | US_MR_CHRL_8_BIT | US_MR_NBSTOP_1_BIT | UART_MR_PAR_NO;
// Configure baudrate (asynchronous, no oversampling) to BAUDRATE bauds
UART->UART_BRGR = (SystemCoreClock / (BAUDRATE << 4));
// Enable receiver and transmitter
UART->UART_CR = UART_CR_RXEN | UART_CR_TXEN;
}
// Send character through UART with no interrupts
static void TX(char c) {
while (!(UART->UART_SR & UART_SR_TXRDY)) { WDT_Restart(WDT); sw_barrier(); };
UART->UART_THR = c;
}
// Send String through UART
static void TX(const char* s) {
while (*s) TX(*s++);
}
static void TXDigit(uint32_t d) {
if (d < 10) TX((char)(d+'0'));
else if (d < 16) TX((char)(d+'A'-10));
else TX('?');
}
// Send Hex number thru UART
static void TXHex(uint32_t v) {
TX("0x");
for (uint8_t i = 0; i < 8; i++, v <<= 4)
TXDigit((v >> 28) & 0xF);
}
// Send Decimal number thru UART
static void TXDec(uint32_t v) {
if (!v) {
TX('0');
return;
}
char nbrs[14];
char *p = &nbrs[0];
while (v != 0) {
*p++ = '0' + (v % 10);
v /= 10;
}
do {
p--;
TX(*p);
} while (p != &nbrs[0]);
}
// Dump a backtrace entry
static bool UnwReportOut(void* ctx, const UnwReport* bte) {
int* p = (int*)ctx;
(*p)++;
TX('#'); TXDec(*p); TX(" : ");
TX(bte->name?bte->name:"unknown"); TX('@'); TXHex(bte->function);
TX('+'); TXDec(bte->address - bte->function);
TX(" PC:");TXHex(bte->address); TX('\n');
return true;
}
#ifdef UNW_DEBUG
void UnwPrintf(const char* format, ...) {
char dest[256];
va_list argptr;
va_start(argptr, format);
vsprintf(dest, format, argptr);
va_end(argptr);
TX(&dest[0]);
}
#endif
/* Table of function pointers for passing to the unwinder */
static const UnwindCallbacks UnwCallbacks = {
UnwReportOut,
UnwReadW,
UnwReadH,
UnwReadB
#ifdef UNW_DEBUG
, UnwPrintf
#endif
};
/**
* HardFaultHandler_C:
* This is called from the HardFault_HandlerAsm with a pointer the Fault stack
* as the parameter. We can then read the values from the stack and place them
* into local variables for ease of reading.
* We then read the various Fault Status and Address Registers to help decode
* cause of the fault.
* The function ends with a BKPT instruction to force control back into the debugger
*/
extern "C"
void HardFault_HandlerC(unsigned long *sp, unsigned long lr, unsigned long cause) {
static const char* causestr[] = {
"NMI","Hard","Mem","Bus","Usage","Debug","WDT","RSTC"
};
UnwindFrame btf;
// Dump report to the Programming port (interrupts are DISABLED)
TXBegin();
TX("\n\n## Software Fault detected ##\n");
TX("Cause: "); TX(causestr[cause]); TX('\n');
TX("R0 : "); TXHex(((unsigned long)sp[0])); TX('\n');
TX("R1 : "); TXHex(((unsigned long)sp[1])); TX('\n');
TX("R2 : "); TXHex(((unsigned long)sp[2])); TX('\n');
TX("R3 : "); TXHex(((unsigned long)sp[3])); TX('\n');
TX("R12 : "); TXHex(((unsigned long)sp[4])); TX('\n');
TX("LR : "); TXHex(((unsigned long)sp[5])); TX('\n');
TX("PC : "); TXHex(((unsigned long)sp[6])); TX('\n');
TX("PSR : "); TXHex(((unsigned long)sp[7])); TX('\n');
// Configurable Fault Status Register
// Consists of MMSR, BFSR and UFSR
TX("CFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED28)))); TX('\n');
// Hard Fault Status Register
TX("HFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED2C)))); TX('\n');
// Debug Fault Status Register
TX("DFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED30)))); TX('\n');
// Auxiliary Fault Status Register
TX("AFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED3C)))); TX('\n');
// Read the Fault Address Registers. These may not contain valid values.
// Check BFARVALID/MMARVALID to see if they are valid values
// MemManage Fault Address Register
TX("MMAR : "); TXHex((*((volatile unsigned long *)(0xE000ED34)))); TX('\n');
// Bus Fault Address Register
TX("BFAR : "); TXHex((*((volatile unsigned long *)(0xE000ED38)))); TX('\n');
TX("ExcLR: "); TXHex(lr); TX('\n');
TX("ExcSP: "); TXHex((unsigned long)sp); TX('\n');
btf.sp = ((unsigned long)sp) + 8*4; // The original stack pointer
btf.fp = btf.sp;
btf.lr = ((unsigned long)sp[5]);
btf.pc = ((unsigned long)sp[6]) | 1; // Force Thumb, as CORTEX only support it
// Perform a backtrace
TX("\nBacktrace:\n\n");
int ctr = 0;
UnwindStart(&btf, &UnwCallbacks, &ctr);
// Disable all NVIC interrupts
NVIC->ICER[0] = 0xFFFFFFFF;
NVIC->ICER[1] = 0xFFFFFFFF;
// Relocate VTOR table to default position
SCB->VTOR = 0;
// Disable USB
otg_disable();
// Restart watchdog
WDT_Restart(WDT);
// Reset controller
NVIC_SystemReset();
for (;;) WDT_Restart(WDT);
}
__attribute__((naked)) void NMI_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#0")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void HardFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#1")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void MemManage_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#2")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void BusFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#3")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void UsageFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#4")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void DebugMon_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#5")
A("b HardFault_HandlerC")
);
}
/* This is NOT an exception, it is an interrupt handler - Nevertheless, the framing is the same */
__attribute__((naked)) void WDT_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#6")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void RSTC_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#7")
A("b HardFault_HandlerC")
);
}
#endif // ARDUINO_ARCH_SAM
+20 -3
View File
@@ -19,9 +19,7 @@
*/
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL for Arduino Due and compatible (SAM3X8E)
*/
#ifdef ARDUINO_ARCH_SAM
@@ -42,6 +40,8 @@ uint16_t HAL_adc_result;
// Public functions
// ------------------------
TERN_(POSTMORTEM_DEBUGGING, extern void install_min_serial());
// HAL initialization task
void HAL_init() {
// Initialize the USB stack
@@ -49,6 +49,7 @@ void HAL_init() {
OUT_WRITE(SDSS, HIGH); // Try to set SDSS inactive before any other SPI users start up
#endif
usb_task_init();
TERN_(POSTMORTEM_DEBUGGING, install_min_serial()); // Install the min serial handler
}
// HAL idle task
@@ -76,6 +77,8 @@ uint8_t HAL_get_reset_source() {
}
}
void HAL_reboot() { rstc_start_software_reset(RSTC); }
void _delay_ms(const int delay_ms) {
// Todo: port for Due?
delay(delay_ms);
@@ -104,4 +107,18 @@ uint16_t HAL_adc_get_result() {
return HAL_adc_result;
}
// Forward the default serial ports
#if USING_HW_SERIAL0
DefaultSerial1 MSerial0(false, Serial);
#endif
#if USING_HW_SERIAL1
DefaultSerial2 MSerial1(false, Serial1);
#endif
#if USING_HW_SERIAL2
DefaultSerial3 MSerial2(false, Serial2);
#endif
#if USING_HW_SERIAL3
DefaultSerial4 MSerial3(false, Serial3);
#endif
#endif // ARDUINO_ARCH_SAM
+58 -60
View File
@@ -22,9 +22,7 @@
#pragma once
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL for Arduino Due and compatible (SAM3X8E)
*/
#define CPU_32_BIT
@@ -38,59 +36,61 @@
#include <stdint.h>
// Define MYSERIAL0/1 before MarlinSerial includes!
#include "../../core/serial_hook.h"
typedef ForwardSerial1Class< decltype(Serial) > DefaultSerial1;
typedef ForwardSerial1Class< decltype(Serial1) > DefaultSerial2;
typedef ForwardSerial1Class< decltype(Serial2) > DefaultSerial3;
typedef ForwardSerial1Class< decltype(Serial3) > DefaultSerial4;
extern DefaultSerial1 MSerial0;
extern DefaultSerial2 MSerial1;
extern DefaultSerial3 MSerial2;
extern DefaultSerial4 MSerial3;
#define _MSERIAL(X) MSerial##X
#define MSERIAL(X) _MSERIAL(X)
#if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL0 customizedSerial1
#elif SERIAL_PORT == 0
#define MYSERIAL0 Serial
#elif SERIAL_PORT == 1
#define MYSERIAL0 Serial1
#elif SERIAL_PORT == 2
#define MYSERIAL0 Serial2
#elif SERIAL_PORT == 3
#define MYSERIAL0 Serial3
#define MYSERIAL1 customizedSerial1
#elif WITHIN(SERIAL_PORT, 0, 3)
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#error "The required SERIAL_PORT must be from -1 to 3. Please update your configuration."
#error "The required SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
#endif
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == SERIAL_PORT
#error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration."
#elif SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL1 customizedSerial2
#elif SERIAL_PORT_2 == 0
#define MYSERIAL1 Serial
#elif SERIAL_PORT_2 == 1
#define MYSERIAL1 Serial1
#elif SERIAL_PORT_2 == 2
#define MYSERIAL1 Serial2
#elif SERIAL_PORT_2 == 3
#define MYSERIAL1 Serial3
#if SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL2 customizedSerial2
#elif WITHIN(SERIAL_PORT_2, 0, 3)
#define MYSERIAL2 MSERIAL(SERIAL_PORT_2)
#else
#error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration."
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
#endif
#define NUM_SERIAL 2
#else
#define NUM_SERIAL 1
#endif
#ifdef DGUS_SERIAL_PORT
#if DGUS_SERIAL_PORT == SERIAL_PORT
#error "DGUS_SERIAL_PORT must be different from SERIAL_PORT. Please update your configuration."
#elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration."
#elif DGUS_SERIAL_PORT == -1
#define DGUS_SERIAL internalDgusSerial
#elif DGUS_SERIAL_PORT == 0
#define DGUS_SERIAL Serial
#elif DGUS_SERIAL_PORT == 1
#define DGUS_SERIAL Serial1
#elif DGUS_SERIAL_PORT == 2
#define DGUS_SERIAL Serial2
#elif DGUS_SERIAL_PORT == 3
#define DGUS_SERIAL Serial3
#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 "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#error "SERIAL_PORT_3 must be from 0 to 3, or -1 for USB Serial."
#endif
#endif
#ifdef MMU2_SERIAL_PORT
#if WITHIN(MMU2_SERIAL_PORT, 0, 3)
#define MMU2_SERIAL MSERIAL(MMU2_SERIAL_PORT)
#else
#error "MMU2_SERIAL_PORT must be from 0 to 3."
#endif
#endif
#ifdef LCD_SERIAL_PORT
#if WITHIN(LCD_SERIAL_PORT, 0, 3)
#define LCD_SERIAL MSERIAL(LCD_SERIAL_PORT)
#else
#error "LCD_SERIAL_PORT must be from 0 to 3."
#endif
#endif
@@ -100,16 +100,6 @@
// On AVR this is in math.h?
#define square(x) ((x)*(x))
#ifndef strncpy_P
#define strncpy_P(dest, src, num) strncpy((dest), (src), (num))
#endif
// Fix bug in pgm_read_ptr
#undef pgm_read_ptr
#define pgm_read_ptr(addr) (*((void**)(addr)))
#undef pgm_read_word
#define pgm_read_word(addr) (*((uint16_t*)(addr)))
typedef int8_t pin_t;
#define SHARED_SERVOS HAS_SERVOS
@@ -130,13 +120,15 @@ void sei(); // Enable interrupts
void HAL_clear_reset_source(); // clear reset reason
uint8_t HAL_get_reset_source(); // get reset reason
void HAL_reboot();
//
// ADC
//
extern uint16_t HAL_adc_result; // result of last ADC conversion
#ifndef analogInputToDigitalPin
#define analogInputToDigitalPin(p) ((p < 12u) ? (p) + 54u : -1)
#define analogInputToDigitalPin(p) ((p < 12U) ? (p) + 54U : -1)
#endif
#define HAL_ANALOG_SELECT(ch)
@@ -176,10 +168,16 @@ void HAL_init();
//
void _delay_ms(const int delay);
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
int freeMemory();
#pragma GCC diagnostic pop
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
#ifdef __cplusplus
extern "C" {
+91
View File
@@ -0,0 +1,91 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfigPre.h"
#if ENABLED(POSTMORTEM_DEBUGGING)
#include "../shared/HAL_MinSerial.h"
#include <stdarg.h>
static void TXBegin() {
// Disable UART interrupt in NVIC
NVIC_DisableIRQ( UART_IRQn );
// We NEED memory barriers to ensure Interrupts are actually disabled!
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )
__DSB();
__ISB();
// Disable clock
pmc_disable_periph_clk( ID_UART );
// Configure PMC
pmc_enable_periph_clk( ID_UART );
// Disable PDC channel
UART->UART_PTCR = UART_PTCR_RXTDIS | UART_PTCR_TXTDIS;
// Reset and disable receiver and transmitter
UART->UART_CR = UART_CR_RSTRX | UART_CR_RSTTX | UART_CR_RXDIS | UART_CR_TXDIS;
// Configure mode: 8bit, No parity, 1 bit stop
UART->UART_MR = UART_MR_CHMODE_NORMAL | US_MR_CHRL_8_BIT | US_MR_NBSTOP_1_BIT | UART_MR_PAR_NO;
// Configure baudrate (asynchronous, no oversampling) to BAUDRATE bauds
UART->UART_BRGR = (SystemCoreClock / (BAUDRATE << 4));
// Enable receiver and transmitter
UART->UART_CR = UART_CR_RXEN | UART_CR_TXEN;
}
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() __asm__ volatile("": : :"memory");
static void TX(char c) {
while (!(UART->UART_SR & UART_SR_TXRDY)) { WDT_Restart(WDT); sw_barrier(); };
UART->UART_THR = c;
}
void install_min_serial() {
HAL_min_serial_init = &TXBegin;
HAL_min_serial_out = &TX;
}
#if DISABLED(DYNAMIC_VECTORTABLE)
extern "C" {
__attribute__((naked)) void JumpHandler_ASM() {
__asm__ __volatile__ (
"b CommonHandler_ASM\n"
);
}
void __attribute__((naked, alias("JumpHandler_ASM"))) HardFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) BusFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) UsageFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) MemManage_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) NMI_Handler();
}
#endif
#endif // POSTMORTEM_DEBUGGING
#endif // ARDUINO_ARCH_SAM
+65 -66
View File
@@ -30,7 +30,7 @@
*/
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
* HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
*/
@@ -56,8 +56,8 @@
#pragma GCC optimize (3)
typedef uint8_t (*pfnSpiTransfer)(uint8_t b);
typedef void (*pfnSpiRxBlock)(uint8_t* buf, uint32_t nbyte);
typedef void (*pfnSpiTxBlock)(const uint8_t* buf, uint32_t nbyte);
typedef void (*pfnSpiRxBlock)(uint8_t *buf, uint32_t nbyte);
typedef void (*pfnSpiTxBlock)(const uint8_t *buf, uint32_t nbyte);
/* ---------------- Macros to be able to access definitions from asm */
#define _PORT(IO) DIO ## IO ## _WPORT
@@ -69,10 +69,10 @@
// run at ~8 .. ~10Mhz - Tx version (Rx data discarded)
static uint8_t spiTransferTx0(uint8_t bout) { // using Mode 0
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(SD_MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(SD_MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
uint32_t idx = 0;
/* Negate bout, as the assembler requires a negated value */
@@ -154,9 +154,9 @@
static uint8_t spiTransferRx0(uint8_t) { // using Mode 0
uint32_t bin = 0;
uint32_t work = 0;
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(MISO_PIN))+0x3C, PIN_SHIFT(MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
/* The software SPI routine */
__asm__ __volatile__(
@@ -225,36 +225,36 @@
static uint8_t spiTransfer1(uint8_t b) { // using Mode 0
int bits = 8;
do {
WRITE(MOSI_PIN, b & 0x80);
WRITE(SD_MOSI_PIN, b & 0x80);
b <<= 1; // little setup time
WRITE(SCK_PIN, HIGH);
WRITE(SD_SCK_PIN, HIGH);
DELAY_NS(125); // 10 cycles @ 84mhz
b |= (READ(MISO_PIN) != 0);
b |= (READ(SD_MISO_PIN) != 0);
WRITE(SCK_PIN, LOW);
WRITE(SD_SCK_PIN, LOW);
DELAY_NS(125); // 10 cycles @ 84mhz
} while (--bits);
return b;
}
// all the others
static uint32_t spiDelayCyclesX4 = (F_CPU) / 1000000; // 4µs => 125khz
static uint32_t spiDelayCyclesX4 = 4 * (F_CPU) / 1000000; // 4µs => 125khz
static uint8_t spiTransferX(uint8_t b) { // using Mode 0
int bits = 8;
do {
WRITE(MOSI_PIN, b & 0x80);
WRITE(SD_MOSI_PIN, b & 0x80);
b <<= 1; // little setup time
WRITE(SCK_PIN, HIGH);
__delay_4cycles(spiDelayCyclesX4);
WRITE(SD_SCK_PIN, HIGH);
DELAY_CYCLES(spiDelayCyclesX4);
b |= (READ(MISO_PIN) != 0);
b |= (READ(SD_MISO_PIN) != 0);
WRITE(SCK_PIN, LOW);
__delay_4cycles(spiDelayCyclesX4);
WRITE(SD_SCK_PIN, LOW);
DELAY_CYCLES(spiDelayCyclesX4);
} while (--bits);
return b;
}
@@ -270,11 +270,11 @@
static pfnSpiTransfer spiTransferTx = (pfnSpiTransfer)spiTransferX;
// Block transfers run at ~8 .. ~10Mhz - Tx version (Rx data discarded)
static void spiTxBlock0(const uint8_t* ptr, uint32_t todo) {
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
static void spiTxBlock0(const uint8_t *ptr, uint32_t todo) {
uint32_t MOSI_PORT_PLUS30 = ((uint32_t) PORT(SD_MOSI_PIN)) + 0x30; /* SODR of port */
uint32_t MOSI_MASK = PIN_MASK(SD_MOSI_PIN);
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
uint32_t work = 0;
uint32_t txval = 0;
@@ -349,12 +349,12 @@
);
}
static void spiRxBlock0(uint8_t* ptr, uint32_t todo) {
static void spiRxBlock0(uint8_t *ptr, uint32_t todo) {
uint32_t bin = 0;
uint32_t work = 0;
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(MISO_PIN))+0x3C, PIN_SHIFT(MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SCK_PIN);
uint32_t BITBAND_MISO_PORT = BITBAND_ADDRESS( ((uint32_t)PORT(SD_MISO_PIN))+0x3C, PIN_SHIFT(SD_MISO_PIN)); /* PDSR of port in bitband area */
uint32_t SCK_PORT_PLUS30 = ((uint32_t) PORT(SD_SCK_PIN)) + 0x30; /* SODR of port */
uint32_t SCK_MASK = PIN_MASK(SD_SCK_PIN);
/* The software SPI routine */
__asm__ __volatile__(
@@ -425,13 +425,13 @@
);
}
static void spiTxBlockX(const uint8_t* buf, uint32_t todo) {
static void spiTxBlockX(const uint8_t *buf, uint32_t todo) {
do {
(void)spiTransferTx(*buf++);
} while (--todo);
}
static void spiRxBlockX(uint8_t* buf, uint32_t todo) {
static void spiRxBlockX(uint8_t *buf, uint32_t todo) {
do {
*buf++ = spiTransferRx(0xFF);
} while (--todo);
@@ -442,31 +442,31 @@
static pfnSpiRxBlock spiRxBlock = (pfnSpiRxBlock)spiRxBlockX;
#if MB(ALLIGATOR)
#define _SS_WRITE(S) WRITE(SS_PIN, S)
#define _SS_WRITE(S) WRITE(SD_SS_PIN, S)
#else
#define _SS_WRITE(S) NOOP
#endif
void spiBegin() {
SET_OUTPUT(SS_PIN);
SET_OUTPUT(SD_SS_PIN);
_SS_WRITE(HIGH);
SET_OUTPUT(SCK_PIN);
SET_INPUT(MISO_PIN);
SET_OUTPUT(MOSI_PIN);
SET_OUTPUT(SD_SCK_PIN);
SET_INPUT(SD_MISO_PIN);
SET_OUTPUT(SD_MOSI_PIN);
}
uint8_t spiRec() {
_SS_WRITE(LOW);
WRITE(MOSI_PIN, HIGH); // Output 1s 1
WRITE(SD_MOSI_PIN, HIGH); // Output 1s 1
uint8_t b = spiTransferRx(0xFF);
_SS_WRITE(HIGH);
return b;
}
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (nbyte) {
_SS_WRITE(LOW);
WRITE(MOSI_PIN, HIGH); // Output 1s 1
WRITE(SD_MOSI_PIN, HIGH); // Output 1s 1
spiRxBlock(buf, nbyte);
_SS_WRITE(HIGH);
}
@@ -478,7 +478,7 @@
_SS_WRITE(HIGH);
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
_SS_WRITE(LOW);
(void)spiTransferTx(token);
spiTxBlock(buf, 512);
@@ -510,7 +510,7 @@
spiRxBlock = (pfnSpiRxBlock)spiRxBlockX;
break;
default:
spiDelayCyclesX4 = ((F_CPU) / 1000000) >> (6 - spiRate);
spiDelayCyclesX4 = ((F_CPU) / 1000000) >> (6 - spiRate) << 2; // spiRate of 2 gives the maximum error with current CPU
spiTransferTx = (pfnSpiTransfer)spiTransferX;
spiTransferRx = (pfnSpiTransfer)spiTransferX;
spiTxBlock = (pfnSpiTxBlock)spiTxBlockX;
@@ -519,8 +519,8 @@
}
_SS_WRITE(HIGH);
WRITE(MOSI_PIN, HIGH);
WRITE(SCK_PIN, LOW);
WRITE(SD_MOSI_PIN, HIGH);
WRITE(SD_SCK_PIN, LOW);
}
/** Begin SPI transaction, set clock, bit order, data mode */
@@ -575,27 +575,27 @@
// Configure SPI pins
PIO_Configure(
g_APinDescription[SCK_PIN].pPort,
g_APinDescription[SCK_PIN].ulPinType,
g_APinDescription[SCK_PIN].ulPin,
g_APinDescription[SCK_PIN].ulPinConfiguration);
g_APinDescription[SD_SCK_PIN].pPort,
g_APinDescription[SD_SCK_PIN].ulPinType,
g_APinDescription[SD_SCK_PIN].ulPin,
g_APinDescription[SD_SCK_PIN].ulPinConfiguration);
PIO_Configure(
g_APinDescription[MOSI_PIN].pPort,
g_APinDescription[MOSI_PIN].ulPinType,
g_APinDescription[MOSI_PIN].ulPin,
g_APinDescription[MOSI_PIN].ulPinConfiguration);
g_APinDescription[SD_MOSI_PIN].pPort,
g_APinDescription[SD_MOSI_PIN].ulPinType,
g_APinDescription[SD_MOSI_PIN].ulPin,
g_APinDescription[SD_MOSI_PIN].ulPinConfiguration);
PIO_Configure(
g_APinDescription[MISO_PIN].pPort,
g_APinDescription[MISO_PIN].ulPinType,
g_APinDescription[MISO_PIN].ulPin,
g_APinDescription[MISO_PIN].ulPinConfiguration);
g_APinDescription[SD_MISO_PIN].pPort,
g_APinDescription[SD_MISO_PIN].ulPinType,
g_APinDescription[SD_MISO_PIN].ulPin,
g_APinDescription[SD_MISO_PIN].ulPinConfiguration);
// set master mode, peripheral select, fault detection
SPI_Configure(SPI0, ID_SPI0, SPI_MR_MSTR | SPI_MR_MODFDIS | SPI_MR_PS);
SPI_Enable(SPI0);
SET_OUTPUT(DAC0_SYNC);
#if EXTRUDERS > 1
#if HAS_MULTI_EXTRUDER
SET_OUTPUT(DAC1_SYNC);
WRITE(DAC1_SYNC, HIGH);
#endif
@@ -606,7 +606,7 @@
WRITE(SPI_EEPROM1_CS, HIGH);
WRITE(SPI_EEPROM2_CS, HIGH);
WRITE(SPI_FLASH_CS, HIGH);
WRITE(SS_PIN, HIGH);
WRITE(SD_SS_PIN, HIGH);
OUT_WRITE(SDSS, LOW);
@@ -645,7 +645,7 @@
}
// Read from SPI into buffer
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
if (!nbyte) return;
--nbyte;
for (int i = 0; i < nbyte; i++) {
@@ -668,7 +668,7 @@
//DELAY_US(1U);
}
void spiSend(const uint8_t* buf, size_t nbyte) {
void spiSend(const uint8_t *buf, size_t nbyte) {
if (!nbyte) return;
--nbyte;
for (size_t i = 0; i < nbyte; i++) {
@@ -689,7 +689,7 @@
FLUSH_RX();
}
void spiSend(uint32_t chan, const uint8_t* buf, size_t nbyte) {
void spiSend(uint32_t chan, const uint8_t *buf, size_t nbyte) {
if (!nbyte) return;
--nbyte;
for (size_t i = 0; i < nbyte; i++) {
@@ -702,7 +702,7 @@
}
// Write from buffer to SPI
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
SPI0->SPI_TDR = (uint32_t)token | SPI_PCS(SPI_CHAN);
WHILE_TX(0);
//WHILE_RX(0);
@@ -759,7 +759,6 @@
*
* All of the above can be avoided by defining FORCE_SOFT_SPI to force the
* display to use software SPI.
*
*/
void spiInit(uint8_t spiRate=6) { // Default to slowest rate if not specified)
@@ -802,19 +801,19 @@
uint8_t spiRec() { return (uint8_t)spiTransfer(0xFF); }
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
for (int i = 0; i < nbyte; i++)
buf[i] = spiTransfer(0xFF);
}
void spiSend(uint8_t data) { spiTransfer(data); }
void spiSend(const uint8_t* buf, size_t nbyte) {
void spiSend(const uint8_t *buf, size_t nbyte) {
for (uint16_t i = 0; i < nbyte; i++)
spiTransfer(buf[i]);
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
spiTransfer(token);
for (uint16_t i = 0; i < 512; i++)
spiTransfer(buf[i]);
+13 -160
View File
@@ -382,7 +382,7 @@ void MarlinSerial<Cfg>::flush() {
}
template<typename Cfg>
void MarlinSerial<Cfg>::write(const uint8_t c) {
size_t MarlinSerial<Cfg>::write(const uint8_t c) {
_written = true;
if (Cfg::TX_SIZE == 0) {
@@ -400,7 +400,7 @@ void MarlinSerial<Cfg>::write(const uint8_t c) {
// XOFF char at the RX isr, but it is properly handled there
if (!(HWUART->UART_IMR & UART_IMR_TXRDY) && (HWUART->UART_SR & UART_SR_TXRDY)) {
HWUART->UART_THR = c;
return;
return 1;
}
const uint8_t i = (tx_buffer.head + 1) & (Cfg::TX_SIZE - 1);
@@ -428,6 +428,7 @@ void MarlinSerial<Cfg>::write(const uint8_t c) {
// Enable TX isr - Non atomic, but it will eventually enable TX isr
HWUART->UART_IER = UART_IER_TXRDY;
}
return 1;
}
template<typename Cfg>
@@ -473,169 +474,21 @@ void MarlinSerial<Cfg>::flushTX() {
}
}
/**
* Imports from print.h
*/
template<typename Cfg>
void MarlinSerial<Cfg>::print(char c, int base) {
print((long)c, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned char b, int base) {
print((unsigned long)b, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(int n, int base) {
print((long)n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned int n, int base) {
print((unsigned long)n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(long n, int base) {
if (base == 0) write(n);
else if (base == 10) {
if (n < 0) { print('-'); n = -n; }
printNumber(n, 10);
}
else
printNumber(n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(unsigned long n, int base) {
if (base == 0) write(n);
else printNumber(n, base);
}
template<typename Cfg>
void MarlinSerial<Cfg>::print(double n, int digits) {
printFloat(n, digits);
}
template<typename Cfg>
void MarlinSerial<Cfg>::println() {
print('\r');
print('\n');
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(const String& s) {
print(s);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(const char c[]) {
print(c);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(char c, int base) {
print(c, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned char b, int base) {
print(b, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(int n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned int n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(long n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(unsigned long n, int base) {
print(n, base);
println();
}
template<typename Cfg>
void MarlinSerial<Cfg>::println(double n, int digits) {
print(n, digits);
println();
}
// Private Methods
template<typename Cfg>
void MarlinSerial<Cfg>::printNumber(unsigned long n, uint8_t base) {
if (n) {
unsigned char buf[8 * sizeof(long)]; // Enough space for base 2
int8_t i = 0;
while (n) {
buf[i++] = n % base;
n /= base;
}
while (i--)
print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10)));
}
else
print('0');
}
template<typename Cfg>
void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// Handle negative numbers
if (number < 0.0) {
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits) {
print('.');
// Extract digits from the remainder one at a time
while (digits--) {
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
}
// If not using the USB port as serial port
#if SERIAL_PORT >= 0
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1; // Instantiate
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
MSerialT1 customizedSerial1(MarlinSerialCfg<SERIAL_PORT>::EMERGENCYPARSER);
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2; // Instantiate
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> >;
MSerialT2 customizedSerial2(MarlinSerialCfg<SERIAL_PORT_2>::EMERGENCYPARSER);
#endif
#if defined(SERIAL_PORT_3) && SERIAL_PORT_3 >= 0
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> >;
MSerialT3 customizedSerial3(MarlinSerialCfg<SERIAL_PORT_3>::EMERGENCYPARSER);
#endif
#endif // ARDUINO_ARCH_SAM
+14 -38
View File
@@ -30,11 +30,7 @@
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
#include "../../core/serial_hook.h"
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
@@ -119,42 +115,15 @@ public:
static int read();
static void flush();
static ring_buffer_pos_t available();
static void write(const uint8_t c);
static size_t write(const uint8_t c);
static void flushTX();
static inline bool emergency_parser_enabled() { return Cfg::EMERGENCYPARSER; }
FORCE_INLINE static uint8_t dropped() { return Cfg::DROPPED_RX ? rx_dropped_bytes : 0; }
FORCE_INLINE static uint8_t buffer_overruns() { return Cfg::RX_OVERRUNS ? rx_buffer_overruns : 0; }
FORCE_INLINE static uint8_t framing_errors() { return Cfg::RX_FRAMING_ERRORS ? rx_framing_errors : 0; }
FORCE_INLINE static ring_buffer_pos_t rxMaxEnqueued() { return Cfg::MAX_RX_QUEUED ? rx_max_enqueued : 0; }
FORCE_INLINE static void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE static void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); }
FORCE_INLINE static void print(const char* str) { write(str); }
static void print(char, int = 0);
static void print(unsigned char, int = 0);
static void print(int, int = DEC);
static void print(unsigned int, int = DEC);
static void print(long, int = DEC);
static void print(unsigned long, int = DEC);
static void print(double, int = 2);
static void println(const String& s);
static void println(const char[]);
static void println(char, int = 0);
static void println(unsigned char, int = 0);
static void println(int, int = DEC);
static void println(unsigned int, int = DEC);
static void println(long, int = DEC);
static void println(unsigned long, int = DEC);
static void println(double, int = 2);
static void println();
operator bool() { return true; }
private:
static void printNumber(unsigned long, const uint8_t);
static void printFloat(double, uint8_t);
};
// Serial port configuration
@@ -171,10 +140,17 @@ struct MarlinSerialCfg {
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
#if SERIAL_PORT >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
#if defined(SERIAL_PORT) && SERIAL_PORT >= 0
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT> > > MSerialT1;
extern MSerialT1 customizedSerial1;
#endif
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> > > MSerialT2;
extern MSerialT2 customizedSerial2;
#endif
#if defined(SERIAL_PORT_3) && SERIAL_PORT_3 >= 0
typedef Serial1Class< MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> > > MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
+17 -165
View File
@@ -19,13 +19,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#ifdef ARDUINO_ARCH_SAM
/**
* MarlinSerial_Due.cpp - Hardware serial library for Arduino DUE
* Copyright (c) 2017 Eduardo José Tagle. All right reserved
* Based on MarlinSerial for AVR, copyright (c) 2006 Nicholas Zambetti. All right reserved.
*/
#ifdef ARDUINO_ARCH_SAM
#include "../../inc/MarlinConfig.h"
@@ -33,10 +33,6 @@
#include "MarlinSerialUSB.h"
#if ENABLED(EMERGENCY_PARSER)
#include "../../feature/e_parser.h"
#endif
// Imports from Atmel USB Stack/CDC implementation
extern "C" {
bool usb_task_cdc_isenabled();
@@ -50,10 +46,6 @@ extern "C" {
// Pending character
static int pending_char = -1;
#if ENABLED(EMERGENCY_PARSER)
static EmergencyParser::State emergency_state; // = EP_RESET
#endif
// Public Methods
void MarlinSerialUSB::begin(const long) {}
@@ -73,7 +65,7 @@ int MarlinSerialUSB::peek() {
pending_char = udi_cdc_getc();
TERN_(EMERGENCY_PARSER, emergency_parser.update(emergency_state, (char)pending_char));
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT1*>(this)->emergency_state, (char)pending_char));
return pending_char;
}
@@ -95,29 +87,27 @@ int MarlinSerialUSB::read() {
int c = udi_cdc_getc();
TERN_(EMERGENCY_PARSER, emergency_parser.update(emergency_state, (char)c));
TERN_(EMERGENCY_PARSER, emergency_parser.update(static_cast<MSerialT1*>(this)->emergency_state, (char)c));
return c;
}
bool MarlinSerialUSB::available() {
/* If Pending chars */
return pending_char >= 0 ||
/* or USB CDC enumerated and configured on the PC side and some
bytes where sent to us */
(usb_task_cdc_isenabled() && udi_cdc_is_rx_ready());
int MarlinSerialUSB::available() {
if (pending_char > 0) return pending_char;
return pending_char == 0 ||
// or USB CDC enumerated and configured on the PC side and some bytes where sent to us */
(usb_task_cdc_isenabled() && udi_cdc_is_rx_ready());
}
void MarlinSerialUSB::flush() { }
void MarlinSerialUSB::flushTX() { }
void MarlinSerialUSB::write(const uint8_t c) {
size_t MarlinSerialUSB::write(const uint8_t c) {
/* Do not even bother sending anything if USB CDC is not enumerated
or not configured on the PC side or there is no program on the PC
listening to our messages */
if (!usb_task_cdc_isenabled() || !usb_task_cdc_dtr_active())
return;
return 0;
/* Wait until the PC has read the pending to be sent data */
while (usb_task_cdc_isenabled() &&
@@ -129,161 +119,23 @@ void MarlinSerialUSB::write(const uint8_t c) {
or not configured on the PC side or there is no program on the PC
listening to our messages at this point */
if (!usb_task_cdc_isenabled() || !usb_task_cdc_dtr_active())
return;
return 0;
// Fifo full
// udi_cdc_signal_overrun();
udi_cdc_putc(c);
}
/**
* Imports from print.h
*/
void MarlinSerialUSB::print(char c, int base) {
print((long)c, base);
}
void MarlinSerialUSB::print(unsigned char b, int base) {
print((unsigned long)b, base);
}
void MarlinSerialUSB::print(int n, int base) {
print((long)n, base);
}
void MarlinSerialUSB::print(unsigned int n, int base) {
print((unsigned long)n, base);
}
void MarlinSerialUSB::print(long n, int base) {
if (base == 0)
write(n);
else if (base == 10) {
if (n < 0) {
print('-');
n = -n;
}
printNumber(n, 10);
}
else
printNumber(n, base);
}
void MarlinSerialUSB::print(unsigned long n, int base) {
if (base == 0) write(n);
else printNumber(n, base);
}
void MarlinSerialUSB::print(double n, int digits) {
printFloat(n, digits);
}
void MarlinSerialUSB::println() {
print('\r');
print('\n');
}
void MarlinSerialUSB::println(const String& s) {
print(s);
println();
}
void MarlinSerialUSB::println(const char c[]) {
print(c);
println();
}
void MarlinSerialUSB::println(char c, int base) {
print(c, base);
println();
}
void MarlinSerialUSB::println(unsigned char b, int base) {
print(b, base);
println();
}
void MarlinSerialUSB::println(int n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(unsigned int n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(long n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(unsigned long n, int base) {
print(n, base);
println();
}
void MarlinSerialUSB::println(double n, int digits) {
print(n, digits);
println();
}
// Private Methods
void MarlinSerialUSB::printNumber(unsigned long n, uint8_t base) {
if (n) {
unsigned char buf[8 * sizeof(long)]; // Enough space for base 2
int8_t i = 0;
while (n) {
buf[i++] = n % base;
n /= base;
}
while (i--)
print((char)(buf[i] + (buf[i] < 10 ? '0' : 'A' - 10)));
}
else
print('0');
}
void MarlinSerialUSB::printFloat(double number, uint8_t digits) {
// Handle negative numbers
if (number < 0.0) {
print('-');
number = -number;
}
// Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5;
LOOP_L_N(i, digits)
rounding *= 0.1;
number += rounding;
// Extract the integer part of the number and print it
unsigned long int_part = (unsigned long)number;
double remainder = number - (double)int_part;
print(int_part);
// Print the decimal point, but only if there are digits beyond
if (digits) {
print('.');
// Extract digits from the remainder one at a time
while (digits--) {
remainder *= 10.0;
int toPrint = int(remainder);
print(toPrint);
remainder -= toPrint;
}
}
return 1;
}
// Preinstantiate
#if SERIAL_PORT == -1
MarlinSerialUSB customizedSerial1;
MSerialT1 customizedSerial1(TERN0(EMERGENCY_PARSER, true));
#endif
#if SERIAL_PORT_2 == -1
MarlinSerialUSB customizedSerial2;
MSerialT2 customizedSerial2(TERN0(EMERGENCY_PARSER, true));
#endif
#if SERIAL_PORT_3 == -1
MSerialT3 customizedSerial3(TERN0(EMERGENCY_PARSER, true));
#endif
#endif // HAS_USB_SERIAL
+19 -53
View File
@@ -27,73 +27,39 @@
*/
#include "../../inc/MarlinConfig.h"
#if HAS_USB_SERIAL
#include "../../core/serial_hook.h"
#include <WString.h>
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
class MarlinSerialUSB {
public:
MarlinSerialUSB() {};
static void begin(const long);
static void end();
static int peek();
static int read();
static void flush();
static void flushTX();
static bool available();
static void write(const uint8_t c);
struct MarlinSerialUSB {
void begin(const long);
void end();
int peek();
int read();
void flush();
int available();
size_t write(const uint8_t c);
#if ENABLED(SERIAL_STATS_DROPPED_RX)
FORCE_INLINE static uint32_t dropped() { return 0; }
FORCE_INLINE uint32_t dropped() { return 0; }
#endif
#if ENABLED(SERIAL_STATS_MAX_RX_QUEUED)
FORCE_INLINE static int rxMaxEnqueued() { return 0; }
FORCE_INLINE int rxMaxEnqueued() { return 0; }
#endif
FORCE_INLINE static void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE static void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE static void print(const String& s) { for (int i = 0; i < (int)s.length(); i++) write(s[i]); }
FORCE_INLINE static void print(const char* str) { write(str); }
static void print(char, int = 0);
static void print(unsigned char, int = 0);
static void print(int, int = DEC);
static void print(unsigned int, int = DEC);
static void print(long, int = DEC);
static void print(unsigned long, int = DEC);
static void print(double, int = 2);
static void println(const String& s);
static void println(const char[]);
static void println(char, int = 0);
static void println(unsigned char, int = 0);
static void println(int, int = DEC);
static void println(unsigned int, int = DEC);
static void println(long, int = DEC);
static void println(unsigned long, int = DEC);
static void println(double, int = 2);
static void println();
operator bool() { return true; }
private:
static void printNumber(unsigned long, const uint8_t);
static void printFloat(double, uint8_t);
};
#if SERIAL_PORT == -1
extern MarlinSerialUSB customizedSerial1;
typedef Serial1Class<MarlinSerialUSB> MSerialT1;
extern MSerialT1 customizedSerial1;
#endif
#if SERIAL_PORT_2 == -1
extern MarlinSerialUSB customizedSerial2;
typedef Serial1Class<MarlinSerialUSB> MSerialT2;
extern MSerialT2 customizedSerial2;
#endif
#endif // HAS_USB_SERIAL
#if SERIAL_PORT_3 == -1
typedef Serial1Class<MarlinSerialUSB> MSerialT3;
extern MSerialT3 customizedSerial3;
#endif
@@ -52,25 +52,23 @@
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifdef __SAM3X8E__
#include "../../../inc/MarlinConfigPre.h"
#if HAS_GRAPHICAL_LCD
#if HAS_MARLINUI_U8GLIB
#include <U8glib.h>
#include "../../../MarlinCore.h"
void spiBegin();
void spiInit(uint8_t spiRate);
void spiSend(uint8_t b);
void spiSend(const uint8_t* buf, size_t n);
#ifndef LCD_SPI_SPEED
#define LCD_SPI_SPEED SPI_QUARTER_SPEED
#endif
#include "../../shared/Marduino.h"
#include "../../shared/HAL_SPI.h"
#include "../fastio.h"
void u8g_SetPIOutput_DUE_hw_spi(u8g_t *u8g, uint8_t pin_index) {
@@ -101,11 +99,7 @@ uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
spiBegin();
#ifndef SPI_SPEED
#define SPI_SPEED SPI_FULL_SPEED // use same SPI speed as SD card
#endif
spiInit(2);
spiInit(LCD_SPI_SPEED);
break;
case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */
@@ -145,6 +139,6 @@ uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
return 1;
}
#endif // HAS_GRAPHICAL_LCD
#endif // HAS_MARLINUI_U8GLIB
#endif //__SAM3X8E__
#endif // __SAM3X8E__
@@ -59,6 +59,7 @@
#if ENABLED(U8GLIB_ST7920)
#include "../../../inc/MarlinConfig.h"
#include "../../shared/Delay.h"
#include <U8glib.h>
@@ -145,7 +146,7 @@ uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_va
}
#if ENABLED(LIGHTWEIGHT_UI)
#include "../../../lcd/ultralcd.h"
#include "../../../lcd/marlinui.h"
#include "../../shared/HAL_ST7920.h"
#define ST7920_CS_PIN LCD_PINS_RS
@@ -57,10 +57,7 @@
#include "../../../inc/MarlinConfigPre.h"
#if HAS_GRAPHICAL_LCD && DISABLED(U8GLIB_ST7920)
#undef SPI_SPEED
#define SPI_SPEED 2 // About 2 MHz
#if HAS_MARLINUI_U8GLIB && DISABLED(U8GLIB_ST7920)
#include "u8g_com_HAL_DUE_sw_spi_shared.h"
@@ -144,5 +141,5 @@ uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void
return 1;
}
#endif // HAS_GRAPHICAL_LCD && !U8GLIB_ST7920
#endif // HAS_MARLINUI_U8GLIB && !U8GLIB_ST7920
#endif // ARDUINO_ARCH_SAM
@@ -57,8 +57,9 @@
#include "../../../inc/MarlinConfigPre.h"
#if HAS_GRAPHICAL_LCD
#if HAS_MARLINUI_U8GLIB
#include "../../../inc/MarlinConfig.h"
#include "../../shared/Delay.h"
#include <U8glib.h>
@@ -108,5 +109,5 @@ void u8g_spiSend_sw_DUE_mode_3(uint8_t val) { // 3.5MHz
}
}
#endif // HAS_GRAPHICAL_LCD
#endif // HAS_MARLINUI_U8GLIB
#endif // ARDUINO_ARCH_SAM
+14 -16
View File
@@ -53,7 +53,6 @@
* per page. We can't emulate EE endurance with FLASH for all
* bytes, but we can emulate endurance for a given percent of
* bytes.
*
*/
//#define EE_EMU_DEBUG
@@ -61,7 +60,7 @@
#define EEPROMSize 4096
#define PagesPerGroup 128
#define GroupCount 2
#define PageSize 256u
#define PageSize 256U
/* Flash storage */
typedef struct FLASH_SECTOR {
@@ -136,11 +135,11 @@ static uint8_t buffer[256] = {0}, // The RAM buffer to accumulate writes
#define DEBUG_OUT ENABLED(EE_EMU_DEBUG)
#include "../../core/debug_out.h"
static void ee_Dump(const int page, const void* data) {
static void ee_Dump(const int page, const void *data) {
#ifdef EE_EMU_DEBUG
const uint8_t* c = (const uint8_t*) data;
const uint8_t *c = (const uint8_t*) data;
char buffer[80];
sprintf_P(buffer, PSTR("Page: %d (0x%04x)\n"), page, page);
@@ -182,7 +181,7 @@ static void ee_Dump(const int page, const void* data) {
* @param data (pointer to the data buffer)
*/
__attribute__ ((long_call, section (".ramfunc")))
static bool ee_PageWrite(uint16_t page, const void* data) {
static bool ee_PageWrite(uint16_t page, const void *data) {
uint16_t i;
uint32_t addrflash = uint32_t(getFlashStorage(page));
@@ -294,8 +293,8 @@ static bool ee_PageWrite(uint16_t page, const void* data) {
ee_Dump(-page, data);
// Calculate count of changed bits
uint32_t* p1 = (uint32_t*)addrflash;
uint32_t* p2 = (uint32_t*)data;
uint32_t *p1 = (uint32_t*)addrflash;
uint32_t *p2 = (uint32_t*)data;
int count = 0;
for (i =0; i<PageSize >> 2; i++) {
if (p1[i] != p2[i]) {
@@ -471,7 +470,7 @@ static uint8_t ee_Read(uint32_t address, bool excludeRAMBuffer=false) {
for (int page = curPage - 1; page >= 0; --page) {
// Get a pointer to the flash page
uint8_t* pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint8_t *pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint16_t i = 0;
while (i <= (PageSize - 4)) { /* (PageSize - 4) because otherwise, there is not enough room for data and headers */
@@ -551,7 +550,7 @@ static uint32_t ee_GetAddrRange(uint32_t address, bool excludeRAMBuffer=false) {
for (int page = curPage - 1; page >= 0; --page) {
// Get a pointer to the flash page
uint8_t* pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint8_t *pflash = (uint8_t*)getFlashStorage(page + curGroup * PagesPerGroup);
uint16_t i = 0;
while (i <= (PageSize - 4)) { /* (PageSize - 4) because otherwise, there is not enough room for data and headers */
@@ -590,7 +589,7 @@ static uint32_t ee_GetAddrRange(uint32_t address, bool excludeRAMBuffer=false) {
}
static bool ee_IsPageClean(int page) {
uint32_t* pflash = (uint32_t*) getFlashStorage(page);
uint32_t *pflash = (uint32_t*) getFlashStorage(page);
for (uint16_t i = 0; i < (PageSize >> 2); ++i)
if (*pflash++ != 0xFFFFFFFF) return false;
return true;
@@ -600,7 +599,7 @@ static bool ee_Flush(uint32_t overrideAddress = 0xFFFFFFFF, uint8_t overrideData
// Check if RAM buffer has something to be written
bool isEmpty = true;
uint32_t* p = (uint32_t*) &buffer[0];
uint32_t *p = (uint32_t*) &buffer[0];
for (uint16_t j = 0; j < (PageSize >> 2); j++) {
if (*p++ != 0xFFFFFFFF) {
isEmpty = false;
@@ -977,14 +976,13 @@ bool PersistentStore::access_start() { ee_Init(); return true; }
bool PersistentStore::access_finish() { ee_Flush(); return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0;
while (size--) {
uint8_t * const p = (uint8_t * const)pos;
uint8_t v = *value;
// EEPROM has only ~100,000 write cycles,
// so only write bytes that have changed!
if (v != ee_Read(uint32_t(p))) {
if (v != ee_Read(uint32_t(p))) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
ee_Write(uint32_t(p), v);
delay(2);
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
if (ee_Read(uint32_t(p)) != v) {
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
@@ -997,7 +995,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
uint8_t c = ee_Read(uint32_t(pos));
if (writing) *value = c;
+4 -5
View File
@@ -42,14 +42,13 @@ bool PersistentStore::access_start() { eeprom_init(); return true; }
bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
uint16_t written = 0;
while (size--) {
uint8_t * const p = (uint8_t * const)pos;
uint8_t v = *value;
// EEPROM has only ~100,000 write cycles,
// so only write bytes that have changed!
if (v != eeprom_read_byte(p)) {
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
eeprom_write_byte(p, v);
delay(2);
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
if (eeprom_read_byte(p) != v) {
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
return true;
@@ -62,7 +61,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
do {
uint8_t c = eeprom_read_byte((uint8_t*)pos);
if (writing) *value = c;
+6
View File
@@ -64,4 +64,10 @@ void setup_endstop_interrupts() {
TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN));
TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN));
TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN));
TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN));
TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN));
TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN));
TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN));
TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN));
TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN));
}
+6 -3
View File
@@ -33,7 +33,7 @@
* For ARDUINO_ARCH_SAM
* Note the code here was specifically crafted by disassembling what GCC produces
* out of it, so GCC is able to optimize it out as much as possible to the least
* amount of instructions. Be very carefull if you modify them, as "clean code"
* amount of instructions. Be very careful if you modify them, as "clean code"
* leads to less efficient compiled code!!
*/
@@ -50,7 +50,7 @@
#define PWM_PIN(P) WITHIN(P, 2, 13)
#ifndef MASK
#define MASK(PIN) (1 << PIN)
#define MASK(PIN) _BV(PIN)
#endif
/**
@@ -163,6 +163,9 @@
#define SET_INPUT(IO) _SET_INPUT(IO)
// Set pin as input with pullup (wrapper)
#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0)
// Set pin as input with pulldown (substitution)
#define SET_INPUT_PULLDOWN SET_INPUT
// Set pin as output (wrapper) - reads the pin and sets the output to that value
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
// Set pin as PWM
@@ -477,7 +480,7 @@
#define DIO91_PIN 15
#define DIO91_WPORT PIOB
#if ARDUINO_SAM_ARCHIM
#ifdef ARDUINO_SAM_ARCHIM
#define DIO92_PIN 11
#define DIO92_WPORT PIOC
+1 -1
View File
@@ -154,7 +154,7 @@ void Stepper::digipot_init() {
NVIC_SetPriority(PWM_IRQn, NVIC_EncodePriority(0, 10, 0)); // normal priority for PWM module (can stand some jitter on the Vref signals)
}
void Stepper::digipot_current(const uint8_t driver, const int16_t current) {
void Stepper::set_digipot_current(const uint8_t driver, const int16_t current) {
if (!(PWM->PWM_CH_NUM[0].PWM_CPRD == PWM_PERIOD_US)) digipot_init(); // Init PWM system if needed
+2 -2
View File
@@ -40,7 +40,7 @@
* Usually the hardware SPI pins are only available to the LCD. This makes the DUE hard SPI used at the same time
* as the TMC2130 soft SPI the most common setup.
*/
#define _IS_HW_SPI(P) (defined(TMC_SW_##P) && (TMC_SW_##P == MOSI_PIN || TMC_SW_##P == MISO_PIN || TMC_SW_##P == SCK_PIN))
#define _IS_HW_SPI(P) (defined(TMC_SW_##P) && (TMC_SW_##P == SD_MOSI_PIN || TMC_SW_##P == SD_MISO_PIN || TMC_SW_##P == SD_SCK_PIN))
#if ENABLED(SDSUPPORT) && HAS_DRIVER(TMC2130)
#if ENABLED(TMC_USE_SW_SPI)
@@ -57,5 +57,5 @@
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on this platform."
#error "TMC220x Software Serial is not supported on the DUE platform."
#endif
-1
View File
@@ -179,5 +179,4 @@ void pwm_details(int32_t pin) {
* ----------------+--------
* ID | PB11
* VBOF | PB10
*
*/
+10 -10
View File
@@ -43,22 +43,22 @@
#define SPI_PIN 87
#define SPI_CHAN 1
#endif
#define SCK_PIN 76
#define MISO_PIN 74
#define MOSI_PIN 75
#define SD_SCK_PIN 76
#define SD_MISO_PIN 74
#define SD_MOSI_PIN 75
#else
// defaults
#define DUE_SOFTWARE_SPI
#ifndef SCK_PIN
#define SCK_PIN 52
#ifndef SD_SCK_PIN
#define SD_SCK_PIN 52
#endif
#ifndef MISO_PIN
#define MISO_PIN 50
#ifndef SD_MISO_PIN
#define SD_MISO_PIN 50
#endif
#ifndef MOSI_PIN
#define MOSI_PIN 51
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN 51
#endif
#endif
/* A.28, A.29, B.21, C.26, C.29 */
#define SS_PIN SDSS
#define SD_SS_PIN SDSS
+2 -4
View File
@@ -21,9 +21,7 @@
*/
/**
* Description: HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL Timers for Arduino Due and compatible (SAM3X8E)
*/
#ifdef ARDUINO_ARCH_SAM
@@ -123,7 +121,7 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num) {
// missing from CMSIS: Check if interrupt is enabled or not
static bool NVIC_GetEnabledIRQ(IRQn_Type IRQn) {
return (NVIC->ISER[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F))) != 0;
return TEST(NVIC->ISER[uint32_t(IRQn) >> 5], uint32_t(IRQn) & 0x1F);
}
bool HAL_timer_interrupt_enabled(const uint8_t timer_num) {
+1 -3
View File
@@ -21,9 +21,7 @@
#pragma once
/**
* HAL for Arduino Due and compatible (SAM3X8E)
*
* For ARDUINO_ARCH_SAM
* HAL Timers for Arduino Due and compatible (SAM3X8E)
*/
#include <stdint.h>
+1 -1
View File
@@ -14,5 +14,5 @@ if current_OS == 'Windows':
# Use bossac.exe on Windows
env.Replace(
UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot"
UPLOADCMD="bossac --info --unlock --write --verify --reset --erase -U false --boot $SOURCE"
)
+1 -1
View File
@@ -93,5 +93,5 @@
#define USB_VBOF_GPIO (PIO_PB10_IDX)
#define USB_VBOF_FLAGS (PIO_PERIPH_A | PIO_DEFAULT)
/*! Active level of the USB_VBOF output pin. */
#define USB_VBOF_ACTIVE_LEVEL LOW
#define USB_VBOF_ACTIVE_STATE LOW
/* ------------------------------------------------------------------------ */
+82 -83
View File
@@ -173,11 +173,11 @@
# define __always_inline __forceinline
#elif (defined __GNUC__)
#ifdef __always_inline
# undef __always_inline
# undef __always_inline
#endif
# define __always_inline inline __attribute__((__always_inline__))
# define __always_inline inline __attribute__((__always_inline__))
#elif (defined __ICCARM__)
# define __always_inline _Pragma("inline=forced")
# define __always_inline _Pragma("inline=forced")
#endif
/**
@@ -188,11 +188,11 @@
* heuristics and not inline the function.
*/
#ifdef __CC_ARM
# define __no_inline __attribute__((noinline))
# define __no_inline __attribute__((noinline))
#elif (defined __GNUC__)
# define __no_inline __attribute__((__noinline__))
# define __no_inline __attribute__((__noinline__))
#elif (defined __ICCARM__)
# define __no_inline _Pragma("inline=never")
# define __no_inline _Pragma("inline=never")
#endif
/*! \brief This macro is used to test fatal errors.
@@ -211,9 +211,9 @@
# else
#undef TEST_SUITE_DEFINE_ASSERT_MACRO
# define Assert(expr) \
{\
if (!(expr)) while (true);\
}
{\
if (!(expr)) while (true);\
}
# endif
#else
# define Assert(expr) ((void) 0)
@@ -609,37 +609,37 @@ typedef struct
# define clz(u) ((u) ? __CLZ(u) : 32)
#else
# define clz(u) (((u) == 0) ? 32 : \
((u) & (1ul << 31)) ? 0 : \
((u) & (1ul << 30)) ? 1 : \
((u) & (1ul << 29)) ? 2 : \
((u) & (1ul << 28)) ? 3 : \
((u) & (1ul << 27)) ? 4 : \
((u) & (1ul << 26)) ? 5 : \
((u) & (1ul << 25)) ? 6 : \
((u) & (1ul << 24)) ? 7 : \
((u) & (1ul << 23)) ? 8 : \
((u) & (1ul << 22)) ? 9 : \
((u) & (1ul << 21)) ? 10 : \
((u) & (1ul << 20)) ? 11 : \
((u) & (1ul << 19)) ? 12 : \
((u) & (1ul << 18)) ? 13 : \
((u) & (1ul << 17)) ? 14 : \
((u) & (1ul << 16)) ? 15 : \
((u) & (1ul << 15)) ? 16 : \
((u) & (1ul << 14)) ? 17 : \
((u) & (1ul << 13)) ? 18 : \
((u) & (1ul << 12)) ? 19 : \
((u) & (1ul << 11)) ? 20 : \
((u) & (1ul << 10)) ? 21 : \
((u) & (1ul << 9)) ? 22 : \
((u) & (1ul << 8)) ? 23 : \
((u) & (1ul << 7)) ? 24 : \
((u) & (1ul << 6)) ? 25 : \
((u) & (1ul << 5)) ? 26 : \
((u) & (1ul << 4)) ? 27 : \
((u) & (1ul << 3)) ? 28 : \
((u) & (1ul << 2)) ? 29 : \
((u) & (1ul << 1)) ? 30 : \
((u) & (1UL << 31)) ? 0 : \
((u) & (1UL << 30)) ? 1 : \
((u) & (1UL << 29)) ? 2 : \
((u) & (1UL << 28)) ? 3 : \
((u) & (1UL << 27)) ? 4 : \
((u) & (1UL << 26)) ? 5 : \
((u) & (1UL << 25)) ? 6 : \
((u) & (1UL << 24)) ? 7 : \
((u) & (1UL << 23)) ? 8 : \
((u) & (1UL << 22)) ? 9 : \
((u) & (1UL << 21)) ? 10 : \
((u) & (1UL << 20)) ? 11 : \
((u) & (1UL << 19)) ? 12 : \
((u) & (1UL << 18)) ? 13 : \
((u) & (1UL << 17)) ? 14 : \
((u) & (1UL << 16)) ? 15 : \
((u) & (1UL << 15)) ? 16 : \
((u) & (1UL << 14)) ? 17 : \
((u) & (1UL << 13)) ? 18 : \
((u) & (1UL << 12)) ? 19 : \
((u) & (1UL << 11)) ? 20 : \
((u) & (1UL << 10)) ? 21 : \
((u) & (1UL << 9)) ? 22 : \
((u) & (1UL << 8)) ? 23 : \
((u) & (1UL << 7)) ? 24 : \
((u) & (1UL << 6)) ? 25 : \
((u) & (1UL << 5)) ? 26 : \
((u) & (1UL << 4)) ? 27 : \
((u) & (1UL << 3)) ? 28 : \
((u) & (1UL << 2)) ? 29 : \
((u) & (1UL << 1)) ? 30 : \
31)
#endif
#endif
@@ -654,38 +654,38 @@ typedef struct
#if (defined __GNUC__) || (defined __CC_ARM)
# define ctz(u) ((u) ? __builtin_ctz(u) : 32)
#else
# define ctz(u) ((u) & (1ul << 0) ? 0 : \
(u) & (1ul << 1) ? 1 : \
(u) & (1ul << 2) ? 2 : \
(u) & (1ul << 3) ? 3 : \
(u) & (1ul << 4) ? 4 : \
(u) & (1ul << 5) ? 5 : \
(u) & (1ul << 6) ? 6 : \
(u) & (1ul << 7) ? 7 : \
(u) & (1ul << 8) ? 8 : \
(u) & (1ul << 9) ? 9 : \
(u) & (1ul << 10) ? 10 : \
(u) & (1ul << 11) ? 11 : \
(u) & (1ul << 12) ? 12 : \
(u) & (1ul << 13) ? 13 : \
(u) & (1ul << 14) ? 14 : \
(u) & (1ul << 15) ? 15 : \
(u) & (1ul << 16) ? 16 : \
(u) & (1ul << 17) ? 17 : \
(u) & (1ul << 18) ? 18 : \
(u) & (1ul << 19) ? 19 : \
(u) & (1ul << 20) ? 20 : \
(u) & (1ul << 21) ? 21 : \
(u) & (1ul << 22) ? 22 : \
(u) & (1ul << 23) ? 23 : \
(u) & (1ul << 24) ? 24 : \
(u) & (1ul << 25) ? 25 : \
(u) & (1ul << 26) ? 26 : \
(u) & (1ul << 27) ? 27 : \
(u) & (1ul << 28) ? 28 : \
(u) & (1ul << 29) ? 29 : \
(u) & (1ul << 30) ? 30 : \
(u) & (1ul << 31) ? 31 : \
# define ctz(u) ((u) & (1UL << 0) ? 0 : \
(u) & (1UL << 1) ? 1 : \
(u) & (1UL << 2) ? 2 : \
(u) & (1UL << 3) ? 3 : \
(u) & (1UL << 4) ? 4 : \
(u) & (1UL << 5) ? 5 : \
(u) & (1UL << 6) ? 6 : \
(u) & (1UL << 7) ? 7 : \
(u) & (1UL << 8) ? 8 : \
(u) & (1UL << 9) ? 9 : \
(u) & (1UL << 10) ? 10 : \
(u) & (1UL << 11) ? 11 : \
(u) & (1UL << 12) ? 12 : \
(u) & (1UL << 13) ? 13 : \
(u) & (1UL << 14) ? 14 : \
(u) & (1UL << 15) ? 15 : \
(u) & (1UL << 16) ? 16 : \
(u) & (1UL << 17) ? 17 : \
(u) & (1UL << 18) ? 18 : \
(u) & (1UL << 19) ? 19 : \
(u) & (1UL << 20) ? 20 : \
(u) & (1UL << 21) ? 21 : \
(u) & (1UL << 22) ? 22 : \
(u) & (1UL << 23) ? 23 : \
(u) & (1UL << 24) ? 24 : \
(u) & (1UL << 25) ? 25 : \
(u) & (1UL << 26) ? 26 : \
(u) & (1UL << 27) ? 27 : \
(u) & (1UL << 28) ? 28 : \
(u) & (1UL << 29) ? 29 : \
(u) & (1UL << 30) ? 30 : \
(u) & (1UL << 31) ? 31 : \
32)
#endif
#endif
@@ -1106,17 +1106,16 @@ static inline uint16_t convert_byte_array_to_16_bit(uint8_t *data)
/* Converts a 8 Byte array into a 32-Bit value */
static inline uint32_t convert_byte_array_to_32_bit(uint8_t *data)
{
union
{
uint32_t u32;
uint8_t u8[8];
}long_addr;
uint8_t index;
for (index = 0; index < 4; index++)
{
long_addr.u8[index] = *data++;
}
return long_addr.u32;
union
{
uint32_t u32;
uint8_t u8[8];
}long_addr;
uint8_t index;
for (index = 0; index < 4; index++) {
long_addr.u8[index] = *data++;
}
return long_addr.u32;
}
/**
+13 -13
View File
@@ -32,7 +32,7 @@ Ctrl_status sd_mmc_spi_test_unit_ready() {
Ctrl_status sd_mmc_spi_read_capacity(uint32_t *nb_sector) {
if (!IS_SD_INSERTED() || IS_SD_PRINTING() || IS_SD_FILE_OPEN() || !card.isMounted())
return CTRL_NO_PRESENT;
*nb_sector = card.getSd2Card().cardSize() - 1;
*nb_sector = card.diskIODriver()->cardSize() - 1;
return CTRL_GOOD;
}
@@ -68,30 +68,30 @@ Ctrl_status sd_mmc_spi_usb_read_10(uint32_t addr, uint16_t nb_sector) {
{
char buffer[80];
sprintf_P(buffer, PSTR("SDRD: %d @ 0x%08x\n"), nb_sector, addr);
PORT_REDIRECT(0);
PORT_REDIRECT(SERIAL_PORTMASK(0));
SERIAL_ECHO(buffer);
}
#endif
// Start reading
if (!card.getSd2Card().readStart(addr))
if (!card.diskIODriver()->readStart(addr))
return CTRL_FAIL;
// For each specified sector
while (nb_sector--) {
// Read a sector
card.getSd2Card().readData(sector_buf);
card.diskIODriver()->readData(sector_buf);
// RAM -> USB
if (!udi_msc_trans_block(true, sector_buf, SD_MMC_BLOCK_SIZE, NULL)) {
card.getSd2Card().readStop();
if (!udi_msc_trans_block(true, sector_buf, SD_MMC_BLOCK_SIZE, nullptr)) {
card.diskIODriver()->readStop();
return CTRL_FAIL;
}
}
// Stop reading
card.getSd2Card().readStop();
card.diskIODriver()->readStop();
// Done
return CTRL_GOOD;
@@ -108,29 +108,29 @@ Ctrl_status sd_mmc_spi_usb_write_10(uint32_t addr, uint16_t nb_sector) {
{
char buffer[80];
sprintf_P(buffer, PSTR("SDWR: %d @ 0x%08x\n"), nb_sector, addr);
PORT_REDIRECT(0);
PORT_REDIRECT(SERIAL_PORTMASK(0));
SERIAL_ECHO(buffer);
}
#endif
if (!card.getSd2Card().writeStart(addr, nb_sector))
if (!card.diskIODriver()->writeStart(addr, nb_sector))
return CTRL_FAIL;
// For each specified sector
while (nb_sector--) {
// USB -> RAM
if (!udi_msc_trans_block(false, sector_buf, SD_MMC_BLOCK_SIZE, NULL)) {
card.getSd2Card().writeStop();
if (!udi_msc_trans_block(false, sector_buf, SD_MMC_BLOCK_SIZE, nullptr)) {
card.diskIODriver()->writeStop();
return CTRL_FAIL;
}
// Write a sector
card.getSd2Card().writeData(sector_buf);
card.diskIODriver()->writeData(sector_buf);
}
// Stop writing
card.getSd2Card().writeStop();
card.diskIODriver()->writeStop();
// Done
return CTRL_GOOD;
+2 -2
View File
@@ -675,11 +675,11 @@ iram_size_t udi_cdc_multi_write_buf(uint8_t port, const void* buf, iram_size_t s
* - \code // Waits and gets a value on CDC line
int udi_cdc_getc(void);
// Reads a RAM buffer on CDC line
iram_size_t udi_cdc_read_buf(int* buf, iram_size_t size);
iram_size_t udi_cdc_read_buf(int *buf, iram_size_t size);
// Puts a byte on CDC line
int udi_cdc_putc(int value);
// Writes a RAM buffer on CDC line
iram_size_t udi_cdc_write_buf(const int* buf, iram_size_t size); \endcode
iram_size_t udi_cdc_write_buf(const int *buf, iram_size_t size); \endcode
*
* \section udi_cdc_use_cases Advanced use cases
* For more advanced use of the UDI CDC module, see the following use cases:
+2 -2
View File
@@ -264,7 +264,7 @@ bool usb_task_extra_string(void) {
** Handle device requests that the ASF stack doesn't
*/
bool usb_task_other_requests(void) {
uint8_t* ptr = 0;
uint8_t *ptr = 0;
uint16_t size = 0;
if (Udd_setup_type() == USB_REQ_TYPE_VENDOR) {
@@ -322,7 +322,7 @@ void usb_task_init(void) {
char *sptr;
// Patch in the filament diameter
sprintf_P(diam, PSTR("%d"), (int)((DEFAULT_NOMINAL_FILAMENT_DIA) * 1000.0));
itoa((int)((DEFAULT_NOMINAL_FILAMENT_DIA) * 1000), diam, 10);
// And copy it to the proper place, expanding it to unicode
sptr = &diam[0];
+1 -1
View File
@@ -36,7 +36,7 @@ void watchdogSetup() {
#if ENABLED(USE_WATCHDOG)
// 4 seconds timeout
uint32_t timeout = 4000;
uint32_t timeout = TERN(WATCHDOG_DURATION_8S, 8000, 4000);
// Calculate timeout value in WDT counter ticks: This assumes
// the slow clock is running at 32.768 kHz watchdog
@@ -20,14 +20,10 @@
*
*/
#include "FlushableHardwareSerial.h"
#ifdef ARDUINO_ARCH_ESP32
FlushableHardwareSerial::FlushableHardwareSerial(int uart_nr)
: HardwareSerial(uart_nr)
{}
#include "FlushableHardwareSerial.h"
FlushableHardwareSerial flushableSerial(0);
Serial1Class<FlushableHardwareSerial> flushableSerial(false, 0);
#endif // ARDUINO_ARCH_ESP32
#endif
@@ -21,17 +21,14 @@
*/
#pragma once
#ifdef ARDUINO_ARCH_ESP32
#include <HardwareSerial.h>
#include "../shared/Marduino.h"
#include "../../core/serial_hook.h"
class FlushableHardwareSerial : public HardwareSerial {
public:
FlushableHardwareSerial(int uart_nr);
inline void flushTX() { /* No need to flush the hardware serial, but defined here for compatibility. */ }
FlushableHardwareSerial(int uart_nr) : HardwareSerial(uart_nr) {}
};
extern FlushableHardwareSerial flushableSerial;
#endif // ARDUINO_ARCH_ESP32
extern Serial1Class<FlushableHardwareSerial> flushableSerial;
+11 -2
View File
@@ -40,6 +40,10 @@
#endif
#endif
#if ENABLED(ESP3D_WIFISUPPORT)
DefaultSerial1 MSerial0(false, Serial2Socket);
#endif
// ------------------------
// Externs
// ------------------------
@@ -86,8 +90,6 @@ volatile int numPWMUsed = 0,
#endif
void HAL_init() { i2s_init(); }
void HAL_init_board() {
#if ENABLED(ESP3D_WIFISUPPORT)
@@ -122,6 +124,10 @@ void HAL_init_board() {
#endif
#endif
// Initialize the i2s peripheral only if the I2S stepper stream is enabled.
// The following initialization is performed after Serial1 and Serial2 are defined as
// their native pins might conflict with the i2s stream even when they are remapped.
TERN_(I2S_STEPPER_STREAM, i2s_init());
}
void HAL_idletask() {
@@ -135,6 +141,8 @@ void HAL_clear_reset_source() { }
uint8_t HAL_get_reset_source() { return rtc_get_reset_reason(1); }
void HAL_reboot() { ESP.restart(); }
void _delay_ms(int delay_ms) { delay(delay_ms); }
// return free memory between end of heap (or end bss) and whatever is current
@@ -179,6 +187,7 @@ void HAL_adc_init() {
TERN_(HAS_TEMP_ADC_7, adc3_set_attenuation(get_channel(TEMP_7_PIN), ADC_ATTEN_11db));
TERN_(HAS_HEATED_BED, adc1_set_attenuation(get_channel(TEMP_BED_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_CHAMBER, adc1_set_attenuation(get_channel(TEMP_CHAMBER_PIN), ADC_ATTEN_11db));
TERN_(HAS_TEMP_COOLER, adc1_set_attenuation(get_channel(TEMP_COOLER_PIN), ADC_ATTEN_11db));
TERN_(FILAMENT_WIDTH_SENSOR, adc1_set_attenuation(get_channel(FILWIDTH_PIN), ADC_ATTEN_11db));
// Note that adc2 is shared with the WiFi module, which has higher priority, so the conversion may fail.
+28 -17
View File
@@ -15,11 +15,12 @@
*
* 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
/**
* Description: HAL for Espressif ESP32 WiFi
* HAL for Espressif ESP32 WiFi
*/
#define CPU_32_BIT
@@ -50,17 +51,16 @@
extern portMUX_TYPE spinlock;
#define MYSERIAL0 flushableSerial
#define MYSERIAL1 flushableSerial
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
#if ENABLED(ESP3D_WIFISUPPORT)
#define MYSERIAL1 Serial2Socket
typedef ForwardSerial1Class< decltype(Serial2Socket) > DefaultSerial1;
extern DefaultSerial1 MSerial0;
#define MYSERIAL2 MSerial0
#else
#define MYSERIAL1 webSocketSerial
#define MYSERIAL2 webSocketSerial
#endif
#define NUM_SERIAL 2
#else
#define NUM_SERIAL 1
#endif
#define CRITICAL_SECTION_START() portENTER_CRITICAL(&spinlock)
@@ -69,10 +69,6 @@ extern portMUX_TYPE spinlock;
#define ENABLE_ISRS() if (spinlock.owner != portMUX_FREE_VAL) portEXIT_CRITICAL(&spinlock)
#define DISABLE_ISRS() portENTER_CRITICAL(&spinlock)
// Fix bug in pgm_read_ptr
#undef pgm_read_ptr
#define pgm_read_ptr(addr) (*(addr))
// ------------------------
// Types
// ------------------------
@@ -92,18 +88,33 @@ extern uint16_t HAL_adc_result;
// Public functions
// ------------------------
//
// Tone
//
void toneInit();
void tone(const pin_t _pin, const unsigned int frequency, const unsigned long duration=0);
void noTone(const pin_t _pin);
// clear reset reason
void HAL_clear_reset_source();
// reset reason
uint8_t HAL_get_reset_source();
void HAL_reboot();
void _delay_ms(int delay);
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
int freeMemory();
#pragma GCC diagnostic pop
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
void analogWrite(pin_t pin, int value);
@@ -128,7 +139,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin);
#define HAL_IDLETASK 1
#define BOARD_INIT() HAL_init_board();
void HAL_idletask();
void HAL_init();
inline void HAL_init() {}
void HAL_init_board();
//
@@ -157,14 +168,14 @@ FORCE_INLINE static void DELAY_CYCLES(uint32_t x) {
if (stop >= start) {
// no overflow, so only loop while in between start and stop:
// 0x00000000 -----------------start****stop-- 0xffffffff
// 0x00000000 -----------------start****stop-- 0xFFFFFFFF
while (ccount >= start && ccount < stop) {
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) );
}
}
else {
// stop did overflow, so only loop while outside of stop and start:
// 0x00000000 **stop-------------------start** 0xffffffff
// 0x00000000 **stop-------------------start** 0xFFFFFFFF
while (ccount >= start || ccount < stop) {
__asm__ __volatile__ ( "rsr %0, ccount" : "=a" (ccount) );
}
+5 -5
View File
@@ -53,11 +53,11 @@ static SPISettings spiConfig;
// ------------------------
void spiBegin() {
#if !PIN_EXISTS(SS)
#error "SS_PIN not defined!"
#if !PIN_EXISTS(SD_SS)
#error "SD_SS_PIN not defined!"
#endif
OUT_WRITE(SS_PIN, HIGH);
OUT_WRITE(SD_SS_PIN, HIGH);
}
void spiInit(uint8_t spiRate) {
@@ -85,7 +85,7 @@ uint8_t spiRec() {
return returnByte;
}
void spiRead(uint8_t* buf, uint16_t nbyte) {
void spiRead(uint8_t *buf, uint16_t nbyte) {
SPI.beginTransaction(spiConfig);
SPI.transferBytes(0, buf, nbyte);
SPI.endTransaction();
@@ -97,7 +97,7 @@ void spiSend(uint8_t b) {
SPI.endTransaction();
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
SPI.beginTransaction(spiConfig);
SPI.transfer(token);
SPI.writeBytes(const_cast<uint8_t*>(buf), 512);
+1 -1
View File
@@ -30,7 +30,7 @@ class Servo {
MAX_PULSE_WIDTH = 2400, // Longest pulse sent to a servo
TAU_MSEC = 20,
TAU_USEC = (TAU_MSEC * 1000),
MAX_COMPARE = ((1 << 16) - 1), // 65535
MAX_COMPARE = _BV(16) - 1, // 65535
CHANNEL_MAX_NUM = 16;
public:
+59
View File
@@ -0,0 +1,59 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* Copypaste of SAMD51 HAL developed by Giuliano Zaro (AKA GMagician)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (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/>.
*
*/
/**
* Description: Tone function for ESP32
* Derived from https://forum.arduino.cc/index.php?topic=136500.msg2903012#msg2903012
*/
#ifdef ARDUINO_ARCH_ESP32
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
static pin_t tone_pin;
volatile static int32_t toggles;
void tone(const pin_t _pin, const unsigned int frequency, const unsigned long duration) {
tone_pin = _pin;
toggles = 2 * frequency * duration / 1000;
HAL_timer_start(TONE_TIMER_NUM, 2 * frequency);
}
void noTone(const pin_t _pin) {
HAL_timer_disable_interrupt(TONE_TIMER_NUM);
WRITE(_pin, LOW);
}
HAL_TONE_TIMER_ISR() {
HAL_timer_isr_prologue(TONE_TIMER_NUM);
if (toggles) {
toggles--;
TOGGLE(tone_pin);
}
else noTone(tone_pin); // turn off interrupt
}
#endif // ARDUINO_ARCH_ESP32
+4 -9
View File
@@ -29,7 +29,7 @@
#include "wifi.h"
#include <ESPAsyncWebServer.h>
WebSocketSerial webSocketSerial;
MSerialWebSocketT webSocketSerial(false);
AsyncWebSocket ws("/ws"); // TODO Move inside the class.
// RingBuffer impl
@@ -86,7 +86,7 @@ int RingBuffer::read() {
ring_buffer_pos_t RingBuffer::read(uint8_t *buffer) {
ring_buffer_pos_t len = available();
for(ring_buffer_pos_t i = 0; read_index != write_index; i++) {
for (ring_buffer_pos_t i = 0; read_index != write_index; i++) {
buffer[i] = data[read_index];
read_index = NEXT_INDEX(read_index, size);
}
@@ -137,17 +137,12 @@ size_t WebSocketSerial::write(const uint8_t c) {
return ret;
}
size_t WebSocketSerial::write(const uint8_t* buffer, size_t size) {
size_t WebSocketSerial::write(const uint8_t *buffer, size_t size) {
size_t written = 0;
for(size_t i = 0; i < size; i++) {
for (size_t i = 0; i < size; i++)
written += write(buffer[i]);
}
return written;
}
void WebSocketSerial::flushTX() {
// No need to do anything as there's no benefit to sending partial lines over the websocket connection.
}
#endif // WIFISUPPORT
#endif // ARDUINO_ARCH_ESP32
+5 -6
View File
@@ -22,6 +22,7 @@
#pragma once
#include "../../inc/MarlinConfig.h"
#include "../../core/serial_hook.h"
#include <Stream.h>
@@ -53,7 +54,7 @@ public:
ring_buffer_pos_t read(uint8_t *buffer);
void flush();
ring_buffer_pos_t write(const uint8_t c);
ring_buffer_pos_t write(const uint8_t* buffer, ring_buffer_pos_t size);
ring_buffer_pos_t write(const uint8_t *buffer, ring_buffer_pos_t size);
};
class WebSocketSerial: public Stream {
@@ -68,11 +69,8 @@ public:
int peek();
int read();
void flush();
void flushTX();
size_t write(const uint8_t c);
size_t write(const uint8_t* buffer, size_t size);
operator bool() { return true; }
size_t write(const uint8_t *buffer, size_t size);
#if ENABLED(SERIAL_STATS_DROPPED_RX)
FORCE_INLINE uint32_t dropped() { return 0; }
@@ -83,4 +81,5 @@ public:
#endif
};
extern WebSocketSerial webSocketSerial;
typedef Serial1Class<WebSocketSerial> MSerialWebSocketT;
extern MSerialWebSocketT webSocketSerial;
+1 -1
View File
@@ -44,7 +44,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return false;
}
bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
for (size_t i = 0; i < size; i++) {
uint8_t c = EEPROM.read(pos++);
if (writing) value[i] = c;
@@ -59,4 +59,10 @@ void setup_endstop_interrupts() {
TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN));
TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN));
TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN));
TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN));
TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN));
TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN));
TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN));
TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN));
TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN));
}
+3
View File
@@ -52,6 +52,9 @@
// Set pin as input with pullup wrapper
#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _PULLUP(IO, HIGH); }while(0)
// Set pin as input with pulldown (substitution)
#define SET_INPUT_PULLDOWN SET_INPUT
// Set pin as output wrapper
#define SET_OUTPUT(IO) do{ _SET_OUTPUT(IO); }while(0)
+3 -3
View File
@@ -139,7 +139,7 @@ static void IRAM_ATTR i2s_intr_handler_default(void *arg) {
I2S0.int_clr.val = I2S0.int_st.val; //clear pending interrupt
}
void stepperTask(void* parameter) {
void stepperTask(void *parameter) {
uint32_t remaining = 0;
while (1) {
@@ -184,7 +184,7 @@ int i2s_init() {
// Allocate the array of pointers to the buffers
dma.buffers = (uint32_t **)malloc(sizeof(uint32_t*) * DMA_BUF_COUNT);
if (dma.buffers == nullptr) return -1;
if (!dma.buffers) return -1;
// Allocate each buffer that can be used by the DMA controller
for (int buf_idx = 0; buf_idx < DMA_BUF_COUNT; buf_idx++) {
@@ -194,7 +194,7 @@ int i2s_init() {
// Allocate the array of DMA descriptors
dma.desc = (lldesc_t**) malloc(sizeof(lldesc_t*) * DMA_BUF_COUNT);
if (dma.desc == nullptr) return -1;
if (!dma.desc) return -1;
// Allocate each DMA descriptor that will be used by the DMA controller
for (int buf_idx = 0; buf_idx < DMA_BUF_COUNT; buf_idx++) {
+5 -1
View File
@@ -30,9 +30,13 @@
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on this platform."
#error "TMC220x Software Serial is not supported on ESP32."
#endif
#if BOTH(WIFISUPPORT, ESP3D_WIFISUPPORT)
#error "Only enable one WiFi option, either WIFISUPPORT or ESP3D_WIFISUPPORT."
#endif
#if ENABLED(POSTMORTEM_DEBUGGING)
#error "POSTMORTEM_DEBUGGING is not yet supported on ESP32."
#endif
+1
View File
@@ -15,6 +15,7 @@
*
* 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
+4 -4
View File
@@ -18,7 +18,7 @@
*/
#pragma once
#define SS_PIN SDSS
#define SCK_PIN 18
#define MISO_PIN 19
#define MOSI_PIN 23
#define SD_SS_PIN SDSS
#define SD_SCK_PIN 18
#define SD_MISO_PIN 19
#define SD_MOSI_PIN 23
+1 -1
View File
@@ -45,7 +45,7 @@ const tTimerConfig TimerConfig [NUM_HARDWARE_TIMERS] = {
{ TIMER_GROUP_0, TIMER_0, STEPPER_TIMER_PRESCALE, stepTC_Handler }, // 0 - Stepper
{ TIMER_GROUP_0, TIMER_1, TEMP_TIMER_PRESCALE, tempTC_Handler }, // 1 - Temperature
{ TIMER_GROUP_1, TIMER_0, PWM_TIMER_PRESCALE, pwmTC_Handler }, // 2 - PWM
{ TIMER_GROUP_1, TIMER_1, 1, nullptr }, // 3
{ TIMER_GROUP_1, TIMER_1, TONE_TIMER_PRESCALE, toneTC_Handler }, // 3 - Tone
};
// ------------------------
+14 -9
View File
@@ -24,15 +24,9 @@
#include <stdint.h>
#include <driver/timer.h>
// Includes needed to get I2S_STEPPER_STREAM. Note that pins.h
// is included in case this header is being included early.
#include "../../inc/MarlinConfig.h"
#include "../../pins/pins.h"
// ------------------------
// Defines
// ------------------------
//
#define FORCE_INLINE __attribute__((always_inline)) inline
typedef uint64_t hal_timer_t;
@@ -50,6 +44,9 @@ typedef uint64_t hal_timer_t;
#ifndef PWM_TIMER_NUM
#define PWM_TIMER_NUM 2 // index of timer to use for PWM outputs
#endif
#ifndef TONE_TIMER_NUM
#define TONE_TIMER_NUM 3 // index of timer for beeper tones
#endif
#define HAL_TIMER_RATE APB_CLK_FREQ // frequency of timer peripherals
@@ -65,6 +62,8 @@ typedef uint64_t hal_timer_t;
#define STEP_TIMER_MIN_INTERVAL 8 // minimum time in µs between stepper interrupts
#define TONE_TIMER_PRESCALE 1000 // Arbitrary value, no idea what i'm doing here
#define TEMP_TIMER_PRESCALE 1000 // prescaler for setting Temp timer, 72Khz
#define TEMP_TIMER_FREQUENCY 1000 // temperature interrupt frequency
@@ -96,10 +95,16 @@ typedef uint64_t hal_timer_t;
#ifndef HAL_PWM_TIMER_ISR
#define HAL_PWM_TIMER_ISR() extern "C" void pwmTC_Handler()
#endif
#ifndef HAL_TONE_TIMER_ISR
#define HAL_TONE_TIMER_ISR() extern "C" void toneTC_Handler()
#endif
extern "C" void tempTC_Handler();
extern "C" void stepTC_Handler();
extern "C" void pwmTC_Handler();
extern "C" {
void tempTC_Handler();
void stepTC_Handler();
void pwmTC_Handler();
void toneTC_Handler();
}
// ------------------------
// Types
+2
View File
@@ -25,6 +25,8 @@
#if ENABLED(USE_WATCHDOG)
#define WDT_TIMEOUT_US TERN(WATCHDOG_DURATION_8S, 8000000, 4000000) // 4 or 8 second timeout
#include "watchdog.h"
void watchdogSetup() {
+6 -2
View File
@@ -23,12 +23,16 @@
#include "platforms.h"
#ifndef GCC_VERSION
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
#include HAL_PATH(.,HAL.h)
#define HAL_ADC_RANGE _BV(HAL_ADC_RESOLUTION)
#ifndef I2C_ADDRESS
#define I2C_ADDRESS(A) (A)
#define I2C_ADDRESS(A) uint8_t(A)
#endif
// Needed for AVR sprintf_P PROGMEM extension
@@ -38,7 +42,7 @@
// String helper
#ifndef PGMSTR
#define PGMSTR(NAM,STR) constexpr char NAM[] = STR
#define PGMSTR(NAM,STR) const char NAM[] = STR
#endif
inline void watchdog_refresh() {
+9 -12
View File
@@ -24,21 +24,16 @@
#include "../../inc/MarlinConfig.h"
#include "../shared/Delay.h"
HalSerial usb_serial;
MSerialT usb_serial(TERN0(EMERGENCY_PARSER, true));
// U8glib required functions
extern "C" void u8g_xMicroDelay(uint16_t val) {
DELAY_US(val);
}
extern "C" void u8g_MicroDelay() {
u8g_xMicroDelay(1);
}
extern "C" void u8g_10MicroDelay() {
u8g_xMicroDelay(10);
}
extern "C" void u8g_Delay(uint16_t val) {
delay(val);
extern "C" {
void u8g_xMicroDelay(uint16_t val) { DELAY_US(val); }
void u8g_MicroDelay() { u8g_xMicroDelay(1); }
void u8g_10MicroDelay() { u8g_xMicroDelay(10); }
void u8g_Delay(uint16_t val) { delay(val); }
}
//************************//
// return free heap space
@@ -78,4 +73,6 @@ void HAL_pwm_init() {
}
void HAL_reboot() { /* Reset the application state and GPIO */ }
#endif // __PLAT_LINUX__
+14 -12
View File
@@ -23,7 +23,7 @@
#define CPU_32_BIT
#define F_CPU 100000000
#define F_CPU 100000000UL
#define SystemCoreClock F_CPU
#include <iostream>
#include <stdint.h>
@@ -60,9 +60,8 @@ uint8_t _getc();
#define SHARED_SERVOS HAS_SERVOS
extern HalSerial usb_serial;
#define MYSERIAL0 usb_serial
#define NUM_SERIAL 1
extern MSerialT usb_serial;
#define MYSERIAL1 usb_serial
#define ST7920_DELAY_1 DELAY_NS(600)
#define ST7920_DELAY_2 DELAY_NS(750)
@@ -80,10 +79,16 @@ extern HalSerial usb_serial;
inline void HAL_init() {}
// Utility functions
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
int freeMemory();
#pragma GCC diagnostic pop
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
// ADC
#define HAL_ADC_VREF 5.0
@@ -102,12 +107,9 @@ uint16_t HAL_adc_get_result();
inline void HAL_clear_reset_source(void) {}
inline uint8_t HAL_get_reset_source(void) { return RST_POWER_ON; }
void HAL_reboot(); // Reset the application state and GPIO
/* ---------------- Delay in cycles */
FORCE_INLINE static void DELAY_CYCLES(uint64_t x) {
Clock::delayCycles(x);
}
// Add strcmp_P if missing
#ifndef strcmp_P
#define strcmp_P(a, b) strcmp((a), (b))
#endif
+3 -3
View File
@@ -40,7 +40,7 @@ size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; }
bool PersistentStore::access_start() {
const char eeprom_erase_value = 0xFF;
FILE * eeprom_file = fopen(filename, "rb");
if (eeprom_file == nullptr) return false;
if (!eeprom_file) return false;
fseek(eeprom_file, 0L, SEEK_END);
std::size_t file_size = ftell(eeprom_file);
@@ -59,7 +59,7 @@ bool PersistentStore::access_start() {
bool PersistentStore::access_finish() {
FILE * eeprom_file = fopen(filename, "wb");
if (eeprom_file == nullptr) return false;
if (!eeprom_file) return false;
fwrite(buffer, sizeof(uint8_t), sizeof(buffer), eeprom_file);
fclose(eeprom_file);
return true;
@@ -78,7 +78,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
return (bytes_written != size); // return true for any error
}
bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
bool PersistentStore::read_data(int &pos, uint8_t *value, const size_t size, uint16_t *crc, const bool writing/*=true*/) {
std::size_t bytes_read = 0;
if (writing) {
for (std::size_t i = 0; i < size; i++) {
+6 -6
View File
@@ -86,10 +86,10 @@ public:
GpioEvent::Type evt_type = value > 1 ? GpioEvent::SET_VALUE : value > pin_map[pin].value ? GpioEvent::RISE : value < pin_map[pin].value ? GpioEvent::FALL : GpioEvent::NOP;
pin_map[pin].value = value;
GpioEvent evt(Clock::nanos(), pin, evt_type);
if (pin_map[pin].cb != nullptr) {
if (pin_map[pin].cb) {
pin_map[pin].cb->interrupt(evt);
}
if (Gpio::logger != nullptr) Gpio::logger->log(evt);
if (Gpio::logger) Gpio::logger->log(evt);
}
static uint16_t get(pin_type pin) {
@@ -105,8 +105,8 @@ public:
if (!valid_pin(pin)) return;
pin_map[pin].mode = value;
GpioEvent evt(Clock::nanos(), pin, GpioEvent::Type::SETM);
if (pin_map[pin].cb != nullptr) pin_map[pin].cb->interrupt(evt);
if (Gpio::logger != nullptr) Gpio::logger->log(evt);
if (pin_map[pin].cb) pin_map[pin].cb->interrupt(evt);
if (Gpio::logger) Gpio::logger->log(evt);
}
static uint8_t getMode(pin_type pin) {
@@ -118,8 +118,8 @@ public:
if (!valid_pin(pin)) return;
pin_map[pin].dir = value;
GpioEvent evt(Clock::nanos(), pin, GpioEvent::Type::SETD);
if (pin_map[pin].cb != nullptr) pin_map[pin].cb->interrupt(evt);
if (Gpio::logger != nullptr) Gpio::logger->log(evt);
if (pin_map[pin].cb) pin_map[pin].cb->interrupt(evt);
if (Gpio::logger) Gpio::logger->log(evt);
}
static uint8_t getDir(pin_type pin) {
+5 -1
View File
@@ -35,5 +35,9 @@
#endif
#if HAS_TMC_SW_SERIAL
#error "TMC220x Software Serial is not supported on this platform."
#error "TMC220x Software Serial is not supported on LINUX."
#endif
#if ENABLED(POSTMORTEM_DEBUGGING)
#error "POSTMORTEM_DEBUGGING is not yet supported on LINUX."
#endif
+5 -25
View File
@@ -67,34 +67,14 @@ void cli(); // Disable
void sei(); // Enable
void attachInterrupt(uint32_t pin, void (*callback)(), uint32_t mode);
void detachInterrupt(uint32_t pin);
extern "C" void GpioEnableInt(uint32_t port, uint32_t pin, uint32_t mode);
extern "C" void GpioDisableInt(uint32_t port, uint32_t pin);
// Program Memory
#define pgm_read_ptr(addr) (*((void**)(addr)))
#define pgm_read_byte_near(addr) (*((uint8_t*)(addr)))
#define pgm_read_float_near(addr) (*((float*)(addr)))
#define pgm_read_word_near(addr) (*((uint16_t*)(addr)))
#define pgm_read_dword_near(addr) (*((uint32_t*)(addr)))
#define pgm_read_byte(addr) pgm_read_byte_near(addr)
#define pgm_read_float(addr) pgm_read_float_near(addr)
#define pgm_read_word(addr) pgm_read_word_near(addr)
#define pgm_read_dword(addr) pgm_read_dword_near(addr)
using std::memcpy;
#define memcpy_P memcpy
#define sprintf_P sprintf
#define strstr_P strstr
#define strncpy_P strncpy
#define vsnprintf_P vsnprintf
#define strcpy_P strcpy
#define snprintf_P snprintf
#define strlen_P strlen
extern "C" {
void GpioEnableInt(uint32_t port, uint32_t pin, uint32_t mode);
void GpioDisableInt(uint32_t port, uint32_t pin);
}
// Time functions
extern "C" {
void delay(const int milis);
}
extern "C" void delay(const int milis);
void _delay_ms(const int delay);
void delayMicroseconds(unsigned long);
uint32_t millis();
+6 -96
View File
@@ -25,6 +25,7 @@
#if ENABLED(EMERGENCY_PARSER)
#include "../../../feature/e_parser.h"
#endif
#include "../../../core/serial_hook.h"
#include <stdarg.h>
#include <stdio.h>
@@ -33,7 +34,6 @@
* Generic RingBuffer
* T type of the buffer array
* S size of the buffer (must be power of 2)
*
*/
template <typename T, uint32_t S> class RingBuffer {
public:
@@ -74,18 +74,11 @@ private:
volatile uint32_t index_read;
};
class HalSerial {
public:
#if ENABLED(EMERGENCY_PARSER)
EmergencyParser::State emergency_state;
#endif
struct HalSerial {
HalSerial() { host_connected = true; }
void begin(int32_t) {}
void end() {}
void end() {}
int peek() {
uint8_t value;
@@ -100,7 +93,7 @@ public:
return transmit_buffer.write(c);
}
operator bool() { return host_connected; }
bool connected() { return host_connected; }
uint16_t available() {
return (uint16_t)receive_buffer.available();
@@ -117,92 +110,9 @@ public:
while (transmit_buffer.available()) { /* nada */ }
}
void printf(const char *format, ...) {
static char buffer[256];
va_list vArgs;
va_start(vArgs, format);
int length = vsnprintf((char *) buffer, 256, (char const *) format, vArgs);
va_end(vArgs);
if (length > 0 && length < 256) {
if (host_connected) {
for (int i = 0; i < length;) {
if (transmit_buffer.write(buffer[i])) {
++i;
}
}
}
}
}
#define DEC 10
#define HEX 16
#define OCT 8
#define BIN 2
void print_bin(uint32_t value, uint8_t num_digits) {
uint32_t mask = 1 << (num_digits -1);
for (uint8_t i = 0; i < num_digits; i++) {
if (!(i % 4) && i) write(' ');
if (!(i % 16) && i) write(' ');
if (value & mask) write('1');
else write('0');
value <<= 1;
}
}
void print(const char value[]) { printf("%s" , value); }
void print(char value, int nbase = 0) {
if (nbase == BIN) print_bin(value, 8);
else if (nbase == OCT) printf("%3o", value);
else if (nbase == HEX) printf("%2X", value);
else if (nbase == DEC ) printf("%d", value);
else printf("%c" , value);
}
void print(unsigned char value, int nbase = 0) {
if (nbase == BIN) print_bin(value, 8);
else if (nbase == OCT) printf("%3o", value);
else if (nbase == HEX) printf("%2X", value);
else printf("%u" , value);
}
void print(int value, int nbase = 0) {
if (nbase == BIN) print_bin(value, 16);
else if (nbase == OCT) printf("%6o", value);
else if (nbase == HEX) printf("%4X", value);
else printf("%d", value);
}
void print(unsigned int value, int nbase = 0) {
if (nbase == BIN) print_bin(value, 16);
else if (nbase == OCT) printf("%6o", value);
else if (nbase == HEX) printf("%4X", value);
else printf("%u" , value);
}
void print(long value, int nbase = 0) {
if (nbase == BIN) print_bin(value, 32);
else if (nbase == OCT) printf("%11o", value);
else if (nbase == HEX) printf("%8X", value);
else printf("%ld" , value);
}
void print(unsigned long value, int nbase = 0) {
if (nbase == BIN) print_bin(value, 32);
else if (nbase == OCT) printf("%11o", value);
else if (nbase == HEX) printf("%8X", value);
else printf("%lu" , value);
}
void print(float value, int round = 6) { printf("%f" , value); }
void print(double value, int round = 6) { printf("%f" , value); }
void println(const char value[]) { printf("%s\n" , value); }
void println(char value, int nbase = 0) { print(value, nbase); println(); }
void println(unsigned char value, int nbase = 0) { print(value, nbase); println(); }
void println(int value, int nbase = 0) { print(value, nbase); println(); }
void println(unsigned int value, int nbase = 0) { print(value, nbase); println(); }
void println(long value, int nbase = 0) { print(value, nbase); println(); }
void println(unsigned long value, int nbase = 0) { print(value, nbase); println(); }
void println(float value, int round = 6) { printf("%f\n" , value); }
void println(double value, int round = 6) { printf("%f\n" , value); }
void println() { print('\n'); }
volatile RingBuffer<uint8_t, 128> receive_buffer;
volatile RingBuffer<uint8_t, 128> transmit_buffer;
volatile bool host_connected;
};
typedef Serial1Class<HalSerial> MSerialT;
+13 -15
View File
@@ -1,6 +1,5 @@
/**
* Marlin 3D Printer Firmware
*
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* This program is free software: you can redistribute it and/or modify
@@ -19,22 +18,23 @@
*/
#ifdef __PLAT_LINUX__
extern void setup();
extern void loop();
#include <thread>
#include <iostream>
#include <fstream>
//#define GPIO_LOGGING // Full GPIO and Positional Logging
#include "../../inc/MarlinConfig.h"
#include <stdio.h>
#include <stdarg.h>
#include "../shared/Delay.h"
#include "hardware/IOLoggerCSV.h"
#include "hardware/Heater.h"
#include "hardware/LinearAxis.h"
#include <stdio.h>
#include <stdarg.h>
#include <thread>
#include <iostream>
#include <fstream>
extern void setup();
extern void loop();
// simple stdout / stdin implementation for fake serial port
void write_serial_thread() {
for (;;) {
@@ -64,8 +64,6 @@ void simulation_loop() {
LinearAxis z_axis(Z_ENABLE_PIN, Z_DIR_PIN, Z_STEP_PIN, Z_MIN_PIN, Z_MAX_PIN);
LinearAxis extruder0(E0_ENABLE_PIN, E0_DIR_PIN, E0_STEP_PIN, P_NC, P_NC);
//#define GPIO_LOGGING // Full GPIO and Positional Logging
#ifdef GPIO_LOGGING
IOLoggerCSV logger("all_gpio_log.csv");
Gpio::attachLogger(&logger);
@@ -88,7 +86,7 @@ void simulation_loop() {
#ifdef GPIO_LOGGING
if (x_axis.position != x || y_axis.position != y || z_axis.position != z) {
uint64_t update = MAX3(x_axis.last_update, y_axis.last_update, z_axis.last_update);
uint64_t update = _MAX(x_axis.last_update, y_axis.last_update, z_axis.last_update);
position_log << update << ", " << x_axis.position << ", " << y_axis.position << ", " << z_axis.position << std::endl;
position_log.flush();
x = x_axis.position;
@@ -107,8 +105,8 @@ int main() {
std::thread write_serial (write_serial_thread);
std::thread read_serial (read_serial_thread);
#if NUM_SERIAL > 0
MYSERIAL0.begin(BAUDRATE);
#ifdef MYSERIAL1
MYSERIAL1.begin(BAUDRATE);
SERIAL_ECHOLNPGM("x86_64 Initialized");
SERIAL_FLUSHTX();
#endif
+6 -6
View File
@@ -26,15 +26,15 @@
*/
#define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS
#define pwm_details(pin) pin = pin // do nothing // print PWM details
#define pwm_status(pin) false //Print a pin's PWM status. Return true if it's currently a PWM pin.
#define IS_ANALOG(P) (DIGITAL_PIN_TO_ANALOG_PIN(P) >= 0 ? 1 : 0)
#define pwm_details(pin) NOOP // (do nothing)
#define pwm_status(pin) false // Print a pin's PWM status. Return true if it's currently a PWM pin.
#define IS_ANALOG(P) (DIGITAL_PIN_TO_ANALOG_PIN(P) >= 0 ? 1 : 0)
#define digitalRead_mod(p) digitalRead(p)
#define PRINT_PORT(p)
#define GET_ARRAY_PIN(p) pin_array[p].pin
#define GET_ARRAY_PIN(p) pin_array[p].pin
#define PRINT_ARRAY_NAME(x) do{ sprintf_P(buffer, PSTR("%-" STRINGIFY(MAX_NAME_LENGTH) "s"), pin_array[x].name); SERIAL_ECHO(buffer); }while(0)
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%3d "), p); SERIAL_ECHO(buffer); }while(0)
#define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%3d "), p); SERIAL_ECHO(buffer); }while(0)
#define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin
// active ADC function/mode/code values for PINSEL registers
constexpr int8_t ADC_pin_mode(pin_t pin) {
-1
View File
@@ -45,7 +45,6 @@
* Version 2 Copyright (c) 2009 Michael Margolis. All right reserved.
*
* The only modification was to update/delete macros to match the LPC176x.
*
*/
#include <stdint.h>
+17 -16
View File
@@ -24,31 +24,32 @@
#include "../../core/macros.h"
#include "../../inc/MarlinConfigPre.h"
#if BOTH(HAS_GRAPHICAL_LCD, SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN || LCD_PINS_ENABLE == MOSI_PIN || DOGLCD_SCK == SCK_PIN || DOGLCD_MOSI == MOSI_PIN)
#if BOTH(HAS_MARLINUI_U8GLIB, SDSUPPORT) && (LCD_PINS_D4 == SD_SCK_PIN || LCD_PINS_ENABLE == SD_MOSI_PIN || DOGLCD_SCK == SD_SCK_PIN || DOGLCD_MOSI == SD_MOSI_PIN)
#define LPC_SOFTWARE_SPI // If the SD card and LCD adapter share the same SPI pins, then software SPI is currently
// needed due to the speed and mode required for communicating with each device being different.
// This requirement can be removed if the SPI access to these devices is updated to use
// spiBeginTransaction.
#endif
/** onboard SD card */
//#define SCK_PIN P0_07
//#define MISO_PIN P0_08
//#define MOSI_PIN P0_09
//#define SS_PIN P0_06
/** external */
#ifndef SCK_PIN
#define SCK_PIN 50
// Onboard SD
//#define SD_SCK_PIN P0_07
//#define SD_MISO_PIN P0_08
//#define SD_MOSI_PIN P0_09
//#define SD_SS_PIN P0_06
// External SD
#ifndef SD_SCK_PIN
#define SD_SCK_PIN 50
#endif
#ifndef MISO_PIN
#define MISO_PIN 51
#ifndef SD_MISO_PIN
#define SD_MISO_PIN 51
#endif
#ifndef MOSI_PIN
#define MOSI_PIN 52
#ifndef SD_MOSI_PIN
#define SD_MOSI_PIN 52
#endif
#ifndef SS_PIN
#define SS_PIN 53
#ifndef SD_SS_PIN
#define SD_SS_PIN 53
#endif
#ifndef SDSS
#define SDSS SS_PIN
#define SDSS SD_SS_PIN
#endif
+2
View File
@@ -27,6 +27,8 @@
#include "watchdog.h"
#define WDT_TIMEOUT_US TERN(WATCHDOG_DURATION_8S, 8000000, 4000000) // 4 or 8 second timeout
void watchdog_init() {}
void HAL_watchdog_refresh() {}
-2
View File
@@ -21,7 +21,5 @@
*/
#pragma once
#define WDT_TIMEOUT 4000000 // 4 second timeout
void watchdog_init();
void HAL_watchdog_refresh();
-322
View File
@@ -1,322 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#ifdef TARGET_LPC1768
#include "../../core/macros.h"
#include "../../core/serial.h"
#include <stdarg.h>
#include "../shared/backtrace/unwinder.h"
#include "../shared/backtrace/unwmemaccess.h"
#include "watchdog.h"
#include <debug_frmwrk.h>
// Debug monitor that dumps to the Programming port all status when
// an exception or WDT timeout happens - And then resets the board
// All the Monitor routines must run with interrupts disabled and
// under an ISR execution context. That is why we cannot reuse the
// Serial interrupt routines or any C runtime, as we don't know the
// state we are when running them
// A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() __asm__ volatile("": : :"memory");
// (re)initialize UART0 as a monitor output to 250000,n,8,1
static void TXBegin() {
}
// Send character through UART with no interrupts
static void TX(char c) {
_DBC(c);
}
// Send String through UART
static void TX(const char* s) {
while (*s) TX(*s++);
}
static void TXDigit(uint32_t d) {
if (d < 10) TX((char)(d+'0'));
else if (d < 16) TX((char)(d+'A'-10));
else TX('?');
}
// Send Hex number thru UART
static void TXHex(uint32_t v) {
TX("0x");
for (uint8_t i = 0; i < 8; i++, v <<= 4)
TXDigit((v >> 28) & 0xF);
}
// Send Decimal number thru UART
static void TXDec(uint32_t v) {
if (!v) {
TX('0');
return;
}
char nbrs[14];
char *p = &nbrs[0];
while (v != 0) {
*p++ = '0' + (v % 10);
v /= 10;
}
do {
p--;
TX(*p);
} while (p != &nbrs[0]);
}
// Dump a backtrace entry
static bool UnwReportOut(void* ctx, const UnwReport* bte) {
int* p = (int*)ctx;
(*p)++;
TX('#'); TXDec(*p); TX(" : ");
TX(bte->name?bte->name:"unknown"); TX('@'); TXHex(bte->function);
TX('+'); TXDec(bte->address - bte->function);
TX(" PC:");TXHex(bte->address); TX('\n');
return true;
}
#ifdef UNW_DEBUG
void UnwPrintf(const char* format, ...) {
char dest[256];
va_list argptr;
va_start(argptr, format);
vsprintf(dest, format, argptr);
va_end(argptr);
TX(&dest[0]);
}
#endif
/* Table of function pointers for passing to the unwinder */
static const UnwindCallbacks UnwCallbacks = {
UnwReportOut,
UnwReadW,
UnwReadH,
UnwReadB
#ifdef UNW_DEBUG
,UnwPrintf
#endif
};
/**
* HardFaultHandler_C:
* This is called from the HardFault_HandlerAsm with a pointer the Fault stack
* as the parameter. We can then read the values from the stack and place them
* into local variables for ease of reading.
* We then read the various Fault Status and Address Registers to help decode
* cause of the fault.
* The function ends with a BKPT instruction to force control back into the debugger
*/
extern "C"
void HardFault_HandlerC(unsigned long *sp, unsigned long lr, unsigned long cause) {
static const char* causestr[] = {
"NMI","Hard","Mem","Bus","Usage","Debug","WDT","RSTC"
};
UnwindFrame btf;
// Dump report to the Programming port (interrupts are DISABLED)
TXBegin();
TX("\n\n## Software Fault detected ##\n");
TX("Cause: "); TX(causestr[cause]); TX('\n');
TX("R0 : "); TXHex(((unsigned long)sp[0])); TX('\n');
TX("R1 : "); TXHex(((unsigned long)sp[1])); TX('\n');
TX("R2 : "); TXHex(((unsigned long)sp[2])); TX('\n');
TX("R3 : "); TXHex(((unsigned long)sp[3])); TX('\n');
TX("R12 : "); TXHex(((unsigned long)sp[4])); TX('\n');
TX("LR : "); TXHex(((unsigned long)sp[5])); TX('\n');
TX("PC : "); TXHex(((unsigned long)sp[6])); TX('\n');
TX("PSR : "); TXHex(((unsigned long)sp[7])); TX('\n');
// Configurable Fault Status Register
// Consists of MMSR, BFSR and UFSR
TX("CFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED28)))); TX('\n');
// Hard Fault Status Register
TX("HFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED2C)))); TX('\n');
// Debug Fault Status Register
TX("DFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED30)))); TX('\n');
// Auxiliary Fault Status Register
TX("AFSR : "); TXHex((*((volatile unsigned long *)(0xE000ED3C)))); TX('\n');
// Read the Fault Address Registers. These may not contain valid values.
// Check BFARVALID/MMARVALID to see if they are valid values
// MemManage Fault Address Register
TX("MMAR : "); TXHex((*((volatile unsigned long *)(0xE000ED34)))); TX('\n');
// Bus Fault Address Register
TX("BFAR : "); TXHex((*((volatile unsigned long *)(0xE000ED38)))); TX('\n');
TX("ExcLR: "); TXHex(lr); TX('\n');
TX("ExcSP: "); TXHex((unsigned long)sp); TX('\n');
btf.sp = ((unsigned long)sp) + 8*4; // The original stack pointer
btf.fp = btf.sp;
btf.lr = ((unsigned long)sp[5]);
btf.pc = ((unsigned long)sp[6]) | 1; // Force Thumb, as CORTEX only support it
// Perform a backtrace
TX("\nBacktrace:\n\n");
int ctr = 0;
UnwindStart(&btf, &UnwCallbacks, &ctr);
// Disable all NVIC interrupts
NVIC->ICER[0] = 0xFFFFFFFF;
NVIC->ICER[1] = 0xFFFFFFFF;
// Relocate VTOR table to default position
SCB->VTOR = 0;
// Clear cause of reset to prevent entering smoothie bootstrap
HAL_clear_reset_source();
// Restart watchdog
#if ENABLED(USE_WATCHDOG)
//WDT_Restart(WDT);
watchdog_init();
#endif
// Reset controller
NVIC_SystemReset();
// Nothing below here is compiled because NVIC_SystemReset loops forever
for (;;) { TERN_(USE_WATCHDOG, watchdog_init()); }
}
extern "C" {
__attribute__((naked)) void NMI_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#0")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void HardFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#1")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void MemManage_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#2")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void BusFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#3")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void UsageFault_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#4")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void DebugMon_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#5")
A("b HardFault_HandlerC")
);
}
/* This is NOT an exception, it is an interrupt handler - Nevertheless, the framing is the same */
__attribute__((naked)) void WDT_IRQHandler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#6")
A("b HardFault_HandlerC")
);
}
__attribute__((naked)) void RSTC_Handler() {
__asm__ __volatile__ (
".syntax unified" "\n\t"
A("tst lr, #4")
A("ite eq")
A("mrseq r0, msp")
A("mrsne r0, psp")
A("mov r1,lr")
A("mov r2,#7")
A("b HardFault_HandlerC")
);
}
}
#endif // TARGET_LPC1768
+16 -12
View File
@@ -29,21 +29,18 @@
#include "watchdog.h"
#endif
DefaultSerial1 USBSerial(false, UsbSerial);
uint32_t HAL_adc_reading = 0;
// U8glib required functions
extern "C" void u8g_xMicroDelay(uint16_t val) {
DELAY_US(val);
}
extern "C" void u8g_MicroDelay() {
u8g_xMicroDelay(1);
}
extern "C" void u8g_10MicroDelay() {
u8g_xMicroDelay(10);
}
extern "C" void u8g_Delay(uint16_t val) {
delay(val);
extern "C" {
void u8g_xMicroDelay(uint16_t val) { DELAY_US(val); }
void u8g_MicroDelay() { u8g_xMicroDelay(1); }
void u8g_10MicroDelay() { u8g_xMicroDelay(10); }
void u8g_Delay(uint16_t val) { delay(val); }
}
//************************//
// return free heap space
@@ -66,7 +63,12 @@ int16_t PARSED_PIN_INDEX(const char code, const int16_t dval) {
return ind > -1 ? ind : dval;
}
void flashFirmware(const int16_t) { NVIC_SystemReset(); }
void flashFirmware(const int16_t) {
delay(500); // Give OS time to disconnect
USB_Connect(false); // USB clear connection
delay(1000); // Give OS time to notice
HAL_reboot();
}
void HAL_clear_reset_source(void) {
TERN_(USE_WATCHDOG, watchdog_clear_timeout_flag());
@@ -79,4 +81,6 @@ uint8_t HAL_get_reset_source(void) {
return RST_POWER_ON;
}
void HAL_reboot() { NVIC_SystemReset(); }
#endif // TARGET_LPC1768
+54 -52
View File
@@ -47,9 +47,6 @@ extern "C" volatile uint32_t _millis;
#include <pinmapping.h>
#include <CDCSerial.h>
// i2c uses 8-bit shifted address
#define I2C_ADDRESS(A) uint8_t((A) << 1)
//
// Default graphical display delays
//
@@ -63,58 +60,60 @@ extern "C" volatile uint32_t _millis;
#define ST7920_DELAY_3 DELAY_NS(750)
#endif
typedef ForwardSerial1Class< decltype(UsbSerial) > DefaultSerial1;
extern DefaultSerial1 USBSerial;
#define _MSERIAL(X) MSerial##X
#define MSERIAL(X) _MSERIAL(X)
#if SERIAL_PORT == -1
#define MYSERIAL0 UsbSerial
#elif SERIAL_PORT == 0
#define MYSERIAL0 MSerial
#elif SERIAL_PORT == 1
#define MYSERIAL0 MSerial1
#elif SERIAL_PORT == 2
#define MYSERIAL0 MSerial2
#elif SERIAL_PORT == 3
#define MYSERIAL0 MSerial3
#define MYSERIAL1 USBSerial
#elif WITHIN(SERIAL_PORT, 0, 3)
#define MYSERIAL1 MSERIAL(SERIAL_PORT)
#else
#error "SERIAL_PORT must be from -1 to 3. Please update your configuration."
#error "SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#endif
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == SERIAL_PORT
#error "SERIAL_PORT_2 must be different than SERIAL_PORT. Please update your configuration."
#elif SERIAL_PORT_2 == -1
#define MYSERIAL1 UsbSerial
#elif SERIAL_PORT_2 == 0
#define MYSERIAL1 MSerial
#elif SERIAL_PORT_2 == 1
#define MYSERIAL1 MSerial1
#elif SERIAL_PORT_2 == 2
#define MYSERIAL1 MSerial2
#elif SERIAL_PORT_2 == 3
#define MYSERIAL1 MSerial3
#if SERIAL_PORT_2 == -1
#define MYSERIAL2 USBSerial
#elif WITHIN(SERIAL_PORT_2, 0, 3)
#define MYSERIAL2 MSERIAL(SERIAL_PORT_2)
#else
#error "SERIAL_PORT_2 must be from -1 to 3. Please update your configuration."
#error "SERIAL_PORT_2 must be from 0 to 3. You can also use -1 if the board supports Native USB."
#endif
#define NUM_SERIAL 2
#else
#define NUM_SERIAL 1
#endif
#ifdef DGUS_SERIAL_PORT
#if DGUS_SERIAL_PORT == SERIAL_PORT
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration."
#elif defined(SERIAL_PORT_2) && DGUS_SERIAL_PORT == SERIAL_PORT_2
#error "DGUS_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration."
#elif DGUS_SERIAL_PORT == -1
#define DGUS_SERIAL UsbSerial
#elif DGUS_SERIAL_PORT == 0
#define DGUS_SERIAL MSerial
#elif DGUS_SERIAL_PORT == 1
#define DGUS_SERIAL MSerial1
#elif DGUS_SERIAL_PORT == 2
#define DGUS_SERIAL MSerial2
#elif DGUS_SERIAL_PORT == 3
#define DGUS_SERIAL MSerial3
#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 "DGUS_SERIAL_PORT must be from -1 to 3. Please update your configuration."
#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
#elif WITHIN(MMU2_SERIAL_PORT, 0, 3)
#define MMU2_SERIAL MSERIAL(MMU2_SERIAL_PORT)
#else
#error "MMU2_SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
#endif
#endif
#ifdef LCD_SERIAL_PORT
#if LCD_SERIAL_PORT == -1
#define LCD_SERIAL USBSerial
#elif 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."
#endif
#if HAS_DGUS_LCD
#define SERIAL_GET_TX_BUFFER_FREE() MSerial0.available()
#endif
#endif
@@ -130,10 +129,16 @@ extern "C" volatile uint32_t _millis;
//
// Utility functions
//
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#if GCC_VERSION <= 50000
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
#endif
int freeMemory();
#pragma GCC diagnostic pop
#if GCC_VERSION <= 50000
#pragma GCC diagnostic pop
#endif
//
// ADC API
@@ -223,7 +228,4 @@ void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size=255,
void HAL_clear_reset_source(void);
uint8_t HAL_get_reset_source(void);
// Add strcmp_P if missing
#ifndef strcmp_P
#define strcmp_P(a, b) strcmp((a), (b))
#endif
void HAL_reboot();
+51
View File
@@ -0,0 +1,51 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#ifdef TARGET_LPC1768
#include "../../inc/MarlinConfig.h"
#include "HAL.h"
#if ENABLED(POSTMORTEM_DEBUGGING)
#include "../shared/HAL_MinSerial.h"
#include <debug_frmwrk.h>
static void TX(char c) { _DBC(c); }
void install_min_serial() { HAL_min_serial_out = &TX; }
#if DISABLED(DYNAMIC_VECTORTABLE)
extern "C" {
__attribute__((naked)) void JumpHandler_ASM() {
__asm__ __volatile__ (
"b CommonHandler_ASM\n"
);
}
void __attribute__((naked, alias("JumpHandler_ASM"))) HardFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) BusFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) UsageFault_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) MemManage_Handler();
void __attribute__((naked, alias("JumpHandler_ASM"))) NMI_Handler();
}
#endif
#endif // POSTMORTEM_DEBUGGING
#endif // TARGET_LPC1768
+276 -104
View File
@@ -30,7 +30,7 @@
*/
/**
* Hardware SPI and a software SPI implementations are included in this file.
* Hardware SPI and Software SPI implementations are included in this file.
* The hardware SPI runs faster and has higher throughput but is not compatible
* with some LCD interfaces/adapters.
*
@@ -39,10 +39,10 @@
* Some of the LCD interfaces/adapters result in the LCD SPI and the SD card
* SPI sharing pins. The SCK, MOSI & MISO pins can NOT be set/cleared with
* WRITE nor digitalWrite when the hardware SPI module within the LPC17xx is
* active. If any of these pins are shared then the software SPI must be used.
* active. If any of these pins are shared then the software SPI must be used.
*
* A more sophisticated hardware SPI can be found at the following link. This
* implementation has not been fully debugged.
* A more sophisticated hardware SPI can be found at the following link.
* This implementation has not been fully debugged.
* https://github.com/MarlinFirmware/Marlin/tree/071c7a78f27078fd4aee9a3ef365fcf5e143531e
*/
@@ -51,27 +51,37 @@
#include "../../inc/MarlinConfig.h"
#include <SPI.h>
// Hardware SPI and SPIClass
#include <lpc17xx_pinsel.h>
#include <lpc17xx_clkpwr.h>
#include "../shared/HAL_SPI.h"
// ------------------------
// Public functions
// ------------------------
#if ENABLED(LPC_SOFTWARE_SPI)
#include <SoftwareSPI.h>
// Software SPI
static uint8_t SPI_speed = 0;
#include <SoftwareSPI.h>
#ifndef HAL_SPI_SPEED
#define HAL_SPI_SPEED SPI_FULL_SPEED
#endif
static uint8_t SPI_speed = HAL_SPI_SPEED;
static uint8_t spiTransfer(uint8_t b) {
return swSpiTransfer(b, SPI_speed, SCK_PIN, MISO_PIN, MOSI_PIN);
return swSpiTransfer(b, SPI_speed, SD_SCK_PIN, SD_MISO_PIN, SD_MOSI_PIN);
}
void spiBegin() {
swSpiBegin(SCK_PIN, MISO_PIN, MOSI_PIN);
swSpiBegin(SD_SCK_PIN, SD_MISO_PIN, SD_MOSI_PIN);
}
void spiInit(uint8_t spiRate) {
SPI_speed = swSpiInit(spiRate, SCK_PIN, MOSI_PIN);
SPI_speed = swSpiInit(spiRate, SD_SCK_PIN, SD_MOSI_PIN);
}
uint8_t spiRec() { return spiTransfer(0xFF); }
@@ -83,12 +93,12 @@
void spiSend(uint8_t b) { (void)spiTransfer(b); }
void spiSend(const uint8_t* buf, size_t nbyte) {
void spiSend(const uint8_t *buf, size_t nbyte) {
for (uint16_t i = 0; i < nbyte; i++)
(void)spiTransfer(buf[i]);
}
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
(void)spiTransfer(token);
for (uint16_t i = 0; i < 512; i++)
(void)spiTransfer(buf[i]);
@@ -96,91 +106,42 @@
#else
// Hardware SPI
#include <lpc17xx_pinsel.h>
#include <lpc17xx_ssp.h>
#include <lpc17xx_clkpwr.h>
// decide which HW SPI device to use
#ifndef LPC_HW_SPI_DEV
#if (SCK_PIN == P0_07 && MISO_PIN == P0_08 && MOSI_PIN == P0_09)
#define LPC_HW_SPI_DEV 1
#ifndef HAL_SPI_SPEED
#ifdef SD_SPI_SPEED
#define HAL_SPI_SPEED SD_SPI_SPEED
#else
#if (SCK_PIN == P0_15 && MISO_PIN == P0_17 && MOSI_PIN == P0_18)
#define LPC_HW_SPI_DEV 0
#else
#error "Invalid pins selected for hardware SPI"
#endif
#define HAL_SPI_SPEED SPI_FULL_SPEED
#endif
#endif
#if (LPC_HW_SPI_DEV == 0)
#define LPC_SSPn LPC_SSP0
#else
#define LPC_SSPn LPC_SSP1
#endif
void spiBegin() { // setup SCK, MOSI & MISO pins for SSP0
PINSEL_CFG_Type PinCfg; // data structure to hold init values
PinCfg.Funcnum = 2;
PinCfg.OpenDrain = 0;
PinCfg.Pinmode = 0;
PinCfg.Pinnum = LPC176x::pin_bit(SCK_PIN);
PinCfg.Portnum = LPC176x::pin_port(SCK_PIN);
PINSEL_ConfigPin(&PinCfg);
SET_OUTPUT(SCK_PIN);
PinCfg.Pinnum = LPC176x::pin_bit(MISO_PIN);
PinCfg.Portnum = LPC176x::pin_port(MISO_PIN);
PINSEL_ConfigPin(&PinCfg);
SET_INPUT(MISO_PIN);
PinCfg.Pinnum = LPC176x::pin_bit(MOSI_PIN);
PinCfg.Portnum = LPC176x::pin_port(MOSI_PIN);
PINSEL_ConfigPin(&PinCfg);
SET_OUTPUT(MOSI_PIN);
// divide PCLK by 2 for SSP0
CLKPWR_SetPCLKDiv(LPC_HW_SPI_DEV == 0 ? CLKPWR_PCLKSEL_SSP0 : CLKPWR_PCLKSEL_SSP1, CLKPWR_PCLKSEL_CCLK_DIV_2);
spiInit(0);
SSP_Cmd(LPC_SSPn, ENABLE); // start SSP running
}
void spiBegin() { spiInit(HAL_SPI_SPEED); } // Set up SCK, MOSI & MISO pins for SSP0
void spiInit(uint8_t spiRate) {
// table to convert Marlin spiRates (0-5 plus default) into bit rates
uint32_t Marlin_speed[7]; // CPSR is always 2
Marlin_speed[0] = 8333333; //(SCR: 2) desired: 8,000,000 actual: 8,333,333 +4.2% SPI_FULL_SPEED
Marlin_speed[1] = 4166667; //(SCR: 5) desired: 4,000,000 actual: 4,166,667 +4.2% SPI_HALF_SPEED
Marlin_speed[2] = 2083333; //(SCR: 11) desired: 2,000,000 actual: 2,083,333 +4.2% SPI_QUARTER_SPEED
Marlin_speed[3] = 1000000; //(SCR: 24) desired: 1,000,000 actual: 1,000,000 SPI_EIGHTH_SPEED
Marlin_speed[4] = 500000; //(SCR: 49) desired: 500,000 actual: 500,000 SPI_SPEED_5
Marlin_speed[5] = 250000; //(SCR: 99) desired: 250,000 actual: 250,000 SPI_SPEED_6
Marlin_speed[6] = 125000; //(SCR:199) desired: 125,000 actual: 125,000 Default from HAL.h
// setup for SPI mode
SSP_CFG_Type HW_SPI_init; // data structure to hold init values
SSP_ConfigStructInit(&HW_SPI_init); // set values for SPI mode
HW_SPI_init.ClockRate = Marlin_speed[_MIN(spiRate, 6)]; // put in the specified bit rate
HW_SPI_init.Mode |= SSP_CR1_SSP_EN;
SSP_Init(LPC_SSPn, &HW_SPI_init); // puts the values into the proper bits in the SSP0 registers
#if SD_MISO_PIN == BOARD_SPI1_MISO_PIN
SPI.setModule(1);
#elif SD_MISO_PIN == BOARD_SPI2_MISO_PIN
SPI.setModule(2);
#endif
SPI.setDataSize(DATA_SIZE_8BIT);
SPI.setDataMode(SPI_MODE0);
SPI.setClock(SPISettings::spiRate2Clock(spiRate));
SPI.begin();
}
static uint8_t doio(uint8_t b) {
/* send and receive a single byte */
SSP_SendData(LPC_SSPn, b & 0x00FF);
while (SSP_GetStatus(LPC_SSPn, SSP_STAT_BUSY)); // wait for it to finish
return SSP_ReceiveData(LPC_SSPn) & 0x00FF;
return SPI.transfer(b & 0x00FF) & 0x00FF;
}
void spiSend(uint8_t b) { doio(b); }
void spiSend(const uint8_t* buf, size_t nbyte) {
void spiSend(const uint8_t *buf, size_t nbyte) {
for (uint16_t i = 0; i < nbyte; i++) doio(buf[i]);
}
void spiSend(uint32_t chan, byte b) {
}
void spiSend(uint32_t chan, byte b) {}
void spiSend(uint32_t chan, const uint8_t* buf, size_t nbyte) {
}
void spiSend(uint32_t chan, const uint8_t *buf, size_t nbyte) {}
// Read single byte from SPI
uint8_t spiRec() { return doio(0xFF); }
@@ -192,49 +153,260 @@
for (uint16_t i = 0; i < nbyte; i++) buf[i] = doio(0xFF);
}
static uint8_t spiTransfer(uint8_t b) {
return doio(b);
}
uint8_t spiTransfer(uint8_t b) { return doio(b); }
// Write from buffer to SPI
void spiSendBlock(uint8_t token, const uint8_t* buf) {
void spiSendBlock(uint8_t token, const uint8_t *buf) {
(void)spiTransfer(token);
for (uint16_t i = 0; i < 512; i++)
(void)spiTransfer(buf[i]);
}
/** Begin SPI transaction, set clock, bit order, data mode */
// Begin SPI transaction, set clock, bit order, data mode
void spiBeginTransaction(uint32_t spiClock, uint8_t bitOrder, uint8_t dataMode) {
// TODO: to be implemented
// TODO: Implement this method
}
#endif // LPC_SOFTWARE_SPI
void SPIClass::begin() { spiBegin(); }
/**
* @brief Wait until TXE (tx empty) flag is set and BSY (busy) flag unset.
*/
static inline void waitSpiTxEnd(LPC_SSP_TypeDef *spi_d) {
while (SSP_GetStatus(spi_d, SSP_STAT_TXFIFO_EMPTY) == RESET) { /* nada */ } // wait until TXE=1
while (SSP_GetStatus(spi_d, SSP_STAT_BUSY) == SET) { /* nada */ } // wait until BSY=0
}
// Retain the pin init state of the SPI, to avoid init more than once,
// even if more instances of SPIClass exist
static bool spiInitialised[BOARD_NR_SPI] = { false };
SPIClass::SPIClass(uint8_t device) {
// Init things specific to each SPI device
// clock divider setup is a bit of hack, and needs to be improved at a later date.
#if BOARD_NR_SPI >= 1
_settings[0].spi_d = LPC_SSP0;
_settings[0].dataMode = SPI_MODE0;
_settings[0].dataSize = DATA_SIZE_8BIT;
_settings[0].clock = SPI_CLOCK_MAX;
//_settings[0].clockDivider = determine_baud_rate(_settings[0].spi_d, _settings[0].clock);
#endif
#if BOARD_NR_SPI >= 2
_settings[1].spi_d = LPC_SSP1;
_settings[1].dataMode = SPI_MODE0;
_settings[1].dataSize = DATA_SIZE_8BIT;
_settings[1].clock = SPI_CLOCK_MAX;
//_settings[1].clockDivider = determine_baud_rate(_settings[1].spi_d, _settings[1].clock);
#endif
setModule(device);
// Init the GPDMA controller
// TODO: call once in the constructor? or each time?
GPDMA_Init();
}
SPIClass::SPIClass(pin_t mosi, pin_t miso, pin_t sclk, pin_t ssel) {
#if BOARD_NR_SPI >= 1
if (mosi == BOARD_SPI1_MOSI_PIN) SPIClass(1);
#endif
#if BOARD_NR_SPI >= 2
if (mosi == BOARD_SPI2_MOSI_PIN) SPIClass(2);
#endif
}
void SPIClass::begin() {
// Init the SPI pins in the first begin call
if ((_currentSetting->spi_d == LPC_SSP0 && spiInitialised[0] == false) ||
(_currentSetting->spi_d == LPC_SSP1 && spiInitialised[1] == false)) {
pin_t sck, miso, mosi;
if (_currentSetting->spi_d == LPC_SSP0) {
sck = BOARD_SPI1_SCK_PIN;
miso = BOARD_SPI1_MISO_PIN;
mosi = BOARD_SPI1_MOSI_PIN;
spiInitialised[0] = true;
}
else if (_currentSetting->spi_d == LPC_SSP1) {
sck = BOARD_SPI2_SCK_PIN;
miso = BOARD_SPI2_MISO_PIN;
mosi = BOARD_SPI2_MOSI_PIN;
spiInitialised[1] = true;
}
PINSEL_CFG_Type PinCfg; // data structure to hold init values
PinCfg.Funcnum = 2;
PinCfg.OpenDrain = 0;
PinCfg.Pinmode = 0;
PinCfg.Pinnum = LPC176x::pin_bit(sck);
PinCfg.Portnum = LPC176x::pin_port(sck);
PINSEL_ConfigPin(&PinCfg);
SET_OUTPUT(sck);
PinCfg.Pinnum = LPC176x::pin_bit(miso);
PinCfg.Portnum = LPC176x::pin_port(miso);
PINSEL_ConfigPin(&PinCfg);
SET_INPUT(miso);
PinCfg.Pinnum = LPC176x::pin_bit(mosi);
PinCfg.Portnum = LPC176x::pin_port(mosi);
PINSEL_ConfigPin(&PinCfg);
SET_OUTPUT(mosi);
}
updateSettings();
SSP_Cmd(_currentSetting->spi_d, ENABLE); // start SSP running
}
void SPIClass::beginTransaction(const SPISettings &cfg) {
uint8_t spiRate;
switch (cfg.spiRate()) {
case 8000000: spiRate = 0; break;
case 4000000: spiRate = 1; break;
case 2000000: spiRate = 2; break;
case 1000000: spiRate = 3; break;
case 500000: spiRate = 4; break;
case 250000: spiRate = 5; break;
case 125000: spiRate = 6; break;
default: spiRate = 2; break;
}
spiInit(spiRate);
setBitOrder(cfg.bitOrder);
setDataMode(cfg.dataMode);
setDataSize(cfg.dataSize);
//setClockDivider(determine_baud_rate(_currentSetting->spi_d, settings.clock));
begin();
}
uint8_t SPIClass::transfer(const uint8_t B) { return spiTransfer(B); }
uint8_t SPIClass::transfer(const uint16_t b) {
// Send and receive a single byte
SSP_ReceiveData(_currentSetting->spi_d); // read any previous data
SSP_SendData(_currentSetting->spi_d, b);
waitSpiTxEnd(_currentSetting->spi_d); // wait for it to finish
return SSP_ReceiveData(_currentSetting->spi_d);
}
uint16_t SPIClass::transfer16(const uint16_t data) {
return (transfer((data >> 8) & 0xFF) << 8)
| (transfer(data & 0xFF) & 0xFF);
return (transfer((data >> 8) & 0xFF) << 8) | (transfer(data & 0xFF) & 0xFF);
}
SPIClass SPI;
void SPIClass::end() {
// Neither is needed for Marlin
//SSP_Cmd(_currentSetting->spi_d, DISABLE);
//SSP_DeInit(_currentSetting->spi_d);
}
void SPIClass::send(uint8_t data) {
SSP_SendData(_currentSetting->spi_d, data);
}
void SPIClass::dmaSend(void *buf, uint16_t length, bool minc) {
//TODO: LPC dma can only write 0xFFF bytes at once.
GPDMA_Channel_CFG_Type GPDMACfg;
/* Configure GPDMA channel 0 -------------------------------------------------------------*/
/* DMA Channel 0 */
GPDMACfg.ChannelNum = 0;
// Source memory
GPDMACfg.SrcMemAddr = (uint32_t)buf;
// Destination memory - Not used
GPDMACfg.DstMemAddr = 0;
// Transfer size
GPDMACfg.TransferSize = length;
// Transfer width
GPDMACfg.TransferWidth = (_currentSetting->dataSize == DATA_SIZE_16BIT) ? GPDMA_WIDTH_HALFWORD : GPDMA_WIDTH_BYTE;
// Transfer type
GPDMACfg.TransferType = GPDMA_TRANSFERTYPE_M2P;
// Source connection - unused
GPDMACfg.SrcConn = 0;
// Destination connection
GPDMACfg.DstConn = (_currentSetting->spi_d == LPC_SSP0) ? GPDMA_CONN_SSP0_Tx : GPDMA_CONN_SSP1_Tx;
GPDMACfg.DMALLI = 0;
// Enable dma on SPI
SSP_DMACmd(_currentSetting->spi_d, SSP_DMA_TX, ENABLE);
// Only increase memory if minc is true
GPDMACfg.MemoryIncrease = (minc ? GPDMA_DMACCxControl_SI : 0);
// Setup channel with given parameter
GPDMA_Setup(&GPDMACfg);
// Enable DMA
GPDMA_ChannelCmd(0, ENABLE);
// Wait for data transfer
while (!GPDMA_IntGetStatus(GPDMA_STAT_RAWINTTC, 0) && !GPDMA_IntGetStatus(GPDMA_STAT_RAWINTERR, 0)) { }
// Clear err and int
GPDMA_ClearIntPending (GPDMA_STATCLR_INTTC, 0);
GPDMA_ClearIntPending (GPDMA_STATCLR_INTERR, 0);
// Disable DMA
GPDMA_ChannelCmd(0, DISABLE);
waitSpiTxEnd(_currentSetting->spi_d);
SSP_DMACmd(_currentSetting->spi_d, SSP_DMA_TX, DISABLE);
}
uint16_t SPIClass::read() {
return SSP_ReceiveData(_currentSetting->spi_d);
}
void SPIClass::read(uint8_t *buf, uint32_t len) {
for (uint16_t i = 0; i < len; i++) buf[i] = transfer(0xFF);
}
void SPIClass::setClock(uint32_t clock) { _currentSetting->clock = clock; }
void SPIClass::setModule(uint8_t device) { _currentSetting = &_settings[device - 1]; } // SPI channels are called 1, 2, and 3 but the array is zero-indexed
void SPIClass::setBitOrder(uint8_t bitOrder) { _currentSetting->bitOrder = bitOrder; }
void SPIClass::setDataMode(uint8_t dataMode) { _currentSetting->dataMode = dataMode; }
void SPIClass::setDataSize(uint32_t dataSize) { _currentSetting->dataSize = dataSize; }
/**
* Set up/tear down
*/
void SPIClass::updateSettings() {
//SSP_DeInit(_currentSetting->spi_d); //todo: need force de init?!
// Divide PCLK by 2 for SSP0
//CLKPWR_SetPCLKDiv(_currentSetting->spi_d == LPC_SSP0 ? CLKPWR_PCLKSEL_SSP0 : CLKPWR_PCLKSEL_SSP1, CLKPWR_PCLKSEL_CCLK_DIV_2);
SSP_CFG_Type HW_SPI_init; // data structure to hold init values
SSP_ConfigStructInit(&HW_SPI_init); // set values for SPI mode
HW_SPI_init.ClockRate = _currentSetting->clock;
HW_SPI_init.Databit = _currentSetting->dataSize;
/**
* SPI Mode CPOL CPHA Shift SCK-edge Capture SCK-edge
* 0 0 0 Falling Rising
* 1 0 1 Rising Falling
* 2 1 0 Rising Falling
* 3 1 1 Falling Rising
*/
switch (_currentSetting->dataMode) {
case SPI_MODE0:
HW_SPI_init.CPHA = SSP_CPHA_FIRST;
HW_SPI_init.CPOL = SSP_CPOL_HI;
break;
case SPI_MODE1:
HW_SPI_init.CPHA = SSP_CPHA_SECOND;
HW_SPI_init.CPOL = SSP_CPOL_HI;
break;
case SPI_MODE2:
HW_SPI_init.CPHA = SSP_CPHA_FIRST;
HW_SPI_init.CPOL = SSP_CPOL_LO;
break;
case SPI_MODE3:
HW_SPI_init.CPHA = SSP_CPHA_SECOND;
HW_SPI_init.CPOL = SSP_CPOL_LO;
break;
default:
break;
}
// TODO: handle bitOrder
SSP_Init(_currentSetting->spi_d, &HW_SPI_init); // puts the values into the proper bits in the SSP0 registers
}
#if SD_MISO_PIN == BOARD_SPI1_MISO_PIN
SPIClass SPI(1);
#elif SD_MISO_PIN == BOARD_SPI2_MISO_PIN
SPIClass SPI(2);
#endif
#endif // TARGET_LPC1768
@@ -21,26 +21,25 @@
*/
#pragma once
#include <SPI.h>
/**
* @file tft_lvgl_configuration.h
* @date 2020-02-21
* */
* Marlin currently requires 3 SPI classes:
*
* SPIClass:
* This class is normally provided by frameworks and has a semi-default interface.
* This is needed because some libraries reference it globally.
*
* SPISettings:
* Container for SPI configs for SPIClass. As above, libraries may reference it globally.
*
* These two classes are often provided by frameworks so we cannot extend them to add
* useful methods for Marlin.
*
* MarlinSPI:
* Provides the default SPIClass interface plus some Marlin goodies such as a simplified
* interface for SPI DMA transfer.
*
*/
//#ifdef __cplusplus
//extern "C" {
//#endif
#include <lvgl.h>
void tft_lvgl_init();
void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p);
bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data);
void LCD_Clear(uint16_t Color);
void tft_set_point(uint16_t x, uint16_t y, uint16_t point);
void ili9320_SetWindows(uint16_t StartX, uint16_t StartY, uint16_t width, uint16_t heigh);
void LCD_WriteRAM_Prepare(void);
//#ifdef __cplusplus
//} /* extern "C" */
//#endif
using MarlinSPI = SPIClass;
+38 -22
View File
@@ -21,35 +21,51 @@
*/
#ifdef TARGET_LPC1768
#include "../../inc/MarlinConfigPre.h"
#include "MarlinSerial.h"
#if (defined(SERIAL_PORT) && SERIAL_PORT == 0) || (defined(SERIAL_PORT_2) && SERIAL_PORT_2 == 0) || (defined(DGUS_SERIAL_PORT) && DGUS_SERIAL_PORT == 0)
MarlinSerial MSerial(LPC_UART0);
extern "C" void UART0_IRQHandler() {
MSerial.IRQHandler();
}
#include "../../inc/MarlinConfig.h"
#if USING_HW_SERIAL0
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);
MSerialT MSerial1(true, _MSerial1);
extern "C" void UART1_IRQHandler() { _MSerial1.IRQHandler(); }
#endif
#if USING_HW_SERIAL2
MarlinSerial _MSerial2(LPC_UART2);
MSerialT MSerial2(true, _MSerial2);
extern "C" void UART2_IRQHandler() { _MSerial2.IRQHandler(); }
#endif
#if USING_HW_SERIAL3
MarlinSerial _MSerial3(LPC_UART3);
MSerialT MSerial3(true, _MSerial3);
extern "C" void UART3_IRQHandler() { _MSerial3.IRQHandler(); }
#endif
#if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1 || DGUS_SERIAL_PORT == 1
MarlinSerial MSerial1((LPC_UART_TypeDef *) LPC_UART1);
extern "C" void UART1_IRQHandler() {
MSerial1.IRQHandler();
}
#endif
#if ENABLED(EMERGENCY_PARSER)
#if SERIAL_PORT == 2 || SERIAL_PORT_2 == 2 || DGUS_SERIAL_PORT == 2
MarlinSerial MSerial2(LPC_UART2);
extern "C" void UART2_IRQHandler() {
MSerial2.IRQHandler();
bool MarlinSerial::recv_callback(const char c) {
// 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 == &_MSerial0) emergency_parser.update(MSerial0.emergency_state, c);
#endif
#if USING_HW_SERIAL1
else if (this == &_MSerial1) emergency_parser.update(MSerial1.emergency_state, c);
#endif
#if USING_HW_SERIAL2
else if (this == &_MSerial2) emergency_parser.update(MSerial2.emergency_state, c);
#endif
#if USING_HW_SERIAL3
else if (this == &_MSerial3) emergency_parser.update(MSerial3.emergency_state, c);
#endif
return true;
}
#endif
#if SERIAL_PORT == 3 || SERIAL_PORT_2 == 3 || DGUS_SERIAL_PORT == 3
MarlinSerial MSerial3(LPC_UART3);
extern "C" void UART3_IRQHandler() {
MSerial3.IRQHandler();
}
#endif
#endif // TARGET_LPC1768
+17 -16
View File
@@ -28,6 +28,7 @@
#if ENABLED(EMERGENCY_PARSER)
#include "../../feature/e_parser.h"
#endif
#include "../../core/serial_hook.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
@@ -41,26 +42,26 @@
class MarlinSerial : public HardwareSerial<RX_BUFFER_SIZE, TX_BUFFER_SIZE> {
public:
MarlinSerial(LPC_UART_TypeDef *UARTx) :
HardwareSerial<RX_BUFFER_SIZE, TX_BUFFER_SIZE>(UARTx)
#if ENABLED(EMERGENCY_PARSER)
, emergency_state(EmergencyParser::State::EP_RESET)
#endif
{ }
MarlinSerial(LPC_UART_TypeDef *UARTx) : HardwareSerial<RX_BUFFER_SIZE, TX_BUFFER_SIZE>(UARTx) { }
void end() {}
#if ENABLED(EMERGENCY_PARSER)
bool recv_callback(const char c) override {
emergency_parser.update(emergency_state, c);
return true; // do not discard character
}
EmergencyParser::State emergency_state;
bool recv_callback(const char c) override;
#endif
};
extern MarlinSerial MSerial;
extern MarlinSerial MSerial1;
extern MarlinSerial MSerial2;
extern MarlinSerial MSerial3;
// On LPC176x framework, HardwareSerial does not implement the same interface as Arduino's Serial, so overloads
// of 'available' and 'read' method are not used in this multiple inheritance scenario.
// Instead, use a ForwardSerial here that adapts the interface.
typedef ForwardSerial1Class<MarlinSerial> MSerialT;
extern MSerialT MSerial0;
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. Ignore for now until it's actually required.
#if ENABLED(SERIAL_RUNTIME_HOOK)
#error "SERIAL_RUNTIME_HOOK is not yet supported for LPC176x."
#endif
-1
View File
@@ -46,7 +46,6 @@
* Version 2 Copyright (c) 2009 Michael Margolis. All right reserved.
*
* The only modification was to update/delete macros to match the LPC176x.
*
*/
#include <Servo.h>

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