From e310f2027920dda5ba82b44549a0176912c7a687 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sun, 6 Oct 2024 00:29:36 +0000 Subject: [PATCH 01/25] [cron] Bump distribution date (2024-10-06) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index c5ff3bdc2773..cea804c8d042 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-05" +//#define STRING_DISTRIBUTION_DATE "2024-10-06" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 9b94d5101816..f564af9778c2 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-05" + #define STRING_DISTRIBUTION_DATE "2024-10-06" #endif /** From 37bc552f3bf038d1238dd4f65f2c0dde7fe724c8 Mon Sep 17 00:00:00 2001 From: pbmgit <159720473+pbmgit@users.noreply.github.com> Date: Sun, 6 Oct 2024 11:14:53 -0500 Subject: [PATCH 02/25] =?UTF-8?q?=E2=9C=A8=20PELTIER=5FBED=20(#27334)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Scott Lahteine --- Marlin/Configuration.h | 34 +++++++ Marlin/Configuration_adv.h | 2 +- Marlin/src/inc/Conditionals-5-post.h | 10 +- Marlin/src/inc/Warnings.cpp | 7 ++ Marlin/src/module/temperature.cpp | 134 +++++++++++++++++---------- Marlin/src/module/temperature.h | 3 + 6 files changed, 140 insertions(+), 50 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index c51b0ed5ef12..6f3ceea16012 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -802,6 +802,40 @@ //#define BED_LIMIT_SWITCHING // Keep the bed temperature within BED_HYSTERESIS of the target #endif +/** + * Peltier Bed - Heating and Cooling + * + * A Peltier device transfers heat from one side to the other in proportion to the amount of + * current flowing through the device and the direction of current flow. So the same device + * can both heat and cool. + * + * When "cooling" in addition to rejecting the heat transferred from the hot side to the cold + * side, the dissipated power (voltage * current) must also be rejected. Be sure to set up a + * fan that can be powered in sync with the Peltier unit. + * + * This feature is only set up to run in bang-bang mode because Peltiers don't handle PWM + * well without filter circuitry. + * + * Since existing 3D printers are made to handle relatively high current for the heated bed, + * we can use the heated bed power pins to control the Peltier power using the same G-codes + * as the heated bed (M140, M190, etc.). + * + * A second GPIO pin is required to control current direction. + * Two configurations are possible: Relay and H-Bridge + * + * (At this time only relay is supported. H-bridge requires 4 MOS switches configured in H-Bridge.) + * + * Power is handled by the bang-bang control loop: 0 or 255. + * Cooling applications are more common than heating, so the pin states are commonly: + * LOW = Heating = Relay Energized + * HIGH = Cooling = Relay in "Normal" state + */ +//#define PELTIER_BED +#if ENABLED(PELTIER_BED) + #define PELTIER_DIR_PIN -1 // Relay control pin for Peltier + #define PELTIER_DIR_HEAT_STATE LOW // The relay pin state that causes the Peltier to heat +#endif + // Add 'M190 R T' for more gradual M190 R bed cooling. //#define BED_ANNEALING_GCODE diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index fc3b26d8a061..3928078d64bc 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -203,7 +203,7 @@ // #if DISABLED(PIDTEMPBED) #define BED_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control - #if ENABLED(BED_LIMIT_SWITCHING) + #if ANY(BED_LIMIT_SWITCHING, PELTIER_BED) #define BED_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > BED_HYSTERESIS #endif #endif diff --git a/Marlin/src/inc/Conditionals-5-post.h b/Marlin/src/inc/Conditionals-5-post.h index 8579afc6eb54..55d91c4b81dc 100644 --- a/Marlin/src/inc/Conditionals-5-post.h +++ b/Marlin/src/inc/Conditionals-5-post.h @@ -3039,7 +3039,7 @@ #endif /** - * Heated bed requires settings + * Heated Bed required settings */ #if HAS_HEATED_BED #ifndef MIN_BED_POWER @@ -3049,6 +3049,14 @@ #define MAX_BED_POWER 255 #endif #define WRITE_HEATER_BED(v) WRITE(HEATER_BED_PIN, (v) ^ ENABLED(HEATER_BED_INVERTING)) + #if ENABLED(PELTIER_BED) + /** + * A "Heated Bed" Peltier device needs a direction (heat/cool) to be + * implemented by a relay (single pin) or H-bridge (2 or 4 pin). + * H-Bridge can also perform PWM. (Not recommended for Peltier devices). + */ + #define WRITE_PELTIER_DIR(v) WRITE(PELTIER_DIR_PIN, (v) ? PELTIER_DIR_HEAT_STATE : !PELTIER_DIR_HEAT_STATE) + #endif #endif /** diff --git a/Marlin/src/inc/Warnings.cpp b/Marlin/src/inc/Warnings.cpp index f10408dd9c44..0ccc9d6acf68 100644 --- a/Marlin/src/inc/Warnings.cpp +++ b/Marlin/src/inc/Warnings.cpp @@ -921,3 +921,10 @@ #if defined(ARDUINO_ARCH_HC32) && F_CPU == 200000000 #warning "HC32 clock is assumed to be 200MHz. If this isn't the case for your board please submit a report so we can add support." #endif + +/** + * Peltier with PIDTEMPBED + */ +#if ALL(PELTIER_BED, PIDTEMPBED) + #warning "PELTIER_BED with PIDTEMPBED requires extra circuitry. Use with caution." +#endif diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 7e5c4bc9fd7d..cbb3498f552f 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1882,7 +1882,7 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T static bool last_pause_state; #endif - do { + do { // 'break' out of this block #if DISABLED(PIDTEMPBED) if (PENDING(ms, next_bed_check_ms) @@ -1908,38 +1908,63 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T constexpr bool bed_timed_out = false; #endif - if (!bed_timed_out) { - if (is_bed_preheating()) { - temp_bed.soft_pwm_amount = MAX_BED_POWER >> 1; - } - else { - #if ENABLED(PIDTEMPBED) - temp_bed.soft_pwm_amount = WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP) ? (int)get_pid_output_bed() >> 1 : 0; - #else - // Check if temperature is within the correct band - if (WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP)) { - #if ENABLED(BED_LIMIT_SWITCHING) + if (bed_timed_out) break; + + if (is_bed_preheating()) { + temp_bed.soft_pwm_amount = MAX_BED_POWER >> 1; + break; + } - // Range-limited "bang-bang" bed heating - if (temp_bed.is_above_target(BED_HYSTERESIS)) - temp_bed.soft_pwm_amount = 0; - else if (temp_bed.is_below_target(BED_HYSTERESIS)) - temp_bed.soft_pwm_amount = MAX_BED_POWER >> 1; + #if ENABLED(PIDTEMPBED) - #else // !PIDTEMPBED && !BED_LIMIT_SWITCHING + // + // PID Bed Heating + // + temp_bed.soft_pwm_amount = WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP) ? (int)get_pid_output_bed() >> 1 : 0; - // Simple (noisy) "bang-bang" bed heating - temp_bed.soft_pwm_amount = temp_bed.is_below_target() ? MAX_BED_POWER >> 1 : 0; + #else // !PIDTEMPBED - #endif - } - else { + // + // Range-limited "bang-bang" bed heating + // + + // Bed Off if the current bed temperature is outside the allowed range + if (!WITHIN(temp_bed.celsius, BED_MINTEMP, BED_MAXTEMP)) { + temp_bed.soft_pwm_amount = 0; + WRITE_HEATER_BED(LOW); + break; + } + + #if ENABLED(PELTIER_BED) + /** + * Peltier bang-bang maintains max bed power but changes + * current direction to switch between heating/cooling. + */ + if (temp_bed.target && temp_bed.is_above_target(BED_HYSTERESIS)) { // Fast Cooling + temp_bed.soft_pwm_amount = MAX_BED_POWER; + temp_bed.peltier_dir_heating = false; + } + else if (temp_bed.is_below_target(BED_HYSTERESIS)) { // Heating + temp_bed.soft_pwm_amount = MAX_BED_POWER; + temp_bed.peltier_dir_heating = true; + } + else + temp_bed.soft_pwm_amount = 0; // Off (ambient cooling) + + #else // !PELTIER_BED + + #if ENABLED(BED_LIMIT_SWITCHING) + if (temp_bed.is_above_target(BED_HYSTERESIS)) // Cooling (implicit off) temp_bed.soft_pwm_amount = 0; - WRITE_HEATER_BED(LOW); - } + else if (temp_bed.is_below_target(BED_HYSTERESIS)) // Heating + temp_bed.soft_pwm_amount = MAX_BED_POWER >> 1; + #else // Not bed limit switching + temp_bed.soft_pwm_amount = temp_bed.is_below_target() ? MAX_BED_POWER >> 1 : 0; #endif - } - } + + #endif // !PELTIER_BED + + #endif // !PIDTEMPBED } while (false); } @@ -2945,6 +2970,10 @@ void Temperature::init() { #endif #if HAS_HEATED_BED + #if ENABLED(PELTIER_BED) + SET_OUTPUT(PELTIER_DIR_PIN); + OUT_WRITE(PELTIER_DIR_PIN, !PELTIER_DIR_HEAT_STATE); + #endif #ifdef BOARD_OPENDRAIN_MOSFETS OUT_WRITE_OD(HEATER_BED_PIN, ENABLED(HEATER_BED_INVERTING)); #else @@ -3926,6 +3955,9 @@ void Temperature::isr() { #if HAS_HEATED_BED _PWM_MOD(BED, soft_pwm_bed, temp_bed); + #if ENABLED(PELTIER_BED) + WRITE_PELTIER_DIR(temp_bed.peltier_dir_heating); + #endif #endif #if HAS_HEATED_CHAMBER @@ -4392,15 +4424,15 @@ void Temperature::isr() { #if HAS_TEMP_SENSOR /** * Print a single heater state in the form: - * Bed: " B:nnn.nn /nnn.nn" - * Chamber: " C:nnn.nn /nnn.nn" - * Probe: " P:nnn.nn" - * Cooler: " L:nnn.nn /nnn.nn" - * Board: " M:nnn.nn" - * SoC: " S:nnn.nn" - * Redundant: " R:nnn.nn /nnn.nn" - * Extruder: " T0:nnn.nn /nnn.nn" - * With ADC: " T0:nnn.nn /nnn.nn (nnn.nn)" + * Extruder: " T0:nnn.nn /nnn.nn" + * Bed: " B:nnn.nn /nnn.nn" + * Chamber: " C:nnn.nn /nnn.nn" + * Cooler: " L:nnn.nn /nnn.nn" + * Probe: " P:nnn.nn" + * Board: " M:nnn.nn" + * SoC: " S:nnn.nn" + * Redundant: " R:nnn.nn /nnn.nn" + * With ADC: " T0:nnn.nn /nnn.nn (nnn.nn)" */ static void print_heater_state(const heater_id_t e, const_celsius_float_t c, const_celsius_float_t t OPTARG(SHOW_TEMP_ADC_VALUES, const float r) @@ -4418,12 +4450,12 @@ void Temperature::isr() { #if HAS_TEMP_CHAMBER case H_CHAMBER: k = 'C'; break; #endif - #if HAS_TEMP_PROBE - case H_PROBE: k = 'P'; show_t = false; break; - #endif #if HAS_TEMP_COOLER case H_COOLER: k = 'L'; break; #endif + #if HAS_TEMP_PROBE + case H_PROBE: k = 'P'; show_t = false; break; + #endif #if HAS_TEMP_BOARD case H_BOARD: k = 'M'; show_t = false; break; #endif @@ -4450,6 +4482,17 @@ void Temperature::isr() { delay(2); } + /** + * Print all heater states followed by power data on a single line. + * See print_heater_state for heater output strings. + * Power output strings are in the format: + * Extruder: " @:nnn" + * Bed: " B@:nnn" + * Peltier: " P@:H/C" + * Chamber: " C@:nnn" + * Cooler: " L@:nnn" + * Hotends: " @0:nnn @1:nnn ..." + */ void Temperature::print_heater_states(const int8_t target_extruder OPTARG(HAS_TEMP_REDUNDANT, const bool include_r/*=false*/) ) { @@ -4481,15 +4524,10 @@ void Temperature::isr() { HOTEND_LOOP() print_heater_state((heater_id_t)e, degHotend(e), degTargetHotend(e) OPTARG(SHOW_TEMP_ADC_VALUES, rawHotendTemp(e))); #endif SString<100> s(F(" @:"), getHeaterPower((heater_id_t)target_extruder)); - #if HAS_HEATED_BED - s.append(" B@:", getHeaterPower(H_BED)); - #endif - #if HAS_HEATED_CHAMBER - s.append(" C@:", getHeaterPower(H_CHAMBER)); - #endif - #if HAS_COOLER - s.append(" C@:", getHeaterPower(H_COOLER)); - #endif + TERN_(HAS_HEATED_BED, s.append(F(" B@:"), getHeaterPower(H_BED))); + TERN_(PELTIER_BED, s.append(F(" P@:"), temp_bed.peltier_dir_heating ? 'H' : 'C')); + TERN_(HAS_HEATED_CHAMBER, s.append(F(" C@:"), getHeaterPower(H_CHAMBER))); + TERN_(HAS_COOLER, s.append(F(" L@:"), getHeaterPower(H_COOLER))); #if HAS_MULTI_HOTEND HOTEND_LOOP() s.append(F(" @"), e, ':', getHeaterPower((heater_id_t)e)); #endif diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index d5ed80ad3a91..0d5984b0f4ef 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -437,6 +437,9 @@ typedef struct HeaterInfo : public TempInfo { uint8_t soft_pwm_amount; bool is_below_target(const celsius_t offs=0) const { return (target - celsius > offs); } // celsius < target - offs bool is_above_target(const celsius_t offs=0) const { return (celsius - target > offs); } // celsius > target + offs + #if ENABLED(PELTIER_BED) + bool peltier_dir_heating; // = false + #endif } heater_info_t; // A heater with PID stabilization From 70ef7978b418691904b1fe70f6c1009295eb5f7f Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 7 Oct 2024 00:28:26 +0000 Subject: [PATCH 03/25] [cron] Bump distribution date (2024-10-07) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index cea804c8d042..2d552a681577 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-06" +//#define STRING_DISTRIBUTION_DATE "2024-10-07" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index f564af9778c2..4bf8ce5c5222 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-06" + #define STRING_DISTRIBUTION_DATE "2024-10-07" #endif /** From 3a6bd6920e445a334a95704453ee310bed0c367a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 6 Oct 2024 19:56:31 -0500 Subject: [PATCH 04/25] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20BTT=5FSKR=5FV3=5F0?= =?UTF-8?q?=20=3D>=20BTT=5FSKR=5F3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/core/boards.h | 4 ++-- Marlin/src/inc/Conditionals-4-adv.h | 3 +-- Marlin/src/pins/pins.h | 16 ++++++++++++---- .../{pins_BTT_SKR_V3_0.h => pins_BTT_SKR_3.h} | 8 ++++++-- ...ins_BTT_SKR_V3_0_EZ.h => pins_BTT_SKR_3_EZ.h} | 8 ++++++-- ...SKR_V3_0_common.h => pins_BTT_SKR_3_common.h} | 4 +--- buildroot/tests/STM32H743VI_btt | 6 +++--- 7 files changed, 31 insertions(+), 18 deletions(-) rename Marlin/src/pins/stm32h7/{pins_BTT_SKR_V3_0.h => pins_BTT_SKR_3.h} (87%) rename Marlin/src/pins/stm32h7/{pins_BTT_SKR_V3_0_EZ.h => pins_BTT_SKR_3_EZ.h} (86%) rename Marlin/src/pins/stm32h7/{pins_BTT_SKR_V3_0_common.h => pins_BTT_SKR_3_common.h} (98%) diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index fb17669161fd..ef2ab737335f 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -486,8 +486,8 @@ #define BOARD_NUCLEO_F767ZI 6001 // ST NUCLEO-F767ZI Dev Board #define BOARD_BTT_SKR_SE_BX_V2 6002 // BigTreeTech SKR SE BX V2.0 (STM32H743II) #define BOARD_BTT_SKR_SE_BX_V3 6003 // BigTreeTech SKR SE BX V3.0 (STM32H743II) -#define BOARD_BTT_SKR_V3_0 6004 // BigTreeTech SKR V3.0 (STM32H743VI / STM32H723VG) -#define BOARD_BTT_SKR_V3_0_EZ 6005 // BigTreeTech SKR V3.0 EZ (STM32H743VI / STM32H723VG) +#define BOARD_BTT_SKR_3 6004 // BigTreeTech SKR 3 (STM32H743VI / STM32H723VG) +#define BOARD_BTT_SKR_3_EZ 6005 // BigTreeTech SKR 3 EZ (STM32H743VI / STM32H723VG) #define BOARD_BTT_OCTOPUS_MAX_EZ_V1_0 6006 // BigTreeTech Octopus Max EZ V1.0 (STM32H723ZE) #define BOARD_BTT_OCTOPUS_PRO_V1_0_1 6007 // BigTreeTech Octopus Pro v1.0.1 (STM32H723ZE) #define BOARD_BTT_OCTOPUS_PRO_V1_1 6008 // BigTreeTech Octopus Pro v1.1 (STM32H723ZE) diff --git a/Marlin/src/inc/Conditionals-4-adv.h b/Marlin/src/inc/Conditionals-4-adv.h index 291c140bfc07..f6d5b0ac7338 100644 --- a/Marlin/src/inc/Conditionals-4-adv.h +++ b/Marlin/src/inc/Conditionals-4-adv.h @@ -1368,8 +1368,7 @@ * currently HAL.h must be included ahead of pins.h. */ #if LCD_IS_SERIAL_HOST && !defined(LCD_SERIAL_PORT) - #if MB(MKS_MONSTER8_V1, BTT_SKR_MINI_E3_V1_0, BTT_SKR_MINI_E3_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_MINI_E3_V3_0, BTT_SKR_MINI_E3_V3_0_1, BTT_SKR_E3_TURBO, BTT_OCTOPUS_V1_1, BTT_SKR_V3_0, BTT_SKR_V3_0_EZ, AQUILA_V101) - + #if MB(MKS_MONSTER8_V1, BTT_SKR_MINI_E3_V1_0, BTT_SKR_MINI_E3_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_MINI_E3_V3_0, BTT_SKR_MINI_E3_V3_0_1, BTT_SKR_E3_TURBO, BTT_OCTOPUS_V1_1, BTT_SKR_3, BTT_SKR_3_EZ, AQUILA_V101) #define LCD_SERIAL_PORT 1 #elif MB(CREALITY_V24S1_301, CREALITY_V24S1_301F4, CREALITY_F401RE, CREALITY_V423, CREALITY_CR4NTXXC10, MKS_ROBIN, PANOWIN_CUTLASS, KODAMA_BARDO) #define LCD_SERIAL_PORT 2 diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index a8d97ecd233f..c69c1edb2a61 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -863,10 +863,10 @@ #include "stm32h7/pins_BTT_SKR_SE_BX_V2.h" // STM32H7 env:BTT_SKR_SE_BX #elif MB(BTT_SKR_SE_BX_V3) #include "stm32h7/pins_BTT_SKR_SE_BX_V3.h" // STM32H7 env:BTT_SKR_SE_BX -#elif MB(BTT_SKR_V3_0) - #include "stm32h7/pins_BTT_SKR_V3_0.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt -#elif MB(BTT_SKR_V3_0_EZ) - #include "stm32h7/pins_BTT_SKR_V3_0_EZ.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt +#elif MB(BTT_SKR_3) + #include "stm32h7/pins_BTT_SKR_3.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt +#elif MB(BTT_SKR_3_EZ) + #include "stm32h7/pins_BTT_SKR_3_EZ.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt #elif MB(BTT_OCTOPUS_MAX_EZ_V1_0) #include "stm32h7/pins_BTT_OCTOPUS_MAX_EZ.h" // STM32H7 env:STM32H723ZE_btt #elif MB(BTT_OCTOPUS_PRO_V1_0_1) @@ -989,6 +989,8 @@ #define BOARD_BTT_MANTA_M4P_V1_0 99927 #define BOARD_VAKE403D 99928 #define BOARD_TRONXY_V10 99929 + #define BOARD_BTT_SKR_V3_0 99930 + #define BOARD_BTT_SKR_V3_0_EZ 99931 #if MB(MKS_13) #error "BOARD_MKS_13 is now BOARD_MKS_GEN_13. Please update your configuration." @@ -1050,6 +1052,10 @@ #error "BOARD_TRONXY_V10 is now BOARD_TRONXY_CXY_446_V10. Please update your configuration." #elif MB(VAKE403D) #error "BOARD_VAKE403D is no longer supported in Marlin." + #elif MB(BOARD_BTT_SKR_V3_0) + #error "BOARD_BTT_SKR_V3_0 is now BOARD_BTT_SKR_3." + #elif MB(BOARD_BTT_SKR_V3_0_EZ) + #error "BOARD_BTT_SKR_V3_0_EZ is now BOARD_BTT_SKR_3_EZ." #elif defined(MOTHERBOARD) #error "Unknown MOTHERBOARD value set in Configuration.h." #else @@ -1087,6 +1093,8 @@ #undef BOARD_BTT_MANTA_M4P_V1_0 #undef BOARD_VAKE403D #undef BOARD_TRONXY_V10 + #undef BOARD_BTT_SKR_V3_0 + #undef BOARD_BTT_SKR_V3_0_EZ #endif diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h similarity index 87% rename from Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0.h rename to Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h index d83548608585..c8317b249868 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h @@ -21,6 +21,10 @@ */ #pragma once -#define BOARD_INFO_NAME "BTT SKR V3" +/** + * BigTreeTech SKR 3 (STM32H743VI / STM32H723VG) + */ + +#define BOARD_INFO_NAME "BTT SKR 3" -#include "pins_BTT_SKR_V3_0_common.h" +#include "pins_BTT_SKR_3_common.h" diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_EZ.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_EZ.h similarity index 86% rename from Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_EZ.h rename to Marlin/src/pins/stm32h7/pins_BTT_SKR_3_EZ.h index 003f20f5cf6e..9746cec29e68 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_EZ.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_EZ.h @@ -21,6 +21,10 @@ */ #pragma once -#define BOARD_INFO_NAME "BTT SKR V3 EZ" +/** + * BigTreeTech SKR 3 EZ (STM32H743VI / STM32H723VG) + */ + +#define BOARD_INFO_NAME "BTT SKR 3 EZ" -#include "pins_BTT_SKR_V3_0_common.h" +#include "pins_BTT_SKR_3_common.h" diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_common.h similarity index 98% rename from Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h rename to Marlin/src/pins/stm32h7/pins_BTT_SKR_3_common.h index b67992186315..8c1692903a69 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_common.h @@ -454,9 +454,7 @@ * DWIN pins are labeled as printed on DWIN PCB. GND, VCC, A, B, ENT & BEEP can be connected in the same * orientation as the existing plug/DWIN to EXP1. TX/RX need to be connected to the TFT port, with TX->RX, RX->TX. */ - #ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING - #error "CAUTION! Ender-3 V2 display requires a custom cable. See 'pins_BTT_SKR_V3_0_common.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)" - #endif + CONTROLLER_WARNING("BTT_SKR_3_common", "Ender-3 V2 display", "Requires TX/RX to be connected to the TFT port with TX->RX, RX->TX") #define BEEPER_PIN EXP1_06_PIN #define BTN_EN1 EXP1_08_PIN diff --git a/buildroot/tests/STM32H743VI_btt b/buildroot/tests/STM32H743VI_btt index e73a786ff41e..f6b60c8d9d1d 100755 --- a/buildroot/tests/STM32H743VI_btt +++ b/buildroot/tests/STM32H743VI_btt @@ -19,14 +19,14 @@ exec_test $1 $2 "Creality Ender-5 Plus with BigTreeTech SKR 3" "$3" # SKR 3 EZ default # restore_configs -opt_set MOTHERBOARD BOARD_BTT_SKR_V3_0_EZ SERIAL_PORT -1 +opt_set MOTHERBOARD BOARD_BTT_SKR_3_EZ SERIAL_PORT -1 exec_test $1 $2 "BigTreeTech SKR 3 EZ | Default Configuration" "$3" # # SKR 3 EZ with MMU2 # restore_configs -opt_set MOTHERBOARD BOARD_BTT_SKR_V3_0_EZ SERIAL_PORT -1 \ +opt_set MOTHERBOARD BOARD_BTT_SKR_3_EZ SERIAL_PORT -1 \ BAUDRATE 115200 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 \ Z_DRIVER_TYPE TMC2209 Z2_DRIVER_TYPE TMC2209 E0_DRIVER_TYPE TMC2209 \ EXTRUDERS 5 MMU_MODEL PRUSA_MMU2 HEATER_0_MAXTEMP 305 \ @@ -60,7 +60,7 @@ exec_test $1 $2 "BigTreeTech SKR 3 EZ | MMU2" "$3" # SKR 3 EZ with MMU3 # restore_configs -opt_set MOTHERBOARD BOARD_BTT_SKR_V3_0_EZ SERIAL_PORT -1 \ +opt_set MOTHERBOARD BOARD_BTT_SKR_3_EZ SERIAL_PORT -1 \ BAUDRATE 115200 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 \ Z_DRIVER_TYPE TMC2209 Z2_DRIVER_TYPE TMC2209 E0_DRIVER_TYPE TMC2209 \ EXTRUDERS 5 MMU_MODEL PRUSA_MMU3 HEATER_0_MAXTEMP 305 \ From 4bf13bea42615de60a2c2905f50f5af1452bd0f4 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 6 Oct 2024 19:57:26 -0500 Subject: [PATCH 05/25] =?UTF-8?q?=F0=9F=8E=A8=20Apply=20some=20#ifndef?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MARLIN_BTT_EBB42_V1_1/variant_MARLIN_BTT_EBB42_V1_1.h | 2 +- .../variants/MARLIN_F401RC/variant_MARLIN_STM32F401RC.h | 2 +- .../variants/MARLIN_G0B1VE/variant_MARLIN_STM32G0B1VE.h | 2 +- .../variants/MARLIN_H723VG/variant_MARLIN_STM32H723VG.h | 8 ++++---- .../variants/MARLIN_H723ZE/variant_MARLIN_STM32H723ZE.h | 8 ++++---- .../variants/MARLIN_H723ZG/variant_MARLIN_STM32H723ZG.h | 8 ++++---- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/buildroot/share/PlatformIO/variants/MARLIN_BTT_EBB42_V1_1/variant_MARLIN_BTT_EBB42_V1_1.h b/buildroot/share/PlatformIO/variants/MARLIN_BTT_EBB42_V1_1/variant_MARLIN_BTT_EBB42_V1_1.h index 9373e2fa3ba5..170f8936bdac 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_BTT_EBB42_V1_1/variant_MARLIN_BTT_EBB42_V1_1.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_BTT_EBB42_V1_1/variant_MARLIN_BTT_EBB42_V1_1.h @@ -167,7 +167,7 @@ #endif // Extra HAL modules -#if !defined(HAL_DAC_MODULE_DISABLED) +#ifndef HAL_DAC_MODULE_DISABLED #define HAL_DAC_MODULE_ENABLED #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F401RC/variant_MARLIN_STM32F401RC.h b/buildroot/share/PlatformIO/variants/MARLIN_F401RC/variant_MARLIN_STM32F401RC.h index 37d60d93068a..779ef92a304a 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_F401RC/variant_MARLIN_STM32F401RC.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_F401RC/variant_MARLIN_STM32F401RC.h @@ -153,7 +153,7 @@ #endif // Extra HAL modules -#if !defined(HAL_SD_MODULE_DISABLED) +#ifndef HAL_SD_MODULE_DISABLED #define HAL_SD_MODULE_ENABLED #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_G0B1VE/variant_MARLIN_STM32G0B1VE.h b/buildroot/share/PlatformIO/variants/MARLIN_G0B1VE/variant_MARLIN_STM32G0B1VE.h index e6f2251db059..0c999d2b89af 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_G0B1VE/variant_MARLIN_STM32G0B1VE.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_G0B1VE/variant_MARLIN_STM32G0B1VE.h @@ -225,7 +225,7 @@ #endif // Extra HAL modules -#if !defined(HAL_DAC_MODULE_DISABLED) +#ifndef HAL_DAC_MODULE_DISABLED #define HAL_DAC_MODULE_ENABLED #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_H723VG/variant_MARLIN_STM32H723VG.h b/buildroot/share/PlatformIO/variants/MARLIN_H723VG/variant_MARLIN_STM32H723VG.h index c3e5c78ec51f..e5072e8d30b2 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_H723VG/variant_MARLIN_STM32H723VG.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_H723VG/variant_MARLIN_STM32H723VG.h @@ -228,16 +228,16 @@ #endif // Extra HAL modules -#if !defined(HAL_DAC_MODULE_DISABLED) +#ifndef HAL_DAC_MODULE_DISABLED #define HAL_DAC_MODULE_ENABLED #endif -#if !defined(HAL_ETH_MODULE_DISABLED) +#ifndef HAL_ETH_MODULE_DISABLED #define HAL_ETH_MODULE_ENABLED #endif -#if !defined(HAL_OSPI_MODULE_DISABLED) +#ifndef HAL_OSPI_MODULE_DISABLED #define HAL_OSPI_MODULE_ENABLED #endif -#if !defined(HAL_SD_MODULE_DISABLED) +#ifndef HAL_SD_MODULE_DISABLED #define HAL_SD_MODULE_ENABLED #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_H723ZE/variant_MARLIN_STM32H723ZE.h b/buildroot/share/PlatformIO/variants/MARLIN_H723ZE/variant_MARLIN_STM32H723ZE.h index c9c631412a04..ce6f6e7a06cf 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_H723ZE/variant_MARLIN_STM32H723ZE.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_H723ZE/variant_MARLIN_STM32H723ZE.h @@ -269,16 +269,16 @@ #endif // Extra HAL modules -#if !defined(HAL_DAC_MODULE_DISABLED) +#ifndef HAL_DAC_MODULE_DISABLED #define HAL_DAC_MODULE_ENABLED #endif -#if !defined(HAL_ETH_MODULE_DISABLED) +#ifndef HAL_ETH_MODULE_DISABLED #define HAL_ETH_MODULE_ENABLED #endif -#if !defined(HAL_OSPI_MODULE_DISABLED) +#ifndef HAL_OSPI_MODULE_DISABLED #define HAL_OSPI_MODULE_ENABLED #endif -#if !defined(HAL_SD_MODULE_DISABLED) +#ifndef HAL_SD_MODULE_DISABLED #define HAL_SD_MODULE_ENABLED #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_H723ZG/variant_MARLIN_STM32H723ZG.h b/buildroot/share/PlatformIO/variants/MARLIN_H723ZG/variant_MARLIN_STM32H723ZG.h index 1b518f01cfa4..5174ce087542 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_H723ZG/variant_MARLIN_STM32H723ZG.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_H723ZG/variant_MARLIN_STM32H723ZG.h @@ -267,16 +267,16 @@ #endif // Extra HAL modules -#if !defined(HAL_DAC_MODULE_DISABLED) +#ifndef HAL_DAC_MODULE_DISABLED #define HAL_DAC_MODULE_ENABLED #endif -#if !defined(HAL_ETH_MODULE_DISABLED) +#ifndef HAL_ETH_MODULE_DISABLED #define HAL_ETH_MODULE_ENABLED #endif -#if !defined(HAL_OSPI_MODULE_DISABLED) +#ifndef HAL_OSPI_MODULE_DISABLED #define HAL_OSPI_MODULE_ENABLED #endif -#if !defined(HAL_SD_MODULE_DISABLED) +#ifndef HAL_SD_MODULE_DISABLED #define HAL_SD_MODULE_ENABLED #endif From 4a3f69ad6d3829c4719b40b8a1d7a0bce3286c75 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 7 Oct 2024 12:50:56 -0500 Subject: [PATCH 06/25] =?UTF-8?q?=F0=9F=90=9B=20Keep=20DMA2=5FChannel1=20f?= =?UTF-8?q?or=20STM32F1xx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Followup to #27385 --- Marlin/src/HAL/STM32/tft/tft_fsmc.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp index e508f90e61d6..bb011ec6f452 100644 --- a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp +++ b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp @@ -111,11 +111,11 @@ void TFT_FSMC::init() { HAL_SRAM_Init(&SRAMx, &timing, &extTiming); + __HAL_RCC_DMA2_CLK_ENABLE(); + #ifdef STM32F1xx - __HAL_RCC_DMA1_CLK_ENABLE(); - DMAtx.Instance = DMA1_Channel1; + DMAtx.Instance = DMA2_Channel1; #elif defined(STM32F4xx) - __HAL_RCC_DMA2_CLK_ENABLE(); DMAtx.Instance = DMA2_Stream0; DMAtx.Init.Channel = DMA_CHANNEL_0; DMAtx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; From f8954ca79b8303b2c53cbbb73ad8828eeede3562 Mon Sep 17 00:00:00 2001 From: Andrew <18502096+classicrocker883@users.noreply.github.com> Date: Mon, 7 Oct 2024 14:00:29 -0400 Subject: [PATCH 07/25] =?UTF-8?q?=F0=9F=93=9D=20Fix=20comment=20missing=20?= =?UTF-8?q?')'=20(#27325)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ConfigEmbedding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ConfigEmbedding.md b/docs/ConfigEmbedding.md index 90075bc37343..562661e11112 100644 --- a/docs/ConfigEmbedding.md +++ b/docs/ConfigEmbedding.md @@ -3,7 +3,7 @@ Starting with version 2.0.9.3, Marlin can automatically extract the configuration used to generate the firmware and store it in the firmware binary. This is enabled by defining `CONFIGURATION_EMBEDDING` in `Configuration_adv.h`. ## How it's done -At the start of the PlatformIO build process, we create an embedded configuration by extracting all active options from the Configuration files and writing them out as JSON to `marlin_config.json`, which also includes specific build information (like the git revision, the build date, and some version information. The JSON file is then compressed in a ZIP archive called `.pio/build/mc.zip` which is converted into a C array and stored in a C++ file called `mc.h` which is included in the build. +At the start of the PlatformIO build process, we create an embedded configuration by extracting all active options from the Configuration files and writing them out as JSON to `marlin_config.json`, which also includes specific build information (like the git revision, the build date, and some version information). The JSON file is then compressed in a ZIP archive called `.pio/build/mc.zip` which is converted into a C array and stored in a C++ file called `mc.h` which is included in the build. ## Extracting configurations from a Marlin binary To get the configuration out of a binary firmware, you'll need a non-write-protected SD card inserted into the printer while running the firmware. From fadaa2db09e8346428eafe4178ea8fd83ce55f66 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Tue, 8 Oct 2024 00:26:43 +0000 Subject: [PATCH 08/25] [cron] Bump distribution date (2024-10-08) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 2d552a681577..b15e77649301 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-07" +//#define STRING_DISTRIBUTION_DATE "2024-10-08" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 4bf8ce5c5222..051a74720131 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-07" + #define STRING_DISTRIBUTION_DATE "2024-10-08" #endif /** From a66b22c4f16867c345a1256a808437d508485e72 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 7 Oct 2024 21:08:18 -0500 Subject: [PATCH 09/25] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20BTT=5FSKR=5F3=20=3D>?= =?UTF-8?q?=20BTT=5FSKR=5FV3=5F0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reverting 3a6bd6920e --- Marlin/src/core/boards.h | 4 ++-- Marlin/src/inc/Conditionals-4-adv.h | 3 ++- Marlin/src/pins/pins.h | 16 ++++------------ .../{pins_BTT_SKR_3.h => pins_BTT_SKR_V3_0.h} | 4 ++-- ...ins_BTT_SKR_3_EZ.h => pins_BTT_SKR_V3_0_EZ.h} | 4 ++-- ...SKR_3_common.h => pins_BTT_SKR_V3_0_common.h} | 4 +++- buildroot/tests/STM32H743VI_btt | 6 +++--- 7 files changed, 18 insertions(+), 23 deletions(-) rename Marlin/src/pins/stm32h7/{pins_BTT_SKR_3.h => pins_BTT_SKR_V3_0.h} (92%) rename Marlin/src/pins/stm32h7/{pins_BTT_SKR_3_EZ.h => pins_BTT_SKR_V3_0_EZ.h} (92%) rename Marlin/src/pins/stm32h7/{pins_BTT_SKR_3_common.h => pins_BTT_SKR_V3_0_common.h} (98%) diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index ef2ab737335f..fb17669161fd 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -486,8 +486,8 @@ #define BOARD_NUCLEO_F767ZI 6001 // ST NUCLEO-F767ZI Dev Board #define BOARD_BTT_SKR_SE_BX_V2 6002 // BigTreeTech SKR SE BX V2.0 (STM32H743II) #define BOARD_BTT_SKR_SE_BX_V3 6003 // BigTreeTech SKR SE BX V3.0 (STM32H743II) -#define BOARD_BTT_SKR_3 6004 // BigTreeTech SKR 3 (STM32H743VI / STM32H723VG) -#define BOARD_BTT_SKR_3_EZ 6005 // BigTreeTech SKR 3 EZ (STM32H743VI / STM32H723VG) +#define BOARD_BTT_SKR_V3_0 6004 // BigTreeTech SKR V3.0 (STM32H743VI / STM32H723VG) +#define BOARD_BTT_SKR_V3_0_EZ 6005 // BigTreeTech SKR V3.0 EZ (STM32H743VI / STM32H723VG) #define BOARD_BTT_OCTOPUS_MAX_EZ_V1_0 6006 // BigTreeTech Octopus Max EZ V1.0 (STM32H723ZE) #define BOARD_BTT_OCTOPUS_PRO_V1_0_1 6007 // BigTreeTech Octopus Pro v1.0.1 (STM32H723ZE) #define BOARD_BTT_OCTOPUS_PRO_V1_1 6008 // BigTreeTech Octopus Pro v1.1 (STM32H723ZE) diff --git a/Marlin/src/inc/Conditionals-4-adv.h b/Marlin/src/inc/Conditionals-4-adv.h index f6d5b0ac7338..291c140bfc07 100644 --- a/Marlin/src/inc/Conditionals-4-adv.h +++ b/Marlin/src/inc/Conditionals-4-adv.h @@ -1368,7 +1368,8 @@ * currently HAL.h must be included ahead of pins.h. */ #if LCD_IS_SERIAL_HOST && !defined(LCD_SERIAL_PORT) - #if MB(MKS_MONSTER8_V1, BTT_SKR_MINI_E3_V1_0, BTT_SKR_MINI_E3_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_MINI_E3_V3_0, BTT_SKR_MINI_E3_V3_0_1, BTT_SKR_E3_TURBO, BTT_OCTOPUS_V1_1, BTT_SKR_3, BTT_SKR_3_EZ, AQUILA_V101) + #if MB(MKS_MONSTER8_V1, BTT_SKR_MINI_E3_V1_0, BTT_SKR_MINI_E3_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_MINI_E3_V3_0, BTT_SKR_MINI_E3_V3_0_1, BTT_SKR_E3_TURBO, BTT_OCTOPUS_V1_1, BTT_SKR_V3_0, BTT_SKR_V3_0_EZ, AQUILA_V101) + #define LCD_SERIAL_PORT 1 #elif MB(CREALITY_V24S1_301, CREALITY_V24S1_301F4, CREALITY_F401RE, CREALITY_V423, CREALITY_CR4NTXXC10, MKS_ROBIN, PANOWIN_CUTLASS, KODAMA_BARDO) #define LCD_SERIAL_PORT 2 diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index c69c1edb2a61..a8d97ecd233f 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -863,10 +863,10 @@ #include "stm32h7/pins_BTT_SKR_SE_BX_V2.h" // STM32H7 env:BTT_SKR_SE_BX #elif MB(BTT_SKR_SE_BX_V3) #include "stm32h7/pins_BTT_SKR_SE_BX_V3.h" // STM32H7 env:BTT_SKR_SE_BX -#elif MB(BTT_SKR_3) - #include "stm32h7/pins_BTT_SKR_3.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt -#elif MB(BTT_SKR_3_EZ) - #include "stm32h7/pins_BTT_SKR_3_EZ.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt +#elif MB(BTT_SKR_V3_0) + #include "stm32h7/pins_BTT_SKR_V3_0.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt +#elif MB(BTT_SKR_V3_0_EZ) + #include "stm32h7/pins_BTT_SKR_V3_0_EZ.h" // STM32H7 env:STM32H743VI_btt env:STM32H723VG_btt #elif MB(BTT_OCTOPUS_MAX_EZ_V1_0) #include "stm32h7/pins_BTT_OCTOPUS_MAX_EZ.h" // STM32H7 env:STM32H723ZE_btt #elif MB(BTT_OCTOPUS_PRO_V1_0_1) @@ -989,8 +989,6 @@ #define BOARD_BTT_MANTA_M4P_V1_0 99927 #define BOARD_VAKE403D 99928 #define BOARD_TRONXY_V10 99929 - #define BOARD_BTT_SKR_V3_0 99930 - #define BOARD_BTT_SKR_V3_0_EZ 99931 #if MB(MKS_13) #error "BOARD_MKS_13 is now BOARD_MKS_GEN_13. Please update your configuration." @@ -1052,10 +1050,6 @@ #error "BOARD_TRONXY_V10 is now BOARD_TRONXY_CXY_446_V10. Please update your configuration." #elif MB(VAKE403D) #error "BOARD_VAKE403D is no longer supported in Marlin." - #elif MB(BOARD_BTT_SKR_V3_0) - #error "BOARD_BTT_SKR_V3_0 is now BOARD_BTT_SKR_3." - #elif MB(BOARD_BTT_SKR_V3_0_EZ) - #error "BOARD_BTT_SKR_V3_0_EZ is now BOARD_BTT_SKR_3_EZ." #elif defined(MOTHERBOARD) #error "Unknown MOTHERBOARD value set in Configuration.h." #else @@ -1093,8 +1087,6 @@ #undef BOARD_BTT_MANTA_M4P_V1_0 #undef BOARD_VAKE403D #undef BOARD_TRONXY_V10 - #undef BOARD_BTT_SKR_V3_0 - #undef BOARD_BTT_SKR_V3_0_EZ #endif diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0.h similarity index 92% rename from Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h rename to Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0.h index c8317b249868..47c2d1cf3747 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_3.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0.h @@ -25,6 +25,6 @@ * BigTreeTech SKR 3 (STM32H743VI / STM32H723VG) */ -#define BOARD_INFO_NAME "BTT SKR 3" +#define BOARD_INFO_NAME "BTT SKR V3" -#include "pins_BTT_SKR_3_common.h" +#include "pins_BTT_SKR_V3_0_common.h" diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_EZ.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_EZ.h similarity index 92% rename from Marlin/src/pins/stm32h7/pins_BTT_SKR_3_EZ.h rename to Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_EZ.h index 9746cec29e68..933ecf2decb3 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_EZ.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_EZ.h @@ -25,6 +25,6 @@ * BigTreeTech SKR 3 EZ (STM32H743VI / STM32H723VG) */ -#define BOARD_INFO_NAME "BTT SKR 3 EZ" +#define BOARD_INFO_NAME "BTT SKR V3 EZ" -#include "pins_BTT_SKR_3_common.h" +#include "pins_BTT_SKR_V3_0_common.h" diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_common.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h similarity index 98% rename from Marlin/src/pins/stm32h7/pins_BTT_SKR_3_common.h rename to Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h index 8c1692903a69..b67992186315 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_3_common.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_V3_0_common.h @@ -454,7 +454,9 @@ * DWIN pins are labeled as printed on DWIN PCB. GND, VCC, A, B, ENT & BEEP can be connected in the same * orientation as the existing plug/DWIN to EXP1. TX/RX need to be connected to the TFT port, with TX->RX, RX->TX. */ - CONTROLLER_WARNING("BTT_SKR_3_common", "Ender-3 V2 display", "Requires TX/RX to be connected to the TFT port with TX->RX, RX->TX") + #ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING + #error "CAUTION! Ender-3 V2 display requires a custom cable. See 'pins_BTT_SKR_V3_0_common.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)" + #endif #define BEEPER_PIN EXP1_06_PIN #define BTN_EN1 EXP1_08_PIN diff --git a/buildroot/tests/STM32H743VI_btt b/buildroot/tests/STM32H743VI_btt index f6b60c8d9d1d..e73a786ff41e 100755 --- a/buildroot/tests/STM32H743VI_btt +++ b/buildroot/tests/STM32H743VI_btt @@ -19,14 +19,14 @@ exec_test $1 $2 "Creality Ender-5 Plus with BigTreeTech SKR 3" "$3" # SKR 3 EZ default # restore_configs -opt_set MOTHERBOARD BOARD_BTT_SKR_3_EZ SERIAL_PORT -1 +opt_set MOTHERBOARD BOARD_BTT_SKR_V3_0_EZ SERIAL_PORT -1 exec_test $1 $2 "BigTreeTech SKR 3 EZ | Default Configuration" "$3" # # SKR 3 EZ with MMU2 # restore_configs -opt_set MOTHERBOARD BOARD_BTT_SKR_3_EZ SERIAL_PORT -1 \ +opt_set MOTHERBOARD BOARD_BTT_SKR_V3_0_EZ SERIAL_PORT -1 \ BAUDRATE 115200 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 \ Z_DRIVER_TYPE TMC2209 Z2_DRIVER_TYPE TMC2209 E0_DRIVER_TYPE TMC2209 \ EXTRUDERS 5 MMU_MODEL PRUSA_MMU2 HEATER_0_MAXTEMP 305 \ @@ -60,7 +60,7 @@ exec_test $1 $2 "BigTreeTech SKR 3 EZ | MMU2" "$3" # SKR 3 EZ with MMU3 # restore_configs -opt_set MOTHERBOARD BOARD_BTT_SKR_3_EZ SERIAL_PORT -1 \ +opt_set MOTHERBOARD BOARD_BTT_SKR_V3_0_EZ SERIAL_PORT -1 \ BAUDRATE 115200 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 \ Z_DRIVER_TYPE TMC2209 Z2_DRIVER_TYPE TMC2209 E0_DRIVER_TYPE TMC2209 \ EXTRUDERS 5 MMU_MODEL PRUSA_MMU3 HEATER_0_MAXTEMP 305 \ From cebed347f5eff3a708bf228e845d972bf1347c4c Mon Sep 17 00:00:00 2001 From: Vovodroid Date: Tue, 8 Oct 2024 07:32:09 +0300 Subject: [PATCH 10/25] =?UTF-8?q?=F0=9F=94=A7=20Fix=20LIN=5FADVANCE=20+=20?= =?UTF-8?q?Extra=20Axes=20sanity=20check=20(#27110)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/inc/SanityCheck.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 818af3e0bee0..9a8efb0b8216 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -1073,8 +1073,8 @@ static_assert(NUM_SERVOS <= NUM_SERVO_PLUGS, "NUM_SERVOS (or some servo index) i #error "DIRECT_STEPPING does not currently support more than 3 axes (i.e., XYZ)." #elif ENABLED(FOAMCUTTER_XYUV) && !(HAS_I_AXIS && HAS_J_AXIS) #error "FOAMCUTTER_XYUV requires I and J steppers to be enabled." -#elif ENABLED(LINEAR_ADVANCE) && HAS_I_AXIS - #error "LINEAR_ADVANCE does not currently support the inclusion of an I axis." +#elif ENABLED(LIN_ADVANCE) && HAS_I_AXIS + #error "LIN_ADVANCE does not currently support the inclusion of an I axis." #endif /** From f0b115a9993c0bf6eace56ad2b8c2d7944dfdd8a Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Wed, 9 Oct 2024 00:26:50 +0000 Subject: [PATCH 11/25] [cron] Bump distribution date (2024-10-09) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index b15e77649301..63f0f630a171 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-08" +//#define STRING_DISTRIBUTION_DATE "2024-10-09" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 051a74720131..facf826ea03a 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-08" + #define STRING_DISTRIBUTION_DATE "2024-10-09" #endif /** From 5b7bb3ea641ae0be4f248da7464777c56baff50d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 10 Oct 2024 22:16:21 -0500 Subject: [PATCH 12/25] =?UTF-8?q?=F0=9F=93=9D=20Star=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 151765b8b6ec..43407f9da6dd 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,16 @@ Name|Role|Link|Donate 🇺🇸 Bob Kuhn|Admin|[[@Bob-the-Kuhn](//github.com/Bob-the-Kuhn)]| 🇳🇱 Erik van der Zalm|Founder|[[@ErikZalm](//github.com/ErikZalm)]| +## Star History + + + + + + Star History Chart + + + ## License Marlin is published under the [GPL license](/LICENSE) because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork. From 83e38b3625af5ab00435cdab64ed930902609e12 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Fri, 11 Oct 2024 06:08:29 +0000 Subject: [PATCH 13/25] [cron] Bump distribution date (2024-10-11) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 63f0f630a171..a38680ccf957 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-09" +//#define STRING_DISTRIBUTION_DATE "2024-10-11" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index facf826ea03a..cef91c7dcbe7 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-09" + #define STRING_DISTRIBUTION_DATE "2024-10-11" #endif /** From 4bb33a0cb98fa0ab6fe662689fcb25d4e47532fb Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 11 Oct 2024 13:43:59 -0500 Subject: [PATCH 14/25] =?UTF-8?q?=F0=9F=94=A8=20Update=20legacy=20Makefile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/Makefile | 171 +++++++++++++++++++++++---------------- Marlin/src/core/boards.h | 4 +- 2 files changed, 103 insertions(+), 72 deletions(-) diff --git a/Marlin/Makefile b/Marlin/Makefile index e5ba9cb341e4..0c5d7c227314 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -187,6 +187,17 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1033) # RAMPS Plus 3DYMY (Power outputs: Spindle, Controller Fan) else ifeq ($(HARDWARE_MOTHERBOARD),1034) +# RAMPS 1.6+ (Power outputs: Hotend, Fan, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),1035) +# RAMPS 1.6+ (Power outputs: Hotend0, Hotend1, Bed) +else ifeq ($(HARDWARE_MOTHERBOARD),1036) +# RAMPS 1.6+ (Power outputs: Hotend, Fan0, Fan1) +else ifeq ($(HARDWARE_MOTHERBOARD),1037) +# RAMPS 1.6+ (Power outputs: Hotend0, Hotend1, Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),1038) +# RAMPS 1.6+ (Power outputs: Spindle, Controller Fan) +else ifeq ($(HARDWARE_MOTHERBOARD),1039) + # # RAMPS Derivatives - ATmega1280, ATmega2560 # @@ -221,108 +232,113 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1112) else ifeq ($(HARDWARE_MOTHERBOARD),1113) # BigTreeTech or BIQU KFB2.0 else ifeq ($(HARDWARE_MOTHERBOARD),1114) -# zrib V2.0 (Chinese RAMPS replica) +# Zonestar zrib V2.0 (Chinese RAMPS replica) else ifeq ($(HARDWARE_MOTHERBOARD),1115) -# zrib V5.2 (Chinese RAMPS replica) +# Zonestar zrib V5.2 (Chinese RAMPS replica) else ifeq ($(HARDWARE_MOTHERBOARD),1116) -# Felix 2.0+ Electronics Board (RAMPS like) +# Zonestar zrib V5.3 (Chinese RAMPS replica) else ifeq ($(HARDWARE_MOTHERBOARD),1117) -# Invent-A-Part RigidBoard +# Felix 2.0+ Electronics Board (RAMPS like) else ifeq ($(HARDWARE_MOTHERBOARD),1118) -# Invent-A-Part RigidBoard V2 +# Invent-A-Part RigidBoard else ifeq ($(HARDWARE_MOTHERBOARD),1119) -# Sainsmart 2-in-1 board +# Invent-A-Part RigidBoard V2 else ifeq ($(HARDWARE_MOTHERBOARD),1120) -# Ultimaker +# Sainsmart 2-in-1 board else ifeq ($(HARDWARE_MOTHERBOARD),1121) -# Ultimaker (Older electronics. Pre 1.5.4. This is rare) +# Ultimaker else ifeq ($(HARDWARE_MOTHERBOARD),1122) +# Ultimaker (Older electronics. Pre 1.5.4. This is rare) +else ifeq ($(HARDWARE_MOTHERBOARD),1123) MCU ?= atmega1280 PROG_MCU ?= m1280 # Azteeg X3 -else ifeq ($(HARDWARE_MOTHERBOARD),1123) -# Azteeg X3 Pro else ifeq ($(HARDWARE_MOTHERBOARD),1124) -# Ultimainboard 2.x (Uses TEMP_SENSOR 20) +# Azteeg X3 Pro else ifeq ($(HARDWARE_MOTHERBOARD),1125) -# Rumba +# Ultimainboard 2.x (Uses TEMP_SENSOR 20) else ifeq ($(HARDWARE_MOTHERBOARD),1126) -# Raise3D N series Rumba derivative +# Rumba else ifeq ($(HARDWARE_MOTHERBOARD),1127) -# Rapide Lite 200 (v1, low-cost RUMBA clone with drv) +# Raise3D N series Rumba derivative else ifeq ($(HARDWARE_MOTHERBOARD),1128) -# Formbot T-Rex 2 Plus +# Rapide Lite 200 (v1, low-cost RUMBA clone with drv) else ifeq ($(HARDWARE_MOTHERBOARD),1129) -# Formbot T-Rex 3 +# Formbot T-Rex 2 Plus else ifeq ($(HARDWARE_MOTHERBOARD),1130) -# Formbot Raptor +# Formbot T-Rex 3 else ifeq ($(HARDWARE_MOTHERBOARD),1131) -# Formbot Raptor 2 +# Formbot Raptor else ifeq ($(HARDWARE_MOTHERBOARD),1132) -# bq ZUM Mega 3D +# Formbot Raptor 2 else ifeq ($(HARDWARE_MOTHERBOARD),1133) -# MakeBoard Mini v2.1.2 by MicroMake +# bq ZUM Mega 3D else ifeq ($(HARDWARE_MOTHERBOARD),1134) -# TriGorilla Anycubic version 1.3-based on RAMPS EFB +# MakeBoard Mini v2.1.2 by MicroMake else ifeq ($(HARDWARE_MOTHERBOARD),1135) -# ... Ver 1.4 +# TriGorilla Anycubic version 1.3-based on RAMPS EFB else ifeq ($(HARDWARE_MOTHERBOARD),1136) -# ... Rev 1.1 (new servo pin order) +# ... Ver 1.4 else ifeq ($(HARDWARE_MOTHERBOARD),1137) -# Creality: Ender-4, CR-8 +# ... Rev 1.1 (new servo pin order) else ifeq ($(HARDWARE_MOTHERBOARD),1138) -# Creality: CR10S, CR20, CR-X +# Creality: Ender-4, CR-8 else ifeq ($(HARDWARE_MOTHERBOARD),1139) -# Dagoma F5 +# Creality: CR10S, CR20, CR-X else ifeq ($(HARDWARE_MOTHERBOARD),1140) -# FYSETC F6 1.3 +# Dagoma F5 else ifeq ($(HARDWARE_MOTHERBOARD),1141) -# FYSETC F6 1.4 +# Dagoma D6 (as found in the Dagoma DiscoUltimate V2 TMC) else ifeq ($(HARDWARE_MOTHERBOARD),1142) -# Wanhao Duplicator i3 Plus +# FYSETC F6 1.3 else ifeq ($(HARDWARE_MOTHERBOARD),1143) -# VORON Design +# FYSETC F6 1.4 else ifeq ($(HARDWARE_MOTHERBOARD),1144) -# Tronxy TRONXY-V3-1.0 +# Wanhao Duplicator i3 Plus else ifeq ($(HARDWARE_MOTHERBOARD),1145) -# Z-Bolt X Series +# VORON Design else ifeq ($(HARDWARE_MOTHERBOARD),1146) -# TT OSCAR +# Tronxy TRONXY-V3-1.0 else ifeq ($(HARDWARE_MOTHERBOARD),1147) -# Overlord/Overlord Pro +# Z-Bolt X Series else ifeq ($(HARDWARE_MOTHERBOARD),1148) -# ADIMLab Gantry v1 +# TT OSCAR else ifeq ($(HARDWARE_MOTHERBOARD),1149) -# ADIMLab Gantry v2 -else ifeq ($(HARDWARE_MOTHERBOARD),1150) # BIQU Tango V1 -else ifeq ($(HARDWARE_MOTHERBOARD),1151) +else ifeq ($(HARDWARE_MOTHERBOARD),1150) # MKS GEN L V2 -else ifeq ($(HARDWARE_MOTHERBOARD),1152) +else ifeq ($(HARDWARE_MOTHERBOARD),1151) # MKS GEN L V2.1 -else ifeq ($(HARDWARE_MOTHERBOARD),1153) +else ifeq ($(HARDWARE_MOTHERBOARD),1152) # Copymaster 3D -else ifeq ($(HARDWARE_MOTHERBOARD),1154) +else ifeq ($(HARDWARE_MOTHERBOARD),1153) # Ortur 4 -else ifeq ($(HARDWARE_MOTHERBOARD),1155) +else ifeq ($(HARDWARE_MOTHERBOARD),1154) # Tenlog D3 Hero IDEX printer +else ifeq ($(HARDWARE_MOTHERBOARD),1155) +# Tenlog D3, D5, D6 IDEX Printer else ifeq ($(HARDWARE_MOTHERBOARD),1156) -# Tenlog D3,5,6 Pro IDEX printers -else ifeq ($(HARDWARE_MOTHERBOARD),1157) # Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Fan, Bed) -else ifeq ($(HARDWARE_MOTHERBOARD),1158) +else ifeq ($(HARDWARE_MOTHERBOARD),1157) # Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Hotend2, Bed) -else ifeq ($(HARDWARE_MOTHERBOARD),1159) +else ifeq ($(HARDWARE_MOTHERBOARD),1158) # Ramps S 1.2 by Sakul.cz (Power outputs: Hotend, Fan0, Fan1, Bed) -else ifeq ($(HARDWARE_MOTHERBOARD),1160) +else ifeq ($(HARDWARE_MOTHERBOARD),1159) # Longer LK1 PRO / Alfawise U20 Pro (PRO version) -else ifeq ($(HARDWARE_MOTHERBOARD),1161) +else ifeq ($(HARDWARE_MOTHERBOARD),1160) # Longer LKx PRO / Alfawise Uxx Pro (PRO version) +else ifeq ($(HARDWARE_MOTHERBOARD),1161) +# Pxmalion Core I3 else ifeq ($(HARDWARE_MOTHERBOARD),1162) -# Zonestar zrib V5.3 (Chinese RAMPS replica) +# Panowin Cutlass (as found in the Panowin F1) else ifeq ($(HARDWARE_MOTHERBOARD),1163) -# Pxmalion Core I3 +# Kodama Bardo V1.x (as found in the Kodama Trinus) else ifeq ($(HARDWARE_MOTHERBOARD),1164) +# XTLW MFF V1.0 +else ifeq ($(HARDWARE_MOTHERBOARD),1165) +# XTLW MFF V2.0 +else ifeq ($(HARDWARE_MOTHERBOARD),1166) + # # RAMBo and derivatives @@ -340,7 +356,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1203) else ifeq ($(HARDWARE_MOTHERBOARD),1204) # abee Scoovo X9H else ifeq ($(HARDWARE_MOTHERBOARD),1205) -# Rambo ThinkerV2 +# ThinkerV2 else ifeq ($(HARDWARE_MOTHERBOARD),1206) # @@ -383,30 +399,40 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1315) else ifeq ($(HARDWARE_MOTHERBOARD),1316) # Geeetech GT2560 Rev B for A10(M/T/D) else ifeq ($(HARDWARE_MOTHERBOARD),1317) -# Geeetech GT2560 Rev B for A10(M/T/D) -else ifeq ($(HARDWARE_MOTHERBOARD),1318) # Geeetech GT2560 Rev B for Mecreator2 -else ifeq ($(HARDWARE_MOTHERBOARD),1319) +else ifeq ($(HARDWARE_MOTHERBOARD),1318) # Geeetech GT2560 Rev B for A20(M/T/D) +else ifeq ($(HARDWARE_MOTHERBOARD),1319) +# Geeetech GT2560 Rev B for A10(M/T/D) else ifeq ($(HARDWARE_MOTHERBOARD),1320) -# Einstart retrofit +# Geeetech GT2560 Rev B for A20(M/T/D) else ifeq ($(HARDWARE_MOTHERBOARD),1321) -# Wanhao 0ne+ i3 Mini +# Einstart retrofit else ifeq ($(HARDWARE_MOTHERBOARD),1322) -# Leapfrog Xeed 2015 +# Wanhao 0ne+ i3 Mini else ifeq ($(HARDWARE_MOTHERBOARD),1323) -# PICA Shield (original version) +# Overlord/Overlord Pro else ifeq ($(HARDWARE_MOTHERBOARD),1324) -# PICA Shield (rev C or later) +# ADIMLab Gantry v1 else ifeq ($(HARDWARE_MOTHERBOARD),1325) -# Intamsys 4.0 (Funmat HT) +# ADIMLab Gantry v2 else ifeq ($(HARDWARE_MOTHERBOARD),1326) -# Malyan M180 Mainboard Version 2 (no display function, direct G-code only) +# Leapfrog Xeed 2015 else ifeq ($(HARDWARE_MOTHERBOARD),1327) -# Geeetech GT2560 Rev B for A20(M/T/D) +# PICA Shield (original version) else ifeq ($(HARDWARE_MOTHERBOARD),1328) -# Mega controller & Protoneer CNC Shield V3.00 +# PICA Shield (rev C or later) else ifeq ($(HARDWARE_MOTHERBOARD),1329) +# Intamsys 4.0 (Funmat HT) +else ifeq ($(HARDWARE_MOTHERBOARD),1330) +# Malyan M180 Mainboard Version 2 (no display function, direct G-code only) +else ifeq ($(HARDWARE_MOTHERBOARD),1331) +# Mega controller & Protoneer CNC Shield V3.00 +else ifeq ($(HARDWARE_MOTHERBOARD),1332) +# WEEDO 62A board (TINA2, Monoprice Cadet, etc.) +else ifeq ($(HARDWARE_MOTHERBOARD),1333) +# Geeetech GT2560 V4.1B for A10(M/T/D) +else ifeq ($(HARDWARE_MOTHERBOARD),1334) # # ATmega1281, ATmega2561 @@ -440,7 +466,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1502) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega644p PROG_MCU ?= m644p -# Melzi V2.0 +# Melzi V2 else ifeq ($(HARDWARE_MOTHERBOARD),1503) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p @@ -450,36 +476,41 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1504) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p -# Melzi Creality3D board (for CR-10 etc) +# Melzi Creality3D (for CR-10 etc) else ifeq ($(HARDWARE_MOTHERBOARD),1505) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p -# Melzi Malyan M150 board +# Melzi Creality3D (for Ender-2) else ifeq ($(HARDWARE_MOTHERBOARD),1506) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p -# Tronxy X5S +# Melzi Malyan M150 else ifeq ($(HARDWARE_MOTHERBOARD),1507) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p -# STB V1.1 +# Tronxy X5S else ifeq ($(HARDWARE_MOTHERBOARD),1508) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p -# Azteeg X1 +# STB V1.1 else ifeq ($(HARDWARE_MOTHERBOARD),1509) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p -# Anet 1.0 (Melzi clone) +# Azteeg X1 else ifeq ($(HARDWARE_MOTHERBOARD),1510) HARDWARE_VARIANT ?= Sanguino MCU ?= atmega1284p PROG_MCU ?= m1284p +# Anet 1.0 (Melzi clone) +else ifeq ($(HARDWARE_MOTHERBOARD),1511) + HARDWARE_VARIANT ?= Sanguino + MCU ?= atmega1284p + PROG_MCU ?= m1284p # ZoneStar ZMIB V2 else ifeq ($(HARDWARE_MOTHERBOARD),1511) HARDWARE_VARIANT ?= Sanguino diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index fb17669161fd..f48f6d28e183 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -79,8 +79,8 @@ #define BOARD_MKS_GEN_13 1112 // MKS GEN v1.3 or 1.4 #define BOARD_MKS_GEN_L 1113 // MKS GEN L #define BOARD_KFB_2 1114 // BigTreeTech or BIQU KFB2.0 -#define BOARD_ZRIB_V20 1115 // zrib V2.0 (Chinese RAMPS replica) -#define BOARD_ZRIB_V52 1116 // zrib V5.2 (Chinese RAMPS replica) +#define BOARD_ZRIB_V20 1115 // Zonestar zrib V2.0 (Chinese RAMPS replica) +#define BOARD_ZRIB_V52 1116 // Zonestar zrib V5.2 (Chinese RAMPS replica) #define BOARD_ZRIB_V53 1117 // Zonestar zrib V5.3 (Chinese RAMPS replica) #define BOARD_FELIX2 1118 // Felix 2.0+ Electronics Board (RAMPS like) #define BOARD_RIGIDBOARD 1119 // Invent-A-Part RigidBoard From bd4936330bdb74ac6b7c64140379265cde233835 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 11 Oct 2024 13:46:05 -0500 Subject: [PATCH 15/25] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB=20Langu?= =?UTF-8?q?age=20import=20adjustments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/language/language_pt_br.h | 1 - buildroot/share/scripts/languageExport.py | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h index 3281b897d8ca..61a5c7348f88 100644 --- a/Marlin/src/lcd/language/language_pt_br.h +++ b/Marlin/src/lcd/language/language_pt_br.h @@ -41,7 +41,6 @@ namespace LanguageNarrow_pt_br { LSTR MSG_MEDIA_ABORTING = _UxGT("Abortando..."); LSTR MSG_MEDIA_INSERTED = _UxGT("Cartão inserido"); LSTR MSG_MEDIA_REMOVED = _UxGT("Cartão removido"); - LSTR MSG_MEDIA_RELEASED = _UxGT("Cartão liberado"); LSTR MSG_MEDIA_WAITING = _UxGT("Aguardando cartão"); LSTR MSG_MEDIA_READ_ERROR = _UxGT("Erro de leitura"); LSTR MSG_MEDIA_USB_REMOVED = _UxGT("USB removido"); diff --git a/buildroot/share/scripts/languageExport.py b/buildroot/share/scripts/languageExport.py index 46485aa1241c..ca1998c18e97 100755 --- a/buildroot/share/scripts/languageExport.py +++ b/buildroot/share/scripts/languageExport.py @@ -1,20 +1,22 @@ #!/usr/bin/env python3 ''' -languageExport.py +languageExport.py [--single] Export LCD language strings to CSV files for easier translation. -Use importTranslations.py to import CSV into the language files. +Use languageImport.py to import CSV into the language files. +Use --single to export all languages to a single CSV file. ''' import re from pathlib import Path +from sys import argv from languageUtil import namebyid LANGHOME = "Marlin/src/lcd/language" # Write multiple sheets if true, otherwise write one giant sheet -MULTISHEET = True +MULTISHEET = '--single' not in argv[1:] OUTDIR = 'out-csv' # Check for the path to the language files @@ -28,7 +30,7 @@ # A dictionary to contain strings for each language. # Init with 'en' so English will always be first. -language_strings = { 'en': 0 } +language_strings = { 'en': {} } # A dictionary to contain all distinct LCD string names names = {} From a08a7b3459613ddcedfcc463db368f284d9fca9b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 11 Oct 2024 14:26:56 -0500 Subject: [PATCH 16/25] =?UTF-8?q?=F0=9F=93=9D=20Clarify=20STRING=5FCONFIG?= =?UTF-8?q?=5FH=5FAUTHOR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 6f3ceea16012..ff849d22dce4 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -61,7 +61,7 @@ // @section info // Author info of this build printed to the host during boot and M115 -#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Original author or contributor. //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) // @section machine From a6493e0cc8028a827f698738add91fd03e6e2de4 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Sat, 12 Oct 2024 00:26:11 +0000 Subject: [PATCH 17/25] [cron] Bump distribution date (2024-10-12) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index a38680ccf957..523fc59e2b72 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-11" +//#define STRING_DISTRIBUTION_DATE "2024-10-12" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index cef91c7dcbe7..445ad1cadbe3 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-11" + #define STRING_DISTRIBUTION_DATE "2024-10-12" #endif /** From 3482e9632c6916922c7069a61b7d63d5de9b4268 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Oct 2024 22:05:35 -0500 Subject: [PATCH 18/25] =?UTF-8?q?=F0=9F=8E=A8=20Outdent,=20adjust=20commen?= =?UTF-8?q?ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/feature/hotend_idle.cpp | 2 +- Marlin/src/feature/powerloss.cpp | 4 +- Marlin/src/feature/x_twist.cpp | 2 +- .../src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp | 6 +- .../lcd/extui/dgus/mks/DGUSScreenHandler.cpp | 2 +- Marlin/src/lcd/marlinui.cpp | 10 +- Marlin/src/lcd/marlinui.h | 2 +- Marlin/src/lcd/menu/menu.cpp | 99 ++++++++++--------- Marlin/src/module/delta.cpp | 2 +- Marlin/src/module/endstops.cpp | 4 +- Marlin/src/module/motion.cpp | 2 +- Marlin/src/module/planner.cpp | 8 +- Marlin/src/module/polargraph.cpp | 2 +- Marlin/src/module/probe.cpp | 2 +- Marlin/src/module/stepper.cpp | 4 +- Marlin/src/module/stepper.h | 2 +- Marlin/src/module/temperature.cpp | 2 +- Marlin/src/module/temperature.h | 2 +- Marlin/src/module/tool_change.cpp | 2 +- 19 files changed, 83 insertions(+), 76 deletions(-) diff --git a/Marlin/src/feature/hotend_idle.cpp b/Marlin/src/feature/hotend_idle.cpp index 050898e3b53b..eb16781fdd1a 100644 --- a/Marlin/src/feature/hotend_idle.cpp +++ b/Marlin/src/feature/hotend_idle.cpp @@ -40,7 +40,7 @@ HotendIdleProtection hotend_idle; millis_t HotendIdleProtection::next_protect_ms = 0; -hotend_idle_settings_t HotendIdleProtection::cfg; // Initialized by settings.load() +hotend_idle_settings_t HotendIdleProtection::cfg; // Initialized by settings.load void HotendIdleProtection::check_hotends(const millis_t &ms) { const bool busy = (TERN0(HAS_RESUME_CONTINUE, wait_for_user) || planner.has_blocks_queued()); diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp index b7dcf0038548..6c35de7cb5cc 100644 --- a/Marlin/src/feature/powerloss.cpp +++ b/Marlin/src/feature/powerloss.cpp @@ -35,10 +35,10 @@ #include "../lcd/extui/ui_api.h" #endif -bool PrintJobRecovery::enabled; // Initialized by settings.load() +bool PrintJobRecovery::enabled; // Initialized by settings.load #if HAS_PLR_BED_THRESHOLD - celsius_t PrintJobRecovery::bed_temp_threshold; // Initialized by settings.load() + celsius_t PrintJobRecovery::bed_temp_threshold; // Initialized by settings.load #endif MediaFile PrintJobRecovery::file; diff --git a/Marlin/src/feature/x_twist.cpp b/Marlin/src/feature/x_twist.cpp index b8f7e52ab6d5..2b7924707e9a 100644 --- a/Marlin/src/feature/x_twist.cpp +++ b/Marlin/src/feature/x_twist.cpp @@ -30,7 +30,7 @@ XATC xatc; bool XATC::enabled; float XATC::spacing, XATC::start; -xatc_array_t XATC::z_offset; // Initialized by settings.load() +xatc_array_t XATC::z_offset; // Initialized by settings.load void XATC::reset() { constexpr float xzo[] = XATC_Z_OFFSETS; diff --git a/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp index 8e2b1bb8e48a..6429ac07e5cd 100644 --- a/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp @@ -59,9 +59,9 @@ float Z_distance = 0.1; // // Persistent settings // -xy_int_t mks_corner_offsets[5]; // Initialized by settings.load() -xyz_int_t mks_park_pos; // Initialized by settings.load() -celsius_t mks_min_extrusion_temp; // Initialized by settings.load() +xy_int_t mks_corner_offsets[5]; // Initialized by settings.load +xyz_int_t mks_park_pos; // Initialized by settings.load +celsius_t mks_min_extrusion_temp; // Initialized by settings.load void MKS_reset_settings() { constexpr xy_int_t init_dgus_level_offsets[5] = { diff --git a/Marlin/src/lcd/extui/dgus/mks/DGUSScreenHandler.cpp b/Marlin/src/lcd/extui/dgus/mks/DGUSScreenHandler.cpp index 4af271951d55..edaff3b845dc 100644 --- a/Marlin/src/lcd/extui/dgus/mks/DGUSScreenHandler.cpp +++ b/Marlin/src/lcd/extui/dgus/mks/DGUSScreenHandler.cpp @@ -52,7 +52,7 @@ #endif bool DGUSAutoTurnOff = false; -MKS_Language mks_language_index; // Initialized by settings.load() +MKS_Language mks_language_index; // Initialized by settings.load #if 0 void DGUSScreenHandlerMKS::sendinfoscreen_ch(const uint16_t *line1, const uint16_t *line2, const uint16_t *line3, const uint16_t *line4) { diff --git a/Marlin/src/lcd/marlinui.cpp b/Marlin/src/lcd/marlinui.cpp index b8e11b5b4d34..6b9bed4e3dca 100644 --- a/Marlin/src/lcd/marlinui.cpp +++ b/Marlin/src/lcd/marlinui.cpp @@ -93,7 +93,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #endif #if HAS_MULTI_LANGUAGE - uint8_t MarlinUI::language; // Initialized by settings.load() + uint8_t MarlinUI::language; // Initialized by settings.load void MarlinUI::set_language(const uint8_t lang) { if (lang < NUM_LANGUAGES) { language = lang; @@ -105,7 +105,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #endif #if HAS_LCD_CONTRAST - uint8_t MarlinUI::contrast = LCD_CONTRAST_DEFAULT; // Initialized by settings.load() + uint8_t MarlinUI::contrast = LCD_CONTRAST_DEFAULT; // Initialized by settings.load void MarlinUI::set_contrast(const uint8_t value) { contrast = constrain(value, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX); _set_contrast(); @@ -138,7 +138,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #if HAS_PREHEAT #include "../module/temperature.h" - preheat_t MarlinUI::material_preset[PREHEAT_COUNT]; // Initialized by settings.load() + preheat_t MarlinUI::material_preset[PREHEAT_COUNT]; // Initialized by settings.load FSTR_P MarlinUI::get_preheat_label(const uint8_t m) { #define _PDEF(N) static PGMSTR(preheat_##N##_label, PREHEAT_##N##_LABEL); @@ -189,7 +189,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #if HAS_BACKLIGHT_TIMEOUT #if ENABLED(EDITABLE_DISPLAY_TIMEOUT) - uint8_t MarlinUI::backlight_timeout_minutes; // Initialized by settings.load() + uint8_t MarlinUI::backlight_timeout_minutes; // Initialized by settings.load #else constexpr uint8_t MarlinUI::backlight_timeout_minutes; #endif @@ -209,7 +209,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #elif HAS_DISPLAY_SLEEP #if ENABLED(EDITABLE_DISPLAY_TIMEOUT) - uint8_t MarlinUI::sleep_timeout_minutes; // Initialized by settings.load() + uint8_t MarlinUI::sleep_timeout_minutes; // Initialized by settings.load #else constexpr uint8_t MarlinUI::sleep_timeout_minutes; #endif diff --git a/Marlin/src/lcd/marlinui.h b/Marlin/src/lcd/marlinui.h index 96484442feda..88c326080049 100644 --- a/Marlin/src/lcd/marlinui.h +++ b/Marlin/src/lcd/marlinui.h @@ -232,7 +232,7 @@ class MarlinUI { #endif #if ENABLED(SOUND_MENU_ITEM) - static bool sound_on; // Initialized by settings.load() + static bool sound_on; // Initialized by settings.load #else static constexpr bool sound_on = true; #endif diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index 25a315524eb3..96e6f6d073d8 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -167,65 +167,72 @@ void MenuEditItemBase::goto_edit_screen( * General function to go directly to a screen */ void MarlinUI::goto_screen(screenFunc_t screen, const uint16_t encoder/*=0*/, const uint8_t top/*=0*/, const uint8_t items/*=0*/) { - if (currentScreen != screen) { + if (currentScreen == screen) return; - wake_display(); + wake_display(); - thermalManager.set_menu_cold_override(false); + thermalManager.set_menu_cold_override(false); - TERN_(IS_DWIN_MARLINUI, did_first_redraw = false); + TERN_(IS_DWIN_MARLINUI, did_first_redraw = false); - TERN_(HAS_TOUCH_BUTTONS, repeat_delay = BUTTON_DELAY_MENU); + TERN_(HAS_TOUCH_BUTTONS, repeat_delay = BUTTON_DELAY_MENU); - TERN_(SET_PROGRESS_PERCENT, progress_reset()); + TERN_(SET_PROGRESS_PERCENT, progress_reset()); - #if ALL(DOUBLECLICK_FOR_Z_BABYSTEPPING, BABYSTEPPING) - static millis_t doubleclick_expire_ms = 0; - // Going to menu_main from status screen? Remember first click time. - // Going back to status screen within a very short time? Go to Z babystepping. - if (screen == menu_main) { - if (on_status_screen()) - doubleclick_expire_ms = millis() + DOUBLECLICK_MAX_INTERVAL; - } - else if (screen == status_screen && currentScreen == menu_main && PENDING(millis(), doubleclick_expire_ms)) { - if (BABYSTEP_ALLOWED()) - screen = TERN(BABYSTEP_ZPROBE_OFFSET, lcd_babystep_zoffset, lcd_babystep_z); - else { - #if ENABLED(MOVE_Z_WHEN_IDLE) - ui.manual_move.menu_scale = MOVE_Z_IDLE_MULTIPLICATOR; - screen = []{ lcd_move_axis(Z_AXIS); }; - #endif - } + /** + * Double-click on the status screen is a shortcut for one of these: + * - Babystep the Probe Z Offset + * - Babystep the Z axis + * - Move the Z axis + */ + #if ALL(DOUBLECLICK_FOR_Z_BABYSTEPPING, BABYSTEPPING) + static millis_t doubleclick_expire_ms = 0; + if (screen == menu_main) { + if (on_status_screen()) + doubleclick_expire_ms = millis() + DOUBLECLICK_MAX_INTERVAL; + } + else if (screen == status_screen && currentScreen == menu_main && PENDING(millis(), doubleclick_expire_ms)) { + if (BABYSTEP_ALLOWED()) + screen = TERN(BABYSTEP_ZPROBE_OFFSET, lcd_babystep_zoffset, lcd_babystep_z); + else { + #if ENABLED(MOVE_Z_WHEN_IDLE) + ui.manual_move.menu_scale = MOVE_Z_IDLE_MULTIPLICATOR; + screen = []{ lcd_move_axis(Z_AXIS); }; + #endif } - #endif - - currentScreen = screen; - encoderPosition = encoder; - encoderTopLine = top; - screen_items = items; - if (on_status_screen()) { - defer_status_screen(false); - clear_menu_history(); - TERN_(AUTO_BED_LEVELING_UBL, bedlevel.lcd_map_control = false); } + #endif - clear_for_drawing(); + // + // Go to the new screen + // + + currentScreen = screen; + encoderPosition = encoder; + encoderTopLine = top; + screen_items = items; + if (on_status_screen()) { + defer_status_screen(false); + clear_menu_history(); + TERN_(AUTO_BED_LEVELING_UBL, bedlevel.lcd_map_control = false); + } + + clear_for_drawing(); - // Re-initialize custom characters that may be re-used - #if HAS_MARLINUI_HD44780 - if (TERN1(AUTO_BED_LEVELING_UBL, !bedlevel.lcd_map_control)) - set_custom_characters(on_status_screen() ? CHARSET_INFO : CHARSET_MENU); - #endif + // Re-initialize custom characters that may be re-used + #if HAS_MARLINUI_HD44780 + if (TERN1(AUTO_BED_LEVELING_UBL, !bedlevel.lcd_map_control)) + set_custom_characters(on_status_screen() ? CHARSET_INFO : CHARSET_MENU); + #endif - refresh(LCDVIEW_CALL_REDRAW_NEXT); - screen_changed = true; - TERN_(HAS_MARLINUI_U8GLIB, drawing_screen = false); + refresh(LCDVIEW_CALL_REDRAW_NEXT); + screen_changed = true; + TERN_(HAS_MARLINUI_U8GLIB, drawing_screen = false); - TERN_(HAS_MARLINUI_MENU, encoder_direction_normal()); - enable_encoder_multiplier(false); + TERN_(HAS_MARLINUI_MENU, encoder_direction_normal()); + enable_encoder_multiplier(false); - set_selection(false); - } + set_selection(false); } //////////////////////////////////////////// diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp index 379ef985ab38..aa1bcebe7031 100644 --- a/Marlin/src/module/delta.cpp +++ b/Marlin/src/module/delta.cpp @@ -49,7 +49,7 @@ #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE) #include "../core/debug_out.h" -// Initialized by settings.load() +// Initialized by settings.load float delta_height; abc_float_t delta_endstop_adj{0}; float delta_radius, diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index 999e07ea7431..85e021d661ea 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -65,7 +65,7 @@ Endstops endstops; // private: -bool Endstops::enabled, Endstops::enabled_globally; // Initialized by settings.load() +bool Endstops::enabled, Endstops::enabled_globally; // Initialized by settings.load volatile Endstops::endstop_mask_t Endstops::hit_state; Endstops::endstop_mask_t Endstops::live_state = 0; @@ -95,7 +95,7 @@ Endstops::endstop_mask_t Endstops::live_state = 0; volatile bool Endstops::calibration_stop_state; #endif -// Initialized by settings.load() +// Initialized by settings.load #if ENABLED(X_DUAL_ENDSTOPS) float Endstops::x2_endstop_adj; #endif diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 10be020680d4..174f16d5c570 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -124,7 +124,7 @@ xyze_pos_t destination; // {0} // Extruder offsets #if HAS_HOTEND_OFFSET - xyz_pos_t hotend_offset[HOTENDS]; // Initialized by settings.load() + xyz_pos_t hotend_offset[HOTENDS]; // Initialized by settings.load void reset_hotend_offsets() { constexpr float tmp[XYZ][HOTENDS] = { HOTEND_OFFSET_X, HOTEND_OFFSET_Y, HOTEND_OFFSET_Z }; static_assert( diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 7c746fa5f0a7..42b4c8060b5c 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -138,7 +138,7 @@ uint8_t Planner::delay_before_delivering; // Delay block delivery so initi constexpr float PlannerSettings::axis_steps_per_mm[DISTINCT_AXES]; constexpr float Planner::mm_per_step[DISTINCT_AXES]; #endif -planner_settings_t Planner::settings; // Initialized by settings.load() +planner_settings_t Planner::settings; // Initialized by settings.load /** * Set up inline block variables @@ -199,7 +199,7 @@ uint32_t Planner::max_acceleration_steps_per_s2[DISTINCT_AXES]; // (steps/s^2) D matrix_3x3 Planner::bed_level_matrix; // Transform to compensate for bed level #endif #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) - float Planner::z_fade_height, // Initialized by settings.load() + float Planner::z_fade_height, // Initialized by settings.load Planner::inverse_z_fade_height, Planner::last_fade_z; #endif @@ -208,7 +208,7 @@ uint32_t Planner::max_acceleration_steps_per_s2[DISTINCT_AXES]; // (steps/s^2) D #endif #if ENABLED(SKEW_CORRECTION) - skew_factor_t Planner::skew_factor; // Initialized by settings.load() + skew_factor_t Planner::skew_factor; // Initialized by settings.load #endif #if ENABLED(AUTOTEMP) @@ -235,7 +235,7 @@ float Planner::previous_nominal_speed; #endif #if ENABLED(LIN_ADVANCE) - float Planner::extruder_advance_K[DISTINCT_E]; // Initialized by settings.load() + float Planner::extruder_advance_K[DISTINCT_E]; // Initialized by settings.load #endif #if HAS_POSITION_FLOAT diff --git a/Marlin/src/module/polargraph.cpp b/Marlin/src/module/polargraph.cpp index ef6a4c0db463..534ec17ef8ea 100644 --- a/Marlin/src/module/polargraph.cpp +++ b/Marlin/src/module/polargraph.cpp @@ -37,7 +37,7 @@ #include "../lcd/marlinui.h" #include "../MarlinCore.h" -// Initialized by settings.load() +// Initialized by settings.load float segments_per_second, polargraph_max_belt_len; xy_pos_t draw_area_min, draw_area_max; diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index 7c7bf3debd76..a66c11a782e9 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -103,7 +103,7 @@ Probe probe; -xyz_pos_t Probe::offset; // Initialized by settings.load() +xyz_pos_t Probe::offset; // Initialized by settings.load #if HAS_PROBE_XY_OFFSET const xy_pos_t &Probe::offset_xy = Probe::offset; diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 81e1d0404e02..d7851e9c672c 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -160,7 +160,7 @@ Stepper stepper; // Singleton #if HAS_MOTOR_CURRENT_SPI || HAS_MOTOR_CURRENT_PWM bool Stepper::initialized; // = false - uint32_t Stepper::motor_current_setting[MOTOR_CURRENT_COUNT]; // Initialized by settings.load() + uint32_t Stepper::motor_current_setting[MOTOR_CURRENT_COUNT]; // Initialized by settings.load #if HAS_MOTOR_CURRENT_SPI constexpr uint32_t Stepper::digipot_count[]; #endif @@ -212,7 +212,7 @@ uint32_t Stepper::acceleration_time, Stepper::deceleration_time; #if ENABLED(ADAPTIVE_STEP_SMOOTHING) #if ENABLED(ADAPTIVE_STEP_SMOOTHING_TOGGLE) - bool Stepper::adaptive_step_smoothing_enabled; // Initialized by settings.load() + bool Stepper::adaptive_step_smoothing_enabled; // Initialized by settings.load #else constexpr bool Stepper::adaptive_step_smoothing_enabled; // = true #endif diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index c678b9dca3ac..306b2151b51f 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -324,7 +324,7 @@ class Stepper { #define MOTOR_CURRENT_COUNT COUNT(Stepper::digipot_count) #endif static bool initialized; - static uint32_t motor_current_setting[MOTOR_CURRENT_COUNT]; // Initialized by settings.load() + static uint32_t motor_current_setting[MOTOR_CURRENT_COUNT]; // Initialized by settings.load #endif // Last-moved extruder, as set when the last movement was fetched from planner diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index cbb3498f552f..c6df105aa8b1 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -2317,7 +2317,7 @@ void Temperature::task() { #if HAS_USER_THERMISTORS - user_thermistor_t Temperature::user_thermistor[USER_THERMISTORS]; // Initialized by settings.load() + user_thermistor_t Temperature::user_thermistor[USER_THERMISTORS]; // Initialized by settings.load void Temperature::reset_user_thermistors() { user_thermistor_t default_user_thermistor[USER_THERMISTORS] = { diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index 0d5984b0f4ef..ffc86eb4e5ba 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -445,7 +445,7 @@ typedef struct HeaterInfo : public TempInfo { // A heater with PID stabilization template struct PIDHeaterInfo : public HeaterInfo { - T pid; // Initialized by settings.load() + T pid; // Initialized by settings.load }; #if ENABLED(MPCTEMP) diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index b6f02713b349..12aca3fff671 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -37,7 +37,7 @@ //#define DEBUG_TOOLCHANGE_FILAMENT_SWAP #if HAS_MULTI_EXTRUDER - toolchange_settings_t toolchange_settings; // Initialized by settings.load() + toolchange_settings_t toolchange_settings; // Initialized by settings.load #endif #if ENABLED(TOOLCHANGE_MIGRATION_FEATURE) From 5de9fc556fa35233ffc9ee96727f7240c3e23eab Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Oct 2024 20:08:22 -0500 Subject: [PATCH 19/25] =?UTF-8?q?=F0=9F=9A=B8=20Strings=20MSG=5FZPROBE=5F[?= =?UTF-8?q?XYZ[OFFSET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/dogm/fontdata/langdata_el.h | 23 +++++++++++-------- Marlin/src/lcd/dogm/fontdata/langdata_el_CY.h | 23 +++++++++++-------- Marlin/src/lcd/language/language_an.h | 3 +++ Marlin/src/lcd/language/language_bg.h | 3 +++ Marlin/src/lcd/language/language_ca.h | 3 +++ Marlin/src/lcd/language/language_cz.h | 3 +++ Marlin/src/lcd/language/language_de.h | 1 + Marlin/src/lcd/language/language_el.h | 11 +++++---- Marlin/src/lcd/language/language_el_gr.h | 15 +++++++----- Marlin/src/lcd/language/language_en.h | 1 + Marlin/src/lcd/language/language_es.h | 1 + Marlin/src/lcd/language/language_eu.h | 3 +++ Marlin/src/lcd/language/language_fr.h | 1 + Marlin/src/lcd/language/language_fr_na.h | 1 + Marlin/src/lcd/language/language_gl.h | 3 ++- Marlin/src/lcd/language/language_hu.h | 1 + Marlin/src/lcd/language/language_it.h | 1 + Marlin/src/lcd/language/language_jp_kana.h | 3 +++ Marlin/src/lcd/language/language_nl.h | 5 +++- Marlin/src/lcd/language/language_pl.h | 3 +++ Marlin/src/lcd/language/language_pt.h | 3 +++ Marlin/src/lcd/language/language_pt_br.h | 1 + Marlin/src/lcd/language/language_ro.h | 1 + Marlin/src/lcd/language/language_ru.h | 1 + Marlin/src/lcd/language/language_sk.h | 1 + Marlin/src/lcd/language/language_sv.h | 1 + Marlin/src/lcd/language/language_tr.h | 1 + Marlin/src/lcd/language/language_uk.h | 1 + Marlin/src/lcd/language/language_vi.h | 3 +++ Marlin/src/lcd/language/language_zh_CN.h | 5 ++-- Marlin/src/lcd/language/language_zh_TW.h | 1 + Marlin/src/lcd/menu/menu_probe_level.cpp | 6 ++--- Marlin/src/lcd/menu/menu_probe_offset.cpp | 2 +- Marlin/src/lcd/menu/menu_tune.cpp | 2 +- Marlin/src/lcd/menu/menu_x_twist.cpp | 2 +- 35 files changed, 99 insertions(+), 40 deletions(-) diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_el.h b/Marlin/src/lcd/dogm/fontdata/langdata_el.h index 6fefab9c61a1..9faacfbd24b6 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_el.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_el.h @@ -11,19 +11,21 @@ const u8g_fntpgm_uint8_t fontpage_7_136_136[33] U8G_FONT_SECTION("fontpage_7_136 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0x00,0x00, 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x80,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80, 0xF8}; -const u8g_fntpgm_uint8_t fontpage_7_145_157[186] U8G_FONT_SECTION("fontpage_7_145_157") = { - 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x9D,0x00,0x07,0x00,0x00, +const u8g_fntpgm_uint8_t fontpage_7_145_149[82] U8G_FONT_SECTION("fontpage_7_145_149") = { + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x95,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, 0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, 0x50,0x50,0x88,0x88,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80, - 0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xE0, - 0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0,0xC0, - 0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88,0x88,0x88, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88}; + 0x80,0xF8}; +const u8g_fntpgm_uint8_t fontpage_7_151_157[108] U8G_FONT_SECTION("fontpage_7_151_157") = { + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x9D,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01, + 0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, + 0xA0,0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = { 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0xA1,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07, @@ -79,7 +81,8 @@ const u8g_fntpgm_uint8_t fontpage_64_166_166[24] U8G_FONT_SECTION("fontpage_64_1 static const uxg_fontinfo_t g_fontinfo_el[] PROGMEM = { FONTDATA_ITEM(7, 136, 136, fontpage_7_136_136), // 'Έ' -- 'Έ' - FONTDATA_ITEM(7, 145, 157, fontpage_7_145_157), // 'Α' -- 'Ν' + FONTDATA_ITEM(7, 145, 149, fontpage_7_145_149), // 'Α' -- 'Ε' + FONTDATA_ITEM(7, 151, 157, fontpage_7_151_157), // 'Η' -- 'Ν' FONTDATA_ITEM(7, 159, 161, fontpage_7_159_161), // 'Ο' -- 'Ρ' FONTDATA_ITEM(7, 163, 167, fontpage_7_163_167), // 'Σ' -- 'Χ' FONTDATA_ITEM(7, 172, 175, fontpage_7_172_175), // 'ά' -- 'ί' diff --git a/Marlin/src/lcd/dogm/fontdata/langdata_el_CY.h b/Marlin/src/lcd/dogm/fontdata/langdata_el_CY.h index c3a2264aecd5..6ad34ebc9564 100644 --- a/Marlin/src/lcd/dogm/fontdata/langdata_el_CY.h +++ b/Marlin/src/lcd/dogm/fontdata/langdata_el_CY.h @@ -11,19 +11,21 @@ const u8g_fntpgm_uint8_t fontpage_7_136_136[33] U8G_FONT_SECTION("fontpage_7_136 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x0A,0x00,0x00, 0x00,0x05,0x0A,0x0A,0x06,0x00,0x00,0x40,0x80,0x00,0xF8,0x80,0x80,0xF0,0x80,0x80, 0xF8}; -const u8g_fntpgm_uint8_t fontpage_7_145_157[186] U8G_FONT_SECTION("fontpage_7_145_157") = { - 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x9D,0x00,0x07,0x00,0x00, +const u8g_fntpgm_uint8_t fontpage_7_145_149[82] U8G_FONT_SECTION("fontpage_7_145_149") = { + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x91,0x95,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, 0x07,0x06,0x00,0x00,0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x05,0x07,0x07,0x06,0x00, 0x00,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20, 0x50,0x50,0x88,0x88,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x80,0x80,0xF0,0x80, - 0x80,0xF8,0x05,0x07,0x07,0x06,0x00,0x00,0xF8,0x08,0x10,0x20,0x40,0x80,0xF8,0x05, - 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07,0x07,0x06, - 0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01,0x00,0xE0, - 0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90,0xA0,0xC0, - 0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88,0x88,0x88, - 0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05,0x07,0x07, - 0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88}; + 0x80,0xF8}; +const u8g_fntpgm_uint8_t fontpage_7_151_157[108] U8G_FONT_SECTION("fontpage_7_151_157") = { + 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x97,0x9D,0x00,0x07,0x00,0x00, + 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xF8,0x88,0x88,0x70,0x03,0x07,0x07,0x06,0x01, + 0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0xE0,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, + 0xA0,0xC0,0xA0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0x50,0x50,0x88, + 0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xD8,0xA8,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xC8,0xA8,0x98,0x88,0x88}; const u8g_fntpgm_uint8_t fontpage_7_159_161[56] U8G_FONT_SECTION("fontpage_7_159_161") = { 0x00,0x0C,0x0F,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x9F,0xA1,0x00,0x07,0x00,0x00, 0x00,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07, @@ -79,7 +81,8 @@ const u8g_fntpgm_uint8_t fontpage_64_166_166[24] U8G_FONT_SECTION("fontpage_64_1 static const uxg_fontinfo_t g_fontinfo_el_CY[] PROGMEM = { FONTDATA_ITEM(7, 136, 136, fontpage_7_136_136), // 'Έ' -- 'Έ' - FONTDATA_ITEM(7, 145, 157, fontpage_7_145_157), // 'Α' -- 'Ν' + FONTDATA_ITEM(7, 145, 149, fontpage_7_145_149), // 'Α' -- 'Ε' + FONTDATA_ITEM(7, 151, 157, fontpage_7_151_157), // 'Η' -- 'Ν' FONTDATA_ITEM(7, 159, 161, fontpage_7_159_161), // 'Ο' -- 'Ρ' FONTDATA_ITEM(7, 163, 167, fontpage_7_163_167), // 'Σ' -- 'Χ' FONTDATA_ITEM(7, 172, 175, fontpage_7_172_175), // 'ά' -- 'ί' diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h index a84f816ffbda..bd54a4803efa 100644 --- a/Marlin/src/lcd/language/language_an.h +++ b/Marlin/src/lcd/language/language_an.h @@ -159,7 +159,10 @@ namespace LanguageNarrow_an { LSTR MSG_CHANGE_MEDIA = _UxGT("Cambiar tarcheta"); LSTR MSG_ZPROBE_OUT = _UxGT("Sonda Z fuera"); LSTR MSG_BLTOUCH_RESET = _UxGT("Reset BLTouch"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Desfase X"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Desfase Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Desfase Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Desfase @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Probe Z con pas"); LSTR MSG_BABYSTEP_X = _UxGT("Micropaso X"); LSTR MSG_BABYSTEP_Y = _UxGT("Micropaso Y"); diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h index 5c10cefb8ec8..7b58b263eebe 100644 --- a/Marlin/src/lcd/language/language_bg.h +++ b/Marlin/src/lcd/language/language_bg.h @@ -142,7 +142,10 @@ namespace LanguageNarrow_bg { LSTR MSG_ATTACH_MEDIA = _UxGT("Иниц. SD-Карта"); LSTR MSG_CHANGE_MEDIA = _UxGT("Смяна SD-Карта"); LSTR MSG_ZPROBE_OUT = _UxGT("Z-сондата е извадена"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("X Отстояние"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y Отстояние"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z Отстояние"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ Отстояние"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Промяна на Z"); LSTR MSG_BABYSTEP_X = _UxGT("Министъпка X"); LSTR MSG_BABYSTEP_Y = _UxGT("Министъпка Y"); diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h index 54bfa38bbdb2..3c753de53e99 100644 --- a/Marlin/src/lcd/language/language_ca.h +++ b/Marlin/src/lcd/language/language_ca.h @@ -150,7 +150,10 @@ namespace LanguageNarrow_ca { LSTR MSG_ZPROBE_OUT = _UxGT("Sonda Z fora"); LSTR MSG_BLTOUCH_RESET = _UxGT("Reinicia BLTouch"); LSTR MSG_HOME_FIRST = _UxGT("Home %s primer"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Decalatge X"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Decalatge Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Decalatge Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Decalatge @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Pas a pas el Z"); LSTR MSG_BABYSTEP_X = _UxGT("Micropas X"); LSTR MSG_BABYSTEP_Y = _UxGT("Micropas Y"); diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index 8884792c51f7..86820baa05ef 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -384,7 +384,10 @@ namespace LanguageNarrow_cz { LSTR MSG_MANUAL_DEPLOY = _UxGT("Vysunout Z-sondu"); LSTR MSG_MANUAL_STOW = _UxGT("Zasunout Z-sondu"); LSTR MSG_HOME_FIRST = _UxGT("Domů %s první"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("X ofset"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y ofset"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z ofset"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ ofset"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Krok a Z offset"); LSTR MSG_BABYSTEP_X = _UxGT("Babystep X"); LSTR MSG_BABYSTEP_Y = _UxGT("Babystep Y"); diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 7c3a5ebfd86e..f2227f532105 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -525,6 +525,7 @@ namespace LanguageNarrow_de { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Sondenversatz X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Sondenversatz Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Sondenversatz Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Sondenversatz @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Z Offset mit Pas"); LSTR MSG_ZPROBE_MARGIN = _UxGT("Sondenrand"); LSTR MSG_Z_FEED_RATE = _UxGT("Z-Vorschub"); diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h index bcc7696b9d59..e971af32d59d 100644 --- a/Marlin/src/lcd/language/language_el.h +++ b/Marlin/src/lcd/language/language_el.h @@ -184,15 +184,18 @@ namespace LanguageNarrow_el { LSTR MSG_CHANGE_MEDIA = _UxGT("Αλλαγή κάρτας SD"); LSTR MSG_ZPROBE_OUT = _UxGT("Διερεύνηση Z εκτός Επ.Εκτύπωσης"); // SHORTEN LSTR MSG_YX_UNHOMED = _UxGT("Επαναφορά Χ/Υ πρώτα"); - LSTR MSG_XYZ_UNHOMED = _UxGT("Επαναφορά ΧΥΖ πρώτα"); - LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Μετατόπιση Ζ"); + LSTR MSG_XYZ_UNHOMED = _UxGT("Επαναφορά ΧΥZ πρώτα"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Μετατόπιση X"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Μετατόπιση Y"); + LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Μετατόπιση Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Μετατόπιση @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Βήμα Z ρύθμιση"); LSTR MSG_BABYSTEP_X = _UxGT("Μικρό βήμα Χ"); LSTR MSG_BABYSTEP_Y = _UxGT("Μικρό βήμα Υ"); - LSTR MSG_BABYSTEP_Z = _UxGT("Μικρό βήμα Ζ"); + LSTR MSG_BABYSTEP_Z = _UxGT("Μικρό βήμα Z"); LSTR MSG_ENDSTOP_ABORT = _UxGT("Ακύρωση endstop"); LSTR MSG_ERR_HEATING_FAILED = _UxGT("Αποτυχία θέρμανσης"); - LSTR MSG_ERR_REDUNDANT_TEMP = _UxGT("ΠΛΕΟΝΑΖΟΥΣΑ ΘΕΡΜΟΤΗΤΑ"); + LSTR MSG_ERR_REDUNDANT_TEMP = _UxGT("ΠΛΕΟΝΑZΟΥΣΑ ΘΕΡΜΟΤΗΤΑ"); LSTR MSG_ERR_THERMAL_RUNAWAY = _UxGT("ΘΕΡΜΙΚΗ ΔΙΑΦΥΓΗ"); LSTR MSG_ERR_TEMP_MALFUNCTION = _UxGT("ΘΕΡΜΙΚΗ ΔΥΣΛΕΙΤΟΥΡΓΙΑ"); LSTR MSG_ERR_MAXTEMP = _UxGT("ΠΕΡΙΤΤΗ ΘΕΡΜΟΚΡΑΣΙΑ"); diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h index 87f56455bde3..e2a34765ce21 100644 --- a/Marlin/src/lcd/language/language_el_gr.h +++ b/Marlin/src/lcd/language/language_el_gr.h @@ -47,7 +47,7 @@ namespace LanguageNarrow_el_gr { LSTR MSG_AUTO_HOME_X = _UxGT("Αρχικό σημείο X"); LSTR MSG_AUTO_HOME_Y = _UxGT("Αρχικό σημείο Y"); LSTR MSG_AUTO_HOME_Z = _UxGT("Αρχικό σημείο Z"); - LSTR MSG_LEVEL_BED_HOMING = _UxGT("Επαναφορά στο αρχικό σημείο ΧΥΖ"); + LSTR MSG_LEVEL_BED_HOMING = _UxGT("Επαναφορά στο αρχικό σημείο ΧΥZ"); LSTR MSG_LEVEL_BED_WAITING = _UxGT("Κάντε κλικ για να ξεκινήσετε"); LSTR MSG_LEVEL_BED_NEXT_POINT = _UxGT("Επόμενο σημείο"); LSTR MSG_LEVEL_BED_DONE = _UxGT("Ολοκλήρωση επιπεδοποίησης!"); @@ -173,16 +173,19 @@ namespace LanguageNarrow_el_gr { LSTR MSG_ATTACH_MEDIA = _UxGT("Προετοιμασία κάρτας SD"); LSTR MSG_CHANGE_MEDIA = _UxGT("Αλλαγή κάρτας SD"); LSTR MSG_ZPROBE_OUT = _UxGT("Διερεύνηση Z εκτός κλίνης"); - LSTR MSG_YX_UNHOMED = _UxGT("Επαναφορά Χ/Υ πριν από Ζ"); - LSTR MSG_XYZ_UNHOMED = _UxGT("Επαναφορά ΧΥΖ πρώτα"); - LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Μετατόπιση Ζ"); + LSTR MSG_YX_UNHOMED = _UxGT("Επαναφορά Χ/Υ πριν από Z"); + LSTR MSG_XYZ_UNHOMED = _UxGT("Επαναφορά ΧΥZ πρώτα"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Μετατόπιση X"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Μετατόπιση Y"); + LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Μετατόπιση Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Μετατόπιση @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Βήμα Z ρύθμιση"); LSTR MSG_BABYSTEP_X = _UxGT("Μικρό βήμα Χ"); LSTR MSG_BABYSTEP_Y = _UxGT("Μικρό βήμα Υ"); - LSTR MSG_BABYSTEP_Z = _UxGT("Μικρό βήμα Ζ"); + LSTR MSG_BABYSTEP_Z = _UxGT("Μικρό βήμα Z"); LSTR MSG_ENDSTOP_ABORT = _UxGT("Ματαίωση endstop "); LSTR MSG_ERR_HEATING_FAILED = _UxGT("Ανεπιτυχής θέρμανση"); - LSTR MSG_ERR_REDUNDANT_TEMP = _UxGT("Λάθος: ΠΛΕΟΝΑΖΟΥΣΑ ΘΕΡΜΟΤΗΤΑ"); + LSTR MSG_ERR_REDUNDANT_TEMP = _UxGT("Λάθος: ΠΛΕΟΝΑZΟΥΣΑ ΘΕΡΜΟΤΗΤΑ"); LSTR MSG_ERR_THERMAL_RUNAWAY = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΤΗΤΑΣ"); LSTR MSG_ERR_MAXTEMP = _UxGT("Λάθος: ΜΕΓΙΣΤΗ ΘΕΡΜΟΤΗΤΑ"); LSTR MSG_ERR_MINTEMP = _UxGT("Λάθος: ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΤΗΤΑ"); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index ad83797a41fb..fa8b2cfa4baa 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -639,6 +639,7 @@ namespace LanguageNarrow_en { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Probe X Offset"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Probe Y Offset"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Probe Z Offset"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Probe @ Offset"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Babystep Probe Z"); LSTR MSG_ZPROBE_MARGIN = _UxGT("Probe Margin"); LSTR MSG_ZOFFSET = _UxGT("Z Offset"); diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index e3ca432e7825..ac2b879bdd19 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -395,6 +395,7 @@ namespace LanguageNarrow_es { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Desf. Sonda X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Desf. Sonda Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Desf. Sonda Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Desf. Sonda @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Ajuste Z al paso"); LSTR MSG_BABYSTEP_X = _UxGT("Micropaso X"); LSTR MSG_BABYSTEP_Y = _UxGT("Micropaso Y"); diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index 86cffd27c994..62f28ada1a52 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -228,7 +228,10 @@ namespace LanguageNarrow_eu { LSTR MSG_BLTOUCH_DEPLOY = _UxGT("BLTouch jaitsi/luzatu"); LSTR MSG_BLTOUCH_STOW = _UxGT("BLTouch igo/jaso"); LSTR MSG_HOME_FIRST = _UxGT("Etxera %s lehenengo"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("X Konpentsatu"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y Konpentsatu"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z Konpentsatu"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ Konpentsatu"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Z pausoz egokitu"); LSTR MSG_BABYSTEP_X = _UxGT("Mikro-urratsa X"); LSTR MSG_BABYSTEP_Y = _UxGT("Mikro-urratsa Y"); diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index dae5a32c9a6c..5af0eaa0190a 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -420,6 +420,7 @@ namespace LanguageNarrow_fr { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Décalage X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Décalage Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Décalage Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Décalage @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Babystep sonde Z"); LSTR MSG_BABYSTEP_X = _UxGT("Babystep X"); LSTR MSG_BABYSTEP_Y = _UxGT("Babystep Y"); diff --git a/Marlin/src/lcd/language/language_fr_na.h b/Marlin/src/lcd/language/language_fr_na.h index c158cd32c85f..40ad55c2efb4 100644 --- a/Marlin/src/lcd/language/language_fr_na.h +++ b/Marlin/src/lcd/language/language_fr_na.h @@ -420,6 +420,7 @@ namespace LanguageNarrow_fr_na { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Decalage X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Decalage Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Decalage Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Decalage @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Babystep sonde Z"); LSTR MSG_BABYSTEP_X = _UxGT("Babystep X"); LSTR MSG_BABYSTEP_Y = _UxGT("Babystep Y"); diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index cc334ea19cff..1acaf95bccff 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -409,7 +409,8 @@ namespace LanguageNarrow_gl { LSTR MSG_ZPROBE_OFFSETS = _UxGT("Desfases Sonda"); LSTR MSG_ZPROBE_XOFFSET = _UxGT("Desfase Sonda X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Desfase Sonda Y"); - LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Desfase Z"); + LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Desfase Sonda Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Desfase Sonda @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Micropaso Sonda-Z"); LSTR MSG_BABYSTEP_X = _UxGT("Micropaso X"); LSTR MSG_BABYSTEP_Y = _UxGT("Micropaso Y"); diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index 7ca5b39ff248..17ed2a50ffd1 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -461,6 +461,7 @@ namespace LanguageNarrow_hu { LSTR MSG_ZPROBE_XOFFSET = _UxGT("X szonda eltolás"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y szonda eltolás"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z szonda eltolás"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ szonda eltolás"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Z lépés állítás"); LSTR MSG_MOVE_NOZZLE_TO_BED = _UxGT("Fej az ágyhoz"); LSTR MSG_BABYSTEP_X = _UxGT("Mikrolépés X"); diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 64f95008088d..c20225fb497d 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -586,6 +586,7 @@ namespace LanguageNarrow_it { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Offset X sonda"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Offset Y sonda"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Offset Z sonda"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Offset @ sonda"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Babystep sonda Z"); LSTR MSG_ZPROBE_MARGIN = _UxGT("Margine sonda"); LSTR MSG_Z_FEED_RATE = _UxGT("Velocità Z"); diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h index c3c5194940bf..f7c37bad16c5 100644 --- a/Marlin/src/lcd/language/language_jp_kana.h +++ b/Marlin/src/lcd/language/language_jp_kana.h @@ -174,7 +174,10 @@ namespace LanguageNarrow_jp_kana { LSTR MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch ジコシンダン"); // "BLTouch Self-Test" LSTR MSG_BLTOUCH_RESET = _UxGT("BLTouch リセット"); // "Reset BLTouch" LSTR MSG_HOME_FIRST = _UxGT("サキニ %s ヲフッキサセテクダサイ"); // "Home ... first" + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Xオフセット"); // "X Offset" + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Yオフセット"); // "Y Offset" LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Zオフセット"); // "Z Offset" + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@オフセット"); // "@ Offset" LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("プローブZオフセット"); // "Babystep Probe Z" LSTR MSG_BABYSTEP_X = _UxGT("Xジク ビドウ"); // "Babystep X" LSTR MSG_BABYSTEP_Y = _UxGT("Yジク ビドウ"); // "Babystep Y" diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index 8b8f018bf47d..2c542999ca05 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -152,7 +152,10 @@ namespace LanguageNarrow_nl { LSTR MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch Zelf-Test"); LSTR MSG_BLTOUCH_RESET = _UxGT("Reset BLTouch"); LSTR MSG_HOME_FIRST = _UxGT("Home %s Eerst"); - LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z Offset"); // accepted English term in Dutch + LSTR MSG_ZPROBE_XOFFSET = _UxGT("X Offset"); // accepted English term in Dutch + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y Offset"); + LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z Offset"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ Offset"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Babystep Probe Z"); LSTR MSG_BABYSTEP_X = _UxGT("Babystap X"); LSTR MSG_BABYSTEP_Y = _UxGT("Babystap Y"); diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index 9244be402164..bb2dea38e1fd 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -366,7 +366,10 @@ namespace LanguageNarrow_pl { LSTR MSG_BLTOUCH_RESET = _UxGT("Reset BLTouch"); LSTR MSG_BLTOUCH_MODE_CHANGE = _UxGT("UWAGA: Złe ustawienia mogą uszkodzić drukarkę. Kontynuować?"); LSTR MSG_HOME_FIRST = _UxGT("Najpierw Home %s"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Offset X"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Offset Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Offset Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Offset @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Krok Z offsetu"); LSTR MSG_MOVE_NOZZLE_TO_BED = _UxGT("Przesuń dyszę do stołu"); LSTR MSG_BABYSTEP_TOTAL = _UxGT("Łącznie"); diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index 036ca297dbe8..682ebba9fad5 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -145,7 +145,10 @@ namespace LanguageNarrow_pt { LSTR MSG_ATTACH_MEDIA = _UxGT("Inici. cartão SD"); LSTR MSG_CHANGE_MEDIA = _UxGT("Trocar cartão SD"); LSTR MSG_ZPROBE_OUT = _UxGT("Sensor fora/base"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Desvio X"); + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Desvio Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Desvio Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Desvio @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Passo Z ajuste"); LSTR MSG_ENDSTOP_ABORT = _UxGT("Fim de curso"); LSTR MSG_ERR_HEATING_FAILED = _UxGT("Aquecimento falhou"); diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h index 61a5c7348f88..ea1bfca96453 100644 --- a/Marlin/src/lcd/language/language_pt_br.h +++ b/Marlin/src/lcd/language/language_pt_br.h @@ -337,6 +337,7 @@ namespace LanguageNarrow_pt_br { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Compensar Sonda em X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Compensar Sonda em Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Compensar Sonda em Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Compensar Sonda em @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Passo Z ajuste"); LSTR MSG_BABYSTEP_X = _UxGT("Passinho X"); LSTR MSG_BABYSTEP_Y = _UxGT("Passinho Y"); diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h index 02311aa963e8..7ca379fc2155 100644 --- a/Marlin/src/lcd/language/language_ro.h +++ b/Marlin/src/lcd/language/language_ro.h @@ -417,6 +417,7 @@ namespace LanguageNarrow_ro { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Probe X Offset"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Probe Y Offset"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Probe Z Offset"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Probe @ Offset"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Pas Z ajustare"); LSTR MSG_BABYSTEP_X = _UxGT("Babystep X"); LSTR MSG_BABYSTEP_Y = _UxGT("Babystep Y"); diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 81a3a04794cb..8e18aaf907e1 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -465,6 +465,7 @@ namespace LanguageNarrow_ru { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Смещение X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Смещение Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Смещение Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Смещение @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Шаг Z смещения"); LSTR MSG_MOVE_NOZZLE_TO_BED = _UxGT("Двиг. сопло к столу"); LSTR MSG_BABYSTEP_X = _UxGT("Микрошаг X"); diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index c174bfcaf8ba..212d47169d2a 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -567,6 +567,7 @@ namespace LanguageNarrow_sk { LSTR MSG_ZPROBE_XOFFSET = _UxGT("X ofset"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y ofset"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z ofset"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ ofset"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Krok Z posuň"); LSTR MSG_ZPROBE_MARGIN = _UxGT("Hranica sondy"); LSTR MSG_Z_FEED_RATE = _UxGT("Rýchl. posunu Z"); diff --git a/Marlin/src/lcd/language/language_sv.h b/Marlin/src/lcd/language/language_sv.h index 0af09d61fe57..08b3367ee2c5 100644 --- a/Marlin/src/lcd/language/language_sv.h +++ b/Marlin/src/lcd/language/language_sv.h @@ -447,6 +447,7 @@ namespace LanguageNarrow_sv { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Sond X Offset"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Sond Y Offset"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Sond Z Offset"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Sond @ Offset"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Steg Z justering"); LSTR MSG_MOVE_NOZZLE_TO_BED = _UxGT("Flytta Munstycke till Bädd"); LSTR MSG_BABYSTEP_X = _UxGT("Småsteg X"); diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index 05dd1f588835..212c7eebef9f 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -586,6 +586,7 @@ namespace LanguageNarrow_tr { LSTR MSG_ZPROBE_XOFFSET = _UxGT("X Prob Ofseti"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Y Prob Ofseti"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Z Prob Ofseti"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("@ Prob Ofseti"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Z ayarı adımsal"); LSTR MSG_ZPROBE_MARGIN = _UxGT("Prob Payı"); LSTR MSG_Z_FEED_RATE = _UxGT("Z İlerleme Hızı"); diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 5aafbf8610ba..879b4ff68f4a 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -475,6 +475,7 @@ namespace LanguageNarrow_uk { LSTR MSG_ZPROBE_XOFFSET = _UxGT("Зміщення по X"); LSTR MSG_ZPROBE_YOFFSET = _UxGT("Зміщення по Y"); LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Зміщення по Z"); + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Зміщення по @"); LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Крок Z зміщення"); LSTR MSG_MOVE_NOZZLE_TO_BED = _UxGT("Рухати сопло до столу"); LSTR MSG_BABYSTEP_X = _UxGT("Мікрокрок X"); diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index cc5befe557c5..e9efc4b44bd4 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -321,7 +321,10 @@ namespace LanguageNarrow_vi { LSTR MSG_MANUAL_DEPLOY = _UxGT("Đem Đầu Dò-Z"); // Deploy Z-Probe LSTR MSG_MANUAL_STOW = _UxGT("Cất Đầu Dò-Z"); // Stow Z-Probe LSTR MSG_HOME_FIRST = _UxGT("Về nhà %s Trước"); // Home %s first + LSTR MSG_ZPROBE_XOFFSET = _UxGT("Đầu Dò Bù Đắp X"); // Probe X Offset + LSTR MSG_ZPROBE_YOFFSET = _UxGT("Đầu Dò Bù Đắp Y"); // Probe Y Offset LSTR MSG_ZPROBE_ZOFFSET = _UxGT("Đầu Dò Bù Đắp Z"); // Probe Z Offset + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("Đầu Dò Bù Đắp @"); // Probe @ Offset LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("Điều chỉnh Z từng"); // Babystep Probe Z LSTR MSG_BABYSTEP_X = _UxGT("Nhít X"); // Babystep X LSTR MSG_BABYSTEP_Y = _UxGT("Nhít Y"); diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index c52e59d82686..608ad4447893 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -424,9 +424,10 @@ namespace LanguageNarrow_zh_CN { LSTR MSG_MANUAL_STOW = _UxGT("收好Z探针"); LSTR MSG_HOME_FIRST = _UxGT("归位 %s 先"); // "Home ... first" LSTR MSG_ZPROBE_OFFSETS = _UxGT("探针偏移量"); - LSTR MSG_ZPROBE_XOFFSET = _UxGT("探针X偏移"); - LSTR MSG_ZPROBE_YOFFSET = _UxGT("探针Y偏移"); + LSTR MSG_ZPROBE_XOFFSET = _UxGT("探针X偏移"); // "X Offset" + LSTR MSG_ZPROBE_YOFFSET = _UxGT("探针Y偏移"); // "Y Offset" LSTR MSG_ZPROBE_ZOFFSET = _UxGT("探针Z偏移"); // "Z Offset" + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("探针@偏移"); // "@ Offset" LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("逐步调整Z"); // "Babystep Probe Z" LSTR MSG_BABYSTEP_X = _UxGT("微量调整X轴"); // "Babystep X" lcd_babystep_x, Babystepping enables the user to control the axis in tiny amounts LSTR MSG_BABYSTEP_Y = _UxGT("微量调整Y轴"); // "Babystep Y" diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index fe4c78cf5bbb..b7d32263f404 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -366,6 +366,7 @@ namespace LanguageNarrow_zh_TW { LSTR MSG_ZPROBE_XOFFSET = _UxGT("探針X偏移量"); // "Probe X Offset" LSTR MSG_ZPROBE_YOFFSET = _UxGT("探針Y偏移量"); // "Probe Y Offset" LSTR MSG_ZPROBE_ZOFFSET = _UxGT("探針Z偏移量"); // "Probe Z Offset" + LSTR MSG_ZPROBE_OFFSET_N = _UxGT("探針@偏移量"); // "Probe @ Offset" LSTR MSG_BABYSTEP_PROBE_Z = _UxGT("逐步調整Z"); // "Babystep Probe Z" LSTR MSG_BABYSTEP_X = _UxGT("微量調整X軸"); // "Babystep X" lcd_babystep_x, Babystepping enables the user to control the axis in tiny amounts LSTR MSG_BABYSTEP_Y = _UxGT("微量調整Y軸"); // "Babystep Y" diff --git a/Marlin/src/lcd/menu/menu_probe_level.cpp b/Marlin/src/lcd/menu/menu_probe_level.cpp index 9376ada37ed1..2661a6b3fbde 100644 --- a/Marlin/src/lcd/menu/menu_probe_level.cpp +++ b/Marlin/src/lcd/menu/menu_probe_level.cpp @@ -338,8 +338,8 @@ void menu_probe_level() { // Probe XY Offsets // #if HAS_PROBE_XY_OFFSET - EDIT_ITEM(float31sign, MSG_ZPROBE_XOFFSET, &probe.offset.x, PROBE_OFFSET_XMIN, PROBE_OFFSET_XMAX); - EDIT_ITEM(float31sign, MSG_ZPROBE_YOFFSET, &probe.offset.y, PROBE_OFFSET_YMIN, PROBE_OFFSET_YMAX); + EDIT_ITEM_N(float31sign, X_AXIS, MSG_ZPROBE_OFFSET_N, &probe.offset.x, PROBE_OFFSET_XMIN, PROBE_OFFSET_XMAX); + EDIT_ITEM_N(float31sign, Y_AXIS, MSG_ZPROBE_OFFSET_N, &probe.offset.y, PROBE_OFFSET_YMIN, PROBE_OFFSET_YMAX); #endif // @@ -352,7 +352,7 @@ void menu_probe_level() { } else { #if HAS_BED_PROBE - EDIT_ITEM(LCD_Z_OFFSET_TYPE, MSG_ZPROBE_ZOFFSET, &probe.offset.z, PROBE_OFFSET_ZMIN, PROBE_OFFSET_ZMAX); + EDIT_ITEM_N(LCD_Z_OFFSET_TYPE, Z_AXIS, MSG_ZPROBE_OFFSET_N, &probe.offset.z, PROBE_OFFSET_ZMIN, PROBE_OFFSET_ZMAX); #endif } diff --git a/Marlin/src/lcd/menu/menu_probe_offset.cpp b/Marlin/src/lcd/menu/menu_probe_offset.cpp index 13edf0dcff6c..fe1f726cedf7 100644 --- a/Marlin/src/lcd/menu/menu_probe_offset.cpp +++ b/Marlin/src/lcd/menu/menu_probe_offset.cpp @@ -59,7 +59,7 @@ void probe_offset_wizard_menu() { STATIC_ITEM(MSG_MOVE_NOZZLE_TO_BED, SS_CENTER|SS_INVERT); STATIC_ITEM_F(F("Z"), SS_CENTER, ftostr42_52(current_position.z)); - STATIC_ITEM(MSG_ZPROBE_ZOFFSET, SS_FULL, ftostr42_52(calculated_z_offset)); + STATIC_ITEM_N(Z_AXIS, MSG_ZPROBE_OFFSET_N, SS_FULL, ftostr42_52(calculated_z_offset)); SUBMENU_S(F("1.0"), MSG_MOVE_N_MM, []{ _goto_manual_move_z( 1.0f); }); SUBMENU_S(F("0.1"), MSG_MOVE_N_MM, []{ _goto_manual_move_z( 0.1f); }); diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index ae6c7c1127d4..1f1571d986ca 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -233,7 +233,7 @@ void menu_tune() { SUBMENU_N(Y_AXIS, MSG_BABYSTEP_N, []{ _lcd_babystep_go(_lcd_babystep_y); }); #endif #if ENABLED(BABYSTEP_ZPROBE_OFFSET) - SUBMENU(MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); + SUBMENU_N(Z_AXIS, MSG_ZPROBE_OFFSET_N, lcd_babystep_zoffset); #else SUBMENU_N(Z_AXIS, MSG_BABYSTEP_N, lcd_babystep_z); #endif diff --git a/Marlin/src/lcd/menu/menu_x_twist.cpp b/Marlin/src/lcd/menu/menu_x_twist.cpp index c7e588b758bd..6c2ab70dbc57 100644 --- a/Marlin/src/lcd/menu/menu_x_twist.cpp +++ b/Marlin/src/lcd/menu/menu_x_twist.cpp @@ -94,7 +94,7 @@ void xatc_wizard_menu() { STATIC_ITEM(MSG_MOVE_NOZZLE_TO_BED, SS_CENTER|SS_INVERT); STATIC_ITEM_F(F("Z="), SS_CENTER, ftostr42_52(current_position.z)); - STATIC_ITEM(MSG_ZPROBE_ZOFFSET, SS_LEFT, ftostr42_52(calculated_z_offset)); + STATIC_ITEM_N(Z_AXIS, MSG_ZPROBE_OFFSET_N, SS_LEFT, ftostr42_52(calculated_z_offset)); SUBMENU_S(F("1.0"), MSG_MOVE_N_MM, []{ _goto_manual_move_z( 1.0f); }); SUBMENU_S(F("0.1"), MSG_MOVE_N_MM, []{ _goto_manual_move_z( 0.1f); }); From 282f90c1b3a0d3e6d1dad0e0601a3ff5fa226b85 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Oct 2024 19:47:20 -0500 Subject: [PATCH 20/25] =?UTF-8?q?=F0=9F=9A=B8=20Ignore=20first=20click=20o?= =?UTF-8?q?n=20asleep=20LCD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/dogm/marlinui_DOGM.cpp | 3 ++- Marlin/src/lcd/marlinui.cpp | 10 ++++++---- Marlin/src/lcd/marlinui.h | 1 + Marlin/src/lcd/tft/touch.cpp | 1 + Marlin/src/lcd/touch/touch_buttons.cpp | 3 +++ 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Marlin/src/lcd/dogm/marlinui_DOGM.cpp b/Marlin/src/lcd/dogm/marlinui_DOGM.cpp index c215afb7301f..29316c553dbe 100644 --- a/Marlin/src/lcd/dogm/marlinui_DOGM.cpp +++ b/Marlin/src/lcd/dogm/marlinui_DOGM.cpp @@ -390,8 +390,9 @@ void MarlinUI::clear_for_drawing() { } #if HAS_DISPLAY_SLEEP + static bool asleep = false; + bool MarlinUI::display_is_asleep() { return asleep; } void MarlinUI::sleep_display(const bool sleep/*=true*/) { - static bool asleep = false; if (asleep != sleep) { sleep ? u8g.sleepOn() : u8g.sleepOff(); asleep = sleep; diff --git a/Marlin/src/lcd/marlinui.cpp b/Marlin/src/lcd/marlinui.cpp index 6b9bed4e3dca..c625351d5a8e 100644 --- a/Marlin/src/lcd/marlinui.cpp +++ b/Marlin/src/lcd/marlinui.cpp @@ -957,11 +957,13 @@ void MarlinUI::init() { // If the action button is pressed... static bool wait_for_unclick; // = false + // Set lcd_clicked for most clicks. + // Ignore the click when clearing wait_for_user or waking the screen. auto do_click = [&]{ - wait_for_unclick = true; // - Set debounce flag to ignore continuous clicks - lcd_clicked = !wait_for_user; // - Keep the click if not waiting for a user-click - wait_for_user = false; // - Any click clears wait for user - quick_feedback(); // - Always make a click sound + wait_for_unclick = true; + lcd_clicked = !wait_for_user && !display_is_asleep(); + wait_for_user = false; + quick_feedback(); }; #if HAS_TOUCH_BUTTONS diff --git a/Marlin/src/lcd/marlinui.h b/Marlin/src/lcd/marlinui.h index 88c326080049..64c64020ed99 100644 --- a/Marlin/src/lcd/marlinui.h +++ b/Marlin/src/lcd/marlinui.h @@ -305,6 +305,7 @@ class MarlinUI { #endif // Sleep or wake the display (e.g., by turning the backlight off/on). + static bool display_is_asleep() IF_DISABLED(HAS_DISPLAY_SLEEP, { return false; }); static void sleep_display(const bool=true) IF_DISABLED(HAS_DISPLAY_SLEEP, {}); static void wake_display() { sleep_display(false); } diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index e48f97453603..932418331bba 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -313,6 +313,7 @@ bool Touch::get_point(int16_t * const x, int16_t * const y) { next_sleep_ms = ui.sleep_timeout_minutes ? millis() + MIN_TO_MS(ui.sleep_timeout_minutes) : 0; } + bool MarlinUI::display_is_asleep() { return touch.isSleeping(); } void MarlinUI::sleep_display(const bool sleep/*=true*/) { if (!sleep) touch.wakeUp(); } diff --git a/Marlin/src/lcd/touch/touch_buttons.cpp b/Marlin/src/lcd/touch/touch_buttons.cpp index f6f4c66e77a4..e17fcbbcd42c 100644 --- a/Marlin/src/lcd/touch/touch_buttons.cpp +++ b/Marlin/src/lcd/touch/touch_buttons.cpp @@ -153,6 +153,9 @@ uint8_t TouchButtons::read_buttons() { next_sleep_ms = ui.sleep_timeout_minutes ? millis() + MIN_TO_MS(ui.sleep_timeout_minutes) : 0; } + bool MarlinUI::display_is_asleep() { + return touchBt.isSleeping(); + } void MarlinUI::sleep_display(const bool sleep/*=true*/) { if (!sleep) touchBt.wakeUp(); } From 81760d6818104e70dba41cb24e5fe52f12a54962 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Oct 2024 20:08:53 -0500 Subject: [PATCH 21/25] =?UTF-8?q?=F0=9F=9A=B8=20EEPROM=20reset=20messages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/core/language.h | 1 + Marlin/src/lcd/language/language_en.h | 2 ++ Marlin/src/module/settings.cpp | 11 +++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index e641a1431b4b..3a9a24a51c28 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -191,6 +191,7 @@ #define STR_ERR_HOTEND_TOO_COLD "Hotend too cold" #define STR_ERR_EEPROM_WRITE "Error writing to EEPROM!" #define STR_ERR_EEPROM_CORRUPT "EEPROM Corrupt" +#define STR_EEPROM_INITIALIZED "EEPROM Initialized" #define STR_FILAMENT_CHANGE_HEAT_LCD "Press button to heat nozzle" #define STR_FILAMENT_CHANGE_INSERT_LCD "Insert filament and press button" diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index fa8b2cfa4baa..531bec1fda8e 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -496,6 +496,7 @@ namespace LanguageNarrow_en { LSTR MSG_LOAD_EEPROM = _UxGT("Load Settings"); LSTR MSG_RESTORE_DEFAULTS = _UxGT("Restore Defaults"); LSTR MSG_INIT_EEPROM = _UxGT("Initialize EEPROM"); + LSTR MSG_EEPROM_INITIALIZED = _UxGT("EEPROM Initialized"); LSTR MSG_ERR_EEPROM_CRC = _UxGT("Err: EEPROM CRC"); LSTR MSG_ERR_EEPROM_SIZE = _UxGT("Err: EEPROM Size"); LSTR MSG_ERR_EEPROM_VERSION = _UxGT("Err: EEPROM Version"); @@ -1098,6 +1099,7 @@ namespace LanguageWide_en { LSTR MSG_INFO_PRINT_LONGEST = _UxGT("Longest Job Time"); LSTR MSG_INFO_PRINT_FILAMENT = _UxGT("Extruded Total"); LSTR MSG_HOMING_FEEDRATE_N = _UxGT("@ Homing Feedrate"); + LSTR MSG_EEPROM_INITIALIZED = _UxGT("Default Settings Restored"); #endif } diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index fa7b5d1f139b..51677fdec6b8 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -3100,17 +3100,24 @@ void MarlinSettings::postprocess() { #endif // HAS_EARLY_LCD_SETTINGS bool MarlinSettings::load() { + // If the EEPROM data is valid load it if (validate()) { const EEPROM_Error err = _load(); const bool success = (err == ERR_EEPROM_NOERR); TERN_(EXTENSIBLE_UI, ExtUI::onSettingsLoaded(success)); return success; } + + // Otherwise reset settings to default "factory settings" reset(); + + // Options to overwrite the EEPROM on error #if ANY(EEPROM_AUTO_INIT, EEPROM_INIT_NOW) - (void)save(); - SERIAL_ECHO_MSG("EEPROM Initialized"); + (void)init_eeprom(); + LCD_MESSAGE(MSG_EEPROM_INITIALIZED); + SERIAL_ECHO_MSG(STR_EEPROM_INITIALIZED); #endif + return false; } From d6c3f45bda98cd1da73bbe06c2ae9eab054deea8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 13 Oct 2024 23:54:03 -0500 Subject: [PATCH 22/25] =?UTF-8?q?=F0=9F=9A=B8=20LED=20menu=20tweaks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/lcd/e3v2/proui/dwin.cpp | 4 +- .../generic/case_light_screen.cpp | 2 +- Marlin/src/lcd/language/language_cz.h | 3 +- Marlin/src/lcd/language/language_de.h | 4 +- Marlin/src/lcd/language/language_en.h | 6 +- Marlin/src/lcd/language/language_es.h | 3 +- Marlin/src/lcd/language/language_eu.h | 3 +- Marlin/src/lcd/language/language_fr.h | 3 +- Marlin/src/lcd/language/language_fr_na.h | 3 +- Marlin/src/lcd/language/language_gl.h | 3 +- Marlin/src/lcd/language/language_hu.h | 4 +- Marlin/src/lcd/language/language_it.h | 4 +- Marlin/src/lcd/language/language_pl.h | 3 +- Marlin/src/lcd/language/language_pt_br.h | 3 +- Marlin/src/lcd/language/language_ro.h | 3 +- Marlin/src/lcd/language/language_ru.h | 4 +- Marlin/src/lcd/language/language_sk.h | 4 +- Marlin/src/lcd/language/language_sv.h | 4 +- Marlin/src/lcd/language/language_tr.h | 4 +- Marlin/src/lcd/language/language_uk.h | 4 +- Marlin/src/lcd/language/language_vi.h | 3 +- Marlin/src/lcd/language/language_zh_CN.h | 3 +- Marlin/src/lcd/language/language_zh_TW.h | 3 +- Marlin/src/lcd/menu/menu_led.cpp | 80 +++++++++++-------- Marlin/src/lcd/menu/menu_main.cpp | 2 +- 25 files changed, 94 insertions(+), 68 deletions(-) diff --git a/Marlin/src/lcd/e3v2/proui/dwin.cpp b/Marlin/src/lcd/e3v2/proui/dwin.cpp index dc8c70248dbd..894d78198da2 100644 --- a/Marlin/src/lcd/e3v2/proui/dwin.cpp +++ b/Marlin/src/lcd/e3v2/proui/dwin.cpp @@ -3358,7 +3358,7 @@ void drawFilSetMenu() { if (SET_MENU(ledControlMenu, MSG_LED_CONTROL, 10)) { BACK_ITEM((currentMenu == tuneMenu) ? drawTuneMenu : drawControlMenu); #if !ALL(CASE_LIGHT_MENU, CASE_LIGHT_USE_NEOPIXEL) - EDIT_ITEM(ICON_LedControl, MSG_LEDS, onDrawChkbMenu, setLedStatus, &leds.lights_on); + EDIT_ITEM(ICON_LedControl, MSG_LIGHTS, onDrawChkbMenu, setLedStatus, &leds.lights_on); #endif #if HAS_COLOR_LEDS #if ENABLED(LED_COLOR_PRESETS) @@ -3450,7 +3450,7 @@ void drawTuneMenu() { MENU_ITEM(ICON_LedControl, MSG_LED_CONTROL, onDrawSubMenu, drawLedControlMenu); #endif #elif ENABLED(LED_CONTROL_MENU) && DISABLED(CASE_LIGHT_USE_NEOPIXEL) - EDIT_ITEM(ICON_LedControl, MSG_LEDS, onDrawChkbMenu, setLedStatus, &leds.lights_on); + EDIT_ITEM(ICON_LedControl, MSG_LIGHTS, onDrawChkbMenu, setLedStatus, &leds.lights_on); #endif } updateMenu(tuneMenu); diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/case_light_screen.cpp b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/case_light_screen.cpp index 8fbb400a681b..23140ea6513e 100644 --- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/case_light_screen.cpp +++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/case_light_screen.cpp @@ -31,7 +31,7 @@ using namespace Theme; void CaseLightScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.heading( GET_TEXT_F(MSG_CASE_LIGHT)); - w.toggle( 2, GET_TEXT_F(MSG_LEDS), getCaseLightState()); + w.toggle( 2, GET_TEXT_F(MSG_LIGHTS), getCaseLightState()); #if DISABLED(CASE_LIGHT_NO_BRIGHTNESS) w.precision(0).units(GET_TEXT_F(MSG_UNITS_PERCENT)) .adjuster(10, GET_TEXT_F(MSG_CASE_LIGHT_BRIGHTNESS), getCaseLightBrightness_percent()); diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index 86820baa05ef..2217ee5fbd15 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -200,7 +200,8 @@ namespace LanguageNarrow_cz { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Uložit síť bodů"); LSTR MSG_LED_CONTROL = _UxGT("Nastavení LED"); - LSTR MSG_LEDS = _UxGT("Světla"); + LSTR MSG_LIGHTS = _UxGT("Světla"); + LSTR MSG_LIGHT_N = _UxGT("Světla #{"); LSTR MSG_LED_PRESETS = _UxGT("Světla Předvolby"); LSTR MSG_SET_LEDS_RED = _UxGT("Červená"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Oranžová"); diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index f2227f532105..afabace283c8 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -254,7 +254,8 @@ namespace LanguageNarrow_de { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Bettnetz speichern"); LSTR MSG_LED_CONTROL = _UxGT("Licht-Steuerung"); - LSTR MSG_LEDS = _UxGT("Licht"); + LSTR MSG_LIGHTS = _UxGT("Licht"); + LSTR MSG_LIGHT_N = _UxGT("Lichter #{"); LSTR MSG_LED_PRESETS = _UxGT("Licht-Einstellung"); LSTR MSG_SET_LEDS_RED = _UxGT("Rot"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Orange"); @@ -266,7 +267,6 @@ namespace LanguageNarrow_de { LSTR MSG_SET_LEDS_WHITE = _UxGT("Weiß"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Standard"); LSTR MSG_LED_CHANNEL_N = _UxGT("Kanal {"); - LSTR MSG_LEDS2 = _UxGT("Lichter #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Licht #2 Voreinst."); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Helligkeit"); LSTR MSG_CUSTOM_LEDS = _UxGT("Benutzerdefiniert"); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 531bec1fda8e..b2d4aa7dbbd4 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -310,7 +310,8 @@ namespace LanguageNarrow_en { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Save Bed Mesh"); LSTR MSG_LED_CONTROL = _UxGT("LED Control"); - LSTR MSG_LEDS = _UxGT("Lights"); + LSTR MSG_LIGHTS = _UxGT("Lights"); + LSTR MSG_LIGHT_N = _UxGT("Light #{"); LSTR MSG_LED_PRESETS = _UxGT("Light Presets"); LSTR MSG_SET_LEDS_RED = _UxGT("Red"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Orange"); @@ -322,7 +323,6 @@ namespace LanguageNarrow_en { LSTR MSG_SET_LEDS_WHITE = _UxGT("White"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Default"); LSTR MSG_LED_CHANNEL_N = _UxGT("Channel {"); - LSTR MSG_LEDS2 = _UxGT("Lights #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Light #2 Presets"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Brightness"); LSTR MSG_CUSTOM_LEDS = _UxGT("Custom Lights"); @@ -331,6 +331,8 @@ namespace LanguageNarrow_en { LSTR MSG_INTENSITY_B = _UxGT("Blue Intensity"); LSTR MSG_INTENSITY_W = _UxGT("White Intensity"); LSTR MSG_LED_BRIGHTNESS = _UxGT("Brightness"); + LSTR MSG_LIGHT_ENCODER = _UxGT("Encoder Light"); + LSTR MSG_LIGHT_ENCODER_PRESETS = _UxGT("Encoder Light Presets"); LSTR MSG_MOVING = _UxGT("Moving..."); LSTR MSG_FREE_XY = _UxGT("Free XY"); diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index ac2b879bdd19..5863b63a0e7e 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -198,7 +198,8 @@ namespace LanguageNarrow_es { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Guardar Mall. cama"); LSTR MSG_LED_CONTROL = _UxGT("Control LED"); - LSTR MSG_LEDS = _UxGT("LEDS"); + LSTR MSG_LIGHTS = _UxGT("Luces"); + LSTR MSG_LIGHT_N = _UxGT("Luce #{"); LSTR MSG_LED_PRESETS = _UxGT("Color predefinido"); LSTR MSG_SET_LEDS_RED = _UxGT("Rojo"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Naranja"); diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index 62f28ada1a52..2e49cf50e9e0 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -108,7 +108,8 @@ namespace LanguageNarrow_eu { LSTR MSG_UBL_MESH_LEVEL = _UxGT("Sarea berdindu"); LSTR MSG_UBL_MAP_TYPE = _UxGT("Mapa mota"); LSTR MSG_LED_CONTROL = _UxGT("LED ezarpenak"); - LSTR MSG_LEDS = _UxGT("Argiak"); + LSTR MSG_LIGHTS = _UxGT("Argiak"); + LSTR MSG_LIGHT_N = _UxGT("Argi #{"); LSTR MSG_LED_PRESETS = _UxGT("Argi aurrehautaketak"); LSTR MSG_SET_LEDS_RED = _UxGT("Gorria"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Laranja"); diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index 5af0eaa0190a..169363339e38 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -202,7 +202,8 @@ namespace LanguageNarrow_fr { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Stocker grille"); LSTR MSG_LED_CONTROL = _UxGT("Contrôle LED"); - LSTR MSG_LEDS = _UxGT("Lumière"); + LSTR MSG_LIGHTS = _UxGT("Lumière"); + LSTR MSG_LIGHT_N = _UxGT("Lumière #{"); LSTR MSG_LED_PRESETS = _UxGT("Préregl. LED"); LSTR MSG_SET_LEDS_RED = _UxGT("Rouge"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Orange"); diff --git a/Marlin/src/lcd/language/language_fr_na.h b/Marlin/src/lcd/language/language_fr_na.h index 40ad55c2efb4..a2c5f024b9b6 100644 --- a/Marlin/src/lcd/language/language_fr_na.h +++ b/Marlin/src/lcd/language/language_fr_na.h @@ -202,7 +202,8 @@ namespace LanguageNarrow_fr_na { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Stocker grille"); LSTR MSG_LED_CONTROL = _UxGT("Controle LED"); - LSTR MSG_LEDS = _UxGT("Lumiere"); + LSTR MSG_LIGHTS = _UxGT("Lumiere"); + LSTR MSG_LIGHT_N = _UxGT("Lumiere #{"); LSTR MSG_LED_PRESETS = _UxGT("Preregl. LED"); LSTR MSG_SET_LEDS_RED = _UxGT("Rouge"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Orange"); diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index 1acaf95bccff..dc04f481ec5f 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -195,7 +195,8 @@ namespace LanguageNarrow_gl { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Gardar Malla Cama"); LSTR MSG_LED_CONTROL = _UxGT("Control LED"); - LSTR MSG_LEDS = _UxGT("Luces"); + LSTR MSG_LIGHTS = _UxGT("Luces"); + LSTR MSG_LIGHT_N = _UxGT("Luce #{"); LSTR MSG_LED_PRESETS = _UxGT("Axustes Luz"); LSTR MSG_SET_LEDS_RED = _UxGT("Vermello"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Laranxa"); diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h index 17ed2a50ffd1..fd81dc6b1812 100644 --- a/Marlin/src/lcd/language/language_hu.h +++ b/Marlin/src/lcd/language/language_hu.h @@ -226,7 +226,8 @@ namespace LanguageNarrow_hu { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Ágy háló mentése"); LSTR MSG_LED_CONTROL = _UxGT("LED vezérlés"); - LSTR MSG_LEDS = _UxGT("Világítás"); + LSTR MSG_LIGHTS = _UxGT("Világítás"); + LSTR MSG_LIGHT_N = _UxGT("Világítás #{"); LSTR MSG_LED_PRESETS = _UxGT("Beállított színek"); LSTR MSG_SET_LEDS_RED = _UxGT("Piros"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Narancs"); @@ -238,7 +239,6 @@ namespace LanguageNarrow_hu { LSTR MSG_SET_LEDS_WHITE = _UxGT("Fehér"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Alapérték"); LSTR MSG_LED_CHANNEL_N = _UxGT("Csatorna {"); - LSTR MSG_LEDS2 = _UxGT("LED-ek #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Fény #2 megadott"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Fényerö"); LSTR MSG_CUSTOM_LEDS = _UxGT("Egyéni szín"); diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index c20225fb497d..6ff9405751a6 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -275,7 +275,8 @@ namespace LanguageNarrow_it { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Salva mesh piatto"); LSTR MSG_LED_CONTROL = _UxGT("Controllo LED"); - LSTR MSG_LEDS = _UxGT("Luci"); + LSTR MSG_LIGHTS = _UxGT("Luci"); + LSTR MSG_LIGHT_N = _UxGT("Luce #{"); LSTR MSG_LED_PRESETS = _UxGT("Presets luce"); LSTR MSG_SET_LEDS_RED = _UxGT("Rosso"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Arancione"); @@ -287,7 +288,6 @@ namespace LanguageNarrow_it { LSTR MSG_SET_LEDS_WHITE = _UxGT("Bianco"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Predefinito"); LSTR MSG_LED_CHANNEL_N = _UxGT("Canale {"); - LSTR MSG_LEDS2 = _UxGT("Luci #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Presets luce #2"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Luminosità"); LSTR MSG_CUSTOM_LEDS = _UxGT("Luci personalizzate"); diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index bb2dea38e1fd..64759ee841a7 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -208,7 +208,8 @@ namespace LanguageNarrow_pl { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Zapis siatki stołu"); LSTR MSG_LED_CONTROL = _UxGT("Sterowanie LED"); - LSTR MSG_LEDS = _UxGT("Światła"); + LSTR MSG_LIGHTS = _UxGT("Światła"); + LSTR MSG_LIGHT_N = _UxGT("Światło #{"); LSTR MSG_LED_PRESETS = _UxGT("Ustawienia świateł"); LSTR MSG_SET_LEDS_RED = _UxGT("Czerwony"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Pomarańczowy"); diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h index ea1bfca96453..f131e06ad808 100644 --- a/Marlin/src/lcd/language/language_pt_br.h +++ b/Marlin/src/lcd/language/language_pt_br.h @@ -180,7 +180,8 @@ namespace LanguageNarrow_pt_br { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Salvar Malha"); LSTR MSG_LED_CONTROL = _UxGT("Controle do LED"); - LSTR MSG_LEDS = _UxGT("Luz"); + LSTR MSG_LIGHTS = _UxGT("Luz"); + LSTR MSG_LIGHT_N = _UxGT("Luz #{"); LSTR MSG_LED_PRESETS = _UxGT("Configuração da Luz"); LSTR MSG_SET_LEDS_RED = _UxGT("Luz Vermelha"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Luz Laranja"); diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h index 7ca379fc2155..e45c93e34da4 100644 --- a/Marlin/src/lcd/language/language_ro.h +++ b/Marlin/src/lcd/language/language_ro.h @@ -194,7 +194,8 @@ namespace LanguageNarrow_ro { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Save Bed Mesh"); LSTR MSG_LED_CONTROL = _UxGT("LED Control"); - LSTR MSG_LEDS = _UxGT("Lights"); + LSTR MSG_LIGHTS = _UxGT("Lights"); + LSTR MSG_LIGHT_N = _UxGT("Light #{"); LSTR MSG_LED_PRESETS = _UxGT("Light Presets"); LSTR MSG_SET_LEDS_RED = _UxGT("Red"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Orange"); diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 8e18aaf907e1..aef39952cf39 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -226,7 +226,8 @@ namespace LanguageNarrow_ru { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Сохранить сетку"); LSTR MSG_LED_CONTROL = _UxGT("Настройка подсветки"); - LSTR MSG_LEDS = _UxGT("Подсветка"); + LSTR MSG_LIGHTS = _UxGT("Подсветка"); + LSTR MSG_LIGHT_N = _UxGT("Свет #{"); LSTR MSG_LED_PRESETS = _UxGT("Предустановки света"); LSTR MSG_SET_LEDS_RED = _UxGT("Красный"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Оранжевый"); @@ -238,7 +239,6 @@ namespace LanguageNarrow_ru { LSTR MSG_SET_LEDS_WHITE = _UxGT("Белый"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Свет по умолчанию"); LSTR MSG_LED_CHANNEL_N = _UxGT("Канал {"); - LSTR MSG_LEDS2 = _UxGT("Свет #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Свет #2 предустан."); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Яркость"); LSTR MSG_CUSTOM_LEDS = _UxGT("Свой цвет подсветки"); diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index 212d47169d2a..b3a9e3368ef1 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -271,7 +271,8 @@ namespace LanguageNarrow_sk { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Uložiť sieť bodov"); LSTR MSG_LED_CONTROL = _UxGT("Nastavenie LED"); - LSTR MSG_LEDS = _UxGT("Svetlo"); + LSTR MSG_LIGHTS = _UxGT("Svetlo"); + LSTR MSG_LIGHT_N = _UxGT("Svetlo #{"); LSTR MSG_LED_PRESETS = _UxGT("Predvolby svetla"); LSTR MSG_SET_LEDS_RED = _UxGT("Červená"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Oranžová"); @@ -283,7 +284,6 @@ namespace LanguageNarrow_sk { LSTR MSG_SET_LEDS_WHITE = _UxGT("Biela"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Obnoviť nastavenie"); LSTR MSG_LED_CHANNEL_N = _UxGT("Kanál {"); - LSTR MSG_LEDS2 = _UxGT("Svetlo #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Predvolby svetla #2"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Jas"); LSTR MSG_CUSTOM_LEDS = _UxGT("Vlastná farba"); diff --git a/Marlin/src/lcd/language/language_sv.h b/Marlin/src/lcd/language/language_sv.h index 08b3367ee2c5..76cd39fcea78 100644 --- a/Marlin/src/lcd/language/language_sv.h +++ b/Marlin/src/lcd/language/language_sv.h @@ -217,7 +217,8 @@ namespace LanguageNarrow_sv { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. Spara Bädd Nät"); LSTR MSG_LED_CONTROL = _UxGT("LED Kontroll"); - LSTR MSG_LEDS = _UxGT("Ljus"); + LSTR MSG_LIGHTS = _UxGT("Ljus"); + LSTR MSG_LIGHT_N = _UxGT("Ljus #{"); LSTR MSG_LED_PRESETS = _UxGT("Ljus Förinställd"); LSTR MSG_SET_LEDS_RED = _UxGT("Röd"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Orange"); @@ -229,7 +230,6 @@ namespace LanguageNarrow_sv { LSTR MSG_SET_LEDS_WHITE = _UxGT("Vitt"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Standard"); LSTR MSG_LED_CHANNEL_N = _UxGT("Kanal {"); - LSTR MSG_LEDS2 = _UxGT("Ljus #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Ljus #2 Förinställd"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Ljusstyrka"); LSTR MSG_CUSTOM_LEDS = _UxGT("Anpassat Ljus"); diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index 212c7eebef9f..830d0adaa41d 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -274,7 +274,8 @@ namespace LanguageNarrow_tr { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Tabla Mesh Kaydet"); LSTR MSG_LED_CONTROL = _UxGT("LED Kontrolü"); - LSTR MSG_LEDS = _UxGT("LEDler"); + LSTR MSG_LIGHTS = _UxGT("LEDler"); + LSTR MSG_LIGHT_N = _UxGT("Işıklar #{"); LSTR MSG_LED_PRESETS = _UxGT("LED Hazır Ayarları"); LSTR MSG_SET_LEDS_RED = _UxGT("Kırmızı"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Turuncu"); @@ -286,7 +287,6 @@ namespace LanguageNarrow_tr { LSTR MSG_SET_LEDS_WHITE = _UxGT("Beyaz"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("Varsayılan"); LSTR MSG_LED_CHANNEL_N = _UxGT("Kanal {"); - LSTR MSG_LEDS2 = _UxGT("Işıklar #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Işık #2 Ön Ayarları"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Parlaklık"); LSTR MSG_CUSTOM_LEDS = _UxGT("Özel Işıklar"); diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 879b4ff68f4a..63a721fe9fcf 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -225,7 +225,8 @@ namespace LanguageNarrow_uk { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Зберегти сітку"); LSTR MSG_LED_CONTROL = _UxGT("Керування світлом"); - LSTR MSG_LEDS = _UxGT("Підсвітка"); + LSTR MSG_LIGHTS = _UxGT("Підсвітка"); + LSTR MSG_LIGHT_N = _UxGT("Світло #{"); LSTR MSG_LED_PRESETS = _UxGT("Передустан. світла"); LSTR MSG_SET_LEDS_RED = _UxGT("Червоний"); LSTR MSG_SET_LEDS_ORANGE = _UxGT("Помаранчевий"); @@ -237,7 +238,6 @@ namespace LanguageNarrow_uk { LSTR MSG_SET_LEDS_WHITE = _UxGT("Білий"); LSTR MSG_SET_LEDS_DEFAULT = _UxGT("За умовчанням"); LSTR MSG_LED_CHANNEL_N = _UxGT("Канал {"); - LSTR MSG_LEDS2 = _UxGT("Світло #2"); LSTR MSG_NEO2_PRESETS = _UxGT("Передуст. світла #2"); LSTR MSG_NEO2_BRIGHTNESS = _UxGT("Яскравість"); LSTR MSG_CUSTOM_LEDS = _UxGT("Своє світло"); diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h index e9efc4b44bd4..deed0fda7bbc 100644 --- a/Marlin/src/lcd/language/language_vi.h +++ b/Marlin/src/lcd/language/language_vi.h @@ -170,7 +170,8 @@ namespace LanguageNarrow_vi { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7.Lưu lưới bàn"); LSTR MSG_LED_CONTROL = _UxGT("Điều khiển LED"); // LED Control - LSTR MSG_LEDS = _UxGT("Đèn"); // Lights + LSTR MSG_LIGHTS = _UxGT("Đèn"); // Lights + LSTR MSG_LIGHT_N = _UxGT("Đèn #{"); // Light #{ LSTR MSG_LED_PRESETS = _UxGT("Đèn định sẵn"); // Light Presets LSTR MSG_SET_LEDS_RED = _UxGT("Đỏ"); // Red LSTR MSG_SET_LEDS_ORANGE = _UxGT("Cam"); // Orange diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 608ad4447893..120bbdca35b5 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -204,7 +204,8 @@ namespace LanguageNarrow_zh_CN { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. 保存热床网格"); LSTR MSG_LED_CONTROL = _UxGT("LED控制"); // "LED Control" - LSTR MSG_LEDS = _UxGT("灯"); // "Lights" + LSTR MSG_LIGHTS = _UxGT("灯"); // "Lights" + LSTR MSG_LIGHT_N = _UxGT("灯 #{"); // "Light #{" LSTR MSG_LED_PRESETS = _UxGT("灯预置"); // "Light Presets" LSTR MSG_SET_LEDS_RED = _UxGT("红"); // "Red" LSTR MSG_SET_LEDS_ORANGE = _UxGT("橙"); // "Orange" diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index b7d32263f404..43378e587441 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -190,7 +190,8 @@ namespace LanguageNarrow_zh_TW { LSTR MSG_UBL_7_SAVE_MESH = _UxGT("7. 保存熱床網格"); LSTR MSG_LED_CONTROL = _UxGT("燈管控制"); // "LED Control" - LSTR MSG_LEDS = _UxGT("燈"); // "Lights" + LSTR MSG_LIGHTS = _UxGT("燈"); // "Lights" + LSTR MSG_LIGHT_N = _UxGT("燈 #{"); // "Light #{" LSTR MSG_LED_PRESETS = _UxGT("燈預置"); // "Light Presets" LSTR MSG_SET_LEDS_RED = _UxGT("红"); // "Red" LSTR MSG_SET_LEDS_ORANGE = _UxGT("橙"); // "Orange" diff --git a/Marlin/src/lcd/menu/menu_led.cpp b/Marlin/src/lcd/menu/menu_led.cpp index 92c3133c1c7f..f996395b8903 100644 --- a/Marlin/src/lcd/menu/menu_led.cpp +++ b/Marlin/src/lcd/menu/menu_led.cpp @@ -34,9 +34,23 @@ #include "../../feature/power.h" #endif +#if ALL(CASE_LIGHT_MENU, CASELIGHT_USES_BRIGHTNESS) + #include "../../feature/caselight.h" + void menu_case_light() { + START_MENU(); + BACK_ITEM(MSG_CONFIGURATION); + EDIT_ITEM(percent, MSG_CASE_LIGHT_BRIGHTNESS, &caselight.brightness, 0, 255, caselight.update_brightness, true); + EDIT_ITEM(bool, MSG_CASE_LIGHT, &caselight.on, caselight.update_enabled); + END_MENU(); + } +#endif + #if ENABLED(LED_CONTROL_MENU) + #include "../../feature/leds/leds.h" + #define MSG_LIGHT2_PRESETS TERN(BIQU_BX_TFT70, MSG_LIGHT_ENCODER_PRESETS, MSG_NEO2_PRESETS) + #if ENABLED(LED_COLOR_PRESETS) void menu_led_presets() { @@ -56,14 +70,14 @@ END_MENU(); } - #endif + #endif // LED_COLOR_PRESETS #if ENABLED(NEO2_COLOR_PRESETS) void menu_leds2_presets() { START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_NEO2_PRESETS, SS_DEFAULT|SS_INVERT); + STATIC_ITEM(MSG_LIGHT2_PRESETS, SS_DEFAULT|SS_INVERT); #endif BACK_ITEM(MSG_LED_CONTROL); ACTION_ITEM(MSG_SET_LEDS_WHITE, leds2.set_white); @@ -77,11 +91,12 @@ END_MENU(); } - #endif + #endif // NEO2_COLOR_PRESETS void menu_led_custom() { START_MENU(); BACK_ITEM(MSG_LED_CONTROL); + #if ENABLED(NEOPIXEL2_SEPARATE) STATIC_ITEM_N(1, MSG_LED_CHANNEL_N, SS_DEFAULT|SS_INVERT); #endif @@ -94,6 +109,7 @@ #if ENABLED(NEOPIXEL_LED) EDIT_ITEM(uint8, MSG_LED_BRIGHTNESS, &leds.color.i, 0, 255, leds.update, true); #endif + #if ENABLED(NEOPIXEL2_SEPARATE) STATIC_ITEM_N(2, MSG_LED_CHANNEL_N, SS_DEFAULT|SS_INVERT); EDIT_ITEM(uint8, MSG_INTENSITY_R, &leds2.color.r, 0, 255, leds2.update, true); @@ -104,65 +120,61 @@ #endif EDIT_ITEM(uint8, MSG_NEO2_BRIGHTNESS, &leds2.color.i, 0, 255, leds2.update, true); #endif + END_MENU(); } -#endif - -#if ENABLED(CASE_LIGHT_MENU) - #include "../../feature/caselight.h" - - - #if CASELIGHT_USES_BRIGHTNESS - void menu_case_light() { - START_MENU(); - BACK_ITEM(MSG_CONFIGURATION); - EDIT_ITEM(percent, MSG_CASE_LIGHT_BRIGHTNESS, &caselight.brightness, 0, 255, caselight.update_brightness, true); - EDIT_ITEM(bool, MSG_CASE_LIGHT, &caselight.on, caselight.update_enabled); - END_MENU(); - } - #endif -#endif - -#if ENABLED(LED_CONTROL_MENU) void menu_led() { + #if ENABLED(CASE_LIGHT_MENU) + const bool has_bright = TERN0(CASELIGHT_USES_BRIGHTNESS, caselight.has_brightness()); + #endif + START_MENU(); BACK_ITEM(MSG_MAIN_MENU); if (TERN1(PSU_CONTROL, powerManager.psu_on)) { editable.state = leds.lights_on; - EDIT_ITEM(bool, MSG_LEDS, &editable.state, leds.toggle); + #if ENABLED(NEOPIXEL2_SEPARATE) && DISABLED(BIQU_BX_TFT70) + EDIT_ITEM_N(bool, 1, MSG_LIGHT_N, &editable.state, leds.toggle); + #else + EDIT_ITEM(bool, MSG_LIGHTS, &editable.state, leds.toggle); + #endif } #if ENABLED(LED_COLOR_PRESETS) ACTION_ITEM(MSG_SET_LEDS_DEFAULT, [] { leds.set_default(); ui.refresh(); } ); + SUBMENU(MSG_LED_PRESETS, menu_led_presets); #endif #if ENABLED(NEOPIXEL2_SEPARATE) editable.state = leds2.lights_on; - EDIT_ITEM(bool, MSG_LEDS2, &editable.state, leds2.toggle); + #if ENABLED(BIQU_BX_TFT70) + EDIT_ITEM(bool, MSG_LIGHT_ENCODER, &editable.state, leds2.toggle); + #else + EDIT_ITEM_N(bool, 2, MSG_LIGHT_N, &editable.state, leds2.toggle); + #endif #if ENABLED(NEO2_COLOR_PRESETS) ACTION_ITEM(MSG_SET_LEDS_DEFAULT, leds2.set_default); + SUBMENU(MSG_LIGHT2_PRESETS, menu_leds2_presets); #endif #endif - #if ENABLED(LED_COLOR_PRESETS) - SUBMENU(MSG_LED_PRESETS, menu_led_presets); - #endif - #if ENABLED(NEO2_COLOR_PRESETS) - SUBMENU(MSG_NEO2_PRESETS, menu_leds2_presets); - #endif + + // + // Directly set RGBW and Brightness + // SUBMENU(MSG_CUSTOM_LEDS, menu_led_custom); // // Set Case light on/off/brightness // #if ENABLED(CASE_LIGHT_MENU) - #if CASELIGHT_USES_BRIGHTNESS - if (caselight.has_brightness()) + if (has_bright) { + #if CASELIGHT_USES_BRIGHTNESS SUBMENU(MSG_CASE_LIGHT, menu_case_light); - else - #endif - EDIT_ITEM(bool, MSG_CASE_LIGHT, &caselight.on, caselight.update_enabled); + #endif + } + else + EDIT_ITEM(bool, MSG_CASE_LIGHT, &caselight.on, caselight.update_enabled); #endif END_MENU(); diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp index ed15a54fd615..c4ac9756908e 100644 --- a/Marlin/src/lcd/menu/menu_main.cpp +++ b/Marlin/src/lcd/menu/menu_main.cpp @@ -386,7 +386,7 @@ void menu_main() { #endif #if ENABLED(LED_CONTROL_MENU) - SUBMENU(MSG_LEDS, menu_led); + SUBMENU(MSG_LIGHTS, menu_led); #elif ALL(CASE_LIGHT_MENU, CASELIGHT_USES_BRIGHTNESS) SUBMENU(MSG_CASE_LIGHT, menu_case_light); #elif ENABLED(CASE_LIGHT_MENU) From d62a631467994d2afa8914fa5c13c5c1c8810e98 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Mon, 14 Oct 2024 12:10:36 +0000 Subject: [PATCH 23/25] [cron] Bump distribution date (2024-10-14) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 523fc59e2b72..1458104ae2c9 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-12" +//#define STRING_DISTRIBUTION_DATE "2024-10-14" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 445ad1cadbe3..ff8e4db48d9e 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-12" + #define STRING_DISTRIBUTION_DATE "2024-10-14" #endif /** From d5cc11d9963bfdc93b1068665ae9668bd01ce74a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 16 Oct 2024 16:23:52 -0500 Subject: [PATCH 24/25] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB=20Fix?= =?UTF-8?q?=20Zed=20LSP=20setting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .zed/settings.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.zed/settings.json b/.zed/settings.json index eb80ca73dcb9..70bb14920c4c 100644 --- a/.zed/settings.json +++ b/.zed/settings.json @@ -5,5 +5,12 @@ * see the documentation: https://zed.dev/docs/configuring-zed#settings-files */ { - "enable_language_servers": false + "languages": { + "C": { + "enable_language_server": false + }, + "C++": { + "enable_language_server": false + } + } } From cf137cb73a074c59bd2060e70ff95759ae602929 Mon Sep 17 00:00:00 2001 From: thinkyhead Date: Thu, 17 Oct 2024 00:27:08 +0000 Subject: [PATCH 25/25] [cron] Bump distribution date (2024-10-17) --- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Version.h b/Marlin/Version.h index 1458104ae2c9..60be992edac9 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -41,7 +41,7 @@ * here we define this default string as the date where the latest release * version was tagged. */ -//#define STRING_DISTRIBUTION_DATE "2024-10-14" +//#define STRING_DISTRIBUTION_DATE "2024-10-17" /** * Defines a generic printer name to be output to the LCD after booting Marlin. diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index ff8e4db48d9e..b49dbcb02c2b 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2024-10-14" + #define STRING_DISTRIBUTION_DATE "2024-10-17" #endif /**