From cc862a821351dc63e99718325fd96d012af1a22a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 21 May 2019 18:23:40 -0500 Subject: [PATCH] Replace some functions with lambdas --- Marlin/src/lcd/menu/menu_advanced.cpp | 21 +++++++++------------ Marlin/src/lcd/menu/menu_configuration.cpp | 15 ++++++++------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 69595f25d3..e1daf3aedd 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -107,18 +107,7 @@ void menu_backlash(); #endif #if ENABLED(SD_FIRMWARE_UPDATE) - #include "../../module/configuration_store.h" - - // - // Toggle the SD Firmware Update state in EEPROM - // - static void _lcd_toggle_sd_update() { - const bool new_state = !settings.sd_update_status(); - ui.completion_feedback(settings.set_sd_update_status(new_state)); - ui.return_to_status(); - if (new_state) LCD_MESSAGEPGM(MSG_RESET_PRINTER); else ui.reset_status(); - } #endif #if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE) @@ -705,7 +694,15 @@ void menu_advanced_settings() { #if ENABLED(SD_FIRMWARE_UPDATE) bool sd_update_state = settings.sd_update_status(); - MENU_ITEM_EDIT_CALLBACK(bool, MSG_SD_UPDATE, &sd_update_state, _lcd_toggle_sd_update); + MENU_ITEM_EDIT_CALLBACK(bool, MSG_SD_UPDATE, &sd_update_state, []{ + // + // Toggle the SD Firmware Update state in EEPROM + // + const bool new_state = !settings.sd_update_status(); + ui.completion_feedback(settings.set_sd_update_status(new_state)); + ui.return_to_status(); + if (new_state) LCD_MESSAGEPGM(MSG_RESET_PRINTER); else ui.reset_status(); + }); #endif #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS) diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index db5ac05314..04cd8afeaa 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -123,14 +123,15 @@ static void lcd_factory_settings() { #include "../../module/motion.h" #include "../../gcode/queue.h" - void _recalc_offsets() { - if (active_extruder && all_axes_known()) { // For the 2nd extruder re-home so the next tool-change gets the new offsets. - enqueue_and_echo_commands_P(PSTR("G28")); // In future, we can babystep the 2nd extruder (if active), making homing unnecessary. - active_extruder = 0; - } - } - void menu_tool_offsets() { + + auto _recalc_offsets = []{ + if (active_extruder && all_axes_known()) { // For the 2nd extruder re-home so the next tool-change gets the new offsets. + enqueue_and_echo_commands_P(PSTR("G28")); // In future, we can babystep the 2nd extruder (if active), making homing unnecessary. + active_extruder = 0; + } + }; + START_MENU(); MENU_BACK(MSG_MAIN); #if ENABLED(DUAL_X_CARRIAGE)