diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 0b01ec0d61..cdb1feda75 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -858,7 +858,7 @@ * This feature was designed for Deltabots with very fast Z moves; however, higher speed Cartesians * might be able to use it. If the machine can't raise Z fast enough the BLTouch may go into ALARM. * - * This sets the default state. Can be changed through the SCD + * This only sets the default state. Changed with 'M401 S' or UI, saved with M500. */ //#define BLTOUCH_HS_MODE diff --git a/Marlin/src/feature/bltouch.cpp b/Marlin/src/feature/bltouch.cpp index 9450ae8ee7..9bb71669c7 100644 --- a/Marlin/src/feature/bltouch.cpp +++ b/Marlin/src/feature/bltouch.cpp @@ -28,8 +28,8 @@ BLTouch bltouch; -bool BLTouch::last_written_mode, // Initialized by settings.load, 0 = Open Drain; 1 = 5V Drain - BLTouch::high_speed_mode; // Initialized by settings.load, 0 = Low Speed; 1 = High Speed +bool BLTouch::od_5v_mode, // Initialized by settings.load, 0 = Open Drain; 1 = 5V Drain + BLTouch::high_speed_mode; // Initialized by settings.load, 0 = Low Speed; 1 = High Speed #include "../module/servo.h" #include "../module/probe.h" @@ -65,17 +65,14 @@ void BLTouch::init(const bool set_voltage/*=false*/) { #else if (DEBUGGING(LEVELING)) { - DEBUG_ECHOLNPGM("last_written_mode - ", last_written_mode); - DEBUG_ECHOLNPGM("config mode - " - #if ENABLED(BLTOUCH_SET_5V_MODE) - "BLTOUCH_SET_5V_MODE" - #else - "OD" - #endif - ); + PGMSTR(mode0, "OD"); + PGMSTR(mode1, "5V"); + DEBUG_ECHOPGM("BLTouch Mode: "); + DEBUG_ECHOPGM_P(bltouch.od_5v_mode ? mode1 : mode0); + DEBUG_ECHOLNPGM(" (Default " TERN(BLTOUCH_SET_5V_MODE, "5V", "OD") ")"); } - const bool should_set = last_written_mode != ENABLED(BLTOUCH_SET_5V_MODE); + const bool should_set = od_5v_mode != ENABLED(BLTOUCH_SET_5V_MODE); #endif @@ -194,7 +191,7 @@ void BLTouch::mode_conv_proc(const bool M5V) { _mode_store(); if (M5V) _set_5V_mode(); else _set_OD_mode(); _stow(); - last_written_mode = M5V; + od_5v_mode = M5V; } #endif // BLTOUCH diff --git a/Marlin/src/feature/bltouch.h b/Marlin/src/feature/bltouch.h index f1485826b5..fbb8267296 100644 --- a/Marlin/src/feature/bltouch.h +++ b/Marlin/src/feature/bltouch.h @@ -68,8 +68,8 @@ class BLTouch { public: static void init(const bool set_voltage=false); - static bool last_written_mode, // Initialized by settings.load, 0 = Open Drain; 1 = 5V Drain - high_speed_mode; // Initialized by settings.load, 0 = Low Speed; 1 = High Speed + static bool od_5v_mode, // Initialized by settings.load, 0 = Open Drain; 1 = 5V Drain + high_speed_mode; // Initialized by settings.load, 0 = Low Speed; 1 = High Speed const float z_extra_clearance() { return high_speed_mode ? 7 : 0; } diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index 6006f86891..4519990a3b 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -217,11 +217,14 @@ void menu_advanced_settings(); #if ENABLED(BLTOUCH_LCD_VOLTAGE_MENU) void bltouch_report() { - SERIAL_ECHOLNPGM("EEPROM Last BLTouch Mode - ", bltouch.last_written_mode); - SERIAL_ECHOLNPGM("Configuration BLTouch Mode - " TERN(BLTOUCH_SET_5V_MODE, "5V", "OD")); + PGMSTR(mode0, "OD"); + PGMSTR(mode1, "5V"); + SERIAL_ECHOPGM("BLTouch Mode: "); + SERIAL_ECHOPGM_P(bltouch.od_5v_mode ? mode1 : mode0); + SERIAL_ECHOLNPGM(" (Default " TERN(BLTOUCH_SET_5V_MODE, "5V", "OD") ")"); char mess[21]; - strcpy_P(mess, PSTR("BLTouch Mode - ")); - strcpy_P(&mess[15], bltouch.last_written_mode ? PSTR("5V") : PSTR("OD")); + strcpy_P(mess, PSTR("BLTouch Mode: ")); + strcpy_P(&mess[15], bltouch.od_5v_mode ? mode1 : mode0); ui.set_status(mess); ui.return_to_status(); } diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp index 25f404d2ec..337a376ce8 100644 --- a/Marlin/src/module/settings.cpp +++ b/Marlin/src/module/settings.cpp @@ -276,8 +276,8 @@ typedef struct SettingsDataStruct { // // BLTOUCH // - bool bltouch_last_written_mode; - bool bltouch_high_speed_mode; + bool bltouch_od_5v_mode; + bool bltouch_high_speed_mode; // M401 S // // Kinematic Settings @@ -859,12 +859,12 @@ void MarlinSettings::postprocess() { // BLTOUCH // { - _FIELD_TEST(bltouch_last_written_mode); - const bool bltouch_last_written_mode = TERN(BLTOUCH, bltouch.last_written_mode, false); - EEPROM_WRITE(bltouch_last_written_mode); + _FIELD_TEST(bltouch_od_5v_mode); + const bool bltouch_od_5v_mode = TERN0(BLTOUCH, bltouch.od_5v_mode); + EEPROM_WRITE(bltouch_od_5v_mode); _FIELD_TEST(bltouch_high_speed_mode); - const bool bltouch_high_speed_mode = TERN(BLTOUCH, bltouch.high_speed_mode, false); + const bool bltouch_high_speed_mode = TERN0(BLTOUCH, bltouch.high_speed_mode); EEPROM_WRITE(bltouch_high_speed_mode); } @@ -1730,13 +1730,13 @@ void MarlinSettings::postprocess() { // BLTOUCH // { - _FIELD_TEST(bltouch_last_written_mode); + _FIELD_TEST(bltouch_od_5v_mode); #if ENABLED(BLTOUCH) - const bool &bltouch_last_written_mode = bltouch.last_written_mode; + const bool &bltouch_od_5v_mode = bltouch.od_5v_mode; #else - bool bltouch_last_written_mode; + bool bltouch_od_5v_mode; #endif - EEPROM_READ(bltouch_last_written_mode); + EEPROM_READ(bltouch_od_5v_mode); _FIELD_TEST(bltouch_high_speed_mode); #if ENABLED(BLTOUCH)