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

Pre-calculate diagonal rod length squared

Nicolas Rossi 12 лет назад
Родитель
Сommit
9bf1cf1b22
2 измененных файлов: 6 добавлений и 3 удалений
  1. 3
    0
      Marlin/Configuration.h
  2. 3
    3
      Marlin/Marlin_main.cpp

+ 3
- 0
Marlin/Configuration.h Просмотреть файл

@@ -107,6 +107,9 @@
107 107
 #define DELTA_TOWER3_X 0.0 // back middle tower
108 108
 #define DELTA_TOWER3_Y DELTA_RADIUS
109 109
 
110
+// Diagonal rod squared
111
+#define DELTA_DIAGONAL_ROD_2 pow(DELTA_DIAGONAL_ROD,2)
112
+
110 113
 //===========================================================================
111 114
 //=============================Thermal Settings  ============================
112 115
 //===========================================================================

+ 3
- 3
Marlin/Marlin_main.cpp Просмотреть файл

@@ -2254,15 +2254,15 @@ void clamp_to_software_endstops(float target[3])
2254 2254
 #ifdef DELTA
2255 2255
 void calculate_delta(float cartesian[3])
2256 2256
 {
2257
-  delta[X_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2257
+  delta[X_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2258 2258
                        - sq(DELTA_TOWER1_X-cartesian[X_AXIS])
2259 2259
                        - sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])
2260 2260
                        ) + cartesian[Z_AXIS];
2261
-  delta[Y_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2261
+  delta[Y_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2262 2262
                        - sq(DELTA_TOWER2_X-cartesian[X_AXIS])
2263 2263
                        - sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])
2264 2264
                        ) + cartesian[Z_AXIS];
2265
-  delta[Z_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2265
+  delta[Z_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2266 2266
                        - sq(DELTA_TOWER3_X-cartesian[X_AXIS])
2267 2267
                        - sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])
2268 2268
                        ) + cartesian[Z_AXIS];

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