Browse Source

Option to show babysteps total since G28 (#13580)

pull/1/head
Roxy-3D 5 years ago
committed by Scott Lahteine
parent
commit
9cee81d47e
  1. 2
      Marlin/Configuration_adv.h
  2. 13
      Marlin/src/core/utility.cpp
  3. 3
      Marlin/src/core/utility.h
  4. 6
      Marlin/src/feature/I2CPositionEncoder.cpp
  5. 135
      Marlin/src/feature/babystep.cpp
  6. 63
      Marlin/src/feature/babystep.h
  7. 2
      Marlin/src/gcode/calibrate/G28.cpp
  8. 5
      Marlin/src/gcode/motion/M290.cpp
  9. 2
      Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp
  10. 2
      Marlin/src/lcd/dogm/ultralcd_DOGM.cpp
  11. 10
      Marlin/src/lcd/extensible_ui/ui_api.cpp
  12. 3
      Marlin/src/lcd/language/language_en.h
  13. 6
      Marlin/src/lcd/menu/menu.cpp
  14. 48
      Marlin/src/lcd/menu/menu_tune.cpp
  15. 16
      Marlin/src/module/motion.cpp
  16. 86
      Marlin/src/module/temperature.cpp
  17. 8
      Marlin/src/module/temperature.h
  18. 4
      buildroot/share/tests/megaatmega2560-tests
  19. 2
      config/default/Configuration_adv.h
  20. 2
      config/examples/3DFabXYZ/Migbot/Configuration_adv.h
  21. 2
      config/examples/AlephObjects/TAZ4/Configuration_adv.h
  22. 2
      config/examples/AliExpress/UM2pExt/Configuration_adv.h
  23. 2
      config/examples/Anet/A2/Configuration_adv.h
  24. 2
      config/examples/Anet/A2plus/Configuration_adv.h
  25. 2
      config/examples/Anet/A6/Configuration_adv.h
  26. 2
      config/examples/Anet/A8/Configuration_adv.h
  27. 2
      config/examples/AnyCubic/i3/Configuration_adv.h
  28. 2
      config/examples/ArmEd/Configuration_adv.h
  29. 2
      config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  30. 2
      config/examples/BIBO/TouchX/default/Configuration_adv.h
  31. 2
      config/examples/BQ/Hephestos/Configuration_adv.h
  32. 2
      config/examples/BQ/Hephestos_2/Configuration_adv.h
  33. 2
      config/examples/BQ/WITBOX/Configuration_adv.h
  34. 2
      config/examples/Cartesio/Configuration_adv.h
  35. 2
      config/examples/Creality/CR-10/Configuration_adv.h
  36. 2
      config/examples/Creality/CR-10S/Configuration_adv.h
  37. 2
      config/examples/Creality/CR-10_5S/Configuration_adv.h
  38. 2
      config/examples/Creality/CR-10mini/Configuration_adv.h
  39. 2
      config/examples/Creality/CR-8/Configuration_adv.h
  40. 2
      config/examples/Creality/Ender-2/Configuration_adv.h
  41. 2
      config/examples/Creality/Ender-3/Configuration_adv.h
  42. 2
      config/examples/Creality/Ender-4/Configuration_adv.h
  43. 2
      config/examples/Einstart-S/Configuration_adv.h
  44. 2
      config/examples/Felix/Configuration_adv.h
  45. 2
      config/examples/FlashForge/CreatorPro/Configuration_adv.h
  46. 2
      config/examples/FolgerTech/i3-2020/Configuration_adv.h
  47. 2
      config/examples/Formbot/Raptor/Configuration_adv.h
  48. 8
      config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  49. 2
      config/examples/Formbot/T_Rex_3/Configuration_adv.h
  50. 2
      config/examples/Geeetech/A10M/Configuration_adv.h
  51. 2
      config/examples/Geeetech/A20M/Configuration_adv.h
  52. 2
      config/examples/Geeetech/MeCreator2/Configuration_adv.h
  53. 2
      config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  54. 2
      config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  55. 2
      config/examples/Infitary/i3-M508/Configuration_adv.h
  56. 2
      config/examples/JGAurora/A5/Configuration_adv.h
  57. 2
      config/examples/MakerParts/Configuration_adv.h
  58. 2
      config/examples/Malyan/M150/Configuration_adv.h
  59. 2
      config/examples/Malyan/M200/Configuration_adv.h
  60. 2
      config/examples/Micromake/C1/enhanced/Configuration_adv.h
  61. 2
      config/examples/Mks/Robin/Configuration_adv.h
  62. 2
      config/examples/Mks/Sbase/Configuration_adv.h
  63. 2
      config/examples/RapideLite/RL200/Configuration_adv.h
  64. 2
      config/examples/RigidBot/Configuration_adv.h
  65. 2
      config/examples/SCARA/Configuration_adv.h
  66. 2
      config/examples/Sanguinololu/Configuration_adv.h
  67. 2
      config/examples/TheBorg/Configuration_adv.h
  68. 2
      config/examples/TinyBoy2/Configuration_adv.h
  69. 2
      config/examples/Tronxy/X3A/Configuration_adv.h
  70. 2
      config/examples/Tronxy/X5S-2E/Configuration_adv.h
  71. 2
      config/examples/UltiMachine/Archim1/Configuration_adv.h
  72. 2
      config/examples/UltiMachine/Archim2/Configuration_adv.h
  73. 2
      config/examples/VORONDesign/Configuration_adv.h
  74. 2
      config/examples/Velleman/K8200/Configuration_adv.h
  75. 2
      config/examples/Velleman/K8400/Configuration_adv.h
  76. 2
      config/examples/WASP/PowerWASP/Configuration_adv.h
  77. 2
      config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  78. 2
      config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  79. 2
      config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  80. 2
      config/examples/delta/FLSUN/kossel/Configuration_adv.h
  81. 2
      config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  82. 2
      config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
  83. 2
      config/examples/delta/MKS/SBASE/Configuration_adv.h
  84. 2
      config/examples/delta/Tevo Little Monster/Configuration_adv.h
  85. 2
      config/examples/delta/generic/Configuration_adv.h
  86. 2
      config/examples/delta/kossel_mini/Configuration_adv.h
  87. 2
      config/examples/delta/kossel_xl/Configuration_adv.h
  88. 2
      config/examples/gCreate/gMax1.5+/Configuration_adv.h
  89. 2
      config/examples/makibox/Configuration_adv.h
  90. 2
      config/examples/tvrrug/Round2/Configuration_adv.h
  91. 2
      config/examples/wt150/Configuration_adv.h

2
Marlin/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

13
Marlin/src/core/utility.cpp

@ -214,6 +214,19 @@ void safe_delay(millis_t ms) {
return &conv[1];
}
// Convert signed float to string (5 digit) with -1.2345 / _0.0000 / +1.2345 format
char* ftostr54sign(const float &f, char plus/*=' '*/) {
long i = (f * 100000 + (f < 0 ? -5: 5)) / 10;
conv[0] = i ? MINUSOR(i, plus) : ' ';
conv[1] = DIGIMOD(i, 10000);
conv[2] = '.';
conv[3] = DIGIMOD(i, 1000);
conv[4] = DIGIMOD(i, 100);
conv[5] = DIGIMOD(i, 10);
conv[6] = DIGIMOD(i, 1);
return &conv[0];
}
// Convert unsigned float to rj string with 12345 format
char* ftostr5rj(const float &f) {
const long i = ((f < 0 ? -f : f) * 10 + 5) / 10;

3
Marlin/src/core/utility.h

@ -91,6 +91,9 @@ inline void serial_delay(const millis_t ms) {
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
char* ftostr43sign(const float &x, char plus=' ');
// Convert signed float to string (5 digit) with -1.2345 / _0.0000 / +1.2345 format
char* ftostr54sign(const float &x, char plus=' ');
// Convert unsigned float to rj string with 12345 format
char* ftostr5rj(const float &x);

6
Marlin/src/feature/I2CPositionEncoder.cpp

@ -38,6 +38,8 @@
#include "../module/stepper.h"
#include "../gcode/parser.h"
#include "../feature/babystep.h"
#include <Wire.h>
void I2CPositionEncoder::init(const uint8_t address, const AxisEnum axis) {
@ -169,7 +171,7 @@ void I2CPositionEncoder::update() {
const int32_t errorP = int32_t(sumP * (1.0f / (I2CPE_ERR_PRST_ARRAY_SIZE)));
SERIAL_ECHO(axis_codes[encoderAxis]);
SERIAL_ECHOLNPAIR(" - err detected: ", errorP * planner.steps_to_mm[encoderAxis], "mm; correcting!");
thermalManager.babystepsTodo[encoderAxis] = -LROUND(errorP);
babystep.add_steps(encoderAxis, -LROUND(errorP));
errPrstIdx = 0;
}
}
@ -180,7 +182,7 @@ void I2CPositionEncoder::update() {
if (ABS(error) > threshold * planner.settings.axis_steps_per_mm[encoderAxis]) {
//SERIAL_ECHOLN(error);
//SERIAL_ECHOLN(position);
thermalManager.babystepsTodo[encoderAxis] = -LROUND(error / 2);
babystep.add_steps(encoderAxis, -LROUND(error / 2));
}
#endif

135
Marlin/src/feature/babystep.cpp

@ -0,0 +1,135 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2019 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/>.
*
*/
#include "../inc/MarlinConfig.h"
#if ENABLED(BABYSTEPPING)
#include "babystep.h"
#include "../Marlin.h"
#include "../module/planner.h"
#include "../module/stepper.h"
#if ENABLED(BABYSTEP_ALWAYS_AVAILABLE)
#include "../gcode/gcode.h"
#endif
Babystep babystep;
volatile int16_t Babystep::todo[BS_TODO_AXIS(Z_AXIS) + 1];
#if HAS_LCD_MENU
int16_t Babystep::accum;
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
int16_t Babystep::axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1];
#endif
#endif
void Babystep::step_axis(const AxisEnum axis) {
const int16_t curTodo = todo[BS_TODO_AXIS(axis)]; // get rid of volatile for performance
if (curTodo) {
stepper.babystep((AxisEnum)axis, curTodo > 0);
if (curTodo > 0) todo[BS_TODO_AXIS(axis)]--; else todo[BS_TODO_AXIS(axis)]++;
}
}
void Babystep::task() {
#if EITHER(BABYSTEP_XY, I2C_POSITION_ENCODERS)
LOOP_XYZ(axis) step_axis((AxisEnum)axis);
#else
step_axis(Z_AXIS);
#endif
}
void Babystep::add_mm(const AxisEnum axis, const float &mm) {
add_steps(axis, mm * planner.settings.axis_steps_per_mm[axis]);
}
void Babystep::add_steps(const AxisEnum axis, const int32_t distance) {
#if ENABLED(BABYSTEP_WITHOUT_HOMING)
#define CAN_BABYSTEP(AXIS) true
#else
extern uint8_t axis_known_position;
#define CAN_BABYSTEP(AXIS) TEST(axis_known_position, AXIS)
#endif
if (!CAN_BABYSTEP(axis)) return;
#if HAS_LCD_MENU
accum += distance; // Count up babysteps for the UI
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
axis_total[BS_TOTAL_AXIS(axis)] += distance;
#endif
#endif
#if ENABLED(BABYSTEP_ALWAYS_AVAILABLE)
#define BSA_ENABLE(AXIS) do{ switch (AXIS) { case X_AXIS: enable_X(); break; case Y_AXIS: enable_Y(); break; case Z_AXIS: enable_Z(); } }while(0)
#else
#define BSA_ENABLE(AXIS) NOOP
#endif
#if IS_CORE
#if ENABLED(BABYSTEP_XY)
switch (axis) {
case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
BSA_ENABLE(CORE_AXIS_1);
BSA_ENABLE(CORE_AXIS_2);
todo[CORE_AXIS_1] += distance * 2;
todo[CORE_AXIS_2] += distance * 2;
break;
case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
BSA_ENABLE(CORE_AXIS_1);
BSA_ENABLE(CORE_AXIS_2);
todo[CORE_AXIS_1] += CORESIGN(distance * 2);
todo[CORE_AXIS_2] -= CORESIGN(distance * 2);
break;
case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
default:
BSA_ENABLE(NORMAL_AXIS);
todo[NORMAL_AXIS] += distance;
break;
}
#elif CORE_IS_XZ || CORE_IS_YZ
// Only Z stepping needs to be handled here
BSA_ENABLE(CORE_AXIS_1);
BSA_ENABLE(CORE_AXIS_2);
todo[CORE_AXIS_1] += CORESIGN(distance * 2);
todo[CORE_AXIS_2] -= CORESIGN(distance * 2);
#else
BSA_ENABLE(Z_AXIS);
todo[Z_AXIS] += distance;
#endif
#else
#if ENABLED(BABYSTEP_XY)
BSA_ENABLE(axis);
#else
BSA_ENABLE(Z_AXIS);
#endif
todo[BS_TODO_AXIS(axis)] += distance;
#endif
#if ENABLED(BABYSTEP_ALWAYS_AVAILABLE)
gcode.reset_stepper_timeout();
#endif
}
#endif // BABYSTEPPING

63
Marlin/src/feature/babystep.h

@ -0,0 +1,63 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2019 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/>.
*
*/
#pragma once
#include "../inc/MarlinConfigPre.h"
#include "../core/enum.h"
#if IS_CORE || EITHER(BABYSTEP_XY, I2C_POSITION_ENCODERS)
#define BS_TODO_AXIS(A) A
#else
#define BS_TODO_AXIS(A) 0
#endif
#if HAS_LCD_MENU && ENABLED(BABYSTEP_DISPLAY_TOTAL)
#if ENABLED(BABYSTEP_XY)
#define BS_TOTAL_AXIS(A) A
#else
#define BS_TOTAL_AXIS(A) 0
#endif
#endif
class Babystep {
public:
static volatile int16_t todo[BS_TODO_AXIS(Z_AXIS) + 1];
#if HAS_LCD_MENU
static int16_t accum; // Total babysteps in current edit
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
static int16_t axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]; // Total babysteps since G28
static inline void reset_total(const AxisEnum axis) {
#if ENABLED(BABYSTEP_XY)
if (axis == Z_AXIS)
#endif
axis_total[BS_TOTAL_AXIS(axis)] = 0;
}
#endif
#endif
static void add_steps(const AxisEnum axis, const int32_t distance);
static void add_mm(const AxisEnum axis, const float &mm);
static void task();
private:
static void step_axis(const AxisEnum axis);
};
extern Babystep babystep;

2
Marlin/src/gcode/calibrate/G28.cpp

@ -428,7 +428,7 @@ void GcodeSuite::G28(const bool always_home_all) {
// Restore the active tool after homing
#if HOTENDS > 1 && (DISABLED(DELTA) || ENABLED(DELTA_HOME_TO_SAFE_ZONE))
#if ENABLED(PARKING_EXTRUDER) || ENABLED(DUAL_X_CARRIAGE)
#if EITHER(PARKING_EXTRUDER, DUAL_X_CARRIAGE)
#define NO_FETCH false // fetch the previous toolhead
#else
#define NO_FETCH true

5
Marlin/src/gcode/motion/M290.cpp

@ -25,6 +25,7 @@
#if ENABLED(BABYSTEPPING)
#include "../gcode.h"
#include "../../feature/babystep.h"
#include "../../module/probe.h"
#include "../../module/temperature.h"
#include "../../module/planner.h"
@ -64,7 +65,7 @@ void GcodeSuite::M290() {
for (uint8_t a = X_AXIS; a <= Z_AXIS; a++)
if (parser.seenval(axis_codes[a]) || (a == Z_AXIS && parser.seenval('S'))) {
const float offs = constrain(parser.value_axis_units((AxisEnum)a), -2, 2);
thermalManager.babystep_axis((AxisEnum)a, offs * planner.settings.axis_steps_per_mm[a]);
babystep.add_mm((AxisEnum)a, offs);
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
if (a == Z_AXIS && (!parser.seen('P') || parser.value_bool())) mod_zprobe_zoffset(offs);
#endif
@ -72,7 +73,7 @@ void GcodeSuite::M290() {
#else
if (parser.seenval('Z') || parser.seenval('S')) {
const float offs = constrain(parser.value_axis_units(Z_AXIS), -2, 2);
thermalManager.babystep_axis(Z_AXIS, offs * planner.settings.axis_steps_per_mm[Z_AXIS]);
babystep.add_mm(Z_AXIS, offs);
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
if (!parser.seen('P') || parser.value_bool()) mod_zprobe_zoffset(offs);
#endif

2
Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp

@ -1025,7 +1025,7 @@ void MarlinUI::draw_status_screen() {
}
void draw_edit_screen(PGM_P const pstr, const char* const value/*=NULL*/) {
lcd_moveto(1, 1);
lcd_moveto(0, 1);
lcd_put_u8str_P(pstr);
if (value != NULL) {
lcd_put_wchar(':');

2
Marlin/src/lcd/dogm/ultralcd_DOGM.cpp

@ -389,7 +389,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
if (value != NULL) {
lcd_put_wchar(':');
if (extra_row) {
// Assume the value is numeric (with no descender)
// Assume that value is numeric (with no descender)
baseline += EDIT_FONT_ASCENT + 2;
onpage = PAGE_CONTAINS(baseline - (EDIT_FONT_ASCENT - 1), baseline);
}

10
Marlin/src/lcd/extensible_ui/ui_api.cpp

@ -97,6 +97,10 @@
#include "../../feature/runout.h"
#endif
#if ENABLED(BABYSTEPPING)
#include "../../feature/babystep.h"
#endif
inline float clamp(const float value, const float minimum, const float maximum) {
return MAX(MIN(value, maximum), minimum);
}
@ -584,10 +588,10 @@ namespace ExtUI {
bool babystepAxis_steps(const int16_t steps, const axis_t axis) {
switch (axis) {
#if ENABLED(BABYSTEP_XY)
case X: thermalManager.babystep_axis(X_AXIS, steps); break;
case Y: thermalManager.babystep_axis(Y_AXIS, steps); break;
case X: babystep.add_steps(X_AXIS, steps); break;
case Y: babystep.add_steps(Y_AXIS, steps); break;
#endif
case Z: thermalManager.babystep_axis(Z_AXIS, steps); break;
case Z: babystep.add_steps(Z_AXIS, steps); break;
default: return false;
};
return true;

3
Marlin/src/lcd/language/language_en.h

@ -903,6 +903,9 @@
#ifndef MSG_BABYSTEP_Z
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
#endif
#ifndef MSG_BABYSTEP_TOTAL
#define MSG_BABYSTEP_TOTAL _UxGT("Total")
#endif
#ifndef MSG_ENDSTOP_ABORT
#define MSG_ENDSTOP_ABORT _UxGT("Endstop abort")
#endif

6
Marlin/src/lcd/menu/menu.cpp

@ -37,7 +37,7 @@
#include "../../module/configuration_store.h"
#endif
#if WATCH_HOTENDS || WATCH_BED || ENABLED(BABYSTEP_ZPROBE_OFFSET)
#if WATCH_HOTENDS || WATCH_BED
#include "../../module/temperature.h"
#endif
@ -352,6 +352,8 @@ void MarlinUI::completion_feedback(const bool good/*=true*/) {
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
#include "../../feature/babystep.h"
void lcd_babystep_zoffset() {
if (ui.use_click()) return ui.goto_previous_screen_no_defer();
ui.defer_status_screen();
@ -376,7 +378,7 @@ void MarlinUI::completion_feedback(const bool good/*=true*/) {
;
if (WITHIN(new_offs, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) {
thermalManager.babystep_axis(Z_AXIS, babystep_increment);
babystep.add_steps(Z_AXIS, babystep_increment);
if (do_probe) zprobe_zoffset = new_offs;
#if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)

48
Marlin/src/lcd/menu/menu_tune.cpp

@ -65,32 +65,60 @@
#if ENABLED(BABYSTEPPING)
long babysteps_done = 0;
#include "../../feature/babystep.h"
#include "../lcdprint.h"
#if HAS_GRAPHICAL_LCD
#include "../dogm/ultralcd_DOGM.h"
#endif
void _lcd_babystep(const AxisEnum axis, PGM_P msg) {
void _lcd_babystep(const AxisEnum axis, PGM_P const msg) {
if (ui.use_click()) return ui.goto_previous_screen_no_defer();
ui.encoder_direction_normal();
if (ui.encoderPosition) {
const int16_t babystep_increment = (int32_t)ui.encoderPosition * (BABYSTEP_MULTIPLICATOR);
const int16_t steps = (int32_t)ui.encoderPosition * (BABYSTEP_MULTIPLICATOR);
ui.encoderPosition = 0;
ui.refresh(LCDVIEW_REDRAW_NOW);
thermalManager.babystep_axis(axis, babystep_increment);
babysteps_done += babystep_increment;
babystep.add_steps(axis, steps);
}
if (ui.should_draw()) {
const float spm = planner.steps_to_mm[axis];
draw_edit_screen(msg, ftostr54sign(spm * babystep.accum));
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
const bool in_view = (true
#if HAS_GRAPHICAL_LCD
&& PAGE_CONTAINS(LCD_PIXEL_HEIGHT - MENU_FONT_HEIGHT, LCD_PIXEL_HEIGHT - 1)
#endif
);
if (in_view) {
#if HAS_GRAPHICAL_LCD
ui.set_font(FONT_MENU);
lcd_moveto(0, LCD_PIXEL_HEIGHT - MENU_FONT_DESCENT);
#else
lcd_moveto(0, LCD_HEIGHT - 1);
#endif
lcd_put_u8str_P(PSTR(MSG_BABYSTEP_TOTAL ":"));
lcd_put_u8str(ftostr54sign(spm * babystep.axis_total[BS_TOTAL_AXIS(axis)]));
}
#endif
}
if (ui.should_draw())
draw_edit_screen(msg, ftostr43sign(planner.steps_to_mm[axis] * babysteps_done));
}
inline void _lcd_babystep_go(const screenFunc_t screen) {
ui.goto_screen(screen);
ui.defer_status_screen();
babystep.accum = 0;
}
#if ENABLED(BABYSTEP_XY)
void _lcd_babystep_x() { _lcd_babystep(X_AXIS, PSTR(MSG_BABYSTEP_X)); }
void _lcd_babystep_y() { _lcd_babystep(Y_AXIS, PSTR(MSG_BABYSTEP_Y)); }
void lcd_babystep_x() { ui.goto_screen(_lcd_babystep_x); babysteps_done = 0; ui.defer_status_screen(); }
void lcd_babystep_y() { ui.goto_screen(_lcd_babystep_y); babysteps_done = 0; ui.defer_status_screen(); }
void lcd_babystep_x() { _lcd_babystep_go(_lcd_babystep_x); }
void lcd_babystep_y() { _lcd_babystep_go(_lcd_babystep_y); }
#endif
#if DISABLED(BABYSTEP_ZPROBE_OFFSET)
void _lcd_babystep_z() { _lcd_babystep(Z_AXIS, PSTR(MSG_BABYSTEP_Z)); }
void lcd_babystep_z() { ui.goto_screen(_lcd_babystep_z); babysteps_done = 0; ui.defer_status_screen(); }
void lcd_babystep_z() { _lcd_babystep_go(_lcd_babystep_z); }
#endif
#endif // BABYSTEPPING

16
Marlin/src/module/motion.cpp

@ -63,6 +63,10 @@
#include "../feature/fwretract.h"
#endif
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
#include "../feature/babystep.h"
#endif
#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
#include "../core/debug_out.h"
@ -1316,6 +1320,14 @@ void set_axis_is_at_home(const AxisEnum axis) {
}
#endif
#if ENABLED(I2C_POSITION_ENCODERS)
I2CPEM.homed(axis);
#endif
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
babystep.reset_total(axis);
#endif
if (DEBUGGING(LEVELING)) {
#if HAS_HOME_OFFSET
DEBUG_ECHOLNPAIR("> home_offset[", axis_codes[axis], "] = ", home_offset[axis]);
@ -1323,10 +1335,6 @@ void set_axis_is_at_home(const AxisEnum axis) {
DEBUG_POS("", current_position);
DEBUG_ECHOLNPAIR("<<< set_axis_is_at_home(", axis_codes[axis], ")");
}
#if ENABLED(I2C_POSITION_ENCODERS)
I2CPEM.homed(axis);
#endif
}
/**

86
Marlin/src/module/temperature.cpp

@ -44,7 +44,7 @@
#endif
#if ENABLED(BABYSTEPPING)
#include "../module/motion.h"
#include "../feature/babystep.h"
#if ENABLED(BABYSTEP_ALWAYS_AVAILABLE)
#include "../gcode/gcode.h"
#endif
@ -239,10 +239,6 @@ hotend_info_t Temperature::temp_hotend[HOTENDS]; // = { 0 }
//hotend_pid_t Temperature::pid[HOTENDS];
#endif
#if ENABLED(BABYSTEPPING)
volatile int16_t Temperature::babystepsTodo[XYZ] = { 0 };
#endif
#if ENABLED(PREVENT_COLD_EXTRUSION)
bool Temperature::allow_cold_extrude = false;
int16_t Temperature::extrude_min_temp = EXTRUDE_MINTEMP;
@ -2516,21 +2512,7 @@ void Temperature::isr() {
//
#if ENABLED(BABYSTEPPING)
#if EITHER(BABYSTEP_XY, I2C_POSITION_ENCODERS)
LOOP_XYZ(axis) {
const int16_t curTodo = babystepsTodo[axis]; // get rid of volatile for performance
if (curTodo) {
stepper.babystep((AxisEnum)axis, curTodo > 0);
if (curTodo > 0) babystepsTodo[axis]--; else babystepsTodo[axis]++;
}
}
#else
const int16_t curTodo = babystepsTodo[Z_AXIS];
if (curTodo) {
stepper.babystep(Z_AXIS, curTodo > 0);
if (curTodo > 0) babystepsTodo[Z_AXIS]--; else babystepsTodo[Z_AXIS]++;
}
#endif
babystep.task();
#endif
// Poll endstops state, if required
@ -2540,70 +2522,6 @@ void Temperature::isr() {
planner.tick();
}
#if ENABLED(BABYSTEPPING)
#if ENABLED(BABYSTEP_ALWAYS_AVAILABLE)
#define BSA_ENABLE(AXIS) do{ switch (AXIS) { case X_AXIS: enable_X(); break; case Y_AXIS: enable_Y(); break; case Z_AXIS: enable_Z(); } }while(0)
#else
#define BSA_ENABLE(AXIS) NOOP
#endif
#if ENABLED(BABYSTEP_WITHOUT_HOMING)
#define CAN_BABYSTEP(AXIS) true
#else
#define CAN_BABYSTEP(AXIS) TEST(axis_known_position, AXIS)
#endif
extern uint8_t axis_known_position;
void Temperature::babystep_axis(const AxisEnum axis, const int16_t distance) {
if (!CAN_BABYSTEP(axis)) return;
#if IS_CORE
#if ENABLED(BABYSTEP_XY)
switch (axis) {
case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
BSA_ENABLE(CORE_AXIS_1);
BSA_ENABLE(CORE_AXIS_2);
babystepsTodo[CORE_AXIS_1] += distance * 2;
babystepsTodo[CORE_AXIS_2] += distance * 2;
break;
case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
BSA_ENABLE(CORE_AXIS_1);
BSA_ENABLE(CORE_AXIS_2);
babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
break;
case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
default:
BSA_ENABLE(NORMAL_AXIS);
babystepsTodo[NORMAL_AXIS] += distance;
break;
}
#elif CORE_IS_XZ || CORE_IS_YZ
// Only Z stepping needs to be handled here
BSA_ENABLE(CORE_AXIS_1);
BSA_ENABLE(CORE_AXIS_2);
babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
#else
BSA_ENABLE(Z_AXIS);
babystepsTodo[Z_AXIS] += distance;
#endif
#else
#if ENABLED(BABYSTEP_XY)
BSA_ENABLE(axis);
#else
BSA_ENABLE(Z_AXIS);
#endif
babystepsTodo[axis] += distance;
#endif
#if ENABLED(BABYSTEP_ALWAYS_AVAILABLE)
gcode.reset_stepper_timeout();
#endif
}
#endif // BABYSTEPPING
#if HAS_TEMP_SENSOR
#include "../gcode/gcode.h"

8
Marlin/src/module/temperature.h

@ -266,10 +266,6 @@ class Temperature {
soft_pwm_count_fan[FAN_COUNT];
#endif
#if ENABLED(BABYSTEPPING)
static volatile int16_t babystepsTodo[3];
#endif
#if ENABLED(PREVENT_COLD_EXTRUSION)
static bool allow_cold_extrude;
static int16_t extrude_min_temp;
@ -689,10 +685,6 @@ class Temperature {
#endif
#if ENABLED(BABYSTEPPING)
static void babystep_axis(const AxisEnum axis, const int16_t distance);
#endif
#if ENABLED(PROBING_HEATERS_OFF)
static void pause(const bool p);
FORCE_INLINE static bool is_paused() { return paused; }

4
buildroot/share/tests/megaatmega2560-tests

@ -69,7 +69,7 @@ exec_test $1 $2 "Azteeg X3 with 5 extruders, RRDFGSC, probeless UBL, Linear Adva
opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
opt_set LCD_LANGUAGE jp-kana
opt_disable SEGMENT_LEVELED_MOVES
opt_enable BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING BABYSTEP_HOTEND_Z_OFFSET
opt_enable BABYSTEPPING BABYSTEP_XY BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING BABYSTEP_HOTEND_Z_OFFSET BABYSTEP_DISPLAY_TOTAL
exec_test $1 $2 "... Sled Z Probe, Skew, UBL Cartesian moves, Japanese, and Z probe BABYSTEPPING"
#
@ -153,7 +153,7 @@ opt_set EXTRUDERS 2
opt_set TEMP_SENSOR_1 -4
opt_set SERVO_DELAY "{ 300, 300, 300 }"
opt_enable COREYX USE_XMAX_PLUG \
REPRAP_DISCOUNT_SMART_CONTROLLER BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT \
REPRAP_DISCOUNT_SMART_CONTROLLER BABYSTEPPING BABYSTEP_DISPLAY_TOTAL DAC_MOTOR_CURRENT_DEFAULT \
FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR \
ENDSTOP_INTERRUPTS_FEATURE ENDSTOP_NOISE_THRESHOLD FAN_SOFT_PWM SDSUPPORT \
SWITCHING_TOOLHEAD NUM_SERVOS DEBUG_LEVELING_FEATURE \

2
config/default/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/3DFabXYZ/Migbot/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/AlephObjects/TAZ4/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/AliExpress/UM2pExt/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Anet/A2/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Anet/A2plus/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Anet/A6/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Anet/A8/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/AnyCubic/i3/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/ArmEd/Configuration_adv.h

@ -1016,6 +1016,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/BIBO/TouchX/cyclops/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/BIBO/TouchX/default/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/BQ/Hephestos/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/BQ/Hephestos_2/Configuration_adv.h

@ -1017,6 +1017,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/BQ/WITBOX/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Cartesio/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/CR-10/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/CR-10S/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/CR-10_5S/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/CR-10mini/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/CR-8/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/Ender-2/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/Ender-3/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Creality/Ender-4/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Einstart-S/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Felix/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/FlashForge/CreatorPro/Configuration_adv.h

@ -1008,6 +1008,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/FolgerTech/i3-2020/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Formbot/Raptor/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

8
config/examples/Formbot/T_Rex_2+/Configuration_adv.h

@ -1000,8 +1000,8 @@
*/
#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
//#define BABYSTEP_WITHOUT_HOMING
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_WITHOUT_HOMING
#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
#define BABYSTEP_MULTIPLICATOR 40 // Babysteps are very small. Increase for faster motion.
@ -1009,13 +1009,15 @@
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
// Note: Extra time may be added to mitigate controller latency.
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
//#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle.
#if ENABLED(MOVE_Z_WHEN_IDLE)
#define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size.
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Formbot/T_Rex_3/Configuration_adv.h

@ -1016,6 +1016,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Geeetech/A10M/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Geeetech/A20M/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Geeetech/MeCreator2/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Infitary/i3-M508/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/JGAurora/A5/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/MakerParts/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Malyan/M150/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Malyan/M200/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Micromake/C1/enhanced/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Mks/Robin/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Mks/Sbase/Configuration_adv.h

@ -1013,6 +1013,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/RapideLite/RL200/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/RigidBot/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/SCARA/Configuration_adv.h

@ -1009,6 +1009,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Sanguinololu/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/TheBorg/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/TinyBoy2/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Tronxy/X3A/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Tronxy/X5S-2E/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/UltiMachine/Archim1/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/UltiMachine/Archim2/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/VORONDesign/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Velleman/K8200/Configuration_adv.h

@ -1025,6 +1025,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Velleman/K8400/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/WASP/PowerWASP/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/Wanhao/Duplicator 6/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/Anycubic/Kossel/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/FLSUN/kossel/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/MKS/SBASE/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/Tevo Little Monster/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/generic/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/kossel_mini/Configuration_adv.h

@ -1010,6 +1010,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/delta/kossel_xl/Configuration_adv.h

@ -1011,6 +1011,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/gCreate/gMax1.5+/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/makibox/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/tvrrug/Round2/Configuration_adv.h

@ -1012,6 +1012,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

2
config/examples/wt150/Configuration_adv.h

@ -1013,6 +1013,8 @@
#endif
#endif
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets

Loading…
Cancel
Save