|
@ -5202,7 +5202,7 @@ inline void gcode_G28() { |
|
|
LOOP_XYZ(axis) endstop_adj[axis] += e_delta[axis]; |
|
|
LOOP_XYZ(axis) endstop_adj[axis] += e_delta[axis]; |
|
|
delta_radius += r_delta; |
|
|
delta_radius += r_delta; |
|
|
|
|
|
|
|
|
const float z_temp = MAX3(endstop_adj[0], endstop_adj[1], endstop_adj[2]); |
|
|
const float z_temp = MAX3(endstop_adj[A_AXIS], endstop_adj[B_AXIS], endstop_adj[C_AXIS]); |
|
|
home_offset[Z_AXIS] -= z_temp; |
|
|
home_offset[Z_AXIS] -= z_temp; |
|
|
LOOP_XYZ(i) endstop_adj[i] -= z_temp; |
|
|
LOOP_XYZ(i) endstop_adj[i] -= z_temp; |
|
|
|
|
|
|
|
@ -7570,6 +7570,10 @@ inline void gcode_M205() { |
|
|
SERIAL_ECHOLNPGM("<<< gcode_M666"); |
|
|
SERIAL_ECHOLNPGM("<<< gcode_M666"); |
|
|
} |
|
|
} |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
// normalize endstops so all are <=0; set the residue to delta height
|
|
|
|
|
|
const float z_temp = MAX3(endstop_adj[A_AXIS], endstop_adj[B_AXIS], endstop_adj[C_AXIS]); |
|
|
|
|
|
home_offset[Z_AXIS] -= z_temp; |
|
|
|
|
|
LOOP_XYZ(i) endstop_adj[i] -= z_temp; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#elif ENABLED(Z_DUAL_ENDSTOPS) // !DELTA && ENABLED(Z_DUAL_ENDSTOPS)
|
|
|
#elif ENABLED(Z_DUAL_ENDSTOPS) // !DELTA && ENABLED(Z_DUAL_ENDSTOPS)
|
|
@ -10552,10 +10556,10 @@ void ok_to_send() { |
|
|
void recalc_delta_settings(float radius, float diagonal_rod) { |
|
|
void recalc_delta_settings(float radius, float diagonal_rod) { |
|
|
const float trt[ABC] = DELTA_RADIUS_TRIM_TOWER, |
|
|
const float trt[ABC] = DELTA_RADIUS_TRIM_TOWER, |
|
|
drt[ABC] = DELTA_DIAGONAL_ROD_TRIM_TOWER; |
|
|
drt[ABC] = DELTA_DIAGONAL_ROD_TRIM_TOWER; |
|
|
delta_tower[A_AXIS][X_AXIS] = -cos(RADIANS(30 + delta_tower_angle_trim[A_AXIS])) * (radius + trt[A_AXIS]); // front left tower
|
|
|
delta_tower[A_AXIS][X_AXIS] = cos(RADIANS(210 + delta_tower_angle_trim[A_AXIS])) * (radius + trt[A_AXIS]); // front left tower
|
|
|
delta_tower[A_AXIS][Y_AXIS] = -sin(RADIANS(30 + delta_tower_angle_trim[A_AXIS])) * (radius + trt[A_AXIS]); |
|
|
delta_tower[A_AXIS][Y_AXIS] = sin(RADIANS(210 + delta_tower_angle_trim[A_AXIS])) * (radius + trt[A_AXIS]); |
|
|
delta_tower[B_AXIS][X_AXIS] = cos(RADIANS(30 - delta_tower_angle_trim[B_AXIS])) * (radius + trt[B_AXIS]); // front right tower
|
|
|
delta_tower[B_AXIS][X_AXIS] = cos(RADIANS(330 + delta_tower_angle_trim[B_AXIS])) * (radius + trt[B_AXIS]); // front right tower
|
|
|
delta_tower[B_AXIS][Y_AXIS] = -sin(RADIANS(30 - delta_tower_angle_trim[B_AXIS])) * (radius + trt[B_AXIS]); |
|
|
delta_tower[B_AXIS][Y_AXIS] = sin(RADIANS(330 + delta_tower_angle_trim[B_AXIS])) * (radius + trt[B_AXIS]); |
|
|
delta_tower[C_AXIS][X_AXIS] = 0.0; // back middle tower
|
|
|
delta_tower[C_AXIS][X_AXIS] = 0.0; // back middle tower
|
|
|
delta_tower[C_AXIS][Y_AXIS] = (radius + trt[C_AXIS]); |
|
|
delta_tower[C_AXIS][Y_AXIS] = (radius + trt[C_AXIS]); |
|
|
delta_diagonal_rod_2_tower[A_AXIS] = sq(diagonal_rod + drt[A_AXIS]); |
|
|
delta_diagonal_rod_2_tower[A_AXIS] = sq(diagonal_rod + drt[A_AXIS]); |
|
|