@@ -184,8 +184,8 @@ const GUI_RECT meshKeyRect[ME_KEY_NUM] = {
184
184
185
185
// arrow keys
186
186
{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
189
189
{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
190
190
#else
191
191
#ifdef KEYBOARD_ON_LEFT
@@ -362,7 +362,7 @@ void meshSaveCallback(void)
362
362
memcpy (meshData -> oriData , meshData -> curData , sizeof (meshData -> oriData )); // sync mesh data
363
363
}
364
364
365
- static void meshUpdateIndex (MESH_KEY_VALUES key_num )
365
+ static void meshUpdateIndex (const MESH_KEY_VALUES key_num )
366
366
{
367
367
switch (key_num )
368
368
{
@@ -403,7 +403,7 @@ static bool meshSetValue(const float newMeshData)
403
403
{
404
404
if (meshData -> curData [meshData -> index ] != newMeshData )
405
405
{
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
407
407
meshData -> curData [meshData -> index ] = newMeshData ;
408
408
return true;
409
409
}
@@ -417,9 +417,9 @@ static void meshUpdateValueMinMax(void)
417
417
418
418
for (uint16_t i = 0 ; i < meshData -> dataSize ; i ++ )
419
419
{
420
- if (meshData -> curData [i ] < meshData -> valueMin )
420
+ if (meshData -> curData [i ] < meshData -> valueMin )
421
421
meshData -> valueMin = meshData -> curData [i ];
422
- else if (meshData -> curData [i ] > meshData -> valueMax )
422
+ else if (meshData -> curData [i ] > meshData -> valueMax )
423
423
meshData -> valueMax = meshData -> curData [i ];
424
424
}
425
425
@@ -769,11 +769,10 @@ void meshUpdateData(char * dataRow)
769
769
void menuMeshEditor (void )
770
770
{
771
771
MESH_KEY_VALUES key_num = ME_KEY_IDLE ;
772
- uint16_t oldIndex ;
773
772
uint16_t curIndex ;
774
773
775
774
meshAllocData (); // allocates and initialize mesh data if not already allocated and initialized
776
- oldIndex = curIndex = meshData -> index ;
775
+ curIndex = meshData -> index ;
777
776
778
777
mustStoreCmd ("M420 V1 T1\n" ); // retrieve the mesh data
779
778
@@ -804,17 +803,20 @@ void menuMeshEditor(void)
804
803
case ME_KEY_RIGHT :
805
804
case ME_KEY_INCREASE :
806
805
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);
807
810
break ;
808
811
809
812
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
813
815
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
815
818
816
- meshDrawMenu ();
817
- }
819
+ meshDrawMenu ();
818
820
break ;
819
821
820
822
case ME_KEY_RESET :
@@ -833,33 +835,19 @@ void menuMeshEditor(void)
833
835
meshSave (); // save mesh changes to eeprom (if eeprom exists)
834
836
break ;
835
837
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)
839
841
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 ;
844
845
845
- meshDeallocData ();
846
- CLOSE_MENU () ;
846
+ default :
847
+ break ;
847
848
}
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
- }
860
849
861
- loopProcess ();
862
- }
850
+ loopProcess ();
863
851
}
864
852
865
853
// restore default
0 commit comments