Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
smiksky committed Dec 31, 2023
1 parent 9b4ac8f commit ca8c296
Show file tree
Hide file tree
Showing 314 changed files with 12,553 additions and 2,688 deletions.
10 changes: 9 additions & 1 deletion Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -890,8 +890,16 @@
//#define COREYX
//#define COREZX
//#define COREZY
//#define MARKFORGED_XY // MarkForged. See https://reprap.org/forum/read.php?152,504042

//
// MarkForged Kinematics
// See https://reprap.org/forum/read.php?152,504042
//
//#define MARKFORGED_XY
//#define MARKFORGED_YX
#if ANY(MARKFORGED_XY, MARKFORGED_YX)
//#define MARKFORGED_INVERSE // Enable for an inverted Markforged kinematics belt path
#endif

// Enable for a belt style printer with endless "Z" motion
//#define BELTPRINTER
Expand Down
122 changes: 78 additions & 44 deletions Marlin/Configuration_adv.h
Original file line number Diff line number Diff line change
Expand Up @@ -1120,42 +1120,62 @@
#if ENABLED(FT_MOTION)
#define FTM_DEFAULT_MODE ftMotionMode_DISABLED // Default mode of fixed time control. (Enums in ft_types.h)
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false)
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain
#define FTM_SHAPING_ZETA_X 0.1f // Zeta used by input shapers for X axis
#define FTM_SHAPING_ZETA_Y 0.1f // Zeta used by input shapers for Y axis

#define FTM_SHAPING_V_TOL_X 0.05f // Vibration tolerance used by EI input shapers for X axis
#define FTM_SHAPING_V_TOL_Y 0.05f // Vibration tolerance used by EI input shapers for Y axis

//#define FT_MOTION_MENU // Provide a MarlinUI menu to set M493 parameters

/**
* Advanced configuration
*/
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
#define FTM_WINDOW_SIZE 200 // Window size for trajectory generation.
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
// Calculate as:
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
// Calculate as (FTM_STEPPER_FS / FTM_FS).
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
// These values may be configured to adjust duration of loop().
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().

// This value may be configured to adjust duration to consume the command buffer.
// Try increasing this value if stepper motion is not smooth.
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.

//#define FT_MOTION_MENU // Provide a MarlinUI menu to set M493 parameters.
#define FTM_UNIFIED_BWS // DON'T DISABLE unless you use Ulendo FBS (not implemented)
#if ENABLED(FTM_UNIFIED_BWS)
#define FTM_BW_SIZE 100 // Unified Window and Batch size with a ratio of 2
#else
#define FTM_WINDOW_SIZE 200 // Custom Window size for trajectory generation needed by Ulendo FBS
#define FTM_BATCH_SIZE 100 // Custom Batch size for trajectory generation needed by Ulendo FBS
#endif

#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (Reciprocal of FTM_TS)
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (Reciprocal of FTM_FS)

// These values may be configured to adjust the duration of loop().
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop()
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop()

#if DISABLED(COREXY)
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update

// Use this to adjust the time required to consume the command buffer.
// Try increasing this value if stepper motion is choppy.
#define FTM_STEPPERCMD_BUFF_SIZE 3000 // Size of the stepper command buffers
// (FTM_STEPS_PER_LOOP * FTM_POINTS_PER_LOOP) is a good start
// If you run out of memory, fall back to 3000 and increase progressively
#else
// CoreXY motion needs a larger buffer size. These values are based on our testing.
#define FTM_STEPPER_FS 30000
#define FTM_STEPPERCMD_BUFF_SIZE 6000
#endif

#define FTM_STEPS_PER_UNIT_TIME (FTM_STEPPER_FS / FTM_FS) // Interpolated stepper commands per unit time
#define FTM_CTS_COMPARE_VAL (FTM_STEPS_PER_UNIT_TIME / 2) // Comparison value used in interpolation algorithm
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps

#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency
#define FTM_RATIO (FTM_FS / FTM_MIN_SHAPE_FREQ) // Factor for use in FTM_ZMAX. DON'T CHANGE.
#define FTM_ZMAX (FTM_RATIO * 2) // Maximum delays for shaping functions (even numbers only!)
// Calculate as:
// ZV : FTM_RATIO / 2
// ZVD, MZV : FTM_RATIO
// 2HEI : FTM_RATIO * 3 / 2
// 3HEI : FTM_RATIO * 2
#endif

/**
Expand Down Expand Up @@ -1470,11 +1490,6 @@
#define FEEDRATE_CHANGE_BEEP_FREQUENCY 440
#endif

//
// LCD Backlight Timeout
//
//#define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight

#if HAS_BED_PROBE && ANY(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)
#define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu
#if ENABLED(PROBE_OFFSET_WIZARD)
Expand Down Expand Up @@ -2205,6 +2220,15 @@
//#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan
#endif

//
// LCD Backlight Timeout
// Requires a display with a controllable backlight
//
//#define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight
#if defined(DISPLAY_SLEEP_MINUTES) || defined(LCD_BACKLIGHT_TIMEOUT_MINS)
#define EDITABLE_DISPLAY_TIMEOUT // Edit timeout with M255 S<minutes> and a menu item
#endif

//
// ADC Button Debounce
//
Expand Down Expand Up @@ -2648,10 +2672,12 @@
//#define FULL_REPORT_TO_HOST_FEATURE // Auto-report the machine status like Grbl CNC
#endif

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

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

/**
* This feature is EXPERIMENTAL so use with caution and test thoroughly.
* Enable this option to receive data on the serial ports via the onboard DMA
* controller for more stable and reliable high-speed serial communication.
* Only some STM32 MCUs are currently supported.
* Note: This has no effect on emulated USB serial ports.
*/
//#define SERIAL_DMA

/**
* Set the number of proportional font spaces required to fill up a typical character space.
* This can help to better align the output of commands like `G29 O` Mesh Output.
Expand Down Expand Up @@ -3444,9 +3479,8 @@
/**
* TWI/I2C BUS
*
* This feature is an EXPERIMENTAL feature so it shall not be used on production
* machines. Enabling this will allow you to send and receive I2C data from slave
* devices on the bus.
* This feature is EXPERIMENTAL but may be useful for custom I2C peripherals.
* Enable this to send and receive I2C data from slave devices on the bus.
*
* ; Example #1
* ; This macro send the string "Marlin" to the slave device with address 0x63 (99)
Expand Down
2 changes: 1 addition & 1 deletion Marlin/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
//#define STRING_DISTRIBUTION_DATE "2023-12-10"
//#define STRING_DISTRIBUTION_DATE "2023-12-31"

/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
Expand Down
4 changes: 0 additions & 4 deletions Marlin/src/HAL/AVR/MarlinSerial.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@
#include "../../core/types.h"
#include "../../core/serial_hook.h"

#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif

#ifndef USBCON

// The presence of the UBRRH register is used to detect a UART.
Expand Down
4 changes: 4 additions & 0 deletions Marlin/src/HAL/AVR/inc/Conditionals_LCD.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@
*
*/
#pragma once

#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif
29 changes: 29 additions & 0 deletions Marlin/src/HAL/AVR/u8g/LCD_defines.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* AVR LCD-specific defines
*/

uint8_t u8g_com_HAL_AVR_sw_sp_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_AVR_sw_sp_fn
34 changes: 34 additions & 0 deletions Marlin/src/HAL/DUE/u8g/LCD_defines.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* DUE (SAM3X8E) LCD-specific defines
*/

uint8_t u8g_com_HAL_DUE_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
uint8_t u8g_com_HAL_DUE_shared_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
uint8_t u8g_com_HAL_DUE_ST7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);

#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_DUE_sw_spi_fn
#define U8G_COM_HAL_HW_SPI_FN u8g_com_HAL_DUE_shared_hw_spi_fn
#define U8G_COM_ST7920_HAL_SW_SPI u8g_com_HAL_DUE_ST7920_sw_spi_fn
4 changes: 4 additions & 0 deletions Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@
*
*/
#pragma once

#if ANY(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
#define U8G_HW_SPI_ESP32 1
#endif
29 changes: 29 additions & 0 deletions Marlin/src/HAL/ESP32/u8g/LCD_defines.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* ESP32 LCD-specific defines
*/

uint8_t u8g_esp32_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
#define U8G_COM_HAL_HW_SPI_FN u8g_esp32_hw_spi_fn
8 changes: 3 additions & 5 deletions Marlin/src/HAL/ESP32/u8g_esp32_spi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

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

#if ANY(MKS_MINI_12864, FYSETC_MINI_12864_2_1)
#if U8G_HW_SPI_ESP32

#include <U8glib-HAL.h>
#include "../shared/HAL_SPI.h"
Expand All @@ -41,7 +41,6 @@

static SPISettings spiConfig;


#ifndef LCD_SPI_SPEED
#ifdef SD_SPI_SPEED
#define LCD_SPI_SPEED SD_SPI_SPEED // Assume SPI speed shared with SD
Expand All @@ -50,7 +49,7 @@ static SPISettings spiConfig;
#endif
#endif

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

#if ENABLED(PAUSE_LCD_FOR_BUSY_SD)
Expand Down Expand Up @@ -101,6 +100,5 @@ uint8_t u8g_eps_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_pt
return 1;
}

#endif // MKS_MINI_12864 || FYSETC_MINI_12864_2_1

#endif // U8G_HW_SPI_ESP32
#endif // ARDUINO_ARCH_ESP32
4 changes: 4 additions & 0 deletions Marlin/src/HAL/HC32/inc/Conditionals_LCD.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@
*
*/
#pragma once

#if ALL(HAS_MARLINUI_U8GLIB, FORCE_SOFT_SPI)
#define U8G_SW_SPI_HC32 1
#endif
29 changes: 29 additions & 0 deletions Marlin/src/HAL/HC32/u8g/LCD_defines.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* HC32 LCD-specific defines
*/

uint8_t u8g_com_HAL_HC32_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
#define U8G_COM_HAL_SW_SPI_FN u8g_com_HAL_HC32_sw_spi_fn
Loading

0 comments on commit ca8c296

Please sign in to comment.