소스 검색

[2.0.x] Fix Dual X Carriage tool change crash (#11447)

Scott Lahteine 6 년 전
부모
커밋
9c62c47579
No account linked to committer's email address
55개의 변경된 파일139개의 추가작업 그리고 9개의 파일을 삭제
  1. 2
    0
      Marlin/Configuration_adv.h
  2. 2
    0
      Marlin/src/config/default/Configuration_adv.h
  3. 2
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  4. 2
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  5. 2
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  6. 2
    0
      Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h
  7. 2
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  8. 2
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  9. 2
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  10. 2
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  11. 2
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  12. 2
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  13. 2
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  14. 2
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  15. 2
    0
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  16. 2
    0
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  17. 2
    0
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  18. 2
    0
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  19. 2
    0
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  20. 2
    0
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  21. 2
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  22. 2
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  23. 2
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  24. 2
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  25. 2
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  26. 2
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  27. 2
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  28. 2
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  29. 2
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  30. 2
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  31. 2
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  32. 2
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  33. 2
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  34. 2
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  35. 2
    0
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  36. 2
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  37. 2
    0
      Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
  38. 2
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  39. 2
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  40. 2
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  41. 2
    0
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  42. 2
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  43. 2
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  44. 2
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  45. 2
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  46. 2
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  47. 2
    0
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  48. 2
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  49. 2
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  50. 2
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  51. 2
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  52. 2
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  53. 12
    0
      Marlin/src/inc/Conditionals_post.h
  54. 1
    1
      Marlin/src/module/motion.cpp
  55. 22
    8
      Marlin/src/module/tool_change.cpp

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

+ 2
- 0
Marlin/src/config/examples/Einstart-S/Configuration_adv.h 파일 보기

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

+ 2
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h 파일 보기

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

+ 2
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h 파일 보기

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

+ 2
- 0
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h 파일 보기

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

343
   // Configuration for second X-carriage
343
   // Configuration for second X-carriage
344
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
344
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
345
   // the second x-carriage always homes to the maximum endstop.
345
   // the second x-carriage always homes to the maximum endstop.
346
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
347
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
346
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
348
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
347
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
349
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
348
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
350
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

345
   // Configuration for second X-carriage
345
   // Configuration for second X-carriage
346
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
346
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
347
   // the second x-carriage always homes to the maximum endstop.
347
   // the second x-carriage always homes to the maximum endstop.
348
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
349
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
348
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
350
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
349
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
351
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
350
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
352
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

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

340
   // Configuration for second X-carriage
340
   // Configuration for second X-carriage
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
341
   // Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
342
   // the second x-carriage always homes to the maximum endstop.
342
   // the second x-carriage always homes to the maximum endstop.
343
+  #define X1_MIN_POS X_MIN_POS  // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
344
+  #define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
343
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
345
   #define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
344
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
346
   #define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
345
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
347
   #define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position

+ 12
- 0
Marlin/src/inc/Conditionals_post.h 파일 보기

86
 #define Y_MAX_BED (Y_CENTER + (Y_BED_SIZE) / 2)
86
 #define Y_MAX_BED (Y_CENTER + (Y_BED_SIZE) / 2)
87
 
87
 
88
 /**
88
 /**
89
+ * Dual X Carriage
90
+ */
91
+#if ENABLED(DUAL_X_CARRIAGE)
92
+  #ifndef X1_MIN_POS
93
+    #define X1_MIN_POS X_MIN_POS
94
+  #endif
95
+  #ifndef X1_MAX_POS
96
+    #define X1_MAX_POS X_BED_SIZE
97
+  #endif
98
+#endif
99
+
100
+/**
89
  * CoreXY, CoreXZ, and CoreYZ - and their reverse
101
  * CoreXY, CoreXZ, and CoreYZ - and their reverse
90
  */
102
  */
91
 #define CORE_IS_XY (ENABLED(COREXY) || ENABLED(COREYX))
103
 #define CORE_IS_XY (ENABLED(COREXY) || ENABLED(COREYX))

+ 1
- 1
Marlin/src/module/motion.cpp 파일 보기

1483
       if (axis == X_AXIS) {
1483
       if (axis == X_AXIS) {
1484
 
1484
 
1485
         // In Dual X mode hotend_offset[X] is T1's home position
1485
         // In Dual X mode hotend_offset[X] is T1's home position
1486
-        float dual_max_x = MAX(hotend_offset[X_AXIS][1], X2_MAX_POS);
1486
+        const float dual_max_x = MAX(hotend_offset[X_AXIS][1], X2_MAX_POS);
1487
 
1487
 
1488
         if (active_extruder != 0) {
1488
         if (active_extruder != 0) {
1489
           // T1 can move from X2_MIN_POS to X2_MAX_POS or X2 home position (whichever is larger)
1489
           // T1 can move from X2_MIN_POS to X2_MAX_POS or X2 home position (whichever is larger)

+ 22
- 8
Marlin/src/module/tool_change.cpp 파일 보기

377
           #endif
377
           #endif
378
         }
378
         }
379
 
379
 
380
-        // Save current position to destination, for use later
381
-        set_destination_from_current();
382
-
383
         #if HAS_LEVELING
380
         #if HAS_LEVELING
384
           // Set current position to the physical position
381
           // Set current position to the physical position
385
           const bool leveling_was_active = planner.leveling_active;
382
           const bool leveling_was_active = planner.leveling_active;
388
 
385
 
389
         #if ENABLED(DUAL_X_CARRIAGE)
386
         #if ENABLED(DUAL_X_CARRIAGE)
390
 
387
 
388
+          #if HAS_SOFTWARE_ENDSTOPS
389
+            // Update the X software endstops early
390
+            active_extruder = tmp_extruder;
391
+            update_software_endstops(X_AXIS);
392
+            active_extruder = !tmp_extruder;
393
+          #endif
394
+
395
+          // Don't move the new extruder out of bounds
396
+          if (!WITHIN(current_position[X_AXIS], soft_endstop_min[X_AXIS], soft_endstop_max[X_AXIS]))
397
+            no_move = true;
398
+
399
+          if (!no_move) set_destination_from_current();
391
           dualx_tool_change(tmp_extruder, no_move); // Can modify no_move
400
           dualx_tool_change(tmp_extruder, no_move); // Can modify no_move
392
 
401
 
393
         #else // !DUAL_X_CARRIAGE
402
         #else // !DUAL_X_CARRIAGE
394
 
403
 
404
+          set_destination_from_current();
395
           #if ENABLED(PARKING_EXTRUDER) // Dual Parking extruder
405
           #if ENABLED(PARKING_EXTRUDER) // Dual Parking extruder
396
             parking_extruder_tool_change(tmp_extruder, no_move);
406
             parking_extruder_tool_change(tmp_extruder, no_move);
397
           #endif
407
           #endif
424
 
434
 
425
         #endif // !DUAL_X_CARRIAGE
435
         #endif // !DUAL_X_CARRIAGE
426
 
436
 
427
-        #if HAS_LEVELING
428
-          // Restore leveling to re-establish the logical position
429
-          set_bed_leveling_enabled(leveling_was_active);
430
-        #endif
431
-
432
         #if ENABLED(SWITCHING_NOZZLE)
437
         #if ENABLED(SWITCHING_NOZZLE)
433
           // The newly-selected extruder Z is actually at...
438
           // The newly-selected extruder Z is actually at...
434
           current_position[Z_AXIS] -= zdiff;
439
           current_position[Z_AXIS] -= zdiff;
435
         #endif
440
         #endif
436
 
441
 
442
+        #if HAS_LEVELING
443
+          // Restore leveling to re-establish the logical position
444
+          set_bed_leveling_enabled(leveling_was_active);
445
+        #endif
446
+
437
         // Tell the planner the new "current position"
447
         // Tell the planner the new "current position"
438
         SYNC_PLAN_POSITION_KINEMATIC();
448
         SYNC_PLAN_POSITION_KINEMATIC();
439
 
449
 
477
 
487
 
478
       feedrate_mm_s = old_feedrate_mm_s;
488
       feedrate_mm_s = old_feedrate_mm_s;
479
 
489
 
490
+      #if HAS_SOFTWARE_ENDSTOPS && ENABLED(DUAL_X_CARRIAGE)
491
+        update_software_endstops(X_AXIS);
492
+      #endif
493
+
480
     #else // HOTENDS <= 1
494
     #else // HOTENDS <= 1
481
 
495
 
482
       UNUSED(fr_mm_s);
496
       UNUSED(fr_mm_s);

Loading…
취소
저장