From e70344dc94e295a167b095ce3f112ddce0dbfcdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 9 Apr 2023 12:23:42 +0000 Subject: [PATCH] Reduce XYZ cal code size Change in memory: Flash: -120 bytes SRAM: 0 bytes --- Firmware/xyzcal.cpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index cae5f0aed..3794eb4c4 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -415,22 +415,12 @@ 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){ - if (axis & X_AXIS_MASK) - _X_ += dir & X_AXIS_MASK ? -1 : 1; - if (axis & Y_AXIS_MASK) - _Y_ += dir & Y_AXIS_MASK ? -1 : 1; - if (axis & Z_AXIS_MASK) - _Z_ += dir & Z_AXIS_MASK ? -1 : 1; +void update_position_1_step(const uint8_t axis, const uint8_t dir) { + count_position[axis] += dir & _BV(axis) ? -1L : 1L; } -void set_axes_dir(uint8_t axes, uint8_t dir){ - if (axes & X_AXIS_MASK) - sm4_set_dir(X_AXIS, dir & X_AXIS_MASK); - if (axes & Y_AXIS_MASK) - sm4_set_dir(Y_AXIS, dir & Y_AXIS_MASK); - if (axes & Z_AXIS_MASK) - sm4_set_dir(Z_AXIS, dir & Z_AXIS_MASK); +void __attribute__((noinline)) set_axes_dir(const uint8_t axis, const uint8_t dir) { + sm4_set_dir(axis, dir & _BV(axis)); } /// Accelerate up to max.speed (defined by @min_delay_us)