|
|
@ -634,8 +634,8 @@ static bool send_ok[BUFSIZE];
|
|
|
|
static inline type pgm_read_any(const type *p) \
|
|
|
|
static inline type pgm_read_any(const type *p) \
|
|
|
|
{ return pgm_read_##reader##_near(p); }
|
|
|
|
{ return pgm_read_##reader##_near(p); }
|
|
|
|
|
|
|
|
|
|
|
|
DEFINE_PGM_READ_ANY(float, float);
|
|
|
|
DEFINE_PGM_READ_ANY(float, float)
|
|
|
|
DEFINE_PGM_READ_ANY(signed char, byte);
|
|
|
|
DEFINE_PGM_READ_ANY(signed char, byte)
|
|
|
|
|
|
|
|
|
|
|
|
#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
|
|
|
|
#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
|
|
|
|
static const PROGMEM type array##_P[XYZ] = \
|
|
|
|
static const PROGMEM type array##_P[XYZ] = \
|
|
|
@ -643,12 +643,12 @@ DEFINE_PGM_READ_ANY(signed char, byte);
|
|
|
|
static inline type array(int axis) \
|
|
|
|
static inline type array(int axis) \
|
|
|
|
{ return pgm_read_any(&array##_P[axis]); }
|
|
|
|
{ return pgm_read_any(&array##_P[axis]); }
|
|
|
|
|
|
|
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, base_min_pos, MIN_POS);
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, base_min_pos, MIN_POS)
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, base_max_pos, MAX_POS);
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, base_max_pos, MAX_POS)
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, base_home_pos, HOME_POS);
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, base_home_pos, HOME_POS)
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH);
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH)
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM);
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM)
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR);
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR)
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* ***************************************************************************
|
|
|
|
* ***************************************************************************
|
|
|
@ -8542,7 +8542,7 @@ void ok_to_send() {
|
|
|
|
cartes[X_AXIS] = delta_tower1_x + ex[0] * Xnew + ey[0] * Ynew - ez[0] * Znew;
|
|
|
|
cartes[X_AXIS] = delta_tower1_x + ex[0] * Xnew + ey[0] * Ynew - ez[0] * Znew;
|
|
|
|
cartes[Y_AXIS] = delta_tower1_y + ex[1] * Xnew + ey[1] * Ynew - ez[1] * Znew;
|
|
|
|
cartes[Y_AXIS] = delta_tower1_y + ex[1] * Xnew + ey[1] * Ynew - ez[1] * Znew;
|
|
|
|
cartes[Z_AXIS] = z1 + ex[2] * Xnew + ey[2] * Ynew - ez[2] * Znew;
|
|
|
|
cartes[Z_AXIS] = z1 + ex[2] * Xnew + ey[2] * Ynew - ez[2] * Znew;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void forward_kinematics_DELTA(float point[ABC]) {
|
|
|
|
void forward_kinematics_DELTA(float point[ABC]) {
|
|
|
|
forward_kinematics_DELTA(point[A_AXIS], point[B_AXIS], point[C_AXIS]);
|
|
|
|
forward_kinematics_DELTA(point[A_AXIS], point[B_AXIS], point[C_AXIS]);
|
|
|
|