Skip to content

Commit

Permalink
New Assisted Tramming (and Wizard), Small menu fixes, Screen with cus…
Browse files Browse the repository at this point in the history
…tom message

Adds completely reworked Tramming Wizard and unifies it with G35 tramming.
Tramming wizard supports from 3 to 9 (used to be 6) points, which is handy for large beds with 3x3 screw grids.
Has more practical and intuitive menu system, supports milimeters and "screw turn" units.

Menu (loop) patch to handle STATIC_ITEM in other places then just "one on top as a menu header".

Adds screen that can show custom long (multiline with autowrapping) message.

Language changes to reflect all mentioned above.

There is also a Configuration.h and Configuration_adv.h change for demonstration purposes.

Co-Authored-By: Scott Lahteine <[email protected]>
  • Loading branch information
lukasradek and Scott Lahteine committed Feb 4, 2023
1 parent 8f45595 commit bad300f
Show file tree
Hide file tree
Showing 21 changed files with 8,059 additions and 139 deletions.
4,278 changes: 4,278 additions & 0 deletions Marlin/Configuration_adv_suggested-changes_and_testing.h

Large diffs are not rendered by default.

3,429 changes: 3,429 additions & 0 deletions Marlin/Configuration_testing.h

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions Marlin/src/core/macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,19 @@
#define RREPEAT2_S(S,N,OP,V...) EVAL1024(_RREPEAT2(S,SUB##S(N),OP,V))
#define RREPEAT2(N,OP,V...) RREPEAT2_S(0,N,OP,V)

// Emit a list of N OP(I) items with ascending counter.
#define _REPLIST(_RPT_I,_RPT_N,_RPT_OP) \
_RPT_OP(_RPT_I) \
IF_ELSE(SUB1(_RPT_N)) \
( , DEFER2(__REPLIST)()(ADD1(_RPT_I),SUB1(_RPT_N),_RPT_OP) ) \
( /* Do nothing */ )
#define __REPLIST() _REPLIST

// Repeat a macro, comma-separated, passing S...N-1.
#define REPLIST_S(S,N,OP) EVAL(_REPLIST(S,SUB##S(N),OP))
#define REPLIST(N,OP) REPLIST_S(0,N,OP)
#define REPLIST_1(N,OP) REPLIST_S(1,INCREMENT(N),OP)

// Call OP(A) with each item as an argument
#define _MAP(_MAP_OP,A,V...) \
_MAP_OP(A) \
Expand Down
28 changes: 4 additions & 24 deletions Marlin/src/feature/tramming.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,31 +29,11 @@
#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
#include "../core/debug_out.h"

PGMSTR(point_name_1, TRAMMING_POINT_NAME_1);
PGMSTR(point_name_2, TRAMMING_POINT_NAME_2);
PGMSTR(point_name_3, TRAMMING_POINT_NAME_3);
#ifdef TRAMMING_POINT_NAME_4
PGMSTR(point_name_4, TRAMMING_POINT_NAME_4);
#ifdef TRAMMING_POINT_NAME_5
PGMSTR(point_name_5, TRAMMING_POINT_NAME_5);
#ifdef TRAMMING_POINT_NAME_6
PGMSTR(point_name_6, TRAMMING_POINT_NAME_6);
#endif
#endif
#endif
#define _TRAM_NAME_DEF(N) PGMSTR(point_name_##N, TRAMMING_POINT_NAME_##N);
#define _TRAM_NAME_ITEM(N) point_name_##N
REPEAT_1(_NR_TRAM_NAMES, _TRAM_NAME_DEF)

PGM_P const tramming_point_name[] PROGMEM = {
point_name_1, point_name_2, point_name_3
#ifdef TRAMMING_POINT_NAME_4
, point_name_4
#ifdef TRAMMING_POINT_NAME_5
, point_name_5
#ifdef TRAMMING_POINT_NAME_6
, point_name_6
#endif
#endif
#endif
};
PGM_P const tramming_point_name[] PROGMEM = { REPLIST_1(_NR_TRAM_NAMES, _TRAM_NAME_ITEM) };

#ifdef ASSISTED_TRAMMING_WAIT_POSITION

Expand Down
61 changes: 28 additions & 33 deletions Marlin/src/feature/tramming.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,50 +24,45 @@
#include "../inc/MarlinConfig.h"
#include "../module/probe.h"

#if !WITHIN(TRAMMING_SCREW_THREAD, 30, 51) || TRAMMING_SCREW_THREAD % 10 > 1
#if ENABLED(TRAMMING_SCREW_THREAD) && (!WITHIN(TRAMMING_SCREW_THREAD, 30, 51) || TRAMMING_SCREW_THREAD % 10 > 1)
#error "TRAMMING_SCREW_THREAD must be equal to 30, 31, 40, 41, 50, or 51."
#endif

constexpr xy_pos_t tramming_points[] = TRAMMING_POINT_XY;

#define G35_PROBE_COUNT COUNT(tramming_points)
static_assert(WITHIN(G35_PROBE_COUNT, 3, 6), "TRAMMING_POINT_XY requires between 3 and 6 XY positions.");
static_assert(WITHIN(G35_PROBE_COUNT, 3, 9), "TRAMMING_POINT_XY requires between 3 and 9 XY positions.");

#define VALIDATE_TRAMMING_POINT(N) static_assert(N >= G35_PROBE_COUNT || Probe::build_time::can_reach(tramming_points[N]), \
"TRAMMING_POINT_XY point " STRINGIFY(N) " is not reachable with the default NOZZLE_TO_PROBE offset and PROBING_MARGIN.")
VALIDATE_TRAMMING_POINT(0); VALIDATE_TRAMMING_POINT(1); VALIDATE_TRAMMING_POINT(2); VALIDATE_TRAMMING_POINT(3); VALIDATE_TRAMMING_POINT(4); VALIDATE_TRAMMING_POINT(5);

extern const char point_name_1[], point_name_2[], point_name_3[]
#ifdef TRAMMING_POINT_NAME_4
, point_name_4[]
#ifdef TRAMMING_POINT_NAME_5
, point_name_5[]
#ifdef TRAMMING_POINT_NAME_6
, point_name_6[]
#endif
#endif
#endif
;

#define _NR_TRAM_NAMES 2
#ifdef TRAMMING_POINT_NAME_3
#undef _NR_TRAM_NAMES
#ifdef TRAMMING_POINT_NAME_9
#define _NR_TRAM_NAMES 9
#elif defined(TRAMMING_POINT_NAME_8)
#define _NR_TRAM_NAMES 8
#elif defined(TRAMMING_POINT_NAME_7)
#define _NR_TRAM_NAMES 7
#elif defined(TRAMMING_POINT_NAME_6)
#define _NR_TRAM_NAMES 6
#elif defined(TRAMMING_POINT_NAME_5)
#define _NR_TRAM_NAMES 5
#elif defined(TRAMMING_POINT_NAME_4)
#define _NR_TRAM_NAMES 4
#elif defined(TRAMMING_POINT_NAME_3)
#define _NR_TRAM_NAMES 3
#ifdef TRAMMING_POINT_NAME_4
#undef _NR_TRAM_NAMES
#define _NR_TRAM_NAMES 4
#ifdef TRAMMING_POINT_NAME_5
#undef _NR_TRAM_NAMES
#define _NR_TRAM_NAMES 5
#ifdef TRAMMING_POINT_NAME_6
#undef _NR_TRAM_NAMES
#define _NR_TRAM_NAMES 6
#endif
#endif
#endif
#else
#define _NR_TRAM_NAMES 0
#endif


static_assert(_NR_TRAM_NAMES >= G35_PROBE_COUNT, "Define enough TRAMMING_POINT_NAME_s for all TRAMMING_POINT_XY entries.");
#undef _NR_TRAM_NAMES


#define _TRAM_NAME_PTR(N) point_name_##N[]
extern const char REPLIST_1(_NR_TRAM_NAMES, _TRAM_NAME_PTR);

#define _CHECK_TRAM_POINT(N) static_assert(Probe::build_time::can_reach(tramming_points[N]), "TRAMMING_POINT_XY point " STRINGIFY(N) " is not reachable with the default NOZZLE_TO_PROBE offset and PROBING_MARGIN.");
REPEAT(_NR_TRAM_NAMES, _CHECK_TRAM_POINT)
#undef _CHECK_TRAM_POINT


extern PGM_P const tramming_point_name[];

Expand Down
44 changes: 27 additions & 17 deletions Marlin/src/gcode/bedlevel/G35.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,13 @@ void GcodeSuite::G35() {

float z_measured[G35_PROBE_COUNT] = { 0 };

const uint8_t screw_thread = parser.byteval('S', TRAMMING_SCREW_THREAD);
if (!WITHIN(screw_thread, 30, 51) || screw_thread % 10 > 1) {
SERIAL_ECHOLNPGM("?(S)crew thread must be 30, 31, 40, 41, 50, or 51.");
return;
}
#ifdef TRAMMING_SCREW_THREAD
const uint8_t screw_thread = parser.byteval('S', TRAMMING_SCREW_THREAD);
if (!WITHIN(screw_thread, 30, 51) || screw_thread % 10 > 1) {
SERIAL_ECHOLNPGM("?(S)crew thread must be 30, 31, 40, 41, 50, or 51.");
return;
}
#endif

// Wait for planner moves to finish!
planner.synchronize();
Expand Down Expand Up @@ -131,27 +133,35 @@ void GcodeSuite::G35() {
}

if (!err_break) {
const float threads_factor[] = { 0.5, 0.7, 0.8 };
#ifdef TRAMMING_SCREW_THREAD
const float threads_factor[] = { 0.5, 0.7, 0.8 };
#endif

SERIAL_ECHOLNPGM(F("G35 Bed Tramming Report"), "");
SERIAL_ECHOLNPGM(F("Reference point: "), (PGM_P)pgm_read_ptr(&tramming_point_name[0]));

// Calculate adjusts
LOOP_S_L_N(i, 1, G35_PROBE_COUNT) {
const float diff = z_measured[0] - z_measured[i],
adjust = ABS(diff) < 0.001f ? 0 : diff / threads_factor[(screw_thread - 30) / 10];

const int full_turns = trunc(adjust);
const float decimal_part = adjust - float(full_turns);
const int minutes = trunc(decimal_part * 60.0f);
const float diff_mm = z_measured[i] - z_measured[0];
#ifdef TRAMMING_SCREW_THREAD
const float diff_turns_abs = ABS(diff_mm) < 0.001f ? 0 : ABS(diff_mm) / threads_factor[(screw_thread - 30) / 10];

const int full_turns = trunc(diff_turns_abs);
const float decimal_part = diff_turns_abs - float(full_turns);
const int degrees = trunc(decimal_part * 360.0f);
#endif

SERIAL_ECHOPGM("Turn ");
SERIAL_ECHOPGM_P((char *)pgm_read_ptr(&tramming_point_name[i]));
SERIAL_ECHOPGM(" ", (screw_thread & 1) == (adjust > 0) ? "CCW" : "CW", " by ", ABS(full_turns), " turns");
if (minutes) SERIAL_ECHOPGM(" and ", ABS(minutes), " minutes");
if (ENABLED(REPORT_TRAMMING_MM)) SERIAL_ECHOPGM(" (", -diff, "mm)");
SERIAL_ECHOPGM(F(": Diff "), diff_mm, F("mm"));
#ifdef TRAMMING_SCREW_THREAD
SERIAL_ECHOPGM(F(", Turn "), (screw_thread & 1) == (diff_mm > 0) ? F("CCW") : F("CW"), F(" by "), full_turns, (" turns"));
if (degrees) SERIAL_ECHOPGM(F(" and "), degrees, F(" degrees"));
#endif
SERIAL_EOL();
}
}
else
SERIAL_ECHOLNPGM("G35 aborted.");
SERIAL_ECHOLNPGM(F("G35 aborted."), "");

// Restore the active tool after homing
#if HAS_MULTI_HOTEND
Expand Down
11 changes: 10 additions & 1 deletion Marlin/src/lcd/language/language_cz.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ namespace Language_cz {
LSTR MSG_AUTO_HOME_Y = _UxGT("Domů osa Y");
LSTR MSG_AUTO_HOME_Z = _UxGT("Domů osa Z");
LSTR MSG_AUTO_Z_ALIGN = _UxGT("Auto srovnání Z");
LSTR MSG_LEVEL_BED_HOMING = _UxGT("Měření podložky");
LSTR MSG_LEVEL_BED_HOMING = _UxGT("Hledám domov");
LSTR MSG_LEVEL_BED_WAITING = _UxGT("Kliknutím spusťte");
LSTR MSG_LEVEL_BED_NEXT_POINT = _UxGT("Další bod");
LSTR MSG_LEVEL_BED_DONE = _UxGT("Měření hotovo!");
Expand Down Expand Up @@ -109,6 +109,15 @@ namespace Language_cz {
LSTR MSG_BED_LEVELING = _UxGT("Vyrovnat podložku");
LSTR MSG_LEVEL_BED = _UxGT("Vyrovnat podložku");
LSTR MSG_BED_TRAMMING = _UxGT("Vyrovnat rohy");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Tramming Průvodce");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Zvol referenční bod");
LSTR MSG_TW_SELECT_TRAM_POINT = _UxGT("Zvol bod k měření");
LSTR MSG_TW_MEASURING_REF = _UxGT("Měřím referenční\nvýšku Z na\n");
LSTR MSG_TW_SET_AS_REF = _UxGT("Nastav jako ref. Z");
LSTR MSG_TW_MENU_MODE_MEASURE = _UxGT("Menu mód: Měření");
LSTR MSG_TW_MENU_MODE_DETAIL = _UxGT("Menu mód: Detail bodu");
LSTR MSG_TW_UNITS_MM = _UxGT("Jednotky: mm");
LSTR MSG_TW_UNITS_SCREW = _UxGT("Jednotky: M= šroub");
LSTR MSG_NEXT_CORNER = _UxGT("Další roh");
LSTR MSG_MESH_EDITOR = _UxGT("Editor sítě");
LSTR MSG_EDIT_MESH = _UxGT("Upravit síť bodů");
Expand Down
3 changes: 1 addition & 2 deletions Marlin/src/lcd/language/language_de.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,7 @@ namespace Language_de {
LSTR MSG_HOME_OFFSET_Z = _UxGT("Homeversatz Z");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Homeversatz aktiv");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Tramming Assistent");
LSTR MSG_SELECT_ORIGIN = _UxGT("Wählen Sie Ursprung");
LSTR MSG_LAST_VALUE_SP = _UxGT("Letzter Wert ");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Wählen Sie Ursprung");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" Vorwärmen");
LSTR MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" Vorwärmen ~");
Expand Down
14 changes: 11 additions & 3 deletions Marlin/src/lcd/language/language_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,6 @@ namespace Language_en {
LSTR MSG_HOME_OFFSET_Z = _UxGT("Home Offset Z");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets Applied");
LSTR MSG_ERR_M428_TOO_FAR = _UxGT("Err: Too far!");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Tramming Wizard");
LSTR MSG_SELECT_ORIGIN = _UxGT("Select Origin");
LSTR MSG_LAST_VALUE_SP = _UxGT("Last value ");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Preheat ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Preheat ") PREHEAT_1_LABEL " ~";
Expand Down Expand Up @@ -158,6 +155,7 @@ namespace Language_en {
LSTR MSG_SWITCH_PS_OFF = _UxGT("Switch Power Off");
LSTR MSG_EXTRUDE = _UxGT("Extrude");
LSTR MSG_RETRACT = _UxGT("Retract");
LSTR MSG_MEASURE = _UxGT("Measure");
LSTR MSG_MOVE_AXIS = _UxGT("Move Axis");
LSTR MSG_BED_LEVELING = _UxGT("Bed Leveling");
LSTR MSG_LEVEL_BED = _UxGT("Level Bed");
Expand All @@ -167,6 +165,15 @@ namespace Language_en {
LSTR MSG_BED_TRAMMING_IN_RANGE = _UxGT("Corners within tolerance. Bed trammed.");
LSTR MSG_BED_TRAMMING_GOOD_POINTS = _UxGT("Good Points: ");
LSTR MSG_BED_TRAMMING_LAST_Z = _UxGT("Last Z: ");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Tramming Wizard");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Select Reference Pt");
LSTR MSG_TW_SELECT_TRAM_POINT = _UxGT("Select Pt to Measure");
LSTR MSG_TW_MEASURING_REF = _UxGT("Measuring reference\nZ value at\n");
LSTR MSG_TW_SET_AS_REF = _UxGT("Set as new Ref Z");
LSTR MSG_TW_MENU_MODE_MEASURE = _UxGT("Menu mode: Measure");
LSTR MSG_TW_MENU_MODE_DETAIL = _UxGT("Menu mode: Pt Detail");
LSTR MSG_TW_UNITS_MM = _UxGT("Unit: mm");
LSTR MSG_TW_UNITS_SCREW = _UxGT("Unit: M= screw turns");
LSTR MSG_NEXT_CORNER = _UxGT("Next Corner");
LSTR MSG_MESH_EDITOR = _UxGT("Mesh Editor");
LSTR MSG_MESH_VIEWER = _UxGT("Mesh Viewer");
Expand Down Expand Up @@ -882,6 +889,7 @@ namespace Language_en {
LSTR MSG_PID_F = _UxGT("PID-F");
LSTR MSG_PID_F_E = _UxGT("PID-F *");
LSTR MSG_BACKLASH_N = _UxGT("@");
LSTR MSG_MENU_DIVIDER = _UxGT("----------------");
}

#if FAN_COUNT == 1
Expand Down
2 changes: 0 additions & 2 deletions Marlin/src/lcd/language/language_fr.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ namespace Language_fr {
LSTR MSG_HOME_OFFSET_Z = _UxGT("Décal. origine Z");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Décalages appliqués");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Assistant Molettes");
LSTR MSG_SELECT_ORIGIN = _UxGT("Molette du lit"); // Not a selection of the origin
LSTR MSG_LAST_VALUE_SP = _UxGT("Ecart origine ");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Préchauffage ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Préchauffage ") PREHEAT_1_LABEL " ~";
Expand Down
3 changes: 1 addition & 2 deletions Marlin/src/lcd/language/language_hu.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,7 @@ namespace Language_hu {
LSTR MSG_HOME_OFFSET_Z = _UxGT("Z Kezdö eltol.");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Eltolás beállítva.");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Elektromos varázsló");
LSTR MSG_SELECT_ORIGIN = _UxGT("Eredeti választása");
LSTR MSG_LAST_VALUE_SP = _UxGT("Utolsó érték ");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Eredeti választása");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Fütés ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Fütés ") PREHEAT_1_LABEL " ~";
Expand Down
3 changes: 1 addition & 2 deletions Marlin/src/lcd/language/language_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,7 @@ namespace Language_it {
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset applicato");
LSTR MSG_ERR_M428_TOO_FAR = _UxGT("Err: Troppo lontano!");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Wizard Tramming");
LSTR MSG_SELECT_ORIGIN = _UxGT("Selez. origine");
LSTR MSG_LAST_VALUE_SP = _UxGT("Ultimo valore ");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Selez. origine");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Preriscalda ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Preriscalda ") PREHEAT_1_LABEL " ~";
Expand Down
3 changes: 1 addition & 2 deletions Marlin/src/lcd/language/language_pl.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,7 @@ namespace Language_pl {
LSTR MSG_Z_FADE_HEIGHT = _UxGT("Wys. zanikania");
LSTR MSG_SET_HOME_OFFSETS = _UxGT("Ust. poz. zer.");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Poz. zerowa ust.");
LSTR MSG_SELECT_ORIGIN = _UxGT("Wybierz punkt zero");
LSTR MSG_LAST_VALUE_SP = _UxGT("Poprzednia wartość ");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Wybierz punkt zero");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " ~";
Expand Down
7 changes: 1 addition & 6 deletions Marlin/src/lcd/language/language_ru.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,7 @@ namespace Language_ru {
LSTR MSG_HOME_OFFSET_Z = _UxGT("Смещ. дома Z");
#endif
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Смещения применены");
LSTR MSG_SELECT_ORIGIN = _UxGT("Выберите ноль");
#if LCD_WIDTH > 21 || HAS_DWIN_E3V2
LSTR MSG_LAST_VALUE_SP = _UxGT("Последнее знач. ");
#else
LSTR MSG_LAST_VALUE_SP = _UxGT("Послед. знач. ");
#endif
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Выберите ноль");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Преднагрев ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Нагрев ") PREHEAT_1_LABEL " ~";
Expand Down
3 changes: 1 addition & 2 deletions Marlin/src/lcd/language/language_sk.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,7 @@ namespace Language_sk {
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Ofsety nastavené");
LSTR MSG_ERR_M428_TOO_FAR = _UxGT("Chyba: Príliš ďaleko!");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Spriev. vyrovn.");
LSTR MSG_SELECT_ORIGIN = _UxGT("Vyberte začiatok");
LSTR MSG_LAST_VALUE_SP = _UxGT("Posl. hodnota ");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Vyberte začiatok");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Zahriať ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Zahriať ") PREHEAT_1_LABEL " ~";
Expand Down
3 changes: 1 addition & 2 deletions Marlin/src/lcd/language/language_sv.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ namespace Language_sv {
LSTR MSG_SET_HOME_OFFSETS = _UxGT("Sätt Hem Offset");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset Tillämpad");
LSTR MSG_TRAMMING_WIZARD = _UxGT("Justerings Wizard");
LSTR MSG_SELECT_ORIGIN = _UxGT("Välj Origo");
LSTR MSG_LAST_VALUE_SP = _UxGT("Senaste värde ");
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Välj Origo");

#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Förvärmning ") PREHEAT_1_LABEL;
Expand Down
7 changes: 1 addition & 6 deletions Marlin/src/lcd/language/language_uk.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,7 @@ namespace Language_uk {
LSTR MSG_HOME_OFFSET_Z = _UxGT("Зміщ. дому Z");
#endif
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Зміщення прийняті");
LSTR MSG_SELECT_ORIGIN = _UxGT("Оберіть нуль");
#if LCD_WIDTH > 21 || HAS_DWIN_E3V2
LSTR MSG_LAST_VALUE_SP = _UxGT("Останнє значення ");
#else
LSTR MSG_LAST_VALUE_SP = _UxGT("Останнє знач. ");
#endif
LSTR MSG_TW_SELECT_TRAM_REF = _UxGT("Оберіть нуль");
#if HAS_PREHEAT
LSTR MSG_PREHEAT_1 = _UxGT("Нагрів ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_H = _UxGT("Нагрів ") PREHEAT_1_LABEL " ~";
Expand Down
1 change: 1 addition & 0 deletions Marlin/src/lcd/marlinui.h
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,7 @@ class MarlinUI {
static bool update_selection();

static void synchronize(FSTR_P const msg=nullptr);
static void goto_message_screen(FSTR_P const msg1=nullptr, FSTR_P const msg2=nullptr);

static screenFunc_t currentScreen;
static bool screen_changed;
Expand Down
Loading

0 comments on commit bad300f

Please sign in to comment.