From 85da81e67349ab815985b5651aecfb7943201b3c Mon Sep 17 00:00:00 2001 From: Bernhard Date: Mon, 28 Nov 2011 19:34:42 +0100 Subject: [PATCH] inlineing of small functions in serial --- Marlin/MarlinSerial.cpp | 28 +--------------------------- Marlin/MarlinSerial.h | 36 +++++++++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 34 deletions(-) diff --git a/Marlin/MarlinSerial.cpp b/Marlin/MarlinSerial.cpp index fb34ab19bb..6cf47eafe3 100644 --- a/Marlin/MarlinSerial.cpp +++ b/Marlin/MarlinSerial.cpp @@ -161,31 +161,9 @@ void MarlinSerial::flush() /// imports from print.h -/* default implementation: may be overridden */ -void MarlinSerial::write(const char *str) -{ - while (*str) - write(*str++); -} -/* default implementation: may be overridden */ -void MarlinSerial::write(const uint8_t *buffer, size_t size) -{ - while (size--) - write(*buffer++); -} -void MarlinSerial::print(const String &s) -{ - for (int i = 0; i < s.length(); i++) { - write(s[i]); - } -} -void MarlinSerial::print(const char str[]) -{ - write(str); -} void MarlinSerial::print(char c, int base) { @@ -353,11 +331,7 @@ void MarlinSerial::printFloat(double number, uint8_t digits) // Preinstantiate Objects ////////////////////////////////////////////////////// -#if defined(UBRR0H) && defined(UBRR0L) - MarlinSerial MSerial; -#else - #error no serial port defined (port 0) -#endif +MarlinSerial MSerial; #endif // whole file diff --git a/Marlin/MarlinSerial.h b/Marlin/MarlinSerial.h index 30c0f5a344..9ff07912b9 100644 --- a/Marlin/MarlinSerial.h +++ b/Marlin/MarlinSerial.h @@ -51,13 +51,15 @@ class MarlinSerial //: public Stream MarlinSerial(); void begin(long); void end(); + int peek(void); + int read(void); + void flush(void); + inline int available(void) { return (unsigned int)(RX_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % RX_BUFFER_SIZE; } - int peek(void); - int read(void); - void flush(void); + inline void write(uint8_t c) { while (!((UCSR0A) & (1 << UDRE0))) @@ -91,11 +93,31 @@ class MarlinSerial //: public Stream public: - void write(const char *str); - void write( const uint8_t *buffer, size_t size); - void print(const String &); - void print(const char[]); + inline void write(const char *str) + { + while (*str) + write(*str++); + } + + + inline void write(const uint8_t *buffer, size_t size) + { + while (size--) + write(*buffer++); + } + + inline void print(const String &s) + { + for (int i = 0; i < s.length(); i++) { + write(s[i]); + } + } + + inline void print(const char *str) + { + write(str); + } void print(char, int = BYTE); void print(unsigned char, int = BYTE); void print(int, int = DEC);