diff options
Diffstat (limited to 'klippy/chelper')
-rw-r--r-- | klippy/chelper/__init__.py | 6 | ||||
-rw-r--r-- | klippy/chelper/stepcompress.c | 19 | ||||
-rw-r--r-- | klippy/chelper/stepcompress.h | 4 |
3 files changed, 15 insertions, 14 deletions
diff --git a/klippy/chelper/__init__.py b/klippy/chelper/__init__.py index d373d72e..851fda70 100644 --- a/klippy/chelper/__init__.py +++ b/klippy/chelper/__init__.py @@ -1,6 +1,6 @@ # Wrapper around C helper code # -# Copyright (C) 2016-2020 Kevin O'Connor <kevin@koconnor.net> +# Copyright (C) 2016-2021 Kevin O'Connor <kevin@koconnor.net> # # This file may be distributed under the terms of the GNU GPLv3 license. import os, logging @@ -31,8 +31,8 @@ OTHER_FILES = [ defs_stepcompress = """ struct stepcompress *stepcompress_alloc(uint32_t oid); void stepcompress_fill(struct stepcompress *sc, uint32_t max_error - , uint32_t invert_sdir, uint32_t queue_step_msgid - , uint32_t set_next_step_dir_msgid); + , uint32_t invert_sdir, int32_t queue_step_msgtag + , int32_t set_next_step_dir_msgtag); void stepcompress_free(struct stepcompress *sc); int stepcompress_reset(struct stepcompress *sc, uint64_t last_step_clock); int stepcompress_queue_msg(struct stepcompress *sc diff --git a/klippy/chelper/stepcompress.c b/klippy/chelper/stepcompress.c index 812a3b50..cd803ae7 100644 --- a/klippy/chelper/stepcompress.c +++ b/klippy/chelper/stepcompress.c @@ -1,6 +1,6 @@ // Stepper pulse schedule compression // -// Copyright (C) 2016-2020 Kevin O'Connor <kevin@koconnor.net> +// Copyright (C) 2016-2021 Kevin O'Connor <kevin@koconnor.net> // // This file may be distributed under the terms of the GNU GPLv3 license. @@ -36,7 +36,8 @@ struct stepcompress { // Message generation uint64_t last_step_clock; struct list_head msg_queue; - uint32_t queue_step_msgid, set_next_step_dir_msgid, oid; + uint32_t oid; + int32_t queue_step_msgtag, set_next_step_dir_msgtag; int sdir, invert_sdir; // Step+dir+step filter uint64_t next_step_clock; @@ -244,13 +245,13 @@ stepcompress_alloc(uint32_t oid) // Fill message id information void __visible stepcompress_fill(struct stepcompress *sc, uint32_t max_error - , uint32_t invert_sdir, uint32_t queue_step_msgid - , uint32_t set_next_step_dir_msgid) + , uint32_t invert_sdir, int32_t queue_step_msgtag + , int32_t set_next_step_dir_msgtag) { sc->max_error = max_error; sc->invert_sdir = !!invert_sdir; - sc->queue_step_msgid = queue_step_msgid; - sc->set_next_step_dir_msgid = set_next_step_dir_msgid; + sc->queue_step_msgtag = queue_step_msgtag; + sc->set_next_step_dir_msgtag = set_next_step_dir_msgtag; } // Free memory associated with a 'stepcompress' object @@ -307,7 +308,7 @@ queue_flush(struct stepcompress *sc, uint64_t move_clock) return ret; uint32_t msg[5] = { - sc->queue_step_msgid, sc->oid, move.interval, move.count, move.add + sc->queue_step_msgtag, sc->oid, move.interval, move.count, move.add }; struct queue_message *qm = message_alloc_and_encode(msg, 5); qm->min_clock = qm->req_clock = sc->last_step_clock; @@ -331,7 +332,7 @@ static int stepcompress_flush_far(struct stepcompress *sc, uint64_t abs_step_clock) { uint32_t msg[5] = { - sc->queue_step_msgid, sc->oid, abs_step_clock - sc->last_step_clock, + sc->queue_step_msgtag, sc->oid, abs_step_clock - sc->last_step_clock, 1, 0 }; struct queue_message *qm = message_alloc_and_encode(msg, 5); @@ -353,7 +354,7 @@ set_next_step_dir(struct stepcompress *sc, int sdir) if (ret) return ret; uint32_t msg[3] = { - sc->set_next_step_dir_msgid, sc->oid, sdir ^ sc->invert_sdir + sc->set_next_step_dir_msgtag, sc->oid, sdir ^ sc->invert_sdir }; struct queue_message *qm = message_alloc_and_encode(msg, 3); qm->req_clock = sc->last_step_clock; diff --git a/klippy/chelper/stepcompress.h b/klippy/chelper/stepcompress.h index 3462b3f8..2d1534c1 100644 --- a/klippy/chelper/stepcompress.h +++ b/klippy/chelper/stepcompress.h @@ -7,8 +7,8 @@ struct stepcompress *stepcompress_alloc(uint32_t oid); void stepcompress_fill(struct stepcompress *sc, uint32_t max_error - , uint32_t invert_sdir, uint32_t queue_step_msgid - , uint32_t set_next_step_dir_msgid); + , uint32_t invert_sdir, int32_t queue_step_msgtag + , int32_t set_next_step_dir_msgtag); void stepcompress_free(struct stepcompress *sc); uint32_t stepcompress_get_oid(struct stepcompress *sc); int stepcompress_get_step_dir(struct stepcompress *sc); |