Followup to BLTouch (#13422)
This commit is contained in:
parent
3fb8489ae3
commit
5b2c37d6c1
10 changed files with 56 additions and 49 deletions
|
@ -40,4 +40,6 @@ void refresh_bed_level();
|
||||||
void bilinear_line_to_destination(const float fr_mm_s, uint16_t x_splits=0xFFFF, uint16_t y_splits=0xFFFF);
|
void bilinear_line_to_destination(const float fr_mm_s, uint16_t x_splits=0xFFFF, uint16_t y_splits=0xFFFF);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define Z_VALUES(X,Y) z_values[X][Y]
|
#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])
|
||||||
|
#define Z_VALUES_ARR z_values
|
||||||
|
|
|
@ -48,38 +48,35 @@ void reset_bed_level();
|
||||||
void set_z_fade_height(const float zfh, const bool do_report=true);
|
void set_z_fade_height(const float zfh, const bool do_report=true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EITHER(AUTO_BED_LEVELING_BILINEAR, MESH_BED_LEVELING)
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
typedef float (*element_2d_fn)(const uint8_t, const uint8_t);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print calibration results for plotting or manual frame adjustment.
|
|
||||||
*/
|
|
||||||
void print_2d_array(const uint8_t sx, const uint8_t sy, const uint8_t precision, element_2d_fn fn);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if EITHER(MESH_BED_LEVELING, PROBE_MANUALLY)
|
#if EITHER(MESH_BED_LEVELING, PROBE_MANUALLY)
|
||||||
void _manual_goto_xy(const float &x, const float &y);
|
void _manual_goto_xy(const float &x, const float &y);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
#if HAS_MESH
|
||||||
#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])
|
typedef float (&bed_mesh_t)[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
|
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||||
#define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
|
#include "abl/abl.h"
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
#define _GET_MESH_X(I) mbl.index_to_xpos[I]
|
#include "ubl/ubl.h"
|
||||||
#define _GET_MESH_Y(J) mbl.index_to_ypos[J]
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
#endif
|
#include "mbl/mesh_bed_leveling.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define Z_VALUES(X,Y) Z_VALUES_ARR[X][Y]
|
||||||
|
|
||||||
|
#if EITHER(AUTO_BED_LEVELING_BILINEAR, MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
typedef float (*element_2d_fn)(const uint8_t, const uint8_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print calibration results for plotting or manual frame adjustment.
|
||||||
|
*/
|
||||||
|
void print_2d_array(const uint8_t sx, const uint8_t sy, const uint8_t precision, element_2d_fn fn);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
|
||||||
#include "mbl/mesh_bed_leveling.h"
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#include "ubl/ubl.h"
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
|
||||||
#include "abl/abl.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,6 +34,9 @@ enum MeshLevelingState : char {
|
||||||
|
|
||||||
#define MESH_X_DIST ((MESH_MAX_X - (MESH_MIN_X)) / (GRID_MAX_POINTS_X - 1))
|
#define MESH_X_DIST ((MESH_MAX_X - (MESH_MIN_X)) / (GRID_MAX_POINTS_X - 1))
|
||||||
#define MESH_Y_DIST ((MESH_MAX_Y - (MESH_MIN_Y)) / (GRID_MAX_POINTS_Y - 1))
|
#define MESH_Y_DIST ((MESH_MAX_Y - (MESH_MIN_Y)) / (GRID_MAX_POINTS_Y - 1))
|
||||||
|
#define _GET_MESH_X(I) mbl.index_to_xpos[I]
|
||||||
|
#define _GET_MESH_Y(J) mbl.index_to_ypos[J]
|
||||||
|
#define Z_VALUES_ARR mbl.z_values
|
||||||
|
|
||||||
class mesh_bed_leveling {
|
class mesh_bed_leveling {
|
||||||
public:
|
public:
|
||||||
|
@ -118,5 +121,3 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
extern mesh_bed_leveling mbl;
|
extern mesh_bed_leveling mbl;
|
||||||
|
|
||||||
#define Z_VALUES(X,Y) mbl.z_values[X][Y]
|
|
||||||
|
|
|
@ -335,7 +335,9 @@ class unified_bed_leveling {
|
||||||
|
|
||||||
extern unified_bed_leveling ubl;
|
extern unified_bed_leveling ubl;
|
||||||
|
|
||||||
#define Z_VALUES(X,Y) ubl.z_values[X][Y]
|
#define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
|
||||||
|
#define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
|
||||||
|
#define Z_VALUES_ARR ubl.z_values
|
||||||
|
|
||||||
// Prevent debugging propagating to other files
|
// Prevent debugging propagating to other files
|
||||||
#include "../../../core/debug_out.h"
|
#include "../../../core/debug_out.h"
|
||||||
|
|
|
@ -69,19 +69,19 @@ bool BLTouch::set_deployed(const bool in_deploy) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED(BLTOUCH_V3)
|
#if ENABLED(BLTOUCH_FORCE_5V_MODE)
|
||||||
#if ENABLED(BLTOUCH_FORCE_5V_MODE)
|
set_5V_mode();
|
||||||
set_5V_mode(); // Assume 5V DC logic level if endstop pullup resistors are enabled
|
#elif ENABLED(BLTOUCH_FORCE_OPEN_DRAIN_MODE)
|
||||||
#else
|
set_OD_mode();
|
||||||
set_OD_mode();
|
#elif ENABLED(ENDSTOPPULLUPS) || ALL(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, ENDSTOPPULLUP_ZMIN) || (USES_Z_MIN_PROBE_ENDSTOP && ENABLED(ENDSTOPPULLUP_ZMIN_PROBE))
|
||||||
#endif
|
set_5V_mode(); // Assume 5V DC logic level if endstop pullup resistors are enabled
|
||||||
|
#else
|
||||||
|
set_OD_mode();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (in_deploy) {
|
if (in_deploy) {
|
||||||
_deploy();
|
_deploy();
|
||||||
#if ENABLED(BLTOUCH_V3)
|
set_SW_mode(); // Ensure Switch mode is activated for BLTouch V3. Ignored on V2.
|
||||||
set_SW_mode(); // Ensure Switch mode is activated for BLTouch V3. Ignored on V2.
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else _stow();
|
else _stow();
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,10 @@
|
||||||
#include "../../module/probe.h"
|
#include "../../module/probe.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(BLTOUCH)
|
||||||
|
#include "../../feature/bltouch.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_LEVELING
|
#if HAS_LEVELING
|
||||||
#include "../../feature/bedlevel/bedlevel.h"
|
#include "../../feature/bedlevel/bedlevel.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -588,7 +588,7 @@ namespace ExtUI {
|
||||||
void setLevelingActive(const bool state) { set_bed_leveling_enabled(state); }
|
void setLevelingActive(const bool state) { set_bed_leveling_enabled(state); }
|
||||||
#if HAS_MESH
|
#if HAS_MESH
|
||||||
bool getMeshValid() { return leveling_is_valid(); }
|
bool getMeshValid() { return leveling_is_valid(); }
|
||||||
bed_mesh_t getMeshArray() { return Z_VALUES; }
|
bed_mesh_t getMeshArray() { return Z_VALUES_ARR; }
|
||||||
void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zoff) {
|
void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zoff) {
|
||||||
if (WITHIN(xpos, 0, GRID_MAX_POINTS_X) && WITHIN(ypos, 0, GRID_MAX_POINTS_Y)) {
|
if (WITHIN(xpos, 0, GRID_MAX_POINTS_X) && WITHIN(ypos, 0, GRID_MAX_POINTS_Y)) {
|
||||||
Z_VALUES(xpos, ypos) = zoff;
|
Z_VALUES(xpos, ypos) = zoff;
|
||||||
|
|
|
@ -95,7 +95,6 @@ namespace ExtUI {
|
||||||
bool getLevelingActive();
|
bool getLevelingActive();
|
||||||
void setLevelingActive(const bool);
|
void setLevelingActive(const bool);
|
||||||
#if HAS_MESH
|
#if HAS_MESH
|
||||||
typedef float (&bed_mesh_t)[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
|
|
||||||
bool getMeshValid();
|
bool getMeshValid();
|
||||||
bed_mesh_t getMeshArray();
|
bed_mesh_t getMeshArray();
|
||||||
void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zval);
|
void setMeshPoint(const uint8_t xpos, const uint8_t ypos, const float zval);
|
||||||
|
|
|
@ -63,10 +63,12 @@
|
||||||
//
|
//
|
||||||
// Servos
|
// Servos
|
||||||
//
|
//
|
||||||
#ifdef IS_RAMPS_13
|
#ifndef SERVO0_PIN
|
||||||
#define SERVO0_PIN 7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
|
#ifdef IS_RAMPS_13
|
||||||
#else
|
#define SERVO0_PIN 7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
|
||||||
#define SERVO0_PIN 11
|
#else
|
||||||
|
#define SERVO0_PIN 11
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#define SERVO1_PIN 6
|
#define SERVO1_PIN 6
|
||||||
#define SERVO2_PIN 5
|
#define SERVO2_PIN 5
|
||||||
|
|
|
@ -15,7 +15,7 @@ exec_test $1 $2 "RAMPS4DUE_EFB S_CURVE_ACCELERATION EEPROM_SETTINGS"
|
||||||
|
|
||||||
restore_configs
|
restore_configs
|
||||||
opt_set MOTHERBOARD BOARD_RADDS
|
opt_set MOTHERBOARD BOARD_RADDS
|
||||||
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG FIX_MOUNTED_PROBE AUTO_BED_LEVELING_BILINEAR \
|
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG BLTOUCH AUTO_BED_LEVELING_BILINEAR \
|
||||||
Z_TRIPLE_STEPPER_DRIVERS Z_TRIPLE_ENDSTOPS Z_STEPPER_AUTO_ALIGN
|
Z_TRIPLE_STEPPER_DRIVERS Z_TRIPLE_ENDSTOPS Z_STEPPER_AUTO_ALIGN
|
||||||
opt_add Z2_MAX_ENDSTOP_INVERTING false
|
opt_add Z2_MAX_ENDSTOP_INVERTING false
|
||||||
opt_add Z3_MAX_ENDSTOP_INVERTING false
|
opt_add Z3_MAX_ENDSTOP_INVERTING false
|
||||||
|
|
Reference in a new issue