diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f3cfcb812..836289e87 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3004,7 +3004,7 @@ static void gcode_G80() babystep_apply(); // Apply Z height correction aka baby stepping before mesh bed leveing gets activated. bool eeprom_bed_correction_valid = eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1; const constexpr uint8_t sides = 4; - int8_t correction[sides] = {0}; + int8_t correction[sides]; for (uint8_t i = 0; i < sides; ++i) { static const char codes[sides] PROGMEM = { 'L', 'R', 'F', 'B' }; static uint8_t *const eep_addresses[sides] PROGMEM = { @@ -3013,23 +3013,21 @@ static void gcode_G80() (uint8_t*)EEPROM_BED_CORRECTION_FRONT, (uint8_t*)EEPROM_BED_CORRECTION_REAR, }; - if (code_seen(pgm_read_byte(&codes[i]))) - { // Verify value is within allowed range + if (code_seen(pgm_read_byte(&codes[i]))) { + // Verify value is within allowed range int32_t temp = code_value_long(); if (labs(temp) > BED_ADJUSTMENT_UM_MAX) { - SERIAL_ERROR_START; - SERIAL_ECHOPGM("Excessive bed leveling correction: "); - SERIAL_ECHO(temp); - SERIAL_ECHOLNPGM(" microns"); + printf_P(PSTR("%SExcessive bed leveling correction: %li microns\n"), errormagic, temp); correction[i] = 0; } else { // Value is valid, save it correction[i] = (int8_t)temp; } - } else if (eeprom_bed_correction_valid) + } else if (eeprom_bed_correction_valid) { correction[i] = (int8_t)eeprom_read_byte((uint8_t*)pgm_read_ptr(&eep_addresses[i])); - if (correction[i] == 0) - continue; + } else { + correction[i] = 0; + } } for (uint8_t row = 0; row < MESH_NUM_Y_POINTS; ++row) { for (uint8_t col = 0; col < MESH_NUM_X_POINTS; ++col) {