|
|
@ -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 |
|
|
|