Browse Source

Pre-calculate diagonal rod length squared

Nicolas Rossi 12 years ago
parent
commit
9bf1cf1b22
2 changed files with 6 additions and 3 deletions
  1. 3
    0
      Marlin/Configuration.h
  2. 3
    3
      Marlin/Marlin_main.cpp

+ 3
- 0
Marlin/Configuration.h View File

107
 #define DELTA_TOWER3_X 0.0 // back middle tower
107
 #define DELTA_TOWER3_X 0.0 // back middle tower
108
 #define DELTA_TOWER3_Y DELTA_RADIUS
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
 //=============================Thermal Settings  ============================
114
 //=============================Thermal Settings  ============================
112
 //===========================================================================
115
 //===========================================================================

+ 3
- 3
Marlin/Marlin_main.cpp View File

2254
 #ifdef DELTA
2254
 #ifdef DELTA
2255
 void calculate_delta(float cartesian[3])
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
                        - sq(DELTA_TOWER1_X-cartesian[X_AXIS])
2258
                        - sq(DELTA_TOWER1_X-cartesian[X_AXIS])
2259
                        - sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])
2259
                        - sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])
2260
                        ) + cartesian[Z_AXIS];
2260
                        ) + cartesian[Z_AXIS];
2261
-  delta[Y_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2261
+  delta[Y_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2262
                        - sq(DELTA_TOWER2_X-cartesian[X_AXIS])
2262
                        - sq(DELTA_TOWER2_X-cartesian[X_AXIS])
2263
                        - sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])
2263
                        - sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])
2264
                        ) + cartesian[Z_AXIS];
2264
                        ) + cartesian[Z_AXIS];
2265
-  delta[Z_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2265
+  delta[Z_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2266
                        - sq(DELTA_TOWER3_X-cartesian[X_AXIS])
2266
                        - sq(DELTA_TOWER3_X-cartesian[X_AXIS])
2267
                        - sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])
2267
                        - sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])
2268
                        ) + cartesian[Z_AXIS];
2268
                        ) + cartesian[Z_AXIS];

Loading…
Cancel
Save