diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2025-05-09 12:38:25 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2025-05-09 12:38:25 -0400 |
commit | b5aea5b774eaa158bf137f8f34c6dde28cbb50b1 (patch) | |
tree | d0eeb20cca9c482e79a503cc06b3846bde797c63 /src | |
parent | fd55dd9e9ddede76c525ed07a03e055cc3926876 (diff) | |
download | kutter-b5aea5b774eaa158bf137f8f34c6dde28cbb50b1.tar.gz kutter-b5aea5b774eaa158bf137f8f34c6dde28cbb50b1.tar.xz kutter-b5aea5b774eaa158bf137f8f34c6dde28cbb50b1.zip |
stepper: Minor code reorg - remove unneeded HAVE_OPTIMIZED_PATH definition
Make it more clear that stepper_load_next() has three separate code
paths - one for each of the optimized stepper_event_X() functions.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/stepper.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/stepper.c b/src/stepper.c index c965a837..178857d1 100644 --- a/src/stepper.c +++ b/src/stepper.c @@ -17,15 +17,12 @@ DECL_CONSTANT("STEPPER_STEP_BOTH_EDGE", 1); #if CONFIG_INLINE_STEPPER_HACK && CONFIG_WANT_STEPPER_OPTIMIZED_BOTH_EDGE - #define HAVE_OPTIMIZED_PATH 1 #define HAVE_EDGE_OPTIMIZATION 1 #define HAVE_AVR_OPTIMIZATION 0 #elif CONFIG_INLINE_STEPPER_HACK && CONFIG_MACH_AVR - #define HAVE_OPTIMIZED_PATH 1 #define HAVE_EDGE_OPTIMIZATION 0 #define HAVE_AVR_OPTIMIZATION 1 #else - #define HAVE_OPTIMIZED_PATH 0 #define HAVE_EDGE_OPTIMIZATION 0 #define HAVE_AVR_OPTIMIZATION 0 #endif @@ -86,13 +83,15 @@ stepper_load_next(struct stepper *s) // Load next move into 'struct stepper' s->add = move_add; s->interval = move_interval + move_add; - if (HAVE_OPTIMIZED_PATH && s->flags & SF_OPTIMIZED_PATH) { - // Using optimized stepper_event_edge() or stepper_event_avr() + if (HAVE_EDGE_OPTIMIZATION && s->flags & SF_OPTIMIZED_PATH) { + // Using optimized stepper_event_edge() s->time.waketime += move_interval; - if (HAVE_AVR_OPTIMIZATION) - s->flags = (move_add ? s->flags | SF_HAVE_ADD - : s->flags & ~SF_HAVE_ADD); s->count = move_count; + } else if (HAVE_AVR_OPTIMIZATION && s->flags & SF_OPTIMIZED_PATH) { + // Using optimized stepper_event_avr() + s->time.waketime += move_interval; + s->count = move_count; + s->flags = (move_add ? s->flags|SF_HAVE_ADD : s->flags & ~SF_HAVE_ADD); } else { // Using fully scheduled stepper_event_full() code (the scheduler // may be called twice for each step) |