Guest User

v2.4 homing.cfg

a guest
Aug 31st, 2025
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. # Note you may need to add the following to your printer.cfg somewhere (without the comments of course) for the Kinematic position stuff below to work.
  2. #[force_move]
  3. #enable_force_move: True
  4.  
  5. [gcode_macro _HOME_X]
  6. gcode:
  7. # Home
  8. {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
  9. {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
  10. {% set HOME_CURRENT = 0.49 %}
  11. SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT}
  12. SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT}
  13.  
  14. SET_KINEMATIC_POSITION X=-15 SET_HOMED=X
  15. G91
  16. G1 X15 F1200
  17.  
  18. #G4 P2000
  19. #M400 to finish all pending moves/process the buffer
  20. M400
  21. G28 X
  22.  
  23. # Move away
  24. G91
  25. G1 X15 F1200
  26.  
  27. SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
  28. SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
  29.  
  30. [gcode_macro _HOME_Y]
  31. gcode:
  32. {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
  33. {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
  34. {% set HOME_CURRENT = 0.49 %}
  35. SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT}
  36. SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT}
  37.  
  38. SET_KINEMATIC_POSITION Y=-15 SET_HOMED=Y
  39. G91
  40. G1 Y15 F1200
  41.  
  42. #G4 P2000
  43. #M400 to finish all pending moves/process the buffer
  44. M400
  45.  
  46. # Home
  47. G28 Y
  48. # Move away
  49. G91
  50. G1 Y15 F1200
  51.  
  52. # Wait just a second… (give StallGuard registers time to clear)
  53. SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
  54. SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
  55.  
  56. [homing_override]
  57. axes: xyz
  58. gcode:
  59. {% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}
  60.  
  61. SET_KINEMATIC_POSITION Z=1 SET_HOMED=Z
  62. G1 Z4 F1200
  63.  
  64. {% if home_all or 'X' in params %}
  65. _HOME_X
  66. {% endif %}
  67.  
  68. {% if home_all or 'Y' in params %}
  69. _HOME_Y
  70. {% endif %}
  71.  
  72. {% if home_all or 'Z' in params %}
  73.  
  74. G90
  75. G1 X175 Y175 F3000
  76.  
  77. G28 Z
  78.  
  79. G1 Z10 F1500
  80. {% endif %}
  81.  
  82.  
  83. [gcode_macro _CG28]
  84. description: Homing only if necessary
  85. gcode:
  86. {% if "xyz" not in printer.toolhead.homed_axes %}
  87. G28
  88. {% endif %}
Advertisement
Add Comment
Please, Sign In to add comment