From f363260a49bd8b614f4d63a1e4d17e403e559eae Mon Sep 17 00:00:00 2001 From: Knutwurst <36196269+knutwurst@users.noreply.github.com> Date: Wed, 26 Aug 2020 14:48:53 +0200 Subject: [PATCH] Massive Code Cleanup and Filament Runout Sensor Pin isn't a magic number anymore. --- Marlin/src/inc/Version.h | 3 +- Marlin/src/lcd/anycubic_touchscreen.cpp | 81 ++++++++----------------- Marlin/src/lcd/anycubic_touchscreen.h | 2 + 3 files changed, 29 insertions(+), 57 deletions(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index cab244fd..90ae279f 100755 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -44,8 +44,7 @@ #define CUSTOM_BUILD_VERSION "1.1.5-beta" #ifndef STRING_DISTRIBUTION_DATE - //#define STRING_DISTRIBUTION_DATE "2020-07-09" - #define STRING_DISTRIBUTION_DATE "2020-08-24" + #define STRING_DISTRIBUTION_DATE "2020-08-26" #endif /** diff --git a/Marlin/src/lcd/anycubic_touchscreen.cpp b/Marlin/src/lcd/anycubic_touchscreen.cpp index d6696064..17b58dc5 100755 --- a/Marlin/src/lcd/anycubic_touchscreen.cpp +++ b/Marlin/src/lcd/anycubic_touchscreen.cpp @@ -121,10 +121,10 @@ void AnycubicTouchscreenClass::Setup() pinMode(SD_DETECT_PIN, INPUT); WRITE(SD_DETECT_PIN, HIGH); #endif - pinMode(19, INPUT); - WRITE(19, HIGH); + pinMode(FILAMENT_RUNOUT_PIN, INPUT); + WRITE(FILAMENT_RUNOUT_PIN, HIGH); #if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR) - if ((READ(19) == true) && FilamentSensorEnabled) + if ((READ(FILAMENT_RUNOUT_PIN) == true) && FilamentSensorEnabled) { HARDWARE_SERIAL_PROTOCOLPGM("J15"); //J15 FILAMENT LACK HARDWARE_SERIAL_ENTER(); @@ -990,7 +990,7 @@ void AnycubicTouchscreenClass::FilamentRunout() if (FilamentSensorEnabled == true) { #if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR) - FilamentTestStatus = READ(19) & 0xff; + FilamentTestStatus = READ(FILAMENT_RUNOUT_PIN) & 0xff; if (FilamentTestStatus > FilamentTestLastStatus) { @@ -1075,49 +1075,34 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() if(!TFTcomment_mode) { TFTcomment_mode = false; //for new command - - //TFTfromsd[TFTbufindw] = false; - + if(strchr(TFTcmdbuffer[TFTbufindw], 'N') != NULL) { - /* - TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], 'N'); - gcode_N = (strtol(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL, 10)); - if(gcode_N != gcode_LastN+1 && (strstr_P(TFTcmdbuffer[TFTbufindw], PSTR("M110")) == NULL) ) + if(strchr(TFTcmdbuffer[TFTbufindw], '*') != NULL) { - HARDWARE_SERIAL_ERROR_START; - NEWFlushSerialRequestResend(); - serial3_count = 0; - return; + byte checksum = 0; + byte count = 0; + while(TFTcmdbuffer[TFTbufindw][count] != '*') checksum = checksum^TFTcmdbuffer[TFTbufindw][count++]; + TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], '*'); + + if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum) + { + HARDWARE_SERIAL_ERROR_START; + HardwareSerial.flush(); + HARDWARE_SERIAL_ERROR_START; + HardwareSerial.flush(); + serial3_count = 0; + return; + } + //if no errors, continue parsing } - */ - - if(strchr(TFTcmdbuffer[TFTbufindw], '*') != NULL) - { - byte checksum = 0; - byte count = 0; - while(TFTcmdbuffer[TFTbufindw][count] != '*') checksum = checksum^TFTcmdbuffer[TFTbufindw][count++]; - TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], '*'); - - if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum) + else { - HARDWARE_SERIAL_ERROR_START; - HardwareSerial.flush(); - HARDWARE_SERIAL_ERROR_START; - HardwareSerial.flush(); - serial3_count = 0; - return; + HARDWARE_SERIAL_ERROR_START; + HardwareSerial.flush(); + serial3_count = 0; + return; } - //if no errors, continue parsing - } - else - { - HARDWARE_SERIAL_ERROR_START; - HardwareSerial.flush(); - serial3_count = 0; - return; - } - //gcode_LastN = gcode_N; //if no errors, continue parsing } else // if we don't receive 'N' but still see '*' @@ -1232,11 +1217,6 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() case 8: // A8 GET SD LIST #ifdef SDSUPPORT currentTouchscreenSelection[0] = 0; - if (!IS_SD_INSERTED()) - { - //HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized - //HARDWARE_SERIAL_ENTER(); - } if (CodeSeen('S')) filenumber = CodeValue(); @@ -1636,15 +1616,6 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() } currentTouchscreenSelection[0] = 0; - - if (!IS_SD_INSERTED()) - { - //HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized - //HARDWARE_SERIAL_ENTER(); -#ifdef ANYCUBIC_TFT_DEBUG - SERIAL_ECHOLNPGM("TFT Serial Debug: SD card initialized... J02"); -#endif - } #endif break; #ifdef SERVO_ENDSTOPS diff --git a/Marlin/src/lcd/anycubic_touchscreen.h b/Marlin/src/lcd/anycubic_touchscreen.h index c0b67144..db7e3424 100755 --- a/Marlin/src/lcd/anycubic_touchscreen.h +++ b/Marlin/src/lcd/anycubic_touchscreen.h @@ -36,6 +36,8 @@ char *ftostr32(const float &); #define MSG_MY_VERSION CUSTOM_BUILD_VERSION #define MAX_PRINTABLE_FILENAME_LEN 30 +#define FILAMENT_RUNOUT_PIN 19 + #define ANYCUBIC_TFT_STATE_IDLE 0 #define ANYCUBIC_TFT_STATE_SDPRINT 1 #define ANYCUBIC_TFT_STATE_SDPAUSE 2