Refactor A22 move X/Y/Z or extrude function.
This commit is contained in:
@@ -1321,56 +1321,61 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
case 22: // A22 move X/Y/Z or extrude
|
case 22: // A22 move X/Y/Z or extrude
|
||||||
if (!isPrinting()) {
|
if (!isPrinting()) {
|
||||||
float coorvalue;
|
float coorvalue;
|
||||||
unsigned int movespeed = 0;
|
uint16_t movespeed = 0;
|
||||||
char value[30];
|
char commandStr[30];
|
||||||
|
char fullCommandStr[38];
|
||||||
|
|
||||||
|
commandStr[0] = 0; // empty string
|
||||||
if (CodeSeen('F')) { // Set feedrate
|
if (CodeSeen('F')) { // Set feedrate
|
||||||
movespeed = CodeValue();
|
movespeed = CodeValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
queue.enqueue_now_P(PSTR("G91")); // relative coordinates
|
|
||||||
|
|
||||||
if (CodeSeen('X')) { // Move in X direction
|
if (CodeSeen('X')) { // Move in X direction
|
||||||
coorvalue = CodeValue();
|
coorvalue = CodeValue();
|
||||||
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
||||||
sprintf_P(value, PSTR("G1 X0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 X0.1F%i"), movespeed);
|
||||||
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
||||||
sprintf_P(value, PSTR("G1 X-0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 X-0.1F%i"), movespeed);
|
||||||
} else {
|
} else {
|
||||||
sprintf_P(value, PSTR("G1 X%iF%i"), int(coorvalue), movespeed);
|
sprintf_P(commandStr, PSTR("G1 X%iF%i"), int(coorvalue), movespeed);
|
||||||
}
|
}
|
||||||
queue.enqueue_one_now(value);
|
|
||||||
} else if (CodeSeen('Y')) { // Move in Y direction
|
} else if (CodeSeen('Y')) { // Move in Y direction
|
||||||
coorvalue = CodeValue();
|
coorvalue = CodeValue();
|
||||||
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
||||||
sprintf_P(value, PSTR("G1 Y0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 Y0.1F%i"), movespeed);
|
||||||
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
||||||
sprintf_P(value, PSTR("G1 Y-0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 Y-0.1F%i"), movespeed);
|
||||||
} else {
|
} else {
|
||||||
sprintf_P(value, PSTR("G1 Y%iF%i"), int(coorvalue), movespeed);
|
sprintf_P(commandStr, PSTR("G1 Y%iF%i"), int(coorvalue), movespeed);
|
||||||
}
|
}
|
||||||
queue.enqueue_one_now(value);
|
|
||||||
} else if (CodeSeen('Z')) { // Move in Z direction
|
} else if (CodeSeen('Z')) { // Move in Z direction
|
||||||
coorvalue = CodeValue();
|
coorvalue = CodeValue();
|
||||||
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
||||||
sprintf_P(value, PSTR("G1 Z0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 Z0.1F%i"), movespeed);
|
||||||
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
||||||
sprintf_P(value, PSTR("G1 Z-0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 Z-0.1F%i"), movespeed);
|
||||||
} else {
|
} else {
|
||||||
sprintf_P(value, PSTR("G1 Z%iF%i"), int(coorvalue), movespeed);
|
sprintf_P(commandStr, PSTR("G1 Z%iF%i"), int(coorvalue), movespeed);
|
||||||
}
|
}
|
||||||
queue.enqueue_one_now(value);
|
|
||||||
} else if (CodeSeen('E')) { // Extrude
|
} else if (CodeSeen('E')) { // Extrude
|
||||||
coorvalue = CodeValue();
|
coorvalue = CodeValue();
|
||||||
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
if ((coorvalue <= 0.2) && coorvalue > 0) {
|
||||||
sprintf_P(value, PSTR("G1 E0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 E0.1F%i"), movespeed);
|
||||||
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
} else if ((coorvalue <= -0.1) && coorvalue > -1) {
|
||||||
sprintf_P(value, PSTR("G1 E-0.1F%i"), movespeed);
|
sprintf_P(commandStr, PSTR("G1 E-0.1F%i"), movespeed);
|
||||||
} else {
|
} else {
|
||||||
sprintf_P(value, PSTR("G1 E%iF500"), int(coorvalue));
|
sprintf_P(commandStr, PSTR("G1 E%iF500"), int(coorvalue));
|
||||||
}
|
}
|
||||||
queue.enqueue_one_now(value);
|
|
||||||
}
|
}
|
||||||
queue.enqueue_now_P(PSTR("G90")); // absolute coordinates
|
|
||||||
|
if (strlen(commandStr) > 0) {
|
||||||
|
sprintf_P(fullCommandStr, PSTR("G91\n%s\nG90"), commandStr);
|
||||||
|
#if ENABLED(ANYCUBIC_LCD_DEBUG)
|
||||||
|
SERIAL_ECHOPGM("TFT Serial Debug: A22 Move final request with gcode... ");
|
||||||
|
SERIAL_ECHOLN(fullCommandStr);
|
||||||
|
#endif
|
||||||
|
injectCommands(fullCommandStr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SENDLINE_PGM("");
|
SENDLINE_PGM("");
|
||||||
break;
|
break;
|
||||||
@@ -1661,7 +1666,8 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
#if ENABLED(KNUTWURST_4MAXP2)
|
#if ENABLED(KNUTWURST_4MAXP2)
|
||||||
|
|
||||||
case 30: // a30 assist leveling
|
case 30: // a30 assist leveling
|
||||||
SEND_PGM("J22"); // level watching finish (that's from anycubic's 4MAX firmware and I don't know, what is does)
|
SEND_PGM(
|
||||||
|
"J22"); // level watching finish (that's from anycubic's 4MAX firmware and I don't know, what is does)
|
||||||
SENDLINE_PGM("");
|
SENDLINE_PGM("");
|
||||||
|
|
||||||
if (!isPrintingFromMedia()) {
|
if (!isPrintingFromMedia()) {
|
||||||
@@ -1932,23 +1938,23 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
#if ENABLED(KNUTWURST_MEGA_P)
|
#if ENABLED(KNUTWURST_MEGA_P)
|
||||||
case 51:
|
case 51:
|
||||||
if (CodeSeen('H')) {
|
if (CodeSeen('H')) {
|
||||||
queue.enqueue_now_P(PSTR("G1 Z5 F500"));
|
injectCommands(F("G1 Z5 F500"));
|
||||||
queue.enqueue_now_P(PSTR("G1 X30 Y30 F5000"));
|
injectCommands(F("G1 X30 Y30 F5000"));
|
||||||
queue.enqueue_now_P(PSTR("G1 Z0.15 F300"));
|
injectCommands(F("G1 Z0.15 F300"));
|
||||||
} else if (CodeSeen('I')) {
|
} else if (CodeSeen('I')) {
|
||||||
queue.enqueue_now_P(PSTR("G1 Z5 F500"));
|
injectCommands(F("G1 Z5 F500"));
|
||||||
queue.enqueue_now_P(PSTR("G1 X190 Y30 F5000"));
|
injectCommands(F("G1 X190 Y30 F5000"));
|
||||||
queue.enqueue_now_P(PSTR("G1 Z0.15 F300"));
|
injectCommands(F("G1 Z0.15 F300"));
|
||||||
} else if (CodeSeen('J')) {
|
} else if (CodeSeen('J')) {
|
||||||
queue.enqueue_now_P(PSTR("G1 Z5 F500"));
|
injectCommands(F("G1 Z5 F500"));
|
||||||
queue.enqueue_now_P(PSTR("G1 X190 Y190 F5000"));
|
injectCommands(F("G1 X190 Y190 F5000"));
|
||||||
queue.enqueue_now_P(PSTR("G1 Z0.15 F300"));
|
injectCommands(F("G1 Z0.15 F300"));
|
||||||
} else if (CodeSeen('K')) {
|
} else if (CodeSeen('K')) {
|
||||||
queue.enqueue_now_P(PSTR("G1 Z5 F500"));
|
injectCommands(F("G1 Z5 F500"));
|
||||||
queue.enqueue_now_P(PSTR("G1 X30 Y190 F5000"));
|
injectCommands(F("G1 X30 Y190 F5000"));
|
||||||
queue.enqueue_now_P(PSTR("G1 Z0.15 F300"));
|
injectCommands(F("G1 Z0.15 F300"));
|
||||||
} else if (CodeSeen('L')) {
|
} else if (CodeSeen('L')) {
|
||||||
queue.enqueue_now_P(PSTR("G1 X100 Y100 Z50 F5000"));
|
injectCommands(F("G1 X100 Y100 Z50 F5000"));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user