Adapt G26 to work for all meshes

This commit is contained in:
Scott Lahteine
2017-11-23 17:59:43 -06:00
parent 5ce7f23afa
commit c6b0c104bb
20 changed files with 661 additions and 727 deletions

File diff suppressed because it is too large Load Diff

View File

@ -44,17 +44,6 @@ void GcodeSuite::G42() {
return;
}
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
#define _GET_MESH_X(I) bilinear_start[X_AXIS] + I * bilinear_grid_spacing[X_AXIS]
#define _GET_MESH_Y(J) bilinear_start[Y_AXIS] + J * bilinear_grid_spacing[Y_AXIS]
#elif ENABLED(AUTO_BED_LEVELING_UBL)
#define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
#define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
#elif ENABLED(MESH_BED_LEVELING)
#define _GET_MESH_X(I) mbl.index_to_xpos[I]
#define _GET_MESH_Y(J) mbl.index_to_ypos[J]
#endif
set_destination_from_current();
if (hasI) destination[X_AXIS] = _GET_MESH_X(ix);
if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy);

View File

@ -1,36 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* G26.cpp - Unified Bed Leveling
*/
#include "../../../inc/MarlinConfig.h"
#if ENABLED(UBL_G26_MESH_VALIDATION)
#include "../../gcode.h"
#include "../../../feature/bedlevel/ubl/ubl.h"
void GcodeSuite::G26() { ubl.G26(); }
#endif // UBL_G26_MESH_VALIDATION

View File

@ -29,7 +29,7 @@
#if ENABLED(AUTO_BED_LEVELING_UBL)
#include "../../gcode.h"
#include "../../../feature/bedlevel/ubl/ubl.h"
#include "../../../feature/bedlevel/bedlevel.h"
/**
* M421: Set a single Mesh Bed Leveling Z coordinate

View File

@ -21,20 +21,20 @@
*/
/**
* M49.cpp - Unified Bed Leveling
* M49.cpp - Toggle the G26 debug flag
*/
#include "../../../inc/MarlinConfig.h"
#if ENABLED(UBL_G26_MESH_VALIDATION)
#if ENABLED(G26_MESH_VALIDATION)
#include "../../gcode.h"
#include "../../../feature/bedlevel/bedlevel.h"
void GcodeSuite::M49() {
ubl.g26_debug_flag ^= true;
SERIAL_PROTOCOLPGM("UBL Debug Flag turned ");
serialprintPGM(ubl.g26_debug_flag ? PSTR("on.") : PSTR("off."));
g26_debug_flag ^= true;
SERIAL_PROTOCOLPGM("G26 Debug ");
serialprintPGM(g26_debug_flag ? PSTR("on.") : PSTR("off."));
}
#endif // UBL_G26_MESH_VALIDATION
#endif // G26_MESH_VALIDATION

View File

@ -207,7 +207,7 @@ void GcodeSuite::process_parsed_command() {
break;
#endif // INCH_MODE_SUPPORT
#if ENABLED(UBL_G26_MESH_VALIDATION)
#if ENABLED(G26_MESH_VALIDATION)
case 26: // G26: Mesh Validation Pattern generation
G26();
break;
@ -342,7 +342,7 @@ void GcodeSuite::process_parsed_command() {
case 48: M48(); break; // M48: Z probe repeatability test
#endif
#if ENABLED(UBL_G26_MESH_VALIDATION)
#if ENABLED(G26_MESH_VALIDATION)
case 49: M49(); break; // M49: Turn on or off G26 debug flag for verbose output
#endif

View File

@ -55,7 +55,7 @@
* G19 - Select Plane YZ (Requires CNC_WORKSPACE_PLANES)
* G20 - Set input units to inches (Requires INCH_MODE_SUPPORT)
* G21 - Set input units to millimeters (Requires INCH_MODE_SUPPORT)
* G26 - Mesh Validation Pattern (Requires UBL_G26_MESH_VALIDATION)
* G26 - Mesh Validation Pattern (Requires G26_MESH_VALIDATION)
* G27 - Park Nozzle (Requires NOZZLE_PARK_FEATURE)
* G28 - Home one or more axes
* G29 - Start or continue the bed leveling probe procedure (Requires bed leveling)
@ -357,7 +357,7 @@ private:
static void G21();
#endif
#if ENABLED(UBL_G26_MESH_VALIDATION)
#if ENABLED(G26_MESH_VALIDATION)
static void G26();
#endif
@ -453,7 +453,7 @@ private:
static void M48();
#endif
#if ENABLED(UBL_G26_MESH_VALIDATION)
#if ENABLED(G26_MESH_VALIDATION)
static void M49();
#endif