this is a digital differential analyser data struct More...
#include <dda.h>
Data Fields | |
TARGET | endpoint |
this is where we should finish | |
union { | |
struct { | |
uint8_t nullmove:1 | |
bool: no axes move, maybe we wait for temperatures or change speed | |
uint8_t live:1 | |
bool: this DDA is running and still has steps to do | |
uint8_t waitfor_temp:1 | |
bool: wait for temperatures to reach their set values | |
uint8_t x_direction:1 | |
direction flag for X axis | |
uint8_t y_direction:1 | |
direction flag for Y axis | |
uint8_t z_direction:1 | |
direction flag for Z axis | |
uint8_t e_direction:1 | |
direction flag for E axis | |
} | |
uint8_t allflags | |
used for clearing all flags | |
}; | |
uint32_t | x_delta |
number of steps on X axis | |
uint32_t | y_delta |
number of steps on Y axis | |
uint32_t | z_delta |
number of steps on Z axis | |
uint32_t | e_delta |
number of steps on E axis | |
int32_t | x_counter |
counter for total_steps vs this axis, used for bresenham calculations. | |
int32_t | y_counter |
counter for total_steps vs this axis, used for bresenham calculations. | |
int32_t | z_counter |
counter for total_steps vs this axis, used for bresenham calculations. | |
int32_t | e_counter |
counter for total_steps vs this axis, used for bresenham calculations. | |
uint32_t | total_steps |
total number of steps: set to | |
uint32_t | c |
time until next step |
this is a digital differential analyser data struct
This struct holds all the details of an individual multi-axis move, including pre-calculated acceleration data. This struct is filled in by dda_create(), called from enqueue(), called mostly from gcode_process() and from a few other places too (eg