- Fix resume from pause (M108)
- Use serial out from progmem for debugging
This commit is contained in:
@@ -202,10 +202,13 @@ AnycubicTouchscreenClass::AnycubicTouchscreenClass() {
|
|||||||
void AnycubicTouchscreenClass::Setup() {
|
void AnycubicTouchscreenClass::Setup() {
|
||||||
HardwareSerial.begin(115200);
|
HardwareSerial.begin(115200);
|
||||||
|
|
||||||
HARDWARE_SERIAL_ENTER();
|
#if DISABLED(KNUTWURST_4MAXP2)
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("J17"); // J17 Main board reset
|
HARDWARE_SERIAL_ENTER();
|
||||||
HARDWARE_SERIAL_ENTER();
|
HARDWARE_SERIAL_PROTOCOLPGM("J17"); // J17 Main board reset
|
||||||
delay(10);
|
HARDWARE_SERIAL_ENTER();
|
||||||
|
delay(10);
|
||||||
|
#endif
|
||||||
|
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("J12"); // J12 Ready
|
HARDWARE_SERIAL_PROTOCOLPGM("J12"); // J12 Ready
|
||||||
HARDWARE_SERIAL_ENTER();
|
HARDWARE_SERIAL_ENTER();
|
||||||
|
|
||||||
@@ -335,18 +338,18 @@ void AnycubicTouchscreenClass::StartPrint(){
|
|||||||
card.startOrResumeFilePrinting();
|
card.startOrResumeFilePrinting();
|
||||||
TFTstate = ANYCUBIC_TFT_STATE_SDPRINT;
|
TFTstate = ANYCUBIC_TFT_STATE_SDPRINT;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
SERIAL_ECHOLNPGM("DEBUG: Regular Start");
|
SERIAL_ECHOLNPGM("DEBUG: Regular Start");
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
// regular sd pause
|
// regular sd pause
|
||||||
queue.inject_P(PSTR("M24")); // unpark nozzle
|
queue.inject_P(PSTR("M108")); // unpark nozzle
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
SERIAL_ECHOLNPGM("DEBUG: M24 Resume from regular pause");
|
SERIAL_ECHOLNPGM("DEBUG: M108 Resume from regular pause");
|
||||||
#endif
|
#endif
|
||||||
IsParked = false; // remove parked flag
|
IsParked = false; // remove parked flag
|
||||||
wait_for_heatup = false;
|
wait_for_heatup = false;
|
||||||
@@ -356,14 +359,14 @@ void AnycubicTouchscreenClass::StartPrint(){
|
|||||||
TFTstate = ANYCUBIC_TFT_STATE_SDPRINT;
|
TFTstate = ANYCUBIC_TFT_STATE_SDPRINT;
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
// paused by M600
|
// paused by M600
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
SERIAL_ECHOLNPGM("DEBUG: Start M108 routine");
|
SERIAL_ECHOLNPGM("DEBUG: Start M108 routine");
|
||||||
#endif
|
#endif
|
||||||
@@ -424,7 +427,7 @@ void AnycubicTouchscreenClass::PausePrint() {
|
|||||||
if (ai3m_pause_state < 2) { // is this a regular pause?
|
if (ai3m_pause_state < 2) { // is this a regular pause?
|
||||||
card.pauseSDPrint(); // pause print regularly
|
card.pauseSDPrint(); // pause print regularly
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
SERIAL_ECHOLNPGM("DEBUG: Regular Pause");
|
SERIAL_ECHOLNPGM("DEBUG: Regular Pause");
|
||||||
#endif
|
#endif
|
||||||
@@ -449,7 +452,7 @@ void AnycubicTouchscreenClass::PausePrint() {
|
|||||||
ai3m_pause_state = 3;
|
ai3m_pause_state = 3;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOLNPGM("DEBUG: M25 sent, parking nozzle");
|
SERIAL_ECHOLNPGM("DEBUG: M25 sent, parking nozzle");
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
IsParked = true;
|
IsParked = true;
|
||||||
@@ -481,7 +484,7 @@ inline void AnycubicTouchscreenClass::StopPrint()
|
|||||||
thermalManager.disable_all_heaters();
|
thermalManager.disable_all_heaters();
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
#if FAN_COUNT > 0
|
#if FAN_COUNT > 0
|
||||||
@@ -512,7 +515,7 @@ void AnycubicTouchscreenClass::FilamentChangePause() {
|
|||||||
// gets used when the user hits CONTINUE
|
// gets used when the user hits CONTINUE
|
||||||
ai3m_pause_state = 2;
|
ai3m_pause_state = 2;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -542,7 +545,7 @@ void AnycubicTouchscreenClass::ReheatNozzle() {
|
|||||||
if (ai3m_pause_state > 3) {
|
if (ai3m_pause_state > 3) {
|
||||||
ai3m_pause_state -= 2;
|
ai3m_pause_state -= 2;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: NTO done, AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: NTO done, AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -572,7 +575,7 @@ void AnycubicTouchscreenClass::ParkAfterStop(){
|
|||||||
queue.enqueue_now_P(PSTR("M27")); // force report of SD status
|
queue.enqueue_now_P(PSTR("M27")); // force report of SD status
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -593,7 +596,7 @@ bool AnycubicTouchscreenClass::CodeSeen(char code) {
|
|||||||
void AnycubicTouchscreenClass::HandleSpecialMenu() {
|
void AnycubicTouchscreenClass::HandleSpecialMenu() {
|
||||||
#if ENABLED(KNUTWURST_SPECIAL_MENU)
|
#if ENABLED(KNUTWURST_SPECIAL_MENU)
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: Special Menu Selection: ", currentTouchscreenSelection);
|
SERIAL_ECHOPGM(" DEBUG: Special Menu Selection: ", currentTouchscreenSelection);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
if ((strcasestr_P(currentTouchscreenSelection, PSTR(SM_SPECIAL_MENU_L)) != NULL)
|
if ((strcasestr_P(currentTouchscreenSelection, PSTR(SM_SPECIAL_MENU_L)) != NULL)
|
||||||
@@ -964,7 +967,7 @@ void AnycubicTouchscreenClass::PrintList() {
|
|||||||
zOffsetBuffer = SM_BLTZ_DISP_L;
|
zOffsetBuffer = SM_BLTZ_DISP_L;
|
||||||
|
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: Current probe.offset.z: ", float(probe.offset.z));
|
SERIAL_ECHOPGM(" DEBUG: Current probe.offset.z: ", float(probe.offset.z));
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1280,7 +1283,7 @@ void AnycubicTouchscreenClass::StateHandler() {
|
|||||||
#endif
|
#endif
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -1306,7 +1309,7 @@ void AnycubicTouchscreenClass::StateHandler() {
|
|||||||
// no flags, this is a regular pause.
|
// no flags, this is a regular pause.
|
||||||
ai3m_pause_state = 1;
|
ai3m_pause_state = 1;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
SERIAL_ECHOLNPGM("DEBUG: Regular Pause requested");
|
SERIAL_ECHOLNPGM("DEBUG: Regular Pause requested");
|
||||||
#endif
|
#endif
|
||||||
@@ -1342,7 +1345,7 @@ void AnycubicTouchscreenClass::StateHandler() {
|
|||||||
#endif
|
#endif
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -1390,7 +1393,7 @@ void AnycubicTouchscreenClass::FilamentRunout() {
|
|||||||
if (card.isPrinting()) {
|
if (card.isPrinting()) {
|
||||||
ai3m_pause_state = 3; // set runout pause flag
|
ai3m_pause_state = 3; // set runout pause flag
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
PausePrint();
|
PausePrint();
|
||||||
@@ -1600,7 +1603,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
else {
|
else {
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
StopPrint();
|
StopPrint();
|
||||||
@@ -1633,7 +1636,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
TFTstate = ANYCUBIC_TFT_STATE_IDLE;
|
TFTstate = ANYCUBIC_TFT_STATE_IDLE;
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -1649,7 +1652,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
if (TFTstrchr_pointer[4] == '/') {
|
if (TFTstrchr_pointer[4] == '/') {
|
||||||
strcpy(currentTouchscreenSelection, TFTstrchr_pointer + 5);
|
strcpy(currentTouchscreenSelection, TFTstrchr_pointer + 5);
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" TFT Serial Debug: currentTouchscreenSelection: ",currentTouchscreenSelection);
|
SERIAL_ECHOPGM(" TFT Serial Debug: currentTouchscreenSelection: ",currentTouchscreenSelection);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -1692,7 +1695,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
powerOFFflag = 0;
|
powerOFFflag = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPGM(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
StartPrint();
|
StartPrint();
|
||||||
@@ -1898,7 +1901,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
case 26: // A26 refresh SD
|
case 26: // A26 refresh SD
|
||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" TFT Serial Debug: currentTouchscreenSelection: ",currentTouchscreenSelection);
|
SERIAL_ECHOPGM(" TFT Serial Debug: currentTouchscreenSelection: ",currentTouchscreenSelection);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
if (currentTouchscreenSelection[0] == 0) {
|
if (currentTouchscreenSelection[0] == 0) {
|
||||||
|
Reference in New Issue
Block a user