Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1 #36

Open
wants to merge 3 commits into
base: tronxy-full-mks-tft
Choose a base branch
from
Open

1 #36

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
//JUST uncomment the option for your machine
// #define V6_330_TITAN_TMC 1
// #define V6_330_TITAN_NO_TMC 1
// #define V6_330_NO_TITAN_TMC 1
#define V6_330_NO_TITAN_TMC 1
// #define V6_330_NO_TITAN_NO_TMC 1
// #define V6_400_TITAN_TMC 1
// #define V6_400_NO_TITAN_TMC 1
Expand Down Expand Up @@ -57,7 +57,7 @@

// #define TFT_LVGL_UI
// #define TFT_CLASSIC_UI
// #define TFT_COLOR_UI
#define TFT_COLOR_UI

#if V6_330_TITAN_TMC
#define MOTHERBOARD BOARD_CHITU3D_V6
Expand Down Expand Up @@ -86,7 +86,7 @@
#define X_BED_SIZE 330
#define Y_BED_SIZE 330
#define Z_MAX_POS 400
#define CUSTOM_MACHINE_NAME "Tronxy X5SA V6 330 TMC"
#define CUSTOM_MACHINE_NAME "Tronxy X5SA-PRO V6 330 TMC"
#define COREXY

#elif V6_330_NO_TITAN_NO_TMC
Expand Down Expand Up @@ -1090,7 +1090,7 @@
#elif WITH_TMC && WITH_TITAN
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 800, 764 }
#elif WITH_TMC && !WITH_TITAN && !WITH_BMG
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 800, 186 }
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 3200, 275 }
#elif WITH_TITAN && !WITH_TMC
#if defined(T2_LEADSCREW)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 1600, 420 }
Expand Down Expand Up @@ -1434,7 +1434,7 @@
* These options are most useful for the BLTouch probe, but may also improve
* readings with inductive probes and piezo sensors.
*/
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
#define PROBING_HEATERS_OFF // Turn heaters off when probing
#if ENABLED(PROBING_HEATERS_OFF)
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
#endif
Expand Down Expand Up @@ -1634,7 +1634,7 @@
* With an LCD controller the process is guided step-by-step.
*/
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
#if WITHOUT_ABL
#define MESH_BED_LEVELING
#else
Expand Down Expand Up @@ -1686,7 +1686,7 @@
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)

// Set the number of grid points per dimension.
#define GRID_MAX_POINTS_X 4
#define GRID_MAX_POINTS_X 5
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

// Probe along the Y axis, advancing X after each column
Expand Down Expand Up @@ -1752,7 +1752,7 @@
#if ENABLED(LCD_BED_LEVELING)
#define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis.
#define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
//#define MESH_EDIT_MENU // Add a menu to edit mesh points
#define MESH_EDIT_MENU // Add a menu to edit mesh points
#endif

// Add a menu item to move between bed corners for manual bed adjustment
Expand Down
1 change: 1 addition & 0 deletions Marlin/src/lcd/language/language_de.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ namespace Language_de {
PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Ecken nivellieren");
PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Nächste Ecke");
PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Netz Editor");
PROGMEM Language_Str MSG_SHOW_MESH = _UxGT("Netz anzeigen");
PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Netz bearbeiten");
PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Netzbearb. angeh.");
PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Messpunkt");
Expand Down
1 change: 1 addition & 0 deletions Marlin/src/lcd/language/language_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ namespace Language_en {
PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Level Corners");
PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Next Corner");
PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Mesh Editor");
PROGMEM Language_Str MSG_SHOW_MESH = _UxGT("Show Mesh");
PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Edit Mesh");
PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Mesh Editing Stopped");
PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Probing Point");
Expand Down
99 changes: 89 additions & 10 deletions Marlin/src/lcd/menu/menu_bed_leveling.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,16 +206,94 @@
sync_plan_position();
}

void menu_edit_mesh() {
static uint8_t xind, yind; // =0
START_MENU();
BACK_ITEM(MSG_BED_LEVELING);
EDIT_ITEM(uint8, MSG_MESH_X, &xind, 0, GRID_MAX_POINTS_X - 1);
EDIT_ITEM(uint8, MSG_MESH_Y, &yind, 0, GRID_MAX_POINTS_Y - 1);
EDIT_ITEM_FAST(float43, MSG_MESH_EDIT_Z, &Z_VALUES(xind, yind), -(LCD_PROBE_Z_RANGE) * 0.5, (LCD_PROBE_Z_RANGE) * 0.5, refresh_planner);
END_MENU();
}

// Show Mesh Menu (c) 2021 aKuechel
void menu_show_mesh() {
#if (GRID_MAX_POINTS_Y==3)
int ygrida=0, ygridc=1, ygride=2;
#endif // Y=3
#if (GRID_MAX_POINTS_Y==5)
int ygrida=0, ygridb=1, ygridc=2, ygridd=3, ygride=4;
#endif // Y=5
#if (GRID_MAX_POINTS_Y==7)
int ygrida=0, ygridc=3, ygride=6;
#endif // Y=7
#if (GRID_MAX_POINTS_Y==9)
int ygrida=0, ygridb=2, ygridc=4, ygridd=6, ygride=8;
#endif // Y=9
#if (GRID_MAX_POINTS_X==3)
int xgrida=0, xgridc=1, xgride=2;
#endif // X=3
#if (GRID_MAX_POINTS_X==5)
int xgrida=0, xgridb=1, xgridc=2, xgridd=3, xgride=4;
#endif // X=5
#if (GRID_MAX_POINTS_X==7)
int xgrida=0, xgridc=3, xgride=6;
#endif // X=7
#if (GRID_MAX_POINTS_X==9)
int xgrida=0, xgridb=2, xgridc=4, xgridd=6, xgride=8;
#endif // X=9
int posxstart=20;
int posxabst=(TFT_WIDTH - 120) / 4; // 90
int posystart=5;
int posyabst=(TFT_HEIGHT - 160) / 4; // 40
START_MENU();
BACK_ITEM(MSG_BED_LEVELING);
tft.canvas(5, 55, TFT_WIDTH - 10, TFT_HEIGHT - 55);
tft.set_background(COLOR_BACKGROUND);
tft.add_rectangle(0, 0, TFT_WIDTH - 10, TFT_HEIGHT - 110, COLOR_AXIS_HOMED);
#if (GRID_MAX_POINTS_X==3 || GRID_MAX_POINTS_X==5 || GRID_MAX_POINTS_X==7 || GRID_MAX_POINTS_X==9)
#if (GRID_MAX_POINTS_Y==3 || GRID_MAX_POINTS_Y==5 || GRID_MAX_POINTS_Y==7 || GRID_MAX_POINTS_Y==9)
float korrektur=(Z_VALUES(xgrida, ygrida)+Z_VALUES(xgrida, ygridc)+Z_VALUES(xgrida, ygride)+Z_VALUES(xgridc, ygrida)+Z_VALUES(xgridc, ygride)+Z_VALUES(xgride, ygrida)+Z_VALUES(xgride, ygridc)+Z_VALUES(xgride, ygride))/8;
tft.add_text(posxstart, posystart, COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgrida, ygride)-korrektur));
tft.add_text(posxstart + (posxabst * 2), posystart, COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgridc, ygride)-korrektur));
tft.add_text(posxstart + (posxabst * 4), posystart, COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgride, ygride)-korrektur));
tft.add_text(posxstart, posystart + (posyabst * 2), COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgrida, ygridc)-korrektur));
tft.add_text(posxstart + (posxabst * 2), posystart + (posyabst * 2), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridc, ygridc)-korrektur));
tft.add_text(posxstart + (posxabst * 4), posystart + (posyabst * 2), COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgride, ygridc)-korrektur));
tft.add_text(posxstart, posystart + (posyabst * 4), COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgrida, ygrida)-korrektur));
tft.add_text(posxstart + (posxabst * 2), posystart + (posyabst * 4), COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgridc, ygrida)-korrektur));
tft.add_text(posxstart + (posxabst * 4), posystart + (posyabst * 4), COLOR_AXIS_HOMED, ftostr53_63(Z_VALUES(xgride, ygrida)-korrektur));
#if (GRID_MAX_POINTS_X==5 || GRID_MAX_POINTS_X==9)
tft.add_text(posxstart + posxabst, posystart, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridb, ygride)-korrektur));
tft.add_text(posxstart + (posxabst * 3), posystart, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridd, ygride)-korrektur));
tft.add_text(posxstart + posxabst, posystart + (posyabst * 2), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridb, ygridc)-korrektur));
tft.add_text(posxstart + (posxabst * 3), posystart + (posyabst * 2), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridd, ygridc)-korrektur));
tft.add_text(posxstart + posxabst, posystart + (posyabst * 4), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridb, ygrida)-korrektur));
tft.add_text(posxstart + (posxabst * 3), posystart + (posyabst * 4), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridd, ygrida)-korrektur));
#endif
#if (GRID_MAX_POINTS_Y==5 || GRID_MAX_POINTS_Y==9)
tft.add_text(posxstart, posystart + posyabst, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgrida, ygridd)-korrektur));
tft.add_text(posxstart + (posxabst *2), posystart + posyabst, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridc, ygridd)-korrektur));
tft.add_text(posxstart + (posxabst * 4), posystart + posyabst, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgride, ygridd)-korrektur));
tft.add_text(posxstart, posystart + (posyabst * 3), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgrida, ygridb)-korrektur));
tft.add_text(posxstart + (posxabst *2), posystart + (posyabst * 3), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridc, ygridb)-korrektur));
tft.add_text(posxstart + (posxabst * 4), posystart + (posyabst * 3), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgride, ygridb)-korrektur));
#if (GRID_MAX_POINTS_X==5 || GRID_MAX_POINTS_X==9)
tft.add_text(posxstart + posxabst, posystart + posyabst, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridb, ygridd)-korrektur));
tft.add_text(posxstart + (posxabst * 3), posystart + posyabst, COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridd, ygridd)-korrektur));
tft.add_text(posxstart + posxabst, posystart + (posyabst * 3), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridb, ygridb)-korrektur));
tft.add_text(posxstart + (posxabst * 3), posystart + (posyabst * 3), COLOR_AXIS_NOT_HOMED, ftostr53_63(Z_VALUES(xgridd, ygridb)-korrektur));
#endif
#endif
#else
tft.add_text(posxstart, posystart + (posyabst * 2), COLOR_AXIS_HOMED, "GRID_MAX_POINTS in Configuration.h");
tft.add_text(posxstart, posystart + (posyabst * 3), COLOR_AXIS_HOMED, "have to be 3, 5, 7 or 9");
#endif
#else
tft.add_text(posxstart, posystart + (posyabst * 2), COLOR_AXIS_HOMED, "GRID_MAX_POINTS in Configuration.h");
tft.add_text(posxstart, posystart + (posyabst * 3), COLOR_AXIS_HOMED, "have to be 3, 5, 7 or 9");
#endif
END_MENU();
}
void menu_edit_mesh() {
static uint8_t xind, yind; // =0
START_MENU();
BACK_ITEM(MSG_BED_LEVELING);
EDIT_ITEM(uint8, MSG_MESH_X, &xind, 0, (GRID_MAX_POINTS_X) - 1);
EDIT_ITEM(uint8, MSG_MESH_Y, &yind, 0, (GRID_MAX_POINTS_Y) - 1);
EDIT_ITEM_FAST(float43, MSG_MESH_EDIT_Z, &Z_VALUES(xind, yind), -(LCD_PROBE_Z_RANGE) * 0.5, (LCD_PROBE_Z_RANGE) * 0.5, refresh_planner);
END_MENU();
}
#endif // MESH_EDIT_MENU

/**
Expand Down Expand Up @@ -254,6 +332,7 @@ void menu_bed_leveling() {
#endif

#if ENABLED(MESH_EDIT_MENU)
if (is_valid) SUBMENU(MSG_SHOW_MESH, menu_show_mesh);
if (is_valid) SUBMENU(MSG_EDIT_MESH, menu_edit_mesh);
#endif

Expand Down
Loading