Merge pull request #4133 from gudnimg/xyzcal-opt

Reduce XYZ cal code size
This commit is contained in:
Alex Voinea 2023-04-12 21:35:58 +02:00 committed by GitHub
commit e4bedf0523
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 14 deletions

View File

@ -415,22 +415,20 @@ void print_hysteresis(int16_t min_z, int16_t max_z, int16_t step){
} }
} }
void update_position_1_step(uint8_t axis, uint8_t dir){ static void update_position_1_step(const uint8_t axis, const uint8_t dir) {
if (axis & X_AXIS_MASK) for (uint8_t i = X_AXIS, mask = X_AXIS_MASK; i <= Z_AXIS; i++, mask <<= 1) {
_X_ += dir & X_AXIS_MASK ? -1 : 1; if (axis & mask) {
if (axis & Y_AXIS_MASK) count_position[i] += dir & mask ? -1L : 1L;
_Y_ += dir & Y_AXIS_MASK ? -1 : 1; }
if (axis & Z_AXIS_MASK) }
_Z_ += dir & Z_AXIS_MASK ? -1 : 1;
} }
void set_axes_dir(uint8_t axes, uint8_t dir){ static void __attribute__((noinline)) set_axes_dir(const uint8_t axis, const uint8_t dir) {
if (axes & X_AXIS_MASK) for (uint8_t i = X_AXIS, mask = X_AXIS_MASK; i <= Z_AXIS; i++, mask <<= 1) {
sm4_set_dir(X_AXIS, dir & X_AXIS_MASK); if (axis & mask) {
if (axes & Y_AXIS_MASK) sm4_set_dir(i, dir & mask);
sm4_set_dir(Y_AXIS, dir & Y_AXIS_MASK); }
if (axes & Z_AXIS_MASK) }
sm4_set_dir(Z_AXIS, dir & Z_AXIS_MASK);
} }
/// Accelerate up to max.speed (defined by @min_delay_us) /// Accelerate up to max.speed (defined by @min_delay_us)