From 570e19419c2e7c6f56384cf6ff71626cbf9668a6 Mon Sep 17 00:00:00 2001 From: Bruno Rocci Date: Tue, 12 May 2026 12:14:42 +0200 Subject: [PATCH] Expose inherited write overloads and fix println formatting - Add 'using Print::write' to expose write(const uint8_t*, size_t), which correctly routes through the virtual write(uint8_t) override. - Normalize indentation to consistent tabs throughout (original had mixed tabs/spaces). - Use Print:: prefix consistently instead of mixing Auto485:: and Print::. - Reorder println declarations to match header order. --- .gitattributes | 2 + Auto485.cpp | 109 ++++++++++++++++++++++++------------------------- Auto485.h | 28 ++++++------- 3 files changed, 69 insertions(+), 70 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/Auto485.cpp b/Auto485.cpp index 53c86be..92e89af 100644 --- a/Auto485.cpp +++ b/Auto485.cpp @@ -77,7 +77,6 @@ int Auto485::read(void) return _serial.read(); } - size_t Auto485::write(uint8_t c) { if (_mode != TX) set_mode(TX); @@ -90,12 +89,12 @@ void Auto485::flush(void) set_mode(RX); } - -size_t Auto485::println(void) +size_t Auto485::println(const __FlashStringHelper *ifsh) { - size_t n = Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(ifsh); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(const String &s) @@ -106,83 +105,81 @@ size_t Auto485::println(const String &s) return n; } -size_t Auto485::println(const __FlashStringHelper *ifsh) -{ - size_t n = Print::print(ifsh); - n += Print::println(); - set_mode(RX); - return n; -} - size_t Auto485::println(const char c[]) { - size_t n = Auto485::print(c); - n += Auto485::println(); - set_mode(RX); - return n; + size_t n = Print::print(c); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(char c) { - size_t n = Print::print(c); - n += Print::println(); - set_mode(RX); - return n; -} - - -size_t Auto485::println(const Printable& x) -{ - size_t n = Print::print(x); - n += Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(c); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(unsigned char b, int base) { - size_t n = Print::print(b, base); - n += Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(b, base); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(int num, int base) { - size_t n = Print::print(num, base); - n += Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(num, base); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(unsigned int num, int base) { - size_t n = Print::print(num, base); - n += Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(num, base); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(long num, int base) { - size_t n = Print::print(num, base); - n += Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(num, base); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(unsigned long num, int base) { - size_t n = Print::print(num, base); - n += Print::println(); - set_mode(RX); - return n; + size_t n = Print::print(num, base); + n += Print::println(); + set_mode(RX); + return n; } size_t Auto485::println(double num, int digits) { - size_t n = Print::print(num, digits); - n += Print::println(); - set_mode(RX); - return n; -} \ No newline at end of file + size_t n = Print::print(num, digits); + n += Print::println(); + set_mode(RX); + return n; +} + +size_t Auto485::println(const Printable& x) +{ + size_t n = Print::print(x); + n += Print::println(); + set_mode(RX); + return n; +} + +size_t Auto485::println(void) +{ + size_t n = Print::println(); + set_mode(RX); + return n; +} diff --git a/Auto485.h b/Auto485.h index 110af8a..be53728 100644 --- a/Auto485.h +++ b/Auto485.h @@ -40,6 +40,7 @@ class Auto485 : public Stream enum Mode {TX, RX}; void set_mode(enum Mode); + using Print::write; size_t write(uint8_t); void flush(void); void begin(unsigned long); @@ -48,20 +49,19 @@ class Auto485 : public Stream int available(void); int peek(void); int read(void); - size_t println(const __FlashStringHelper *); - size_t println(const String &s); - size_t println(const char[]); - size_t println(char); - size_t println(unsigned char, int = DEC); - size_t println(int, int = DEC); - size_t println(unsigned int, int = DEC); - size_t println(long, int = DEC); - size_t println(unsigned long, int = DEC); - size_t println(double, int = 2); - size_t println(const Printable&); - size_t println(void); - using Print::println; - + size_t println(const __FlashStringHelper *); + size_t println(const String &); + size_t println(const char[]); + size_t println(char); + size_t println(unsigned char, int = DEC); + size_t println(int, int = DEC); + size_t println(unsigned int, int = DEC); + size_t println(long, int = DEC); + size_t println(unsigned long, int = DEC); + size_t println(double, int = 2); + size_t println(const Printable&); + size_t println(void); + private: int _DE_pin; int _RE_pin;