|
|
@ -7610,13 +7610,14 @@ inline void gcode_M205() { |
|
|
|
/**
|
|
|
|
* M665: Set delta configurations |
|
|
|
* |
|
|
|
* H = diagonal rod // AC-version
|
|
|
|
* H = delta height |
|
|
|
* L = diagonal rod |
|
|
|
* R = delta radius |
|
|
|
* S = segments per second |
|
|
|
* A = Alpha (Tower 1) diagonal rod trim |
|
|
|
* B = Beta (Tower 2) diagonal rod trim |
|
|
|
* C = Gamma (Tower 3) diagonal rod trim |
|
|
|
* B = delta calibration radius |
|
|
|
* X = Alpha (Tower 1) angle trim |
|
|
|
* Y = Beta (Tower 2) angle trim |
|
|
|
* Z = Rotate A and B by this angle |
|
|
|
*/ |
|
|
|
inline void gcode_M665() { |
|
|
|
if (code_seen('H')) { |
|
|
@ -7628,11 +7629,11 @@ inline void gcode_M205() { |
|
|
|
if (code_seen('R')) delta_radius = code_value_linear_units(); |
|
|
|
if (code_seen('S')) delta_segments_per_second = code_value_float(); |
|
|
|
if (code_seen('B')) delta_calibration_radius = code_value_float(); |
|
|
|
if (code_seen('X')) delta_tower_angle_trim[A_AXIS] = code_value_linear_units(); |
|
|
|
if (code_seen('Y')) delta_tower_angle_trim[B_AXIS] = code_value_linear_units(); |
|
|
|
if (code_seen('X')) delta_tower_angle_trim[A_AXIS] = code_value_float(); |
|
|
|
if (code_seen('Y')) delta_tower_angle_trim[B_AXIS] = code_value_float(); |
|
|
|
if (code_seen('Z')) { // rotate all 3 axis for Z = 0
|
|
|
|
delta_tower_angle_trim[A_AXIS] -= code_value_linear_units(); |
|
|
|
delta_tower_angle_trim[B_AXIS] -= code_value_linear_units(); |
|
|
|
delta_tower_angle_trim[A_AXIS] -= code_value_float(); |
|
|
|
delta_tower_angle_trim[B_AXIS] -= code_value_float(); |
|
|
|
} |
|
|
|
recalc_delta_settings(delta_radius, delta_diagonal_rod); |
|
|
|
} |
|
|
|