瀏覽代碼

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
 
910
 
911
       FORCE_INLINE static float limit_value_by_axis_maximum(const float &max_value, xyze_float_t &unit_vec) {
911
       FORCE_INLINE static float limit_value_by_axis_maximum(const float &max_value, xyze_float_t &unit_vec) {
912
         float limit_value = max_value;
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
         return limit_value;
919
         return limit_value;
916
       }
920
       }
917
 
921
 

Loading…
取消
儲存