From bd9e57d6bbb7d25cffdbfbf59c7b811403aa5081 Mon Sep 17 00:00:00 2001 From: bdring Date: Thu, 25 Mar 2021 14:50:18 -0500 Subject: [PATCH] Turn off soft limits with max travel (#836) https://github.com/bdring/Grbl_Esp32/issues/831 --- Grbl_Esp32/src/Grbl.h | 2 +- Grbl_Esp32/src/Limits.cpp | 3 ++- Grbl_Esp32/src/SettingsDefinitions.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Grbl_Esp32/src/Grbl.h b/Grbl_Esp32/src/Grbl.h index 78c3e1db..bfa875e3 100644 --- a/Grbl_Esp32/src/Grbl.h +++ b/Grbl_Esp32/src/Grbl.h @@ -22,7 +22,7 @@ // Grbl versioning system const char* const GRBL_VERSION = "1.3a"; -const char* const GRBL_VERSION_BUILD = "20210319"; +const char* const GRBL_VERSION_BUILD = "20210320"; //#include #include diff --git a/Grbl_Esp32/src/Limits.cpp b/Grbl_Esp32/src/Limits.cpp index 41596e9d..b87840c1 100644 --- a/Grbl_Esp32/src/Limits.cpp +++ b/Grbl_Esp32/src/Limits.cpp @@ -392,13 +392,14 @@ float limitsMinPosition(uint8_t axis) { // Checks and reports if target array exceeds machine travel limits. // Return true if exceeding limits +// Set $/MaxTravel=0 to selectively remove an axis from soft limit checks bool limitsCheckTravel(float* target) { uint8_t idx; auto n_axis = number_axis->get(); for (idx = 0; idx < n_axis; idx++) { float max_mpos, min_mpos; - if (target[idx] < limitsMinPosition(idx) || target[idx] > limitsMaxPosition(idx)) { + if ((target[idx] < limitsMinPosition(idx) || target[idx] > limitsMaxPosition(idx)) && axis_settings[idx]->max_travel->get() > 0) { return true; } } diff --git a/Grbl_Esp32/src/SettingsDefinitions.cpp b/Grbl_Esp32/src/SettingsDefinitions.cpp index cb83afcc..b98da4e3 100644 --- a/Grbl_Esp32/src/SettingsDefinitions.cpp +++ b/Grbl_Esp32/src/SettingsDefinitions.cpp @@ -301,7 +301,7 @@ void make_settings() { } for (axis = MAX_N_AXIS - 1; axis >= 0; axis--) { def = &axis_defaults[axis]; - auto setting = new FloatSetting(GRBL, WG, makeGrblName(axis, 130), makename(def->name, "MaxTravel"), def->max_travel, 1.0, 100000.0); + auto setting = new FloatSetting(GRBL, WG, makeGrblName(axis, 130), makename(def->name, "MaxTravel"), def->max_travel, 0, 100000.0); setting->setAxis(axis); axis_settings[axis]->max_travel = setting; }