[2.0.x] Followup to IDEX changes (#11707)
This commit is contained in:
@ -835,8 +835,8 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
|
||||
#endif // !UBL_SEGMENTED
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
|
||||
bool extruder_duplication_enabled = false; // Used in Dual X mode 2 & 3
|
||||
bool symmetric_duplication_mode = false; // Used in Dual X mode 2 & 3
|
||||
bool extruder_duplication_enabled = false, // Used in Dual X mode 2 & 3
|
||||
symmetric_duplication_mode = false; // Used in Dual X mode 2 & 3
|
||||
#endif
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
@ -894,11 +894,11 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
|
||||
#define RAISED_Y raised_parked_position[Y_AXIS]
|
||||
#define RAISED_Z raised_parked_position[Z_AXIS]
|
||||
|
||||
SERIAL_ECHOLNPGM("dual_x_carriage_unpark()\n");
|
||||
//SERIAL_ECHOLNPGM("dual_x_carriage_unpark()\n");
|
||||
|
||||
if (planner.buffer_line(RAISED_X, RAISED_Y, RAISED_Z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder))
|
||||
if (planner.buffer_line( CUR_X, CUR_Y, RAISED_Z, CUR_E, PLANNER_XY_FEEDRATE(), active_extruder))
|
||||
planner.buffer_line( CUR_X, CUR_Y, CUR_Z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
|
||||
if ( planner.buffer_line(RAISED_X, RAISED_Y, RAISED_Z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder))
|
||||
if (planner.buffer_line( CUR_X, CUR_Y, RAISED_Z, CUR_E, PLANNER_XY_FEEDRATE(), active_extruder))
|
||||
planner.buffer_line( CUR_X, CUR_Y, CUR_Z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
|
||||
delayed_move_time = 0;
|
||||
active_extruder_parked = false;
|
||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||
|
@ -306,8 +306,8 @@ void homeaxis(const AxisEnum axis);
|
||||
* Dual X Carriage / Dual Nozzle
|
||||
*/
|
||||
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
|
||||
extern bool extruder_duplication_enabled; // Used in Dual X mode 2
|
||||
extern bool symmetric_duplication_mode; // Used in Dual X mode 2
|
||||
extern bool extruder_duplication_enabled, // Used in Dual X mode 2
|
||||
symmetric_duplication_mode; // Used in Dual X mode 2
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -318,7 +318,7 @@ void homeaxis(const AxisEnum axis);
|
||||
enum DualXMode : char {
|
||||
DXC_FULL_CONTROL_MODE, // DUAL_X_CARRIAGE only
|
||||
DXC_AUTO_PARK_MODE, // DUAL_X_CARRIAGE only
|
||||
DXC_DUPLICATION_MODE,
|
||||
DXC_DUPLICATION_MODE
|
||||
};
|
||||
|
||||
extern DualXMode dual_x_carriage_mode;
|
||||
|
@ -231,10 +231,7 @@ int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
|
||||
#define X_APPLY_DIR(v,ALWAYS) \
|
||||
if (extruder_duplication_enabled || ALWAYS) { \
|
||||
X_DIR_WRITE(v); \
|
||||
if (symmetric_duplication_mode) \
|
||||
X2_DIR_WRITE(!v); \
|
||||
else \
|
||||
X2_DIR_WRITE(v); \
|
||||
X2_DIR_WRITE(bool(v)); \
|
||||
} \
|
||||
else { \
|
||||
if (movement_extruder()) X2_DIR_WRITE(v); else X_DIR_WRITE(v); \
|
||||
|
@ -332,9 +332,10 @@ inline void invalid_extruder_error(const uint8_t e) {
|
||||
void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) {
|
||||
planner.synchronize();
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE) // Only T0 allowed if the Printer is in DXC_DUPLICATION_MODE
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
// Only T0 allowed in DXC_DUPLICATION_MODE
|
||||
if (tmp_extruder != 0 && dual_x_carriage_mode == DXC_DUPLICATION_MODE)
|
||||
return invalid_extruder_error(tmp_extruder);
|
||||
return invalid_extruder_error(tmp_extruder);
|
||||
#endif
|
||||
|
||||
#if HAS_LEVELING
|
||||
|
Reference in New Issue
Block a user