Skip to content

Commit d7a90e4

Browse files
committed
Little mesheditor optimization
1 parent 70ca669 commit d7a90e4

File tree

2 files changed

+26
-38
lines changed

2 files changed

+26
-38
lines changed

TFT/src/User/API/ProbeHeightControl.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#define ENDSTOP_CMD "M211 S%d\n"
55
#define ENDSTOP_CMD_RRF "M564 S%d H%d\n" // for RRF
6-
#define MOVE_Z_CMD "G1 Z%.2f F%d\n"
6+
#define MOVE_Z_CMD "G0 Z%.2f F%d\n"
77

88
#define PROBE_UPDATE_DELAY 200 // 1 seconds is 1000
99

TFT/src/User/Menu/MeshEditor.c

+25-37
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ const GUI_RECT meshKeyRect[ME_KEY_NUM] = {
184184

185185
// arrow keys
186186
{MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 0 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT}, // UP
187-
{MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // PREV
188-
{MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // NEXT
187+
{MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // LEFT
188+
{MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // RIGHT
189189
{MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 3 * MESH_ARROW_HEIGHT}, // DOWN
190190
#else
191191
#ifdef KEYBOARD_ON_LEFT
@@ -362,7 +362,7 @@ void meshSaveCallback(void)
362362
memcpy(meshData->oriData, meshData->curData, sizeof(meshData->oriData)); // sync mesh data
363363
}
364364

365-
static void meshUpdateIndex(MESH_KEY_VALUES key_num)
365+
static void meshUpdateIndex(const MESH_KEY_VALUES key_num)
366366
{
367367
switch (key_num)
368368
{
@@ -403,7 +403,7 @@ static bool meshSetValue(const float newMeshData)
403403
{
404404
if (meshData->curData[meshData->index] != newMeshData)
405405
{
406-
mustStoreCmd("M421 I%d J%d Z%.3f\n", (meshData->rowsNum - 1) - meshData->row, newMeshData); // (meshData->rowsNum - 1) - meshData->row -> real row in eeprom
406+
mustStoreCmd("M421 I%d J%d Z%.3f\n", meshData->col, (meshData->rowsNum - 1) - meshData->row, newMeshData); // (meshData->rowsNum - 1) - meshData->row -> real row in eeprom
407407
meshData->curData[meshData->index] = newMeshData;
408408
return true;
409409
}
@@ -417,9 +417,9 @@ static void meshUpdateValueMinMax(void)
417417

418418
for (uint16_t i = 0; i < meshData->dataSize; i++)
419419
{
420-
if(meshData->curData[i] < meshData->valueMin)
420+
if (meshData->curData[i] < meshData->valueMin)
421421
meshData->valueMin = meshData->curData[i];
422-
else if(meshData->curData[i] > meshData->valueMax)
422+
else if (meshData->curData[i] > meshData->valueMax)
423423
meshData->valueMax = meshData->curData[i];
424424
}
425425

@@ -769,11 +769,10 @@ void meshUpdateData(char * dataRow)
769769
void menuMeshEditor(void)
770770
{
771771
MESH_KEY_VALUES key_num = ME_KEY_IDLE;
772-
uint16_t oldIndex;
773772
uint16_t curIndex;
774773

775774
meshAllocData(); // allocates and initialize mesh data if not already allocated and initialized
776-
oldIndex = curIndex = meshData->index;
775+
curIndex = meshData->index;
777776

778777
mustStoreCmd("M420 V1 T1\n"); // retrieve the mesh data
779778

@@ -804,17 +803,20 @@ void menuMeshEditor(void)
804803
case ME_KEY_RIGHT:
805804
case ME_KEY_INCREASE:
806805
meshUpdateIndex(key_num);
806+
meshDrawGridCell(curIndex, true); // draw point with old index
807+
curIndex = meshData->index;
808+
meshDrawGridCell(curIndex, true); // draw point with new index
809+
meshDrawInfo(false);
807810
break;
808811

809812
case ME_KEY_EDIT:
810-
{
811-
if (coordinateIsKnown() == false)
812-
probeHeightHome(); // home, disable ABL and raise nozzle
813+
if (coordinateIsKnown() == false)
814+
probeHeightHome(); // home, disable ABL and raise nozzle
813815

814-
meshSetValue(menuMeshTuner(meshData->col, (meshData->rowsNum - 1) - meshData->row, meshData->curData[curIndex])); // (meshData->rowsNum - 1) - meshData->row -> real row in eeprom
816+
// call mesh tuner menu and set current mesh value, if changed
817+
meshSetValue(menuMeshTuner(meshData->col, (meshData->rowsNum - 1) - meshData->row, meshData->curData[curIndex])); // (meshData->rowsNum - 1) - meshData->row -> real row in eeprom
815818

816-
meshDrawMenu();
817-
}
819+
meshDrawMenu();
818820
break;
819821

820822
case ME_KEY_RESET:
@@ -833,33 +835,19 @@ void menuMeshEditor(void)
833835
meshSave(); // save mesh changes to eeprom (if eeprom exists)
834836
break;
835837

836-
default:
837-
break;
838-
}
838+
case ME_KEY_OK:
839+
if (memcmp(meshData->oriData, meshData->curData, sizeof(meshData->oriData)))
840+
meshSave(); // save mesh changes to eeprom (if eeprom exists)
839841

840-
if (key_num == ME_KEY_OK)
841-
{
842-
if (memcmp(meshData->oriData, meshData->curData, sizeof(meshData->oriData)))
843-
meshSave(); // save mesh changes to eeprom (if eeprom exists)
842+
meshDeallocData();
843+
CLOSE_MENU();
844+
break;
844845

845-
meshDeallocData();
846-
CLOSE_MENU();
846+
default:
847+
break;
847848
}
848-
else
849-
{
850-
if (curIndex != meshData->index)
851-
{
852-
curIndex = meshData->index;
853-
854-
meshDrawGridCell(oldIndex, true); // draw point with old index
855-
meshDrawGridCell(curIndex, true); // draw point with new index
856-
meshDrawInfo(false);
857-
858-
oldIndex = curIndex;
859-
}
860849

861-
loopProcess();
862-
}
850+
loopProcess();
863851
}
864852

865853
// restore default

0 commit comments

Comments
 (0)