Scott Lahteine 6 роки тому
джерело
коміт
91abf07087
1 змінених файлів з 26 додано та 29 видалено
  1. 26
    29
      Marlin/Marlin_main.cpp

+ 26
- 29
Marlin/Marlin_main.cpp Переглянути файл

5498
                     dy = (Y_PROBE_OFFSET_FROM_EXTRUDER);
5498
                     dy = (Y_PROBE_OFFSET_FROM_EXTRUDER);
5499
       #endif
5499
       #endif
5500
 
5500
 
5501
-          LOOP_CAL_ALL(axis) z_at_pt[axis] = 0.0;
5501
+      LOOP_CAL_ALL(axis) z_at_pt[axis] = 0.0;
5502
 
5502
 
5503
       if (!_0p_calibration) {
5503
       if (!_0p_calibration) {
5504
 
5504
 
5505
         if (!_7p_no_intermediates && !_7p_4_intermediates && !_7p_11_intermediates) { // probe the center
5505
         if (!_7p_no_intermediates && !_7p_4_intermediates && !_7p_11_intermediates) { // probe the center
5506
-          #if ENABLED(PROBE_MANUALLY)
5507
-            z_at_pt[CEN] += lcd_probe_pt(0, 0);
5508
-          #else
5509
-            z_at_pt[CEN] += probe_pt(dx, dy, stow_after_each, 1, false);
5510
-          #endif
5506
+          z_at_pt[CEN] +=
5507
+            #if ENABLED(PROBE_MANUALLY)
5508
+              lcd_probe_pt(0, 0)
5509
+            #else
5510
+              probe_pt(dx, dy, stow_after_each, 1, false)
5511
+            #endif
5512
+          ;
5511
         }
5513
         }
5512
 
5514
 
5513
         if (_7p_calibration) { // probe extra center points
5515
         if (_7p_calibration) { // probe extra center points
5516
           I_LOOP_CAL_PT(axis, start, steps) {
5518
           I_LOOP_CAL_PT(axis, start, steps) {
5517
             const float a = RADIANS(210 + (360 / NPP) *  (axis - 1)),
5519
             const float a = RADIANS(210 + (360 / NPP) *  (axis - 1)),
5518
                         r = delta_calibration_radius * 0.1;
5520
                         r = delta_calibration_radius * 0.1;
5519
-            #if ENABLED(PROBE_MANUALLY)
5520
-              z_at_pt[CEN] += lcd_probe_pt(cos(a) * r, sin(a) * r);
5521
-            #else
5522
-              z_at_pt[CEN] += probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1);
5523
-            #endif
5521
+            z_at_pt[CEN] +=
5522
+              #if ENABLED(PROBE_MANUALLY)
5523
+                lcd_probe_pt(cos(a) * r, sin(a) * r)
5524
+              #else
5525
+                probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1)
5526
+              #endif
5527
+            ;
5524
           }
5528
           }
5525
           z_at_pt[CEN] /= float(_7p_2_intermediates ? 7 : probe_points);
5529
           z_at_pt[CEN] /= float(_7p_2_intermediates ? 7 : probe_points);
5526
         }
5530
         }
5543
               const float a = RADIANS(210 + (360 / NPP) *  (axis - 1)),
5547
               const float a = RADIANS(210 + (360 / NPP) *  (axis - 1)),
5544
                           r = delta_calibration_radius * (1 + 0.1 * (zig_zag ? circle : - circle)),
5548
                           r = delta_calibration_radius * (1 + 0.1 * (zig_zag ? circle : - circle)),
5545
                           interpol = fmod(axis, 1);
5549
                           interpol = fmod(axis, 1);
5546
-              #if ENABLED(PROBE_MANUALLY)
5547
-                 float z_temp = lcd_probe_pt(cos(a) * r, sin(a) * r);
5548
-              #else
5549
-                float z_temp = probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1);
5550
-              #endif
5550
+              const float z_temp =
5551
+                #if ENABLED(PROBE_MANUALLY)
5552
+                  lcd_probe_pt(cos(a) * r, sin(a) * r)
5553
+                #else
5554
+                  probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1)
5555
+                #endif
5556
+              ;
5551
               // split probe point to neighbouring calibration points
5557
               // split probe point to neighbouring calibration points
5552
-              z_at_pt[round(axis - interpol + NPP - 1) % NPP + 1] += z_temp * sq(cos(RADIANS(interpol * 90)));
5553
-              z_at_pt[round(axis - interpol) % NPP + 1] += z_temp * sq(sin(RADIANS(interpol * 90)));
5558
+              z_at_pt[uint8_t(round(axis - interpol + NPP - 1)) % NPP + 1] += z_temp * sq(cos(RADIANS(interpol * 90)));
5559
+              z_at_pt[uint8_t(round(axis - interpol          )) % NPP + 1] += z_temp * sq(sin(RADIANS(interpol * 90)));
5554
             }
5560
             }
5555
             zig_zag = !zig_zag;
5561
             zig_zag = !zig_zag;
5556
           }
5562
           }
5557
           if (_7p_intermed_points)
5563
           if (_7p_intermed_points)
5558
-            LOOP_CAL_RAD(axis) {
5559
-/*
5560
-            // average intermediate points to towers and opposites - only required with _7P_STEP >= 2
5561
-              for (int8_t i = 1; i < _7P_STEP; i++) {
5562
-                const float interpol = i * (1.0 / _7P_STEP);
5563
-                z_at_pt[axis] += (z_at_pt[(axis + NPP - i - 1) % NPP + 1]
5564
-                                 + z_at_pt[axis + i]) * sq(cos(RADIANS(interpol * 90)));
5565
-              }
5566
-*/
5564
+            LOOP_CAL_RAD(axis)
5567
               z_at_pt[axis] /= _7P_STEP  / steps;
5565
               z_at_pt[axis] /= _7P_STEP  / steps;
5568
-            }
5569
         }
5566
         }
5570
 
5567
 
5571
 
5568
 
10708
     #endif
10705
     #endif
10709
   }
10706
   }
10710
 
10707
 
10711
-  FORCE_INLINE void fanmux_init(void){
10708
+  FORCE_INLINE void fanmux_init(void) {
10712
     SET_OUTPUT(FANMUX0_PIN);
10709
     SET_OUTPUT(FANMUX0_PIN);
10713
     #if PIN_EXISTS(FANMUX1)
10710
     #if PIN_EXISTS(FANMUX1)
10714
       SET_OUTPUT(FANMUX1_PIN);
10711
       SET_OUTPUT(FANMUX1_PIN);

Завантаження…
Відмінити
Зберегти