diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 36a9e7ef..1fef643f 100755 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -91,7 +91,7 @@ #define KNUTWURST_TFT_LEVELING #endif - +#define KNUTWURST_TFT_LEVELING /* * Here you can set the default preheat-Temperatures * which are set when you use the builtin preheat @@ -1715,15 +1715,14 @@ // Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST - /* + #if ENABLED(KNUTWURST_TFT_LEVELING) #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE #define MIN_PROBE_EDGE_RIGHT (MIN_PROBE_EDGE_LEFT + 380) #define MIN_PROBE_EDGE_FRONT (MIN_PROBE_EDGE + 9) #define MIN_PROBE_EDGE_BACK (MIN_PROBE_EDGE_FRONT + 380) #endif - */ - + #if ENABLED(AUTO_BED_LEVELING_BILINEAR) // Beyond the probed grid, continue the implied tilt? diff --git a/Marlin/src/lcd/anycubic_touchscreen.cpp b/Marlin/src/lcd/anycubic_touchscreen.cpp index 52b7d6b7..a5a707b0 100755 --- a/Marlin/src/lcd/anycubic_touchscreen.cpp +++ b/Marlin/src/lcd/anycubic_touchscreen.cpp @@ -47,7 +47,9 @@ char _conv[8]; int z_values_index; int z_values_size; float SAVE_zprobe_zoffset; - + uint8_t x; + uint8_t y; + void restore_z_values() { uint16_t size = z_values_size; int pos = z_values_index; @@ -1364,11 +1366,6 @@ static boolean TFTcomment_mode = false; void AnycubicTouchscreenClass::GetCommandFromTFT() { char *starpos = NULL; - #if ENABLED(KNUTWURST_TFT_LEVELING) - uint8_t x; - uint8_t y; - #endif - while( HardwareSerial.available() > 0 && TFTbuflen < TFTBUFSIZE) { serial3_char = HardwareSerial.read(); @@ -1902,8 +1899,16 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() #if ENABLED(KNUTWURST_TFT_LEVELING) case 29: // A29 bed grid read { - if(CodeSeen('X')) x = CodeValue(); - if(CodeSeen('Y')) y = CodeValue(); + if(CodeSeen('X')) + { + x = CodeValue(); + } + + if(CodeSeen('Y')) + { + y = CodeValue(); + } + float Zvalue = z_values[x][y]; Zvalue = Zvalue * 100; @@ -1949,8 +1954,8 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() queue.enqueue_now_P(PSTR("G28\nG29")); } break; - case 31: // A31 zoffset set get or save - if(CodeSeen('S')) + case 31: // A31 z-offset + if(CodeSeen('S')) // set { float value = constrain(CodeValue(),-1.0,1.0); probe.offset.z += value; @@ -1965,7 +1970,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() HARDWARE_SERIAL_ENTER(); } - if(CodeSeen('G')) + if(CodeSeen('G')) // get { SAVE_zprobe_zoffset = probe.offset.z; HARDWARE_SERIAL_PROTOCOLPGM("A31V "); @@ -1973,7 +1978,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() HARDWARE_SERIAL_ENTER(); } - if(CodeSeen('D')) + if(CodeSeen('D')) // save { SAVE_zprobe_zoffset = probe.offset.z; settings.save(); @@ -1994,8 +1999,14 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() break; case 34: //a34 bed grid write { - if(CodeSeen('X')) x = constrain(CodeValue(),0,GRID_MAX_POINTS_X); - if(CodeSeen('Y')) y = constrain(CodeValue(),0,GRID_MAX_POINTS_Y); + if(CodeSeen('X')) + { + x = constrain(CodeValue(),0,GRID_MAX_POINTS_X); + } + if(CodeSeen('Y')) + { + y = constrain(CodeValue(),0,GRID_MAX_POINTS_Y); + } if(CodeSeen('V')) { //z_values[x][y] = (float)constrain(CodeValue()/100,-10,10); @@ -2022,7 +2033,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() case 35: //RESET AUTOBED DATE //M1000 initializeGrid(); break; - case 36: // A36 auto leveling (Old Anycubic TFT) + case 36: // A36 auto leveling (New Anycubic TFT) if( (planner.movesplanned()) || (card.isPrinting()) ) { HARDWARE_SERIAL_PROTOCOLPGM("J24"); // forbid auto leveling HARDWARE_SERIAL_ENTER();