|
@ -112,8 +112,13 @@ void plan_arc( |
|
|
#else |
|
|
#else |
|
|
constexpr float seg_length = MM_PER_ARC_SEGMENT; |
|
|
constexpr float seg_length = MM_PER_ARC_SEGMENT; |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
// Length divided by segment size gives segment count
|
|
|
uint16_t segments = FLOOR(mm_of_travel / seg_length); |
|
|
uint16_t segments = FLOOR(mm_of_travel / seg_length); |
|
|
NOLESS(segments, min_segments); |
|
|
if (segments < min_segments) { |
|
|
|
|
|
segments = min_segments; // No fewer than the minimum
|
|
|
|
|
|
seg_length = mm_of_travel / segments; // A new segment length
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Vector rotation by transformation matrix: r is the original vector, r_T is the rotated vector, |
|
|
* Vector rotation by transformation matrix: r is the original vector, r_T is the rotated vector, |
|
|