Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 34 additions & 16 deletions Marlin/src/gcode/queue.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,15 @@ static int serial_count[NUM_SERIAL] = { 0 };
bool send_ok[BUFSIZE];

/**
* Next Injected Command pointer. nullptr if no commands are being injected.
* Used by Marlin internally to ensure that commands initiated from within
* are enqueued ahead of any pending serial or sd card commands.
* Next Injected PROGMEM Command pointer. (nullptr == empty)
* Internal commands are enqueued ahead of serial / SD commands.
*/
static PGM_P injected_commands_P = nullptr;
PGM_P GCodeQueue::injected_commands_P; // = nullptr

/**
* Injected SRAM Commands
*/
char GCodeQueue::injected_commands[64]; // = { 0 }

GCodeQueue::GCodeQueue() {
// Send "ok" after commands by default
Expand All @@ -101,7 +105,7 @@ GCodeQueue::GCodeQueue() {
* Check whether there are any commands yet to be executed
*/
bool GCodeQueue::has_commands_queued() {
return queue.length || injected_commands_P;
return queue.length || injected_commands_P || injected_commands[0];
}

/**
Expand Down Expand Up @@ -172,11 +176,10 @@ bool GCodeQueue::enqueue_one(const char* cmd) {
}

/**
* Process the next "immediate" command.
* Return 'true' if any commands were processed,
* or remain to process.
* Process the next "immediate" command from PROGMEM.
* Return 'true' if any commands were processed.
*/
bool GCodeQueue::process_injected_command() {
bool GCodeQueue::process_injected_command_P() {
if (injected_commands_P == nullptr) return false;

char c;
Expand All @@ -198,12 +201,27 @@ bool GCodeQueue::process_injected_command() {
}

/**
* Enqueue one or many commands to run from program memory.
* Do not inject a comment or use leading spaces!
* Aborts the current queue, if any.
* Note: process_injected_command() will be called to drain any commands afterwards
* Process the next "immediate" command from SRAM.
* Return 'true' if any commands were processed.
*/
void GCodeQueue::inject_P(PGM_P const pgcode) { injected_commands_P = pgcode; }
bool GCodeQueue::process_injected_command() {
if (injected_commands[0] == '\0') return false;

char c;
size_t i = 0;
while ((c = injected_commands[i]) && c != '\n') i++;

// Execute a non-blank command
if (i) {
injected_commands[i] = '\0';
parser.parse(injected_commands);
gcode.process_parsed_command();
}

// Copy the next command into place
strcpy(injected_commands, &injected_commands[i + (c != '\0')]);
return true;
}

/**
* Enqueue and return only when commands are actually enqueued.
Expand Down Expand Up @@ -575,7 +593,7 @@ void GCodeQueue::get_serial_commands() {

/**
* Add to the circular command queue the next command from:
* - The command-injection queue (injected_commands_P)
* - The command-injection queues (injected_commands_P, injected_commands)
* - The active serial input (usually USB)
* - The SD card file being actively printed
*/
Expand All @@ -594,7 +612,7 @@ void GCodeQueue::get_available_commands() {
void GCodeQueue::advance() {

// Process immediate commands
if (process_injected_command()) return;
if (process_injected_command_P() || process_injected_command()) return;

// Return if the G-code buffer is empty
if (!length) return;
Expand Down
32 changes: 27 additions & 5 deletions Marlin/src/gcode/queue.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,30 @@ class GCodeQueue {
static void clear();

/**
* Enqueue one or many commands to run from program memory.
* Aborts the current queue, if any.
* Note: process_injected_command() will process them.
* Next Injected Command (PROGMEM) pointer. (nullptr == empty)
* Internal commands are enqueued ahead of serial / SD commands.
*/
static void inject_P(PGM_P const pgcode);
static PGM_P injected_commands_P;

/**
* Injected Commands (SRAM)
*/
static char injected_commands[64];

/**
* Enqueue command(s) to run from PROGMEM. Drained by process_injected_command_P().
* Don't inject comments or use leading spaces!
* Aborts the current PROGMEM queue so only use for one or two commands.
*/
static inline void inject_P(PGM_P const pgcode) { injected_commands_P = pgcode; }

/**
* Enqueue command(s) to run from SRAM. Drained by process_injected_command().
* Aborts the current SRAM queue so only use for one or two commands.
*/
static inline void inject(char * const gcode) {
strncpy(injected_commands, gcode, sizeof(injected_commands) - 1);
}

/**
* Enqueue and return only when commands are actually enqueued
Expand Down Expand Up @@ -145,7 +164,10 @@ class GCodeQueue {
#endif
);

// Process the next "immediate" command
// Process the next "immediate" command (PROGMEM)
static bool process_injected_command_P();

// Process the next "immediate" command (SRAM)
static bool process_injected_command();

/**
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_cz.h
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,8 @@ namespace Language_cz {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Paměťový slot");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Načíst síť bodů");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Uložit síť bodů");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Síť %i načtena");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Síť %i uložena");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Síť %i načtena");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Síť %i uložena");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nedostatek místa");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Ch.: Uložit UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Ch.: Obnovit UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_de.h
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,8 @@ namespace Language_de {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Speicherort");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Bettnetz laden");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Bettnetz speichern");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Netz %i geladen");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Netz %i gespeichert");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Netz %i geladen");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Netz %i gespeichert");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Kein Speicher");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err:UBL speichern");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err:UBL wiederherst.");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,8 @@ namespace Language_en {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Memory Slot");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Load Bed Mesh");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Save Bed Mesh");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Mesh %i Loaded");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Mesh %i Saved");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i Loaded");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i Saved");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("No Storage");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err: UBL Save");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err: UBL Restore");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_es.h
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,8 @@ namespace Language_es {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Huecos de memoria");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Cargar Mallado cama");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Guardar Mallado cama");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Mall. %i Carga.");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Mall. %i Guard.");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mall. %i Carga.");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mall. %i Guard.");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Sin guardar");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Error: Guardar UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Error: Restaurar UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_gl.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@ namespace Language_gl {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Rañura Memoria");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Cargar Malla Cama");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Gardar Malla Cama");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Malla %i Cargada");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Malla %i Gardada");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Malla %i Cargada");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Malla %i Gardada");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Sen Gardar");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Erro: Gardadado UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Erro: Recuperación UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,8 @@ namespace Language_it {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot di memoria");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Carica Mesh Piatto");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Salva Mesh Piatto");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Mesh %i caricata");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Mesh %i salvata");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i caricata");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i salvata");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nessuna memoria");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err: Salvataggio UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err: Ripristino UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_pl.h
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,8 @@ namespace Language_pl {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot Pamięci");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Załaduj siatke stołu");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Zapisz siatke stołu");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Siatka %i załadowana");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Siatka %i Zapisana");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Siatka %i załadowana");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Siatka %i Zapisana");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Brak magazynu");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Błąd: Zapis UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Bład: Odczyt UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_pt_br.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot de Memória");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Ler Malha");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Salvar Malha");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Malha %i carregada");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Malha %i salva");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Malha %i carregada");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Malha %i salva");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Sem armazenamento");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Erro ao salvar UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Erro no restauro UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_ru.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,8 @@ namespace Language_ru {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Слот памяти");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Загрузить сетку стола");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Сохранить сетку стола");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Сетка %i загружена");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Сетка %i сохранена");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Сетка %i загружена");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Сетка %i сохранена");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Нет хранилища");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Ошибка: Сохран. UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Ошибка: Восстан. UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_sk.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@ namespace Language_sk {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Pamäťový slot");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Načítať sieť bodov");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Uložiť sieť bodov");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Sieť %i načítaná");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Sieť %i uložená");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Sieť %i načítaná");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Sieť %i uložená");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nedostatok miesta");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Chyba: Ukladanie UBL");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Chyba: Obnovenie UBL");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_tr.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,8 @@ namespace Language_tr {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Bellek Yuvası");
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Yatak Mesh Yükle");
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Yatak Mesh Kayıt Et");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Mesh %i yüklendi");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Mesh %i kayıtlandı");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i yüklendi");
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i kayıtlandı");
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Depolama Yok");
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Hata: UBL Kayıt");
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Hata: UBL Yenileme");
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_vi.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@ namespace Language_vi {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Khe nhớ"); // Memory Slot
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Tải lưới bàn"); // Load Bed Mesh
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Lưu lưới bàn"); // Save Bed Mesh
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 %i lưới được nạp"); // Mesh %i loaded
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 %i lưới đã lưu");
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("%i lưới được nạp"); // Mesh %i loaded
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("%i lưới đã lưu");
PROGMEM Language_Str MSG_NO_STORAGE = _UxGT("Không lưu trữ"); // No Storage
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Điều sai: Lưu UBL"); // Err: UBL Save
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Điều Sai: Khôi Phục UBL"); // Err: UBL Restore
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_zh_CN.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("存储槽"); // "Memory Slot"
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("装载热床网格"); // "Load Bed Mesh"
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("保存热床网格"); // "Save Bed Mesh"
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 网格 %i 已装载"); // "Mesh %i loaded"
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 网格 %i 已保存"); // "Mesh %i saved"
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("网格 %i 已装载"); // "Mesh %i loaded"
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("网格 %i 已保存"); // "Mesh %i saved"
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("没有存储"); // "No storage"
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("错误: UBL保存"); // "Err: UBL Save"
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("错误: UBL还原"); // "Err: UBL Restore"
Expand Down
4 changes: 2 additions & 2 deletions Marlin/src/lcd/language/language_zh_TW.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,8 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("存儲槽"); // "Memory Slot"
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("裝載熱床網格"); // "Load Bed Mesh"
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("保存熱床網格"); // "Save Bed Mesh"
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 網格 %i 已裝載"); // "Mesh %i loaded"
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 網格 %i 已保存"); // "Mesh %i saved"
PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("網格 %i 已裝載"); // "Mesh %i loaded"
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("網格 %i 已保存"); // "Mesh %i saved"
PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("沒有存儲"); // "No storage"
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("錯誤: UBL保存"); // "Err: UBL Save"
PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("錯誤: UBL還原"); // "Err: UBL Restore"
Expand Down
16 changes: 0 additions & 16 deletions Marlin/src/lcd/menu/menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -438,22 +438,6 @@ void scroll_screen(const uint8_t limit, const bool is_menu) {

#endif // BABYSTEP_ZPROBE_OFFSET

#if ANY(AUTO_BED_LEVELING_UBL, PID_AUTOTUNE_MENU, ADVANCED_PAUSE_FEATURE)

void lcd_enqueue_one_now(const char * const cmd) {
no_reentry = true;
queue.enqueue_one_now(cmd);
no_reentry = false;
}

void lcd_enqueue_one_now_P(PGM_P const cmd) {
no_reentry = true;
queue.enqueue_now_P(cmd);
no_reentry = false;
}

#endif

#if ENABLED(EEPROM_SETTINGS)
void lcd_store_settings() {
const bool saved = settings.save();
Expand Down
5 changes: 0 additions & 5 deletions Marlin/src/lcd/menu/menu.h
Original file line number Diff line number Diff line change
Expand Up @@ -547,11 +547,6 @@ void _lcd_draw_homing();
void line_to_z(const float &z);
#endif

#if ANY(AUTO_BED_LEVELING_UBL, PID_AUTOTUNE_MENU, ADVANCED_PAUSE_FEATURE)
void lcd_enqueue_one_now(const char * const cmd);
void lcd_enqueue_one_now_P(PGM_P const cmd);
#endif

#if HAS_GRAPHICAL_LCD && EITHER(BABYSTEP_ZPROBE_GFX_OVERLAY, MESH_EDIT_GFX_OVERLAY)
void _lcd_zoffset_overlay_gfx(const float zvalue);
#endif
Expand Down
Loading