Option to force X or Y to home first when homing the other axis
This commit is contained in:
15
.travis.yml
15
.travis.yml
@@ -95,17 +95,24 @@ script:
|
|||||||
- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS
|
- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS
|
||||||
- opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL
|
- opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL
|
||||||
- opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
|
- opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
|
||||||
- opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL
|
- opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING
|
||||||
- opt_set ABL_GRID_POINTS_X 16
|
- opt_set ABL_GRID_POINTS_X 16
|
||||||
- opt_set ABL_GRID_POINTS_Y 16
|
- opt_set ABL_GRID_POINTS_Y 16
|
||||||
- opt_set_adv FANMUX0_PIN 53
|
- opt_set_adv FANMUX0_PIN 53
|
||||||
- build_marlin
|
- build_marlin
|
||||||
#
|
#
|
||||||
# Test a probeless build of AUTO_BED_LEVELING_UBL
|
# Test a probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders
|
||||||
#
|
#
|
||||||
- restore_configs
|
- restore_configs
|
||||||
- opt_enable AUTO_BED_LEVELING_UBL DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS EEPROM_CHITCHAT G3D_PANEL
|
- opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO
|
||||||
- opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY NANODLP_Z_SYNC
|
- opt_set EXTRUDERS 5
|
||||||
|
- opt_set TEMP_SENSOR_1 1
|
||||||
|
- opt_set TEMP_SENSOR_2 5
|
||||||
|
- opt_set TEMP_SENSOR_3 20
|
||||||
|
- opt_set TEMP_SENSOR_4 999
|
||||||
|
- 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 SKEW_CORRECTION
|
||||||
|
- opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME
|
||||||
- build_marlin
|
- build_marlin
|
||||||
#
|
#
|
||||||
# Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language
|
# Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language
|
||||||
|
@@ -362,6 +362,9 @@
|
|||||||
// When G28 is called, this option will make Y home before X
|
// When G28 is called, this option will make Y home before X
|
||||||
//#define HOME_Y_BEFORE_X
|
//#define HOME_Y_BEFORE_X
|
||||||
|
|
||||||
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
@@ -3994,10 +3994,14 @@ inline void gcode_G28(const bool always_home_all) {
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Home Y (before X)
|
||||||
#if ENABLED(HOME_Y_BEFORE_X)
|
#if ENABLED(HOME_Y_BEFORE_X)
|
||||||
|
|
||||||
// Home Y
|
if (home_all || homeY
|
||||||
if (home_all || homeY) {
|
#if ENABLED(CODEPENDENT_XY_HOMING)
|
||||||
|
|| homeX
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
HOMEAXIS(Y);
|
HOMEAXIS(Y);
|
||||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position);
|
if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position);
|
||||||
@@ -4007,7 +4011,11 @@ inline void gcode_G28(const bool always_home_all) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Home X
|
// Home X
|
||||||
if (home_all || homeX) {
|
if (home_all || homeX
|
||||||
|
#if ENABLED(CODEPENDENT_XY_HOMING) && DISABLED(HOME_Y_BEFORE_X)
|
||||||
|
|| homeY
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
|
||||||
#if ENABLED(DUAL_X_CARRIAGE)
|
#if ENABLED(DUAL_X_CARRIAGE)
|
||||||
|
|
||||||
@@ -4038,8 +4046,8 @@ inline void gcode_G28(const bool always_home_all) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Home Y (after X)
|
||||||
#if DISABLED(HOME_Y_BEFORE_X)
|
#if DISABLED(HOME_Y_BEFORE_X)
|
||||||
// Home Y
|
|
||||||
if (home_all || homeY) {
|
if (home_all || homeY) {
|
||||||
HOMEAXIS(Y);
|
HOMEAXIS(Y);
|
||||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
@@ -888,12 +888,20 @@ static_assert(1 >= 0
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Homing Bump
|
* Homing
|
||||||
*/
|
*/
|
||||||
#if X_HOME_BUMP_MM < 0 || Y_HOME_BUMP_MM < 0 || Z_HOME_BUMP_MM < 0
|
#if X_HOME_BUMP_MM < 0 || Y_HOME_BUMP_MM < 0 || Z_HOME_BUMP_MM < 0
|
||||||
#error "[XYZ]_HOME_BUMP_MM must be greater than or equal to 0."
|
#error "[XYZ]_HOME_BUMP_MM must be greater than or equal to 0."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(CODEPENDENT_XY_HOMING)
|
||||||
|
#if ENABLED(QUICK_HOME)
|
||||||
|
#error "QUICK_HOME is incompatible with CODEPENDENT_XY_HOMING."
|
||||||
|
#elif IS_KINEMATIC
|
||||||
|
#error "CODEPENDENT_XY_HOMING requires a Cartesian setup."
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make sure Z_SAFE_HOMING point is reachable
|
* Make sure Z_SAFE_HOMING point is reachable
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user