소스 검색

Merge pull request #9676 from smoki3/bugfix-2.0.x

[2.0.x] Option to force homing of a dependent axis
Scott Lahteine 7 년 전
부모
커밋
6589f654b0
No account linked to committer's email address
46개의 변경된 파일155개의 추가작업 그리고 32개의 파일을 삭제
  1. 4
    4
      .travis.yml
  2. 3
    0
      Marlin/Configuration_adv.h
  3. 3
    0
      Marlin/src/config/default/Configuration_adv.h
  4. 3
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  5. 3
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  6. 3
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  7. 3
    0
      Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h
  8. 3
    0
      Marlin/src/config/examples/BIBO/TouchX/Configuration_adv.h
  9. 3
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  10. 3
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  11. 3
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  12. 3
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  13. 3
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  14. 3
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  15. 3
    0
      Marlin/src/config/examples/Creality/Ender/Configuration_adv.h
  16. 3
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  17. 3
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  18. 3
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  19. 3
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  20. 3
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  21. 3
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  22. 3
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  23. 3
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  24. 3
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  25. 3
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  26. 3
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  27. 3
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  28. 3
    0
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  29. 3
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  30. 3
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  31. 3
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  32. 3
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  33. 3
    0
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  34. 3
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  35. 3
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  36. 3
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  37. 3
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  38. 3
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  39. 3
    0
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  40. 3
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  41. 3
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  42. 3
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  43. 3
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  44. 3
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  45. 13
    27
      Marlin/src/gcode/calibrate/G28.cpp
  46. 9
    1
      Marlin/src/inc/SanityCheck.h

+ 4
- 4
.travis.yml 파일 보기

67
   - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS
67
   - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS
68
   - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL
68
   - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL
69
   - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
69
   - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
70
-  - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL
70
+  - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING
71
   - opt_set ABL_GRID_POINTS_X 16
71
   - opt_set ABL_GRID_POINTS_X 16
72
   - opt_set ABL_GRID_POINTS_Y 16
72
   - opt_set ABL_GRID_POINTS_Y 16
73
   - opt_set_adv FANMUX0_PIN 53
73
   - opt_set_adv FANMUX0_PIN 53
84
   - opt_set TEMP_SENSOR_4 999
84
   - opt_set TEMP_SENSOR_4 999
85
   - opt_set TEMP_SENSOR_BED 1
85
   - opt_set TEMP_SENSOR_BED 1
86
   - opt_enable AUTO_BED_LEVELING_UBL DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS EEPROM_CHITCHAT G3D_PANEL SKEW_CORRECTION
86
   - opt_enable AUTO_BED_LEVELING_UBL DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS EEPROM_CHITCHAT G3D_PANEL SKEW_CORRECTION
87
-  - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC
87
+  - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME
88
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
88
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
89
   #
89
   #
90
-  # Add a Sled Z Probe, do non-segmented moves, use Japanese language
90
+  # Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language
91
   #
91
   #
92
   - opt_set LANGUAGE kana_utf8
92
   - opt_set LANGUAGE kana_utf8
93
-  - opt_enable Z_PROBE_SLED
93
+  - opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
94
   - opt_disable SEGMENT_LEVELED_MOVES
94
   - opt_disable SEGMENT_LEVELED_MOVES
95
   - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
95
   - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
96
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
96
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}

+ 3
- 0
Marlin/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/default/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/BIBO/TouchX/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 #define HOME_Y_BEFORE_X
363
 #define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 #define HOME_Y_BEFORE_X
363
 #define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Creality/Ender/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/TheBorg/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h 파일 보기

375
 // When G28 is called, this option will make Y home before X
375
 // When G28 is called, this option will make Y home before X
376
 //#define HOME_Y_BEFORE_X
376
 //#define HOME_Y_BEFORE_X
377
 
377
 
378
+// Enable this if X or Y can't home without homing the other axis first.
379
+//#define CODEPENDENT_XY_HOMING
380
+
378
 // @section machine
381
 // @section machine
379
 
382
 
380
 #define AXIS_RELATIVE_MODES {false, false, false, false}
383
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h 파일 보기

367
 // When G28 is called, this option will make Y home before X
367
 // When G28 is called, this option will make Y home before X
368
 //#define HOME_Y_BEFORE_X
368
 //#define HOME_Y_BEFORE_X
369
 
369
 
370
+// Enable this if X or Y can't home without homing the other axis first.
371
+//#define CODEPENDENT_XY_HOMING
372
+
370
 // @section machine
373
 // @section machine
371
 
374
 
372
 #define AXIS_RELATIVE_MODES {false, false, false, false}
375
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 3
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h 파일 보기

362
 // When G28 is called, this option will make Y home before X
362
 // When G28 is called, this option will make Y home before X
363
 //#define HOME_Y_BEFORE_X
363
 //#define HOME_Y_BEFORE_X
364
 
364
 
365
+// Enable this if X or Y can't home without homing the other axis first.
366
+//#define CODEPENDENT_XY_HOMING
367
+
365
 // @section machine
368
 // @section machine
366
 
369
 
367
 #define AXIS_RELATIVE_MODES {false, false, false, false}
370
 #define AXIS_RELATIVE_MODES {false, false, false, false}

+ 13
- 27
Marlin/src/gcode/calibrate/G28.cpp 파일 보기

198
 
198
 
199
     #if Z_HOME_DIR > 0  // If homing away from BED do Z first
199
     #if Z_HOME_DIR > 0  // If homing away from BED do Z first
200
 
200
 
201
-      if (home_all || homeZ) {
202
-        HOMEAXIS(Z);
203
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
204
-          if (DEBUGGING(LEVELING)) DEBUG_POS("> HOMEAXIS(Z)", current_position);
205
-        #endif
206
-      }
201
+      if (home_all || homeZ) HOMEAXIS(Z);
207
 
202
 
208
     #endif
203
     #endif
209
 
204
 
227
 
222
 
228
     #endif
223
     #endif
229
 
224
 
225
+    // Home Y (before X)
230
     #if ENABLED(HOME_Y_BEFORE_X)
226
     #if ENABLED(HOME_Y_BEFORE_X)
231
 
227
 
232
-      // Home Y
233
-      if (home_all || homeY) {
234
-        HOMEAXIS(Y);
235
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
236
-          if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position);
228
+      if (home_all || homeY
229
+        #if ENABLED(CODEPENDENT_XY_HOMING)
230
+          || homeX
237
         #endif
231
         #endif
238
-      }
232
+      ) HOMEAXIS(Y);
239
 
233
 
240
     #endif
234
     #endif
241
 
235
 
242
     // Home X
236
     // Home X
243
-    if (home_all || homeX) {
237
+    if (home_all || homeX
238
+      #if ENABLED(CODEPENDENT_XY_HOMING) && DISABLED(HOME_Y_BEFORE_X)
239
+        || homeY
240
+      #endif
241
+    ) {
244
 
242
 
245
       #if ENABLED(DUAL_X_CARRIAGE)
243
       #if ENABLED(DUAL_X_CARRIAGE)
246
 
244
 
265
         HOMEAXIS(X);
263
         HOMEAXIS(X);
266
 
264
 
267
       #endif
265
       #endif
268
-
269
-      #if ENABLED(DEBUG_LEVELING_FEATURE)
270
-        if (DEBUGGING(LEVELING)) DEBUG_POS("> homeX", current_position);
271
-      #endif
272
     }
266
     }
273
 
267
 
268
+    // Home Y (after X)
274
     #if DISABLED(HOME_Y_BEFORE_X)
269
     #if DISABLED(HOME_Y_BEFORE_X)
275
-      // Home Y
276
-      if (home_all || homeY) {
277
-        HOMEAXIS(Y);
278
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
279
-          if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position);
280
-        #endif
281
-      }
270
+      if (home_all || homeY) HOMEAXIS(Y);
282
     #endif
271
     #endif
283
 
272
 
284
     // Home Z last if homing towards the bed
273
     // Home Z last if homing towards the bed
289
         #else
278
         #else
290
           HOMEAXIS(Z);
279
           HOMEAXIS(Z);
291
         #endif
280
         #endif
292
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
293
-          if (DEBUGGING(LEVELING)) DEBUG_POS("> (home_all || homeZ) > final", current_position);
294
-        #endif
295
       } // home_all || homeZ
281
       } // home_all || homeZ
296
     #endif // Z_HOME_DIR < 0
282
     #endif // Z_HOME_DIR < 0
297
 
283
 

+ 9
- 1
Marlin/src/inc/SanityCheck.h 파일 보기

886
 #endif
886
 #endif
887
 
887
 
888
 /**
888
 /**
889
- * Homing Bump
889
+ * Homing
890
  */
890
  */
891
 #if X_HOME_BUMP_MM < 0 || Y_HOME_BUMP_MM < 0 || Z_HOME_BUMP_MM < 0
891
 #if X_HOME_BUMP_MM < 0 || Y_HOME_BUMP_MM < 0 || Z_HOME_BUMP_MM < 0
892
   #error "[XYZ]_HOME_BUMP_MM must be greater than or equal to 0."
892
   #error "[XYZ]_HOME_BUMP_MM must be greater than or equal to 0."
893
 #endif
893
 #endif
894
 
894
 
895
+#if ENABLED(CODEPENDENT_XY_HOMING)
896
+  #if ENABLED(QUICK_HOME)
897
+    #error "QUICK_HOME is incompatible with CODEPENDENT_XY_HOMING."
898
+  #elif IS_KINEMATIC
899
+    #error "CODEPENDENT_XY_HOMING requires a Cartesian setup."
900
+  #endif
901
+#endif
902
+
895
 /**
903
 /**
896
  * Make sure Z_SAFE_HOMING point is reachable
904
  * Make sure Z_SAFE_HOMING point is reachable
897
  */
905
  */

Loading…
취소
저장