From ba3428822d61af7653f65f6a1b3b46813e104439 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 8 Jun 2018 17:02:20 -0400 Subject: stepcompress: Allow stepcompress_alloc() to be called early Don't require an mcu connection to allocate the stepcompress object. Signed-off-by: Kevin O'Connor --- klippy/chelper/stepcompress.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'klippy/chelper/stepcompress.c') diff --git a/klippy/chelper/stepcompress.c b/klippy/chelper/stepcompress.c index e6b4da0b..ebab287a 100644 --- a/klippy/chelper/stepcompress.c +++ b/klippy/chelper/stepcompress.c @@ -228,22 +228,28 @@ check_line(struct stepcompress *sc, struct step_move move) // Allocate a new 'stepcompress' object struct stepcompress * __visible -stepcompress_alloc(uint32_t max_error, uint32_t queue_step_msgid - , uint32_t set_next_step_dir_msgid, uint32_t invert_sdir - , uint32_t oid) +stepcompress_alloc(uint32_t oid) { struct stepcompress *sc = malloc(sizeof(*sc)); memset(sc, 0, sizeof(*sc)); - sc->max_error = max_error; list_init(&sc->msg_queue); - sc->queue_step_msgid = queue_step_msgid; - sc->set_next_step_dir_msgid = set_next_step_dir_msgid; sc->oid = oid; sc->sdir = -1; - sc->invert_sdir = !!invert_sdir; return sc; } +// 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) +{ + 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; +} + // Free memory associated with a 'stepcompress' object void __visible stepcompress_free(struct stepcompress *sc) -- cgit v1.2.3-70-g09d2