UBL_DELTA => UBL_SEGMENTED
This commit is contained in:
parent
73e32925e4
commit
a71d2f3f40
7 changed files with 21 additions and 31 deletions
|
@ -79,13 +79,14 @@ script:
|
||||||
- opt_set TEMP_SENSOR_3 20
|
- opt_set TEMP_SENSOR_3 20
|
||||||
- opt_set TEMP_SENSOR_4 999
|
- opt_set TEMP_SENSOR_4 999
|
||||||
- opt_set TEMP_SENSOR_BED 1
|
- opt_set TEMP_SENSOR_BED 1
|
||||||
- opt_enable AUTO_BED_LEVELING_UBL DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS EEPROM_CHITCHAT G3D_PANEL
|
- opt_enable AUTO_BED_LEVELING_UBL DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS EEPROM_CHITCHAT G3D_PANEL SKEW_CORRECTION
|
||||||
- opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING LIN_ADVANCE NANODLP_Z_SYNC
|
- opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING LIN_ADVANCE NANODLP_Z_SYNC
|
||||||
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
|
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
|
||||||
#
|
#
|
||||||
# And with a Sled Z Probe
|
# Add a Sled Z Probe, do non-segmented moves
|
||||||
#
|
#
|
||||||
- opt_enable Z_PROBE_SLED
|
- opt_enable Z_PROBE_SLED
|
||||||
|
- opt_disable SEGMENT_LEVELED_MOVES
|
||||||
- opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
|
- opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
|
||||||
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
|
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
|
||||||
#
|
#
|
||||||
|
|
|
@ -458,15 +458,7 @@
|
||||||
set_current_from_destination();
|
set_current_from_destination();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UBL_DELTA
|
#if UBL_SEGMENTED
|
||||||
|
|
||||||
// macro to inline copy exactly 4 floats, don't rely on sizeof operator
|
|
||||||
#define COPY_XYZE( target, source ) { \
|
|
||||||
target[X_AXIS] = source[X_AXIS]; \
|
|
||||||
target[Y_AXIS] = source[Y_AXIS]; \
|
|
||||||
target[Z_AXIS] = source[Z_AXIS]; \
|
|
||||||
target[E_AXIS] = source[E_AXIS]; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#if IS_SCARA // scale the feed rate from mm/s to degrees/s
|
#if IS_SCARA // scale the feed rate from mm/s to degrees/s
|
||||||
static float scara_feed_factor, scara_oldA, scara_oldB;
|
static float scara_feed_factor, scara_oldA, scara_oldB;
|
||||||
|
@ -675,6 +667,6 @@
|
||||||
} // cell loop
|
} // cell loop
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // UBL_DELTA
|
#endif // UBL_SEGMENTED
|
||||||
|
|
||||||
#endif // AUTO_BED_LEVELING_UBL
|
#endif // AUTO_BED_LEVELING_UBL
|
||||||
|
|
|
@ -220,7 +220,7 @@ mesh_index_pair find_closest_circle_to_print(const float &X, const float &Y) {
|
||||||
void G26_line_to_destination(const float &feed_rate) {
|
void G26_line_to_destination(const float &feed_rate) {
|
||||||
const float save_feedrate = feedrate_mm_s;
|
const float save_feedrate = feedrate_mm_s;
|
||||||
feedrate_mm_s = feed_rate; // use specified feed rate
|
feedrate_mm_s = feed_rate; // use specified feed rate
|
||||||
prepare_move_to_destination(); // will ultimately call ubl.line_to_destination_cartesian or ubl.prepare_linear_move_to for UBL_DELTA
|
prepare_move_to_destination(); // will ultimately call ubl.line_to_destination_cartesian or ubl.prepare_linear_move_to for UBL_SEGMENTED
|
||||||
feedrate_mm_s = save_feedrate; // restore global feed rate
|
feedrate_mm_s = save_feedrate; // restore global feed rate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -977,15 +977,15 @@
|
||||||
/**
|
/**
|
||||||
* Set granular options based on the specific type of leveling
|
* Set granular options based on the specific type of leveling
|
||||||
*/
|
*/
|
||||||
#define UBL_DELTA (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(SEGMENT_LEVELED_MOVES)))
|
#define UBL_SEGMENTED (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(SEGMENT_LEVELED_MOVES)))
|
||||||
#define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT))
|
#define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT))
|
||||||
#define ABL_GRID (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR))
|
#define ABL_GRID (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR))
|
||||||
#define OLDSCHOOL_ABL (ABL_PLANAR || ABL_GRID)
|
#define OLDSCHOOL_ABL (ABL_PLANAR || ABL_GRID)
|
||||||
#define HAS_ABL (OLDSCHOOL_ABL || ENABLED(AUTO_BED_LEVELING_UBL))
|
#define HAS_ABL (OLDSCHOOL_ABL || ENABLED(AUTO_BED_LEVELING_UBL))
|
||||||
#define HAS_LEVELING (HAS_ABL || ENABLED(MESH_BED_LEVELING))
|
#define HAS_LEVELING (HAS_ABL || ENABLED(MESH_BED_LEVELING))
|
||||||
#define HAS_AUTOLEVEL (HAS_ABL && DISABLED(PROBE_MANUALLY))
|
#define HAS_AUTOLEVEL (HAS_ABL && DISABLED(PROBE_MANUALLY))
|
||||||
#define HAS_MESH (ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(MESH_BED_LEVELING))
|
#define HAS_MESH (ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(MESH_BED_LEVELING))
|
||||||
#define PLANNER_LEVELING (OLDSCHOOL_ABL || ENABLED(MESH_BED_LEVELING) || UBL_DELTA)
|
#define PLANNER_LEVELING (OLDSCHOOL_ABL || ENABLED(MESH_BED_LEVELING))
|
||||||
#define HAS_PROBING_PROCEDURE (HAS_ABL || ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST))
|
#define HAS_PROBING_PROCEDURE (HAS_ABL || ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST))
|
||||||
#if HAS_PROBING_PROCEDURE
|
#if HAS_PROBING_PROCEDURE
|
||||||
#define PROBE_BED_WIDTH abs(RIGHT_PROBE_BED_POSITION - (LEFT_PROBE_BED_POSITION))
|
#define PROBE_BED_WIDTH abs(RIGHT_PROBE_BED_POSITION - (LEFT_PROBE_BED_POSITION))
|
||||||
|
|
|
@ -603,7 +603,7 @@ static_assert(1 >= 0
|
||||||
#error "Delta probably shouldn't use Z_MIN_PROBE_ENDSTOP. Comment out this line to continue."
|
#error "Delta probably shouldn't use Z_MIN_PROBE_ENDSTOP. Comment out this line to continue."
|
||||||
#elif DISABLED(USE_XMAX_PLUG) && DISABLED(USE_YMAX_PLUG) && DISABLED(USE_ZMAX_PLUG)
|
#elif DISABLED(USE_XMAX_PLUG) && DISABLED(USE_YMAX_PLUG) && DISABLED(USE_ZMAX_PLUG)
|
||||||
#error "You probably want to use Max Endstops for DELTA!"
|
#error "You probably want to use Max Endstops for DELTA!"
|
||||||
#elif ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(AUTO_BED_LEVELING_BILINEAR) && !UBL_DELTA
|
#elif ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(AUTO_BED_LEVELING_BILINEAR) && !UBL_SEGMENTED
|
||||||
#error "ENABLE_LEVELING_FADE_HEIGHT on DELTA requires AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL."
|
#error "ENABLE_LEVELING_FADE_HEIGHT on DELTA requires AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL."
|
||||||
#elif ENABLED(DELTA_AUTO_CALIBRATION) && !(HAS_BED_PROBE || ENABLED(ULTIPANEL))
|
#elif ENABLED(DELTA_AUTO_CALIBRATION) && !(HAS_BED_PROBE || ENABLED(ULTIPANEL))
|
||||||
#error "DELTA_AUTO_CALIBRATION requires a probe or LCD Controller."
|
#error "DELTA_AUTO_CALIBRATION requires a probe or LCD Controller."
|
||||||
|
@ -1497,9 +1497,6 @@ static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too m
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(SKEW_CORRECTION)
|
#if ENABLED(SKEW_CORRECTION)
|
||||||
#if ENABLED(AUTO_BED_LEVELING_UBL) && !ENABLED(SEGMENT_LEVELED_MOVES)
|
|
||||||
#error "SKEW_CORRECTION with AUTO_BED_LEVELING_UBL requires SEGMENT_LEVELED_MOVES."
|
|
||||||
#endif
|
|
||||||
#if !defined(XY_SKEW_FACTOR) && !(defined(XY_DIAG_AC) && defined(XY_DIAG_BD) && defined(XY_SIDE_AD))
|
#if !defined(XY_SKEW_FACTOR) && !(defined(XY_DIAG_AC) && defined(XY_DIAG_BD) && defined(XY_SIDE_AD))
|
||||||
#error "SKEW_CORRECTION requires XY_SKEW_FACTOR or XY_DIAG_AC, XY_DIAG_BD, XY_SIDE_AD."
|
#error "SKEW_CORRECTION requires XY_SKEW_FACTOR or XY_DIAG_AC, XY_DIAG_BD, XY_SIDE_AD."
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -264,7 +264,7 @@ void buffer_line_to_destination(const float fr_mm_s) {
|
||||||
|
|
||||||
gcode.refresh_cmd_timeout();
|
gcode.refresh_cmd_timeout();
|
||||||
|
|
||||||
#if UBL_DELTA
|
#if UBL_SEGMENTED
|
||||||
// ubl segmented line will do z-only moves in single segment
|
// ubl segmented line will do z-only moves in single segment
|
||||||
ubl.prepare_segmented_line_to(destination, MMS_SCALED(fr_mm_s ? fr_mm_s : feedrate_mm_s));
|
ubl.prepare_segmented_line_to(destination, MMS_SCALED(fr_mm_s ? fr_mm_s : feedrate_mm_s));
|
||||||
#else
|
#else
|
||||||
|
@ -495,7 +495,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !UBL_DELTA
|
#if !UBL_SEGMENTED
|
||||||
#if IS_KINEMATIC
|
#if IS_KINEMATIC
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||||
|
@ -762,7 +762,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !IS_KINEMATIC
|
#endif // !IS_KINEMATIC
|
||||||
#endif // !UBL_DELTA
|
#endif // !UBL_SEGMENTED
|
||||||
|
|
||||||
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
|
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
|
||||||
bool extruder_duplication_enabled = false; // Used in Dual X mode 2
|
bool extruder_duplication_enabled = false; // Used in Dual X mode 2
|
||||||
|
@ -907,7 +907,7 @@ void prepare_move_to_destination() {
|
||||||
#endif // PREVENT_COLD_EXTRUSION || PREVENT_LENGTHY_EXTRUDE
|
#endif // PREVENT_COLD_EXTRUSION || PREVENT_LENGTHY_EXTRUDE
|
||||||
|
|
||||||
if (
|
if (
|
||||||
#if UBL_DELTA // Also works for CARTESIAN (smaller segments follow mesh more closely)
|
#if UBL_SEGMENTED
|
||||||
ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s))
|
ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s))
|
||||||
#elif IS_KINEMATIC
|
#elif IS_KINEMATIC
|
||||||
prepare_kinematic_move_to(destination)
|
prepare_kinematic_move_to(destination)
|
||||||
|
|
|
@ -616,7 +616,7 @@ void Planner::calculate_volumetric_multipliers() {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rz += (
|
rz += (
|
||||||
#if ENABLED(AUTO_BED_LEVELING_UBL) // UBL_DELTA
|
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
ubl.get_z_correction(rx, ry) * fade_scaling_factor
|
ubl.get_z_correction(rx, ry) * fade_scaling_factor
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
mbl.get_z(rx, ry
|
mbl.get_z(rx, ry
|
||||||
|
|
Reference in a new issue