mirror of
git://soft.sys114.com/klipper
synced 2026-02-12 04:30:25 +09:00
itersolve: Add support for generating steps from a trapq
Support associating a stepper_kinematics with a trapq. Support generating steps from a time range on the given trapq. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
@@ -3,6 +3,10 @@
|
||||
|
||||
#include <stdint.h> // int32_t
|
||||
|
||||
enum {
|
||||
AF_X = 1 << 0, AF_Y = 1 << 1, AF_Z = 1 <<2,
|
||||
};
|
||||
|
||||
struct stepper_kinematics;
|
||||
struct move;
|
||||
typedef double (*sk_calc_callback)(struct stepper_kinematics *sk, struct move *m
|
||||
@@ -11,11 +15,20 @@ typedef void (*sk_post_callback)(struct stepper_kinematics *sk);
|
||||
struct stepper_kinematics {
|
||||
double step_dist, commanded_pos;
|
||||
struct stepcompress *sc;
|
||||
|
||||
double last_flush_time;
|
||||
struct trapq *tq;
|
||||
int active_flags;
|
||||
|
||||
sk_calc_callback calc_position_cb;
|
||||
sk_post_callback post_cb;
|
||||
};
|
||||
|
||||
int32_t itersolve_gen_steps(struct stepper_kinematics *sk, struct move *m);
|
||||
int32_t itersolve_generate_steps(struct stepper_kinematics *sk
|
||||
, double flush_time);
|
||||
double itersolve_check_active(struct stepper_kinematics *sk, double flush_time);
|
||||
void itersolve_set_trapq(struct stepper_kinematics *sk, struct trapq *tq);
|
||||
void itersolve_set_stepcompress(struct stepper_kinematics *sk
|
||||
, struct stepcompress *sc, double step_dist);
|
||||
double itersolve_calc_position_from_coord(struct stepper_kinematics *sk
|
||||
|
||||
Reference in New Issue
Block a user