ソースを参照

Reduce division in JD calc (#17945)

XDA-Bam 5年前
コミット
e22e0763d9
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更6行の追加2行の削除
  1. 6
    2
      Marlin/src/module/planner.h

+ 6
- 2
Marlin/src/module/planner.h ファイルの表示

@@ -910,8 +910,12 @@ class Planner {
910 910
 
911 911
       FORCE_INLINE static float limit_value_by_axis_maximum(const float &max_value, xyze_float_t &unit_vec) {
912 912
         float limit_value = max_value;
913
-        LOOP_XYZE(idx) if (unit_vec[idx]) // Avoid divide by zero
914
-          NOMORE(limit_value, ABS(settings.max_acceleration_mm_per_s2[idx] / unit_vec[idx]));
913
+        LOOP_XYZE(idx) {
914
+          if (unit_vec[idx]) {
915
+            if (limit_value * ABS(unit_vec[idx]) > settings.max_acceleration_mm_per_s2[idx])
916
+              limit_value = ABS(settings.max_acceleration_mm_per_s2[idx] / unit_vec[idx]);
917
+          }
918
+        }
915 919
         return limit_value;
916 920
       }
917 921
 

読み込み中…
キャンセル
保存