Fix IDEX tool-change, and more (#13614)
This commit is contained in:
committed by
Scott Lahteine
parent
ba31d39f6d
commit
4900c28bf6
@ -101,10 +101,9 @@
|
||||
#define MSG_IDEX_MODE_DUPLICATE _UxGT("Duplizieren")
|
||||
#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("Spiegelkopie")
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("vollstä. Kontrolle")
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2. Düse X")
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2. Düse Y")
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2. Düse Z")
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Versätze speichern")
|
||||
#define MSG_X_OFFSET _UxGT("2. Düse X")
|
||||
#define MSG_Y_OFFSET _UxGT("2. Düse Y")
|
||||
#define MSG_Z_OFFSET _UxGT("2. Düse Z")
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Netz manuell erst.")
|
||||
#define MSG_UBL_BC_INSERT _UxGT("Unterlegen & messen")
|
||||
#define MSG_UBL_BC_INSERT2 _UxGT("Messen")
|
||||
|
@ -247,6 +247,9 @@
|
||||
#ifndef MSG_IDEX_MENU
|
||||
#define MSG_IDEX_MENU _UxGT("IDEX Mode")
|
||||
#endif
|
||||
#ifndef MSG_OFFSETS_MENU
|
||||
#define MSG_OFFSETS_MENU _UxGT("Tool Offsets")
|
||||
#endif
|
||||
#ifndef MSG_IDEX_MODE_AUTOPARK
|
||||
#define MSG_IDEX_MODE_AUTOPARK _UxGT("Auto-Park")
|
||||
#endif
|
||||
@ -259,17 +262,14 @@
|
||||
#ifndef MSG_IDEX_MODE_FULL_CTRL
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Full control")
|
||||
#endif
|
||||
#ifndef MSG_IDEX_X_OFFSET
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2nd nozzle X")
|
||||
#ifndef MSG_X_OFFSET
|
||||
#define MSG_X_OFFSET _UxGT("2nd nozzle X")
|
||||
#endif
|
||||
#ifndef MSG_IDEX_Y_OFFSET
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2nd nozzle Y")
|
||||
#ifndef MSG_Y_OFFSET
|
||||
#define MSG_Y_OFFSET _UxGT("2nd nozzle Y")
|
||||
#endif
|
||||
#ifndef MSG_IDEX_Z_OFFSET
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2nd nozzle Z")
|
||||
#endif
|
||||
#ifndef MSG_IDEX_SAVE_OFFSETS
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Save Offsets")
|
||||
#ifndef MSG_Z_OFFSET
|
||||
#define MSG_Z_OFFSET _UxGT("2nd nozzle Z")
|
||||
#endif
|
||||
#ifndef MSG_UBL_MANUAL_MESH
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Manually Build Mesh")
|
||||
|
@ -99,10 +99,9 @@
|
||||
#define MSG_IDEX_MODE_DUPLICATE _UxGT("Duplicazione")
|
||||
#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("Copia speculare")
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Pieno controllo")
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2° ugello X")
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2° ugello Y")
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2° ugello Z")
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Memorizza Offsets")
|
||||
#define MSG_X_OFFSET _UxGT("2° ugello X")
|
||||
#define MSG_Y_OFFSET _UxGT("2° ugello Y")
|
||||
#define MSG_Z_OFFSET _UxGT("2° ugello Z")
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Mesh Manuale")
|
||||
#define MSG_UBL_BC_INSERT _UxGT("Metti spes. e misura")
|
||||
#define MSG_UBL_BC_INSERT2 _UxGT("Misura")
|
||||
|
@ -90,10 +90,9 @@
|
||||
#define MSG_IDEX_MODE_DUPLICATE _UxGT("Duplication")
|
||||
#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("미러 사본")
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Full control")
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2nd nozzle X")
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2nd nozzle Y")
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2nd nozzle Z")
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Save Offsets")
|
||||
#define MSG_X_OFFSET _UxGT("2nd nozzle X")
|
||||
#define MSG_Y_OFFSET _UxGT("2nd nozzle Y")
|
||||
#define MSG_Z_OFFSET _UxGT("2nd nozzle Z")
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Manually Build Mesh")
|
||||
#define MSG_UBL_BC_INSERT _UxGT("Place shim & measure")
|
||||
#define MSG_UBL_BC_INSERT2 _UxGT("Measure")
|
||||
|
@ -101,10 +101,9 @@
|
||||
#define MSG_IDEX_MODE_DUPLICATE _UxGT("Duplicação")
|
||||
#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("Cópia espelhada")
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Controle Total")
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2o bico X")
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2o bico Y")
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2o bico Z")
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Salvar Compensação")
|
||||
#define MSG_X_OFFSET _UxGT("2o bico X")
|
||||
#define MSG_Y_OFFSET _UxGT("2o bico Y")
|
||||
#define MSG_Z_OFFSET _UxGT("2o bico Z")
|
||||
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Fazer malha manual")
|
||||
#define MSG_UBL_BC_INSERT _UxGT("Calçar e calibrar")
|
||||
|
@ -108,10 +108,9 @@
|
||||
#define MSG_IDEX_MODE_DUPLICATE _UxGT("Duplikácia")
|
||||
#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("Zrkadlená kópia")
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Plná kontrola")
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2. tryska X")
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2. tryska Y")
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2. tryska Z")
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Uložiť offsety")
|
||||
#define MSG_X_OFFSET _UxGT("2. tryska X")
|
||||
#define MSG_Y_OFFSET _UxGT("2. tryska Y")
|
||||
#define MSG_Z_OFFSET _UxGT("2. tryska Z")
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Manuálna sieť bodov")
|
||||
#define MSG_UBL_BC_INSERT _UxGT("Položte a zmerajte")
|
||||
#define MSG_UBL_BC_INSERT2 _UxGT("Zmerajte")
|
||||
|
@ -100,10 +100,9 @@
|
||||
#define MSG_IDEX_MODE_DUPLICATE _UxGT("Kopyala")
|
||||
#define MSG_IDEX_MODE_MIRRORED_COPY _UxGT("Yansıtılmış kopya")
|
||||
#define MSG_IDEX_MODE_FULL_CTRL _UxGT("Tam Kontrol")
|
||||
#define MSG_IDEX_X_OFFSET _UxGT("2. nozul X")
|
||||
#define MSG_IDEX_Y_OFFSET _UxGT("2. nozul Y")
|
||||
#define MSG_IDEX_Z_OFFSET _UxGT("2. nozul Z")
|
||||
#define MSG_IDEX_SAVE_OFFSETS _UxGT("Ofsetleri Kaydet")
|
||||
#define MSG_X_OFFSET _UxGT("2. nozul X")
|
||||
#define MSG_Y_OFFSET _UxGT("2. nozul Y")
|
||||
#define MSG_Z_OFFSET _UxGT("2. nozul Z")
|
||||
#define MSG_UBL_MANUAL_MESH _UxGT("Elle Mesh Oluştur")
|
||||
#define MSG_UBL_BC_INSERT _UxGT("Altlık & Ölçü Ver")
|
||||
#define MSG_UBL_BC_INSERT2 _UxGT("Ölçü")
|
||||
|
@ -391,7 +391,7 @@ void MarlinUI::completion_feedback(const bool good/*=true*/) {
|
||||
if (ui.should_draw()) {
|
||||
#if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
|
||||
if (!do_probe)
|
||||
draw_edit_screen(PSTR(MSG_IDEX_Z_OFFSET), ftostr43sign(hotend_offset[Z_AXIS][active_extruder]));
|
||||
draw_edit_screen(PSTR(MSG_Z_OFFSET), ftostr43sign(hotend_offset[Z_AXIS][active_extruder]));
|
||||
else
|
||||
#endif
|
||||
draw_edit_screen(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
|
||||
|
@ -119,19 +119,37 @@ static void lcd_factory_settings() {
|
||||
|
||||
#endif
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
|
||||
#if HAS_HOTEND_OFFSET
|
||||
#include "../../module/motion.h"
|
||||
#include "../../gcode/queue.h"
|
||||
|
||||
void _recalc_IDEX_settings() {
|
||||
if (active_extruder) { // For the 2nd extruder re-home so the next tool-change gets the new offsets.
|
||||
void _recalc_offsets() {
|
||||
if (active_extruder && all_axes_known()) { // For the 2nd extruder re-home so the next tool-change gets the new offsets.
|
||||
enqueue_and_echo_commands_P(PSTR("G28")); // In future, we can babystep the 2nd extruder (if active), making homing unnecessary.
|
||||
active_extruder = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void menu_IDEX() {
|
||||
void menu_tool_offsets() {
|
||||
START_MENU();
|
||||
MENU_BACK(MSG_MAIN);
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_X_OFFSET, &hotend_offset[X_AXIS][1], MIN(X2_HOME_POS, X2_MAX_POS) - 25.0, MAX(X2_HOME_POS, X2_MAX_POS) + 25.0, _recalc_offsets);
|
||||
#else
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_X_OFFSET, &hotend_offset[X_AXIS][1], -10.0, 10.0, _recalc_offsets);
|
||||
#endif
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_Y_OFFSET, &hotend_offset[Y_AXIS][1], -10.0, 10.0, _recalc_offsets);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_Z_OFFSET, &hotend_offset[Z_AXIS][1], Z_PROBE_LOW_POINT, 10.0, _recalc_offsets);
|
||||
#if ENABLED(EEPROM_SETTINGS)
|
||||
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
|
||||
#endif
|
||||
END_MENU();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
|
||||
void menu_idex() {
|
||||
START_MENU();
|
||||
MENU_BACK(MSG_MAIN);
|
||||
|
||||
@ -146,10 +164,6 @@ static void lcd_factory_settings() {
|
||||
: PSTR("M605 S1\nT0\nM605 S2 X200\nG28 X\nG1 X100\nM605 S3 X200")
|
||||
);
|
||||
MENU_ITEM(gcode, MSG_IDEX_MODE_FULL_CTRL, PSTR("M605 S0\nG28 X"));
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_IDEX_X_OFFSET , &hotend_offset[X_AXIS][1], MIN(X2_HOME_POS, X2_MAX_POS) - 25.0, MAX(X2_HOME_POS, X2_MAX_POS) + 25.0, _recalc_IDEX_settings);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_IDEX_Y_OFFSET , &hotend_offset[Y_AXIS][1], -10.0, 10.0, _recalc_IDEX_settings);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float52, MSG_IDEX_Z_OFFSET , &hotend_offset[Z_AXIS][1], -10.0, 10.0, _recalc_IDEX_settings);
|
||||
MENU_ITEM(gcode, MSG_IDEX_SAVE_OFFSETS, PSTR("M500"));
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
@ -287,8 +301,12 @@ void menu_configuration() {
|
||||
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, menu_delta_calibrate);
|
||||
#endif
|
||||
|
||||
#if HAS_HOTEND_OFFSET
|
||||
MENU_ITEM(submenu, MSG_OFFSETS_MENU, menu_tool_offsets);
|
||||
#endif
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
MENU_ITEM(submenu, MSG_IDEX_MENU, menu_IDEX);
|
||||
MENU_ITEM(submenu, MSG_IDEX_MENU, menu_idex);
|
||||
#endif
|
||||
|
||||
#if ENABLED(BLTOUCH)
|
||||
|
Reference in New Issue
Block a user