Chiron TFT leveling refactoring.
This commit is contained in:
@@ -88,7 +88,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#if ENABLED(KNUTWURST_CHIRON)
|
#if ENABLED(KNUTWURST_CHIRON)
|
||||||
//#define KNUTWURST_TFT_LEVELING
|
#define KNUTWURST_TFT_LEVELING
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1919,62 +1919,54 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
|
|||||||
#if ENABLED(KNUTWURST_TFT_LEVELING)
|
#if ENABLED(KNUTWURST_TFT_LEVELING)
|
||||||
case 29: // A29 bed grid read
|
case 29: // A29 bed grid read
|
||||||
{
|
{
|
||||||
#ifdef AUTO_BED_LEVELING_BILINEAR
|
if(CodeSeen('X')) x = CodeValue();
|
||||||
if(CodeSeen('X')) x = CodeValue();
|
if(CodeSeen('Y')) y = CodeValue();
|
||||||
if(CodeSeen('Y')) y = CodeValue();
|
float Zvalue = z_values[x][y];
|
||||||
float Zvalue = z_values[x][y];
|
Zvalue = Zvalue * 100;
|
||||||
Zvalue = Zvalue * 100;
|
|
||||||
|
|
||||||
refresh_bed_level();
|
refresh_bed_level();
|
||||||
set_bed_leveling_enabled(true);
|
set_bed_leveling_enabled(true);
|
||||||
|
|
||||||
if ((!planner.movesplanned()) && (TFTstate != ANYCUBIC_TFT_STATE_SDPAUSE) && (TFTstate != ANYCUBIC_TFT_STATE_SDOUTAGE))
|
if ((!planner.movesplanned()) && (TFTstate != ANYCUBIC_TFT_STATE_SDPAUSE) && (TFTstate != ANYCUBIC_TFT_STATE_SDOUTAGE))
|
||||||
|
{
|
||||||
|
if (!all_axes_known())
|
||||||
{
|
{
|
||||||
if (!all_axes_known())
|
queue.enqueue_now_P(PSTR("G28"));
|
||||||
{
|
} else {
|
||||||
queue.enqueue_now_P(PSTR("G28"));
|
destination[Z_AXIS] = (float)(5.0);
|
||||||
} else {
|
prepare_line_to_destination();
|
||||||
destination[Z_AXIS] = (float)(5.0);
|
|
||||||
prepare_line_to_destination();
|
|
||||||
|
|
||||||
feedrate_mm_s = MMM_TO_MMS(3600.0f);
|
feedrate_mm_s = MMM_TO_MMS(3600.0f);
|
||||||
|
|
||||||
destination[X_AXIS] = _GET_MESH_X(x);
|
destination[X_AXIS] = _GET_MESH_X(x);
|
||||||
destination[Y_AXIS] = _GET_MESH_Y(y);
|
destination[Y_AXIS] = _GET_MESH_Y(y);
|
||||||
|
|
||||||
prepare_line_to_destination();
|
prepare_line_to_destination();
|
||||||
|
|
||||||
destination[Z_AXIS] = (float)(EXT_LEVEL_HIGH);
|
destination[Z_AXIS] = (float)(EXT_LEVEL_HIGH);
|
||||||
prepare_line_to_destination();
|
prepare_line_to_destination();
|
||||||
|
|
||||||
report_current_position();
|
report_current_position();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("A29V ");
|
}
|
||||||
HARDWARE_SERIAL_PROTOCOL(ftostr32(Zvalue));
|
HARDWARE_SERIAL_PROTOCOLPGM("A29V ");
|
||||||
HARDWARE_SERIAL_ENTER();
|
HARDWARE_SERIAL_PROTOCOL(ftostr32(Zvalue));
|
||||||
#endif
|
HARDWARE_SERIAL_ENTER();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 30: // A30 auto leveling
|
case 30: // A30 auto leveling
|
||||||
#ifdef AUTO_BED_LEVELING_BILINEAR
|
if( (planner.movesplanned()) || (card.isPrinting()) ) {
|
||||||
if( (planner.movesplanned()) || (card.isPrinting()) ) {
|
HARDWARE_SERIAL_PROTOCOLPGM("J24"); // forbid auto leveling
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("J24"); // forbid auto leveling
|
HARDWARE_SERIAL_ENTER();
|
||||||
HARDWARE_SERIAL_ENTER();
|
} else {
|
||||||
} else {
|
HARDWARE_SERIAL_PROTOCOLPGM("J26"); // start auto leveling
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("J26"); // start auto leveling
|
HARDWARE_SERIAL_ENTER();
|
||||||
HARDWARE_SERIAL_ENTER();
|
}
|
||||||
}
|
if(CodeSeen('S') ) {
|
||||||
if(CodeSeen('S') ) {
|
queue.enqueue_now_P(PSTR("G28\nG29"));
|
||||||
queue.enqueue_now_P(PSTR("G28\nG29"));
|
}
|
||||||
}
|
|
||||||
#else
|
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("J24"); // forbid auto leveling
|
|
||||||
HARDWARE_SERIAL_ENTER();
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 31: // A31 zoffset set get or save
|
case 31: // A31 zoffset set get or save
|
||||||
#ifdef AUTO_BED_LEVELING_BILINEAR
|
|
||||||
if(CodeSeen('S'))
|
if(CodeSeen('S'))
|
||||||
{
|
{
|
||||||
float value = constrain(CodeValue(),-1.0,1.0);
|
float value = constrain(CodeValue(),-1.0,1.0);
|
||||||
@@ -2005,7 +1997,6 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
|
|||||||
refresh_bed_level();
|
refresh_bed_level();
|
||||||
}
|
}
|
||||||
HARDWARE_SERIAL_ENTER();
|
HARDWARE_SERIAL_ENTER();
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 32: //a32 clean leveling beep flag
|
case 32: //a32 clean leveling beep flag
|
||||||
break;
|
break;
|
||||||
@@ -2019,31 +2010,29 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
|
|||||||
break;
|
break;
|
||||||
case 34: //a34 bed grid write
|
case 34: //a34 bed grid write
|
||||||
{
|
{
|
||||||
#ifdef AUTO_BED_LEVELING_BILINEAR
|
if(CodeSeen('X')) x = constrain(CodeValue(),0,GRID_MAX_POINTS_X);
|
||||||
if(CodeSeen('X')) x = constrain(CodeValue(),0,GRID_MAX_POINTS_X);
|
if(CodeSeen('Y')) y = constrain(CodeValue(),0,GRID_MAX_POINTS_Y);
|
||||||
if(CodeSeen('Y')) y = constrain(CodeValue(),0,GRID_MAX_POINTS_Y);
|
if(CodeSeen('V'))
|
||||||
if(CodeSeen('V'))
|
{
|
||||||
{
|
//z_values[x][y] = (float)constrain(CodeValue()/100,-10,10);
|
||||||
//z_values[x][y] = (float)constrain(CodeValue()/100,-10,10);
|
float new_z_value = (float)constrain(CodeValue()/100,-10,10);
|
||||||
float new_z_value = (float)constrain(CodeValue()/100,-10,10);
|
z_values[x][y] = new_z_value;
|
||||||
z_values[x][y] = new_z_value;
|
set_bed_leveling_enabled(true);
|
||||||
set_bed_leveling_enabled(true);
|
refresh_bed_level();
|
||||||
refresh_bed_level();
|
}
|
||||||
}
|
if(CodeSeen('S'))
|
||||||
if(CodeSeen('S'))
|
{
|
||||||
{
|
refresh_bed_level();
|
||||||
refresh_bed_level();
|
set_bed_leveling_enabled(true);
|
||||||
set_bed_leveling_enabled(true);
|
settings.save();
|
||||||
settings.save();
|
}
|
||||||
}
|
if(CodeSeen('C'))
|
||||||
if(CodeSeen('C'))
|
{
|
||||||
{
|
restore_z_values();
|
||||||
restore_z_values();
|
probe.offset.z = SAVE_zprobe_zoffset;
|
||||||
probe.offset.z = SAVE_zprobe_zoffset;
|
set_bed_leveling_enabled(true);
|
||||||
set_bed_leveling_enabled(true);
|
refresh_bed_level();
|
||||||
refresh_bed_level();
|
}
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 35: //RESET AUTOBED DATE //M1000
|
case 35: //RESET AUTOBED DATE //M1000
|
||||||
|
Reference in New Issue
Block a user