Data Fields

DDA Struct Reference

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 $\max(\Delta x, \Delta y, \Delta z, \Delta e)$
uint32_t c
 time until next step

Detailed Description

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


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Defines