diff --git a/src/components/settings/ToolheadSettings.vue b/src/components/settings/ToolheadSettings.vue
index a238e179cf..e453e3be5d 100644
--- a/src/components/settings/ToolheadSettings.vue
+++ b/src/components/settings/ToolheadSettings.vue
@@ -376,6 +376,23 @@
+
+
+
+
+
+
{{ macro.description }}
+
+
+
+
+ $mmuEject
+
+
+
+ {{ $t('app.tool.tooltip.drop_tool') }}
+
@@ -100,6 +120,10 @@ export default class ToolChangeCommands extends Mixins(StateMixin) {
.sort((a, b) => +a.name.substring(1) - +b.name.substring(1))
}
+ get dropToolGcode (): string {
+ return this.$typedState.config.uiSettings.general.toolheadDropToolGcode
+ }
+
get toolChangeCommandsGrouped (): ToolChangeCommand[][] {
const toolChangeCommands = this.toolChangeCommands
diff --git a/src/locales/en.yaml b/src/locales/en.yaml
index dd9d0135f5..8a7bffabcf 100644
--- a/src/locales/en.yaml
+++ b/src/locales/en.yaml
@@ -784,6 +784,7 @@ app:
to_browser_local_storage: To browser local storage
to_browser_session_storage: To browser session storage
toolhead_control_style: Toolhead control style
+ toolhead_drop_tool_gcode: Drop tool G-code
toolhead_move_distances: Toolhead distance values
toolhead_xy_move_distances: Toolhead XY distance values
toolhead_z_move_distances: Toolhead Z distance values
@@ -829,6 +830,7 @@ app:
[BETA] Enable and press '?' to view the list of available keyboard shortcuts
show_manual_probe_dialog_automatically: Automatically shows helper dialog if running a Manual Probe tool
show_bed_screws_adjust_dialog_automatically: Automatically shows helper dialog if running BED_SCREWS_ADJUST tool
+ toolhead_drop_tool_gcode: G-code command to run when dropping the current tool. Leave empty to hide the button.
show_screws_tilt_adjust_dialog_automatically: Automatically shows helper dialog if running SCREWS_TILT_CALCULATE tool
theme_disclaimer: >-
These themes feature brand names and logos that are the intellectual property of their respective owners.
@@ -905,6 +907,7 @@ app:
manual_probe: Manual Probe
motors_off: Motors Off
relative_positioning: Relative Positioning
+ drop_tool: Drop current tool
select_tool: Select tool %{tool}
tools: Tools
label:
diff --git a/src/store/config/state.ts b/src/store/config/state.ts
index 646858ac62..76d8d63839 100644
--- a/src/store/config/state.ts
+++ b/src/store/config/state.ts
@@ -31,6 +31,7 @@ export const defaultState = (): ConfigState => {
defaultToolheadXYSpeed: 130,
defaultToolheadZSpeed: 10,
toolheadControlStyle: 'cross',
+ toolheadDropToolGcode: 'TOOL_DROPOFF',
toolheadMoveDistances: [0.1, 1, 10, 25, 50, 100],
toolheadXYMoveDistances: [1, 10, 50],
toolheadZMoveDistances: [0.1, 1, 10],
diff --git a/src/store/config/types.ts b/src/store/config/types.ts
index 2f293a8434..99e080129a 100644
--- a/src/store/config/types.ts
+++ b/src/store/config/types.ts
@@ -109,6 +109,7 @@ export interface GeneralConfig {
defaultToolheadXYSpeed: number;
defaultToolheadZSpeed: number;
toolheadControlStyle: ToolheadControlStyle;
+ toolheadDropToolGcode: string;
toolheadMoveDistances: number[];
toolheadXYMoveDistances: number[];
toolheadZMoveDistances: number[];