IDEX Question December 13, 2022 09:36PM |
Registered: 9 months ago Posts: 2 |
// Direction of endstops when homing; 1=MAX, -1=MIN // :[-1,1] #define X_HOME_DIR -1 #define Y_HOME_DIR 1 #define Z_HOME_DIR -1 // @section machine // The size of the print bed #define X_BED_SIZE 290 #define Y_BED_SIZE 320 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS -40 #define Y_MIN_POS -5 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 290
#define DUAL_X_CARRIAGE #if ENABLED(DUAL_X_CARRIAGE) #define X1_MIN_POS X_MIN_POS // Set to X_MIN_POS #define X1_MAX_POS X_BED_SIZE // Set a maximum so the first X-carriage can't hit the parked second X-carriage #define X2_MIN_POS 5 // Set a minimum to ensure the second X-carriage can't hit the parked first X-carriage #define X2_MAX_POS 370.6 // Set this to the distance between toolheads when both heads are homed #define X2_HOME_DIR 1 // Set to 1. The second X-carriage always homes to the maximum endstop position #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. // However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops // without modifying the firmware (through the "M218 T1 X???" command). // Remember: you should set the second extruder x-offset to 0 in your slicer. // This is the default power-up mode which can be later using M605. #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_AUTO_PARK_MODE // Default x offset in duplication mode (typically set to half print bed width) #define DEFAULT_DUPLICATION_X_OFFSET 90 #endif // DUAL_X_CARRIAGE
#if ENABLED(DUAL_X_CARRIAGE) void menu_idex() { START_MENU(); MENU_BACK(MSG_CONFIGURATION); MENU_ITEM(gcode, MSG_IDEX_MODE_AUTOPARK, PSTR("M605 S1\nG28 X\nG1 X100")); const bool need_g28 = !(TEST(axis_known_position, Y_AXIS) && TEST(axis_known_position, Z_AXIS)); MENU_ITEM(gcode, MSG_IDEX_MODE_DUPLICATE, need_g28 ? PSTR("M605 S1\nT0\nG28\nM605 S2 X165\nG28 X\nG1 X0") // If Y or Z is not homed, do a full G28 first : PSTR("M605 S1\nT0\nM605 S2 X165\nG28 X\nG1 X0") ); MENU_ITEM(gcode, MSG_IDEX_MODE_MIRRORED_COPY, need_g28 ? PSTR("M605 S1\nT0\nG28\nM605 S2 X330\nG28 X\nG1 X0\nM605 S3") // If Y or Z is not homed, do a full G28 first : PSTR("M605 S1\nT0\nM605 S2 X330\nG28 X\nG1 X0\nM605 S3") ); MENU_ITEM(gcode, MSG_IDEX_MODE_FULL_CTRL, PSTR("M605 S0\nG28 X")); END_MENU(); } #endif
Re: IDEX Question December 13, 2022 11:43PM |
Admin Registered: 12 years ago Posts: 6,861 |
Re: IDEX Question January 24, 2023 05:29AM |
Registered: 9 months ago Posts: 2 |