diff --git a/cores/arduino/HardwareSerial.cpp b/cores/arduino/HardwareSerial.cpp index 284d8fc..a0a6642 100644 --- a/cores/arduino/HardwareSerial.cpp +++ b/cores/arduino/HardwareSerial.cpp @@ -8,10 +8,13 @@ #include "wiring_LL.h" // HardwareSerial class objects for use in Arduino IDE -HardwareSerial Serial(0); +HardwareSerial Serial0(0); #if SERIAL_PORT_QTY > 1 HardwareSerial Serial1(1); #endif +// default interface +HardwareSerial& Serial = DEFAULT_SERIAL; + void serialEvent() __attribute__((weak)); bool Serial0_available() __attribute__((weak)); @@ -144,7 +147,7 @@ extern "C" void __attribute__((optimize("O3"))) serial_interrupt_handler(uint8_t { if (uartNumInt == 0) { - Serial.rx_complete_irq(); + Serial0.rx_complete_irq(); } else if ((uartNumInt == 1) && (SERIAL_PORT_QTY > 1)) { diff --git a/cores/arduino/HardwareSerial.h b/cores/arduino/HardwareSerial.h index d7f60a1..792bf13 100644 --- a/cores/arduino/HardwareSerial.h +++ b/cores/arduino/HardwareSerial.h @@ -103,10 +103,12 @@ class HardwareSerial : public Stream inline void rx_complete_irq(void) __attribute__((always_inline, optimize("O3"))); }; -extern HardwareSerial Serial; +extern HardwareSerial Serial0; #if SERIAL_PORT_QTY > 1 extern HardwareSerial Serial1; #endif +// default interface +extern HardwareSerial& Serial; extern void serialEventRun(void) __attribute__((weak)); diff --git a/variants/elbear_ace_nano/pins_arduino.h b/variants/elbear_ace_nano/pins_arduino.h index e04ad86..847bba2 100644 --- a/variants/elbear_ace_nano/pins_arduino.h +++ b/variants/elbear_ace_nano/pins_arduino.h @@ -81,6 +81,7 @@ void additionalPinsDeinit(uint32_t PinNumber); // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits diff --git a/variants/elbear_ace_uno/pins_arduino.h b/variants/elbear_ace_uno/pins_arduino.h index dea17b3..045510c 100644 --- a/variants/elbear_ace_uno/pins_arduino.h +++ b/variants/elbear_ace_uno/pins_arduino.h @@ -76,6 +76,7 @@ static inline void additionalPinsDeinit(uint32_t PinNumber){} // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits diff --git a/variants/elsomik/pins_arduino.h b/variants/elsomik/pins_arduino.h index af3c02a..19afe33 100644 --- a/variants/elsomik/pins_arduino.h +++ b/variants/elsomik/pins_arduino.h @@ -109,6 +109,7 @@ static inline void additionalPinsDeinit(uint32_t PinNumber){} // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits diff --git a/variants/start/pins_arduino.h b/variants/start/pins_arduino.h index d3c7aa4..59c310b 100644 --- a/variants/start/pins_arduino.h +++ b/variants/start/pins_arduino.h @@ -122,6 +122,7 @@ static inline void additionalPinsDeinit(uint32_t PinNumber){} // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits