diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h index ae487e36c..c9d44b1be 100644 --- a/Marlin/Conditionals_LCD.h +++ b/Marlin/Conditionals_LCD.h @@ -505,4 +505,6 @@ #define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER)) #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED)) +#define USE_MARLINSERIAL !(defined(__AVR__) && defined(USBCON)) + #endif // CONDITIONALS_LCD_H diff --git a/Marlin/MarlinConfig.h b/Marlin/MarlinConfig.h index 47e6020d9..f0aa13044 100644 --- a/Marlin/MarlinConfig.h +++ b/Marlin/MarlinConfig.h @@ -30,7 +30,7 @@ #include "Conditionals_LCD.h" #include "Configuration_adv.h" -#if defined(__AVR__) && !defined(USBCON) +#if USE_MARLINSERIAL #define HardwareSerial_h // trick to disable the standard HWserial #endif diff --git a/Marlin/MarlinSerial.cpp b/Marlin/MarlinSerial.cpp index cd4dd03ad..83bc49edc 100644 --- a/Marlin/MarlinSerial.cpp +++ b/Marlin/MarlinSerial.cpp @@ -34,7 +34,7 @@ #include "MarlinConfig.h" -#if !(defined(__AVR__) && defined(USBCON)) && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)) +#if USE_MARLINSERIAL && (defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)) #include "MarlinSerial.h" #include "Marlin.h" @@ -561,9 +561,9 @@ // Preinstantiate MarlinSerial customizedSerial; -#endif // !(__AVR__ && USBCON) && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H) +#endif // USE_MARLINSERIAL && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H) // For AT90USB targets use the UART for BT interfacing -#if defined(__AVR__) && defined(USBCON) && ENABLED(BLUETOOTH) +#if !USE_MARLINSERIAL && ENABLED(BLUETOOTH) HardwareSerial bluetoothSerial; #endif diff --git a/Marlin/MarlinSerial.h b/Marlin/MarlinSerial.h index 9060f668a..96071f800 100644 --- a/Marlin/MarlinSerial.h +++ b/Marlin/MarlinSerial.h @@ -85,7 +85,7 @@ #define TX_BUFFER_SIZE 32 #endif -#if !(defined(__AVR__) && defined(USBCON)) +#if USE_MARLINSERIAL #if RX_BUFFER_SIZE > 256 typedef uint16_t ring_buffer_pos_t; @@ -159,10 +159,10 @@ extern MarlinSerial customizedSerial; -#endif // !(__AVR__ && USBCON) +#endif // USE_MARLINSERIAL // Use the UART for Bluetooth in AT90USB configurations -#if defined(__AVR__) && defined(USBCON) && ENABLED(BLUETOOTH) +#if !USE_MARLINSERIAL && ENABLED(BLUETOOTH) extern HardwareSerial bluetoothSerial; #endif diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 2211bda88..08384b175 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -14500,15 +14500,14 @@ void loop() { card.closefile(); SERIAL_PROTOCOLLNPGM(MSG_FILE_SAVED); - #if !(defined(__AVR__) && defined(USBCON)) + #if USE_MARLINSERIAL #if ENABLED(SERIAL_STATS_DROPPED_RX) SERIAL_ECHOLNPAIR("Dropped bytes: ", customizedSerial.dropped()); #endif - #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) SERIAL_ECHOLNPAIR("Max RX Queue Size: ", customizedSerial.rxMaxEnqueued()); #endif - #endif // !(__AVR__ && USBCON) + #endif ok_to_send(); } diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 6e7b62286..bf6d449cb 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -307,7 +307,7 @@ /** * Serial */ -#if !(defined(__AVR__) && defined(USBCON)) +#if USE_MARLINSERIAL #if ENABLED(SERIAL_XON_XOFF) && RX_BUFFER_SIZE < 1024 #error "SERIAL_XON_XOFF requires RX_BUFFER_SIZE >= 1024 for reliable transfers without drops." #elif RX_BUFFER_SIZE && (RX_BUFFER_SIZE < 2 || !IS_POWER_OF_2(RX_BUFFER_SIZE)) @@ -1274,7 +1274,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, /** * emergency-command parser */ -#if ENABLED(EMERGENCY_PARSER) && defined(__AVR__) && defined(USBCON) +#if ENABLED(EMERGENCY_PARSER) && !USE_MARLINSERIAL #error "EMERGENCY_PARSER does not work on boards with AT90USB processors (USBCON)." #endif diff --git a/Marlin/serial.h b/Marlin/serial.h index dc1da8735..139f99c11 100644 --- a/Marlin/serial.h +++ b/Marlin/serial.h @@ -25,7 +25,10 @@ #include "MarlinConfig.h" -#if defined(__AVR__) && defined(USBCON) +#if USE_MARLINSERIAL + #include "MarlinSerial.h" + #define MYSERIAL0 customizedSerial +#else #include #if ENABLED(BLUETOOTH) extern HardwareSerial bluetoothSerial; @@ -33,9 +36,6 @@ #else #define MYSERIAL0 Serial #endif // BLUETOOTH -#else - #include "MarlinSerial.h" - #define MYSERIAL0 customizedSerial #endif extern const char echomagic[] PROGMEM;