Przeglądaj źródła

Reduce division in JD calc (#17945)

XDA-Bam 5 lat temu
rodzic
commit
e22e0763d9
No account linked to committer's email address
1 zmienionych plików z 6 dodań i 2 usunięć
  1. 6
    2
      Marlin/src/module/planner.h

+ 6
- 2
Marlin/src/module/planner.h Wyświetl plik

@@ -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
 

Ładowanie…
Anuluj
Zapisz