diff --git a/.travis.yml b/.travis.yml index 7d73787e3..fd0a767e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,7 +67,7 @@ script: - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS - 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_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_Y 16 - opt_set_adv FANMUX0_PIN 53 @@ -84,13 +84,13 @@ script: - 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 + - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} # - # Add a Sled Z Probe, do non-segmented moves, use Japanese language + # Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language # - opt_set LANGUAGE kana_utf8 - - opt_enable Z_PROBE_SLED + - opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE - opt_disable SEGMENT_LEVELED_MOVES - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM} diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index f7fc3d406..243ad3297 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index f7fc3d406..243ad3297 100644 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index c451f0642..00c700343 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index 5928bdcd8..c3520aee1 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index 7b00dc53a..912b64d6a 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h index fd8c42e87..d3bd3b2ed 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/BIBO/TouchX/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/Configuration_adv.h index dd6afbbfd..bb8eb5dec 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index ec7c3b778..06994aae2 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h index 2a583e80a..5eb03d180 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index ec7c3b778..06994aae2 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index edf506e2e..9be79050b 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h index 696d20213..b3e8b8c55 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index d649203b3..fcc9afd7e 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Creality/Ender/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender/Configuration_adv.h index a21f541dc..f16433f92 100644 --- a/Marlin/src/config/examples/Creality/Ender/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index 1a755196c..a3dae02c6 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h index 80f2b52a2..8e490f853 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h index 763cf76da..bdb8798bd 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h index 12ed9b789..5f7bd9dc9 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h index bddaeade4..37aa8bf65 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h +++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index 94ae68871..04a8f7b0e 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h index cd7d0aba5..d5fa7ef2d 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h index 5170c3d43..b406b99d8 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index e97930502..750336556 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index f44f75499..f7aabe342 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index b2bde31fa..f6dea0622 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index 6dffde953..82fad3d16 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h index 3de031bd0..51f416d03 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h +++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index e924275f8..cf1be79b7 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index ae3ad1ca2..756dada7b 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index 284114ca2..bcd42279b 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -375,6 +375,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index 90c2b6726..af6773c93 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index ba2fd0242..28ae6c3a9 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index 4a5cc93b6..3aac73b8f 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h index 7ad6c4191..7b10f7e1e 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index e2444b440..daadd5efd 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index e2444b440..daadd5efd 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h index e2444b440..daadd5efd 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h index 93df5688f..a9f5d4fa8 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h @@ -367,6 +367,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h index 1cc0fe829..232b8d6e5 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h index dc958a01d..01afd6b77 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index e5ecde2d2..a5b15b437 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index af842f9c5..5b1ae96d9 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index 02e650e1c..9c7ea6d35 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -362,6 +362,9 @@ // When G28 is called, this option will make Y home 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 #define AXIS_RELATIVE_MODES {false, false, false, false} diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 736831494..de6bcd321 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -198,12 +198,7 @@ void GcodeSuite::G28(const bool always_home_all) { #if Z_HOME_DIR > 0 // If homing away from BED do Z first - if (home_all || homeZ) { - HOMEAXIS(Z); - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) DEBUG_POS("> HOMEAXIS(Z)", current_position); - #endif - } + if (home_all || homeZ) HOMEAXIS(Z); #endif @@ -227,20 +222,23 @@ void GcodeSuite::G28(const bool always_home_all) { #endif + // Home Y (before X) #if ENABLED(HOME_Y_BEFORE_X) - // Home Y - if (home_all || homeY) { - HOMEAXIS(Y); - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position); + if (home_all || homeY + #if ENABLED(CODEPENDENT_XY_HOMING) + || homeX #endif - } + ) HOMEAXIS(Y); #endif // 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) @@ -265,20 +263,11 @@ void GcodeSuite::G28(const bool always_home_all) { HOMEAXIS(X); #endif - - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) DEBUG_POS("> homeX", current_position); - #endif } + // Home Y (after X) #if DISABLED(HOME_Y_BEFORE_X) - // Home Y - if (home_all || homeY) { - HOMEAXIS(Y); - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position); - #endif - } + if (home_all || homeY) HOMEAXIS(Y); #endif // Home Z last if homing towards the bed @@ -289,9 +278,6 @@ void GcodeSuite::G28(const bool always_home_all) { #else HOMEAXIS(Z); #endif - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) DEBUG_POS("> (home_all || homeZ) > final", current_position); - #endif } // home_all || homeZ #endif // Z_HOME_DIR < 0 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index af1762dc3..03ace21c3 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -886,12 +886,20 @@ static_assert(1 >= 0 #endif /** - * Homing Bump + * Homing */ #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." #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 */