From 7d2dbaa481b36ce9470cfd9f304a7dac6af459e4 Mon Sep 17 00:00:00 2001 From: Markus Hitter Date: Thu, 16 Oct 2014 21:30:48 +0200 Subject: [PATCH] CoreXY, dda.c: use signed delta_steps to simplify dda->delta_um[] calc. Saves another 8 bytes binary size. --- dda.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dda.c b/dda.c index f8b11e4..70cd176 100644 --- a/dda.c +++ b/dda.c @@ -208,7 +208,8 @@ void dda_create(DDA *dda, TARGET *target) { // just signedness and storage location. Ideally, dda is used // as storage place only if neccessary (LOOKAHEAD turned on?) // because this space is multiplied by the movement queue size. - dda->delta_um[i] = target->axis[i] - startpoint.axis[i]; + dda->delta_um[i] = (delta_steps >= 0) ? + (int32_t)delta_um[i] : -(int32_t)delta_um[i]; #endif } @@ -229,7 +230,8 @@ void dda_create(DDA *dda, TARGET *target) { // just signedness and storage location. Ideally, dda is used // as storage place only if neccessary (LOOKAHEAD turned on?) // because this space is multiplied by the movement queue size. - dda->delta_um[E] = target->axis[E] - startpoint.axis[E]; + dda->delta_um[E] = (delta_steps >= 0) ? + (int32_t)delta_um[E] : -(int32_t)delta_um[E]; #endif } else {