|
|
|
@ -555,6 +555,26 @@ static bool send_ok[BUFSIZE];
|
|
|
|
|
#define KEEPALIVE_STATE(n) ;
|
|
|
|
|
#endif // HOST_KEEPALIVE_FEATURE
|
|
|
|
|
|
|
|
|
|
#define DEFINE_PGM_READ_ANY(type, reader) \
|
|
|
|
|
static inline type pgm_read_any(const type *p) \
|
|
|
|
|
{ return pgm_read_##reader##_near(p); }
|
|
|
|
|
|
|
|
|
|
DEFINE_PGM_READ_ANY(float, float);
|
|
|
|
|
DEFINE_PGM_READ_ANY(signed char, byte);
|
|
|
|
|
|
|
|
|
|
#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
|
|
|
|
|
static const PROGMEM type array##_P[XYZ] = \
|
|
|
|
|
{ X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \
|
|
|
|
|
static inline type array(int axis) \
|
|
|
|
|
{ return pgm_read_any(&array##_P[axis]); }
|
|
|
|
|
|
|
|
|
|
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_home_pos, HOME_POS);
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH);
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM);
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ***************************************************************************
|
|
|
|
|
* ******************************** FUNCTIONS ********************************
|
|
|
|
@ -1406,26 +1426,6 @@ bool get_target_extruder_from_command(int code) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#define DEFINE_PGM_READ_ANY(type, reader) \
|
|
|
|
|
static inline type pgm_read_any(const type *p) \
|
|
|
|
|
{ return pgm_read_##reader##_near(p); }
|
|
|
|
|
|
|
|
|
|
DEFINE_PGM_READ_ANY(float, float);
|
|
|
|
|
DEFINE_PGM_READ_ANY(signed char, byte);
|
|
|
|
|
|
|
|
|
|
#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
|
|
|
|
|
static const PROGMEM type array##_P[XYZ] = \
|
|
|
|
|
{ X_##CONFIG, Y_##CONFIG, Z_##CONFIG }; \
|
|
|
|
|
static inline type array(int axis) \
|
|
|
|
|
{ return pgm_read_any(&array##_P[axis]); }
|
|
|
|
|
|
|
|
|
|
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_home_pos, HOME_POS);
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH);
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(float, home_bump_mm, HOME_BUMP_MM);
|
|
|
|
|
XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR);
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
|
|
|
|
|
bool extruder_duplication_enabled = false; // Used in Dual X mode 2
|
|
|
|
|
#endif
|
|
|
|
|