Просмотр исходного кода

🐛 Fix homing current for extra axes (#23152)

Followup to #19112
lukrow80 3 лет назад
Родитель
Сommit
7bc18a7075
Аккаунт пользователя с таким Email не найден
1 измененных файлов: 16 добавлений и 1 удалений
  1. 16
    1
      Marlin/src/gcode/calibrate/G28.cpp

+ 16
- 1
Marlin/src/gcode/calibrate/G28.cpp Просмотреть файл

@@ -262,7 +262,7 @@ void GcodeSuite::G28() {
262 262
   reset_stepper_timeout();
263 263
 
264 264
   #define HAS_CURRENT_HOME(N) (defined(N##_CURRENT_HOME) && N##_CURRENT_HOME != N##_CURRENT)
265
-  #if HAS_CURRENT_HOME(X) || HAS_CURRENT_HOME(X2) || HAS_CURRENT_HOME(Y) || HAS_CURRENT_HOME(Y2) || (ENABLED(DELTA) && HAS_CURRENT_HOME(Z))
265
+  #if HAS_CURRENT_HOME(X) || HAS_CURRENT_HOME(X2) || HAS_CURRENT_HOME(Y) || HAS_CURRENT_HOME(Y2) || HAS_CURRENT_HOME(I) || HAS_CURRENT_HOME(J) || HAS_CURRENT_HOME(K) || (ENABLED(DELTA) && HAS_CURRENT_HOME(Z))
266 266
     #define HAS_HOMING_CURRENT 1
267 267
   #endif
268 268
 
@@ -290,6 +290,21 @@ void GcodeSuite::G28() {
290 290
       stepperY2.rms_current(Y2_CURRENT_HOME);
291 291
       if (DEBUGGING(LEVELING)) debug_current(F("Y2"), tmc_save_current_Y2, Y2_CURRENT_HOME);
292 292
     #endif
293
+    #if HAS_CURRENT_HOME(I)
294
+      const int16_t tmc_save_current_I = stepperI.getMilliamps();
295
+      stepperI.rms_current(I_CURRENT_HOME);
296
+      if (DEBUGGING(LEVELING)) debug_current(F(AXIS4_STR), tmc_save_current_I, I_CURRENT_HOME);
297
+    #endif
298
+    #if HAS_CURRENT_HOME(J)
299
+      const int16_t tmc_save_current_J = stepperJ.getMilliamps();
300
+      stepperJ.rms_current(J_CURRENT_HOME);
301
+      if (DEBUGGING(LEVELING)) debug_current(F(AXIS5_STR), tmc_save_current_J, J_CURRENT_HOME);
302
+    #endif
303
+    #if HAS_CURRENT_HOME(K)
304
+      const int16_t tmc_save_current_K = stepperK.getMilliamps();
305
+      stepperK.rms_current(K_CURRENT_HOME);
306
+      if (DEBUGGING(LEVELING)) debug_current(F(AXIS6_STR), tmc_save_current_K, K_CURRENT_HOME);
307
+    #endif
293 308
     #if HAS_CURRENT_HOME(Z) && ENABLED(DELTA)
294 309
       const int16_t tmc_save_current_Z = stepperZ.getMilliamps();
295 310
       stepperZ.rms_current(Z_CURRENT_HOME);

Загрузка…
Отмена
Сохранить