diff --git a/cores/esp8266/HardwareSerial.cpp b/cores/esp8266/HardwareSerial.cpp index 4f09d26f4..88b47b33f 100644 --- a/cores/esp8266/HardwareSerial.cpp +++ b/cores/esp8266/HardwareSerial.cpp @@ -35,9 +35,6 @@ // SerialEvent functions are weak, so when the user doesn't define them, // the linker just sets their address to 0 (which is checked below). -// The Serialx_available is just a wrapper around Serialx.available(), -// but we can refer to it weakly so we don't pull in the entire -// HardwareSerial instance if the user doesn't also refer to it. void serialEvent() __attribute__((weak)); HardwareSerial::HardwareSerial(int uart_nr) diff --git a/cores/esp8266/HardwareSerial.h b/cores/esp8266/HardwareSerial.h index bdccae5ea..ea17f60ef 100644 --- a/cores/esp8266/HardwareSerial.h +++ b/cores/esp8266/HardwareSerial.h @@ -233,8 +233,12 @@ protected: size_t _rx_size; }; +#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL) extern HardwareSerial Serial; +#endif +#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL1) extern HardwareSerial Serial1; +#endif extern void serialEventRun(void) __attribute__((weak)); diff --git a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp index 4400414e6..c933b5c21 100644 --- a/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp +++ b/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp @@ -849,6 +849,10 @@ bool HTTPClient::connect(void) { if(_reuse && _canReuse && connected()) { DEBUG_HTTPCLIENT("[HTTP-Client] connect: already connected, reusing connection\n"); + +#if defined(NO_GLOBAL_INSTANCES) || defined(NO_GLOBAL_STREAMDEV) + StreamNull devnull; +#endif _client->sendAvailable(devnull); // clear _client's output (all of it, no timeout) return true; }