Skip to content

Commit ca8c296

Browse files
committed
Squashed commit of the following:
commit 2203505 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Sun Dec 31 00:23:28 2023 +0000 [cron] Bump distribution date (2023-12-31) commit 06dc7f4 Author: ellensp <530024+ellensp@users.noreply.github.com> Date: Sun Dec 31 00:18:42 2023 +1300 🔧 Fix, extend FAN / AUTOFAN confict check (MarlinFirmware#26591) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit e6f1b07 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Sat Dec 30 05:01:48 2023 -0600 🩹 Restore usleep for native / sim commit f605c04 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Sat Dec 30 00:20:29 2023 +0000 [cron] Bump distribution date (2023-12-30) commit 2d97f08 Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Thu Dec 28 20:50:52 2023 -0800 ✨ BigTreeTech Manta M8P V2.0 (STM32H723ZE) (MarlinFirmware#26578) commit ba91fa0 Author: narno2202 <130909513+narno2202@users.noreply.github.com> Date: Fri Dec 29 05:41:34 2023 +0100 ⚡️ Optimize FT_MOTION (MarlinFirmware#26557) commit 1aeee2c Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Thu Dec 28 18:10:45 2023 -0800 🔧 TriGorilla Pro default to ONBOARD_SDIO (MarlinFirmware#26586) commit 4e23e52 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Fri Dec 29 00:17:32 2023 +0000 [cron] Bump distribution date (2023-12-29) commit 88cf3cb Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Thu Dec 28 16:07:52 2023 -0800 📌 Specify U8glib-HAL@0.5.4 (MarlinFirmware#26582) commit 59d26e4 Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Thu Dec 28 15:38:19 2023 -0800 🔨 Newer Platform & Toolchain for STM32G0 (MarlinFirmware#26585) commit cc641d7 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Thu Dec 28 00:21:10 2023 +0000 [cron] Bump distribution date (2023-12-28) commit 9d324f7 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Wed Dec 27 15:16:58 2023 -0600 🎨 Remove unused usleep commit 654e7a8 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Wed Dec 27 15:16:21 2023 -0600 🩹 Minor MKS UI fix commit d903a5e Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Wed Dec 27 01:27:43 2023 -0600 ✨ Initial support for HC32 U8G LCD (MarlinFirmware#26568) Co-authored-by: Chris <52449218+shadow578@users.noreply.github.com> commit 15f26b4 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Wed Dec 27 01:25:51 2023 -0600 🧑‍💻 AS_CHAR => C (MarlinFirmware#26569) commit 10d80eb Author: Taylor Talkington <taylor.talkington@gmail.com> Date: Wed Dec 27 02:24:16 2023 -0500 📝 Docs: Binary File Transfer (BFT) Protocol (MarlinFirmware#26570) commit 858954b Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Wed Dec 27 00:13:26 2023 -0600 🧑‍💻 Update Uncrustify config commit 3840663 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Wed Dec 27 00:28:24 2023 +0000 [cron] Bump distribution date (2023-12-27) commit bd36644 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Tue Dec 26 17:52:46 2023 -0600 🧑‍💻 Move U8G defines to HALs commit c485f51 Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Tue Dec 26 15:45:42 2023 -0800 ✨ BigTreeTech Kraken V1.0 (STM32H723ZG) (MarlinFirmware#26565) Co-authored-by: bigtreetech <38851044+bigtreetech@users.noreply.github.com> commit 06b9e40 Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Tue Dec 26 15:43:06 2023 -0800 🧑‍💻 Use MAX31865 flag (MarlinFirmware#26574) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit 7603023 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Mon Dec 25 20:58:38 2023 -0600 🔨 Apply signature.py help commit dbf81f4 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Tue Dec 26 00:20:41 2023 +0000 [cron] Bump distribution date (2023-12-26) commit bb557e5 Author: Dennis <16547088+soligen2010@users.noreply.github.com> Date: Sun Dec 24 22:40:20 2023 -0500 🩹 Fix string buffer warning (MarlinFirmware#26550) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit 89fdfcf Author: Keith Bennett <13375512+thisiskeithb@users.noreply.github.com> Date: Sun Dec 24 19:37:20 2023 -0800 🩹 Fix MARKFORGED_INVERSE typos (MarlinFirmware#26558) Followup to MarlinFirmware#26516 commit d9a388b Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Sun Dec 24 21:31:54 2023 -0600 🩹 Fix some serial chars commit b44e68e Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Mon Dec 25 00:21:58 2023 +0000 [cron] Bump distribution date (2023-12-25) commit 0f09554 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Sun Dec 24 14:53:09 2023 -0600 🧑‍💻 DWIN icon updates, etc. commit 18b0dbb Author: ellensp <530024+ellensp@users.noreply.github.com> Date: Mon Dec 25 07:07:00 2023 +1300 🐛 Creality Free Runs fixups (MarlinFirmware#26562) Followup to MarlinFirmware#25636, MarlinFirmware#26533 Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit fa8d2bd Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Sun Dec 24 00:23:04 2023 +0000 [cron] Bump distribution date (2023-12-24) commit d1ebaba Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Sat Dec 23 16:25:55 2023 -0600 🔨 Remove signature.py debug commit 71e0275 Author: Skopus <71988971+skopusdotorg@users.noreply.github.com> Date: Sat Dec 23 13:54:19 2023 +0330 ✨ Orca 3D Modular Controller (MarlinFirmware#26534) commit 205b0a6 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Sat Dec 23 04:19:23 2023 -0600 🎨 Whitespace in the rightplace commit 3029a6b Author: Mihai <299015+mh-dm@users.noreply.github.com> Date: Sat Dec 23 09:45:37 2023 +0200 🩹 Jerk correction for LIN_ADVANCE + CLASSIC_JERK (MarlinFirmware#26551) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit 342048b Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Sat Dec 23 00:20:19 2023 +0000 [cron] Bump distribution date (2023-12-23) commit ec060f9 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Fri Dec 22 17:47:29 2023 -0600 📝 Clean up variant labels commit 56ac5d0 Author: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Fri Dec 22 13:57:06 2023 -0500 🚸 Update ProUI Plot graph (MarlinFirmware#26539) commit ec7ab5a Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Thu Dec 21 22:35:51 2023 -0600 🔨 Build flag tweaks commit 2c5468c Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Thu Dec 21 22:34:19 2023 -0600 🎨 Planner indent commit dbdb2ec Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Fri Dec 22 00:21:13 2023 +0000 [cron] Bump distribution date (2023-12-22) commit c18294d Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Thu Dec 21 15:30:03 2023 -0600 🔧 Optional FAN_INVERTING commit 401ba66 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Thu Dec 21 15:25:48 2023 -0600 🔧 Up to 12 PWM fans commit 19617b7 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Thu Dec 21 06:06:34 2023 +0000 [cron] Bump distribution date (2023-12-21) commit eeacf76 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Wed Dec 20 22:07:59 2023 -0600 🔧 config.ini / JSON dump by @section (MarlinFirmware#26556) commit 738584d Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Wed Dec 20 06:06:01 2023 +0000 [cron] Bump distribution date (2023-12-20) commit f69effd Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Tue Dec 19 20:57:26 2023 -0600 🚸 Just "warn" on SD fail commit 67d7562 Author: narno2202 <130909513+narno2202@users.noreply.github.com> Date: Wed Dec 20 02:56:47 2023 +0100 🐛⚡️ FT_MOTION improvements (MarlinFirmware#26074) Co-Authored-By: Scott Lahteine <thinkyhead@users.noreply.github.com> commit 0ede16c Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Mon Dec 18 00:22:22 2023 +0000 [cron] Bump distribution date (2023-12-18) commit 4a89ef6 Author: geijt <3473304+geijt@users.noreply.github.com> Date: Sun Dec 17 23:33:46 2023 +0100 Fix Creality E3 "Free-runs" (MarlinFirmware#26533) Followup to MarlinFirmware#25636 commit 145ab7b Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Sat Dec 16 06:05:48 2023 +0000 [cron] Bump distribution date (2023-12-16) commit 3f9c2f8 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Fri Dec 15 23:40:26 2023 -0600 🔧 Fix IDEX home check Followup to MarlinFirmware#25780 commit 00298e6 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Fri Dec 15 20:23:59 2023 -0600 🔧 Update fan 0 conflict check Followup to MarlinFirmware#25568 commit 68ab7f6 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Fri Dec 15 00:21:58 2023 +0000 [cron] Bump distribution date (2023-12-15) commit 7ab63cd Author: Bob Kuhn <bob.kuhn@att.net> Date: Thu Dec 14 17:37:40 2023 -0600 ✨ Creality E3 Free-runs Silent Motherboard (MarlinFirmware#25636) commit b901338 Author: Mihai <299015+mh-dm@users.noreply.github.com> Date: Thu Dec 14 22:16:15 2023 +0200 🐛 Fix planner jerk limits (MarlinFirmware#26529) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit 75da355 Author: Scott Lahteine <thinkyhead@users.noreply.github.com> Date: Thu Dec 14 10:03:11 2023 -0600 🔧 Update CLASSIC_JERK conditionals commit 8bce9de Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Thu Dec 14 00:21:11 2023 +0000 [cron] Bump distribution date (2023-12-14) commit fef7439 Author: jesterhead82 <mclauss82@gmail.com> Date: Wed Dec 13 08:44:11 2023 +0100 ✨ MARKFORGED_INVERSE (MarlinFirmware#26516) commit 775c6bb Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Wed Dec 13 06:12:17 2023 +0000 [cron] Bump distribution date (2023-12-13) commit 06710e5 Author: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Wed Dec 13 00:33:03 2023 -0500 ✨ EDITABLE_DISPLAY_TIMEOUT (MarlinFirmware#26517) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> commit 81cfa23 Author: thinkyhead <thinkyhead@users.noreply.github.com> Date: Tue Dec 12 06:09:34 2023 +0000 [cron] Bump distribution date (2023-12-12) commit f3fd9e2 Author: ellensp <530024+ellensp@users.noreply.github.com> Date: Tue Dec 12 14:30:28 2023 +1300 🐛 Fix MKS TS35 with BTT SKR 1.3/1.4 (MarlinFirmware#26176) commit b94a335 Author: rondlh <77279634+rondlh@users.noreply.github.com> Date: Tue Dec 12 08:48:02 2023 +0800 ✨ SERIAL_DMA (for some STM32Fx) (MarlinFirmware#26328)
1 parent 9b4ac8f commit ca8c296

File tree

314 files changed

+12553
-2688
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

314 files changed

+12553
-2688
lines changed

Marlin/Configuration.h

+9-1
Original file line numberDiff line numberDiff line change
@@ -890,8 +890,16 @@
890890
//#define COREYX
891891
//#define COREZX
892892
//#define COREZY
893-
//#define MARKFORGED_XY // MarkForged. See https://reprap.org/forum/read.php?152,504042
893+
894+
//
895+
// MarkForged Kinematics
896+
// See https://reprap.org/forum/read.php?152,504042
897+
//
898+
//#define MARKFORGED_XY
894899
//#define MARKFORGED_YX
900+
#if ANY(MARKFORGED_XY, MARKFORGED_YX)
901+
//#define MARKFORGED_INVERSE // Enable for an inverted Markforged kinematics belt path
902+
#endif
895903

896904
// Enable for a belt style printer with endless "Z" motion
897905
//#define BELTPRINTER

Marlin/Configuration_adv.h

+78-44
Original file line numberDiff line numberDiff line change
@@ -1120,42 +1120,62 @@
11201120
#if ENABLED(FT_MOTION)
11211121
#define FTM_DEFAULT_MODE ftMotionMode_DISABLED // Default mode of fixed time control. (Enums in ft_types.h)
11221122
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
1123-
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
1124-
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
1125-
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
1126-
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
1127-
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
1128-
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
1123+
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers
1124+
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers
1125+
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false)
1126+
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain
1127+
#define FTM_SHAPING_ZETA_X 0.1f // Zeta used by input shapers for X axis
1128+
#define FTM_SHAPING_ZETA_Y 0.1f // Zeta used by input shapers for Y axis
1129+
1130+
#define FTM_SHAPING_V_TOL_X 0.05f // Vibration tolerance used by EI input shapers for X axis
1131+
#define FTM_SHAPING_V_TOL_Y 0.05f // Vibration tolerance used by EI input shapers for Y axis
1132+
1133+
//#define FT_MOTION_MENU // Provide a MarlinUI menu to set M493 parameters
11291134

11301135
/**
11311136
* Advanced configuration
11321137
*/
1133-
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
1134-
#define FTM_WINDOW_SIZE 200 // Window size for trajectory generation.
1135-
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
1136-
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
1137-
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
1138-
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
1139-
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
1140-
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
1141-
// Calculate as:
1142-
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
1143-
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
1144-
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
1145-
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
1146-
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
1147-
// Calculate as (FTM_STEPPER_FS / FTM_FS).
1148-
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
1149-
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
1150-
// These values may be configured to adjust duration of loop().
1151-
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
1152-
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
1153-
1154-
// This value may be configured to adjust duration to consume the command buffer.
1155-
// Try increasing this value if stepper motion is not smooth.
1156-
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
1157-
1158-
//#define FT_MOTION_MENU // Provide a MarlinUI menu to set M493 parameters.
1138+
#define FTM_UNIFIED_BWS // DON'T DISABLE unless you use Ulendo FBS (not implemented)
1139+
#if ENABLED(FTM_UNIFIED_BWS)
1140+
#define FTM_BW_SIZE 100 // Unified Window and Batch size with a ratio of 2
1141+
#else
1142+
#define FTM_WINDOW_SIZE 200 // Custom Window size for trajectory generation needed by Ulendo FBS
1143+
#define FTM_BATCH_SIZE 100 // Custom Batch size for trajectory generation needed by Ulendo FBS
1144+
#endif
1145+
1146+
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (Reciprocal of FTM_TS)
1147+
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (Reciprocal of FTM_FS)
1148+
1149+
// These values may be configured to adjust the duration of loop().
1150+
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop()
1151+
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop()
1152+
1153+
#if DISABLED(COREXY)
1154+
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update
1155+
1156+
// Use this to adjust the time required to consume the command buffer.
1157+
// Try increasing this value if stepper motion is choppy.
1158+
#define FTM_STEPPERCMD_BUFF_SIZE 3000 // Size of the stepper command buffers
1159+
// (FTM_STEPS_PER_LOOP * FTM_POINTS_PER_LOOP) is a good start
1160+
// If you run out of memory, fall back to 3000 and increase progressively
1161+
#else
1162+
// CoreXY motion needs a larger buffer size. These values are based on our testing.
1163+
#define FTM_STEPPER_FS 30000
1164+
#define FTM_STEPPERCMD_BUFF_SIZE 6000
1165+
#endif
1166+
1167+
#define FTM_STEPS_PER_UNIT_TIME (FTM_STEPPER_FS / FTM_FS) // Interpolated stepper commands per unit time
1168+
#define FTM_CTS_COMPARE_VAL (FTM_STEPS_PER_UNIT_TIME / 2) // Comparison value used in interpolation algorithm
1169+
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps
1170+
1171+
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency
1172+
#define FTM_RATIO (FTM_FS / FTM_MIN_SHAPE_FREQ) // Factor for use in FTM_ZMAX. DON'T CHANGE.
1173+
#define FTM_ZMAX (FTM_RATIO * 2) // Maximum delays for shaping functions (even numbers only!)
1174+
// Calculate as:
1175+
// ZV : FTM_RATIO / 2
1176+
// ZVD, MZV : FTM_RATIO
1177+
// 2HEI : FTM_RATIO * 3 / 2
1178+
// 3HEI : FTM_RATIO * 2
11591179
#endif
11601180

11611181
/**
@@ -1470,11 +1490,6 @@
14701490
#define FEEDRATE_CHANGE_BEEP_FREQUENCY 440
14711491
#endif
14721492

1473-
//
1474-
// LCD Backlight Timeout
1475-
//
1476-
//#define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight
1477-
14781493
#if HAS_BED_PROBE && ANY(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)
14791494
#define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu
14801495
#if ENABLED(PROBE_OFFSET_WIZARD)
@@ -2205,6 +2220,15 @@
22052220
//#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan
22062221
#endif
22072222

2223+
//
2224+
// LCD Backlight Timeout
2225+
// Requires a display with a controllable backlight
2226+
//
2227+
//#define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight
2228+
#if defined(DISPLAY_SLEEP_MINUTES) || defined(LCD_BACKLIGHT_TIMEOUT_MINS)
2229+
#define EDITABLE_DISPLAY_TIMEOUT // Edit timeout with M255 S<minutes> and a menu item
2230+
#endif
2231+
22082232
//
22092233
// ADC Button Debounce
22102234
//
@@ -2648,10 +2672,12 @@
26482672
//#define FULL_REPORT_TO_HOST_FEATURE // Auto-report the machine status like Grbl CNC
26492673
#endif
26502674

2651-
// Bad Serial-connections can miss a received command by sending an 'ok'
2652-
// Therefore some clients abort after 30 seconds in a timeout.
2653-
// Some other clients start sending commands while receiving a 'wait'.
2654-
// This "wait" is only sent when the buffer is empty. 1 second is a good value here.
2675+
/**
2676+
* Bad Serial-connections can miss a received command by sending an 'ok'
2677+
* Therefore some clients abort after 30 seconds in a timeout.
2678+
* Some other clients start sending commands while receiving a 'wait'.
2679+
* This "wait" is only sent when the buffer is empty. 1 second is a good value here.
2680+
*/
26552681
//#define NO_TIMEOUTS 1000 // (ms)
26562682

26572683
// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
@@ -2664,6 +2690,15 @@
26642690
// For serial echo, the number of digits after the decimal point
26652691
//#define SERIAL_FLOAT_PRECISION 4
26662692

2693+
/**
2694+
* This feature is EXPERIMENTAL so use with caution and test thoroughly.
2695+
* Enable this option to receive data on the serial ports via the onboard DMA
2696+
* controller for more stable and reliable high-speed serial communication.
2697+
* Only some STM32 MCUs are currently supported.
2698+
* Note: This has no effect on emulated USB serial ports.
2699+
*/
2700+
//#define SERIAL_DMA
2701+
26672702
/**
26682703
* Set the number of proportional font spaces required to fill up a typical character space.
26692704
* This can help to better align the output of commands like `G29 O` Mesh Output.
@@ -3444,9 +3479,8 @@
34443479
/**
34453480
* TWI/I2C BUS
34463481
*
3447-
* This feature is an EXPERIMENTAL feature so it shall not be used on production
3448-
* machines. Enabling this will allow you to send and receive I2C data from slave
3449-
* devices on the bus.
3482+
* This feature is EXPERIMENTAL but may be useful for custom I2C peripherals.
3483+
* Enable this to send and receive I2C data from slave devices on the bus.
34503484
*
34513485
* ; Example #1
34523486
* ; This macro send the string "Marlin" to the slave device with address 0x63 (99)

Marlin/Version.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
* here we define this default string as the date where the latest release
4242
* version was tagged.
4343
*/
44-
//#define STRING_DISTRIBUTION_DATE "2023-12-10"
44+
//#define STRING_DISTRIBUTION_DATE "2023-12-31"
4545

4646
/**
4747
* Defines a generic printer name to be output to the LCD after booting Marlin.

Marlin/src/HAL/AVR/MarlinSerial.h

-4
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@
3737
#include "../../core/types.h"
3838
#include "../../core/serial_hook.h"
3939

40-
#ifndef SERIAL_PORT
41-
#define SERIAL_PORT 0
42-
#endif
43-
4440
#ifndef USBCON
4541

4642
// The presence of the UBRRH register is used to detect a UART.

Marlin/src/HAL/AVR/inc/Conditionals_LCD.h

+4
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@
2020
*
2121
*/
2222
#pragma once
23+
24+
#ifndef SERIAL_PORT
25+
#define SERIAL_PORT 0
26+
#endif

Marlin/src/HAL/AVR/u8g/LCD_defines.h

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* AVR LCD-specific defines
26+
*/
27+
28+
uint8_t u8g_com_HAL_AVR_sw_sp_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
29+
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_AVR_sw_sp_fn

Marlin/src/HAL/DUE/u8g/LCD_defines.h

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* DUE (SAM3X8E) LCD-specific defines
26+
*/
27+
28+
uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
29+
uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
30+
uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
31+
32+
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_DUE_sw_spi_fn
33+
#define U8G_COM_HAL_HW_SPI_FN u8g_com_HAL_DUE_shared_hw_spi_fn
34+
#define U8G_COM_ST7920_HAL_SW_SPI u8g_com_HAL_DUE_ST7920_sw_spi_fn

Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h

+4
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@
2020
*
2121
*/
2222
#pragma once
23+
24+
#if ANY(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
25+
#define U8G_HW_SPI_ESP32 1
26+
#endif
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* ESP32 LCD-specific defines
26+
*/
27+
28+
uint8_t u8g_esp32_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
29+
#define U8G_COM_HAL_HW_SPI_FN u8g_esp32_hw_spi_fn

Marlin/src/HAL/ESP32/u8g_esp32_spi.cpp

+3-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
#include "../../inc/MarlinConfig.h"
2727

28-
#if ANY(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
28+
#if U8G_HW_SPI_ESP32
2929

3030
#include <U8glib-HAL.h>
3131
#include "../shared/HAL_SPI.h"
@@ -41,7 +41,6 @@
4141

4242
static SPISettings spiConfig;
4343

44-
4544
#ifndef LCD_SPI_SPEED
4645
#ifdef SD_SPI_SPEED
4746
#define LCD_SPI_SPEED SD_SPI_SPEED // Assume SPI speed shared with SD
@@ -50,7 +49,7 @@ static SPISettings spiConfig;
5049
#endif
5150
#endif
5251

53-
uint8_t u8g_eps_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) {
52+
uint8_t u8g_esp32_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) {
5453
static uint8_t msgInitCount = 2; // Ignore all messages until 2nd U8G_COM_MSG_INIT
5554

5655
#if ENABLED(PAUSE_LCD_FOR_BUSY_SD)
@@ -101,6 +100,5 @@ uint8_t u8g_eps_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_pt
101100
return 1;
102101
}
103102

104-
#endif // MKS_MINI_12864 || FYSETC_MINI_12864_2_1
105-
103+
#endif // U8G_HW_SPI_ESP32
106104
#endif // ARDUINO_ARCH_ESP32

Marlin/src/HAL/HC32/inc/Conditionals_LCD.h

+4
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@
2020
*
2121
*/
2222
#pragma once
23+
24+
#if ALL(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI)
25+
#define U8G_SW_SPI_HC32 1
26+
#endif

Marlin/src/HAL/HC32/u8g/LCD_defines.h

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4+
*
5+
* Based on Sprinter and grbl.
6+
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7+
*
8+
* This program is free software: you can redistribute it and/or modify
9+
* it under the terms of the GNU General Public License as published by
10+
* the Free Software Foundation, either version 3 of the License, or
11+
* (at your option) any later version.
12+
*
13+
* This program is distributed in the hope that it will be useful,
14+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16+
* GNU General Public License for more details.
17+
*
18+
* You should have received a copy of the GNU General Public License
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* HC32 LCD-specific defines
26+
*/
27+
28+
uint8_t u8g_com_HAL_HC32_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
29+
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_HC32_sw_spi_fn

0 commit comments

Comments
 (0)