Rename delta -> delta_um to avoid collision.

This commit is contained in:
Phil Hord 2013-11-18 12:25:14 -05:00 committed by Markus Hitter
parent 3f07a47c06
commit ab65ba6c95
3 changed files with 18 additions and 16 deletions

8
dda.c
View File

@ -147,10 +147,10 @@ void dda_create(DDA *dda, TARGET *target, DDA *prev_dda) {
#ifdef LOOKAHEAD #ifdef LOOKAHEAD
// Also displacements in micrometers, but for the lookahead alogrithms. // Also displacements in micrometers, but for the lookahead alogrithms.
dda->delta.X = target->X - startpoint.X; dda->delta_um.X = target->X - startpoint.X;
dda->delta.Y = target->Y - startpoint.Y; dda->delta_um.Y = target->Y - startpoint.Y;
dda->delta.Z = target->Z - startpoint.Z; dda->delta_um.Z = target->Z - startpoint.Z;
dda->delta.E = target->e_relative ? target->E : target->E - startpoint.E; dda->delta_um.E = target->e_relative ? target->E : target->E - startpoint.E;
#endif #endif
if (DEBUG_DDA && (debug_flags & DEBUG_DDA)) if (DEBUG_DDA && (debug_flags & DEBUG_DDA))

2
dda.h
View File

@ -154,7 +154,7 @@ typedef struct {
// Displacement vector, in um, based between the difference of the starting // Displacement vector, in um, based between the difference of the starting
// point and the target. Required to obtain the jerk between 2 moves. // point and the target. Required to obtain the jerk between 2 moves.
// Note: x_delta and co are in steps, not um. // Note: x_delta and co are in steps, not um.
VECTOR4D delta; VECTOR4D delta_um;
// Number the moves to be able to test at the end of lookahead if the moves // Number the moves to be able to test at the end of lookahead if the moves
// are the same. Note: we do not need a lot of granularity here: more than // are the same. Note: we do not need a lot of granularity here: more than
// MOVEBUFFER_SIZE is already enough. // MOVEBUFFER_SIZE is already enough.

View File

@ -59,9 +59,8 @@ uint32_t dda_steps_to_velocity(uint32_t steps) {
} }
/** /**
* Determine the 'jerk' between 2 2D vectors and their speeds. The jerk can be used to obtain an * Determine the 'jerk' between 2 2D vectors and their speeds. The jerk can be
* acceptable speed for changing directions between moves. * used to obtain an acceptable speed for changing directions between moves.
* Vector delta is in um, speed is in mm/min.
* @param x1 x component of first vector * @param x1 x component of first vector
* @param y1 y component of first vector * @param y1 y component of first vector
* @param F1 feed rate of first move * @param F1 feed rate of first move
@ -99,7 +98,6 @@ int dda_jerk_size_2d_real(int32_t x1, int32_t y1, uint32_t F1, int32_t x2, int32
/** /**
* Determine the 'jerk' for 2 1D vectors and their speeds. The jerk can be used to obtain an * Determine the 'jerk' for 2 1D vectors and their speeds. The jerk can be used to obtain an
* acceptable speed for changing directions between moves. * acceptable speed for changing directions between moves.
* Vector delta is in um, speed is in mm/min.
* @param x component of 1d vector - used to determine if we go back or forward * @param x component of 1d vector - used to determine if we go back or forward
* @param F feed rate * @param F feed rate
*/ */
@ -122,7 +120,6 @@ int dda_jerk_size_1d(int32_t x1, uint32_t F1, int32_t x2, uint32_t F2) {
* acceptable speed for changing directions between moves. * acceptable speed for changing directions between moves.
* Instead of using 2 axis at once, consider the jerk for each axis individually and take the * Instead of using 2 axis at once, consider the jerk for each axis individually and take the
* upper limit between both. This ensures that each axis does not changes speed too fast. * upper limit between both. This ensures that each axis does not changes speed too fast.
* Vector delta is in um, speed is in mm/min.
* @param x1 x component of first vector * @param x1 x component of first vector
* @param y1 y component of first vector * @param y1 y component of first vector
* @param F1 feed rate of first move * @param F1 feed rate of first move
@ -192,20 +189,25 @@ void dda_join_moves(DDA *prev, DDA *current) {
if ( ! prev || prev->nullmove) if ( ! prev || prev->nullmove)
return; return;
serprintf(PSTR("Current Delta: %ld,%ld,%ld E:%ld Live:%d\r\n"), current->delta.X, current->delta.Y, current->delta.Z, current->delta.E, current->live); serprintf(PSTR("Current Delta: %ld,%ld,%ld E:%ld Live:%d\r\n"),
serprintf(PSTR("Prev Delta: %ld,%ld,%ld E:%ld Live:%d\r\n"), prev->delta.X, prev->delta.Y, prev->delta.Z, prev->delta.E, prev->live); current->delta_um.X, current->delta_um.Y, current->delta_um.Z,
current->delta_um.E, current->live);
serprintf(PSTR("Prev Delta: %ld,%ld,%ld E:%ld Live:%d\r\n"),
prev->delta_um.X, prev->delta_um.Y, prev->delta_um.Z,
prev->delta_um.E, prev->live);
// Look-ahead: attempt to join moves into smooth movements // Look-ahead: attempt to join moves into smooth movements
// Note: moves are only modified after the calculations are complete. // Note: moves are only modified after the calculations are complete.
// Only prepare for look-ahead if we have 2 available moves to // Only prepare for look-ahead if we have 2 available moves to
// join and the Z axis is unused (for now, Z axis moves are NOT joined). // join and the Z axis is unused (for now, Z axis moves are NOT joined).
if (prev->live == 0 && prev->delta.Z == current->delta.Z) { if (prev->live == 0 && prev->delta_um.Z == current->delta_um.Z) {
// Calculate the jerk if the previous move and this move would be joined // Calculate the jerk if the previous move and this move would be joined
// together at full speed. // together at full speed.
jerk = dda_jerk_size_2d(prev->delta.X, prev->delta.Y, prev->endpoint.F, jerk = dda_jerk_size_2d(prev->delta_um.X, prev->delta_um.Y, prev->endpoint.F,
current->delta.X, current->delta.Y, current->endpoint.F); current->delta_um.X, current->delta_um.Y, current->endpoint.F);
serprintf(PSTR("Jerk: %lu\r\n"), jerk); serprintf(PSTR("Jerk: %lu\r\n"), jerk);
jerk_e = dda_jerk_size_1d(prev->delta.E, prev->endpoint.F, current->delta.E, current->endpoint.F); jerk_e = dda_jerk_size_1d(prev->delta_um.E, prev->endpoint.F,
current->delta_um.E, current->endpoint.F);
serprintf(PSTR("Jerk_e: %lu\r\n"), jerk_e); serprintf(PSTR("Jerk_e: %lu\r\n"), jerk_e);
} else { } else {
// Move already executing or Z moved: abort the join // Move already executing or Z moved: abort the join