Skip to content

Commit 9d5c894

Browse files
InsanityAutomationthinkyhead
authored andcommitted
Update IDEX menus, add post-M605 event G-code (MarlinFirmware#20133)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
1 parent 79008cd commit 9d5c894

5 files changed

Lines changed: 20 additions & 9 deletions

File tree

Marlin/Configuration_adv.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,9 @@
639639

640640
// Default x offset in duplication mode (typically set to half print bed width)
641641
#define DEFAULT_DUPLICATION_X_OFFSET 100
642+
643+
// Default action to execute following M605 mode change commands. Typically G28X to apply new mode.
644+
//#define EVENT_GCODE_IDEX_AFTER_MODECHANGE "G28X"
642645
#endif
643646

644647
// Activate a solenoid on the active extruder with M380. Disable all with M381.

Marlin/src/gcode/control/M605.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@
103103
}
104104
idex_set_parked(false);
105105
set_duplication_enabled(false);
106+
107+
#ifdef EVENT_GCODE_IDEX_AFTER_MODECHANGE
108+
gcode.process_subcommands_now_P(PSTR(EVENT_GCODE_IDEX_AFTER_MODECHANGE));
109+
#endif
106110
}
107111
else if (!parser.seen('W')) // if no S or W parameter, the DXC mode gets reset to the user's default
108112
dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE;

Marlin/src/lcd/language/language_en.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ namespace Language_en {
144144
PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplication");
145145
PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Mirrored Copy");
146146
PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Full Control");
147+
PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("Duplicate X-Gap");
147148
PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2nd Nozzle X");
148149
PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2nd Nozzle Y");
149150
PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2nd Nozzle Z");

Marlin/src/lcd/menu/menu_configuration.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,16 +194,19 @@ void menu_advanced_settings();
194194
START_MENU();
195195
BACK_ITEM(MSG_CONFIGURATION);
196196

197-
GCODES_ITEM(MSG_IDEX_MODE_AUTOPARK, PSTR("M605 S1\nG28 X\nG1 X100"));
197+
GCODES_ITEM(MSG_IDEX_MODE_AUTOPARK, PSTR("M605S1\nG28X\nG1X0"));
198198
GCODES_ITEM(MSG_IDEX_MODE_DUPLICATE, need_g28
199-
? PSTR("M605 S1\nT0\nG28\nM605 S2 X200\nG28 X\nG1 X100") // If Y or Z is not homed, do a full G28 first
200-
: PSTR("M605 S1\nT0\nM605 S2 X200\nG28 X\nG1 X100")
199+
? PSTR("M605S1\nT0\nG28\nM605S2\nG28X\nG1X0") // If Y or Z is not homed, do a full G28 first
200+
: PSTR("M605S1\nT0\nM605S2\nG28X\nG1X0")
201201
);
202202
GCODES_ITEM(MSG_IDEX_MODE_MIRRORED_COPY, need_g28
203-
? PSTR("M605 S1\nT0\nG28\nM605 S2 X200\nG28 X\nG1 X100\nM605 S3 X200") // If Y or Z is not homed, do a full G28 first
204-
: PSTR("M605 S1\nT0\nM605 S2 X200\nG28 X\nG1 X100\nM605 S3 X200")
203+
? PSTR("M605S1\nT0\nG28\nM605S2\nG28X\nG1X0\nM605S3") // If Y or Z is not homed, do a full G28 first
204+
: PSTR("M605S1\nT0\nM605S2\nG28 X\nG1X0\nM605S3")
205205
);
206-
GCODES_ITEM(MSG_IDEX_MODE_FULL_CTRL, PSTR("M605 S0\nG28 X"));
206+
GCODES_ITEM(MSG_IDEX_MODE_FULL_CTRL, PSTR("M605S0\nG28X"));
207+
208+
EDIT_ITEM(float42_52, MSG_IDEX_DUPE_GAP, &duplicate_extruder_x_offset, (X2_MIN_POS) - (X1_MIN_POS), (X_BED_SIZE) - 20);
209+
207210
END_MENU();
208211
}
209212

buildroot/tests/mega2560-tests

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ exec_test $1 $2 "Mightyboard Rev. E | CoreXY, Gradient Mix | Endstop Int. | Home
259259

260260
######## Example Configurations ##############
261261
#
262-
# Test a full-featured CR-10S config
262+
# Test a basic DUAL_X_CARRIAGE configuration
263263
#
264-
use_example_configs Creality/CR-10S
265-
exec_test $1 $2 "Full-featured CR-10S config"
264+
use_example_configs Formbot/T_Rex_3
265+
exec_test $1 $2 "Formbot/T_Rex_3 example configuration."
266266

267267
#
268268
# BQ Hephestos 2

0 commit comments

Comments
 (0)