From 4b2b39e383d7fec0f94deb0f9a75a493bce2d0ca Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Wed, 7 May 2008 18:24:49 +0000 Subject: Changing Print class to use regular virtual write() function (instead of my hack ed together version). --- cores/arduino/HardwareSerial.cpp | 8 -------- cores/arduino/HardwareSerial.h | 3 +-- cores/arduino/Print.cpp | 8 +------- cores/arduino/Print.h | 3 +-- 4 files changed, 3 insertions(+), 19 deletions(-) (limited to 'cores/arduino') diff --git a/cores/arduino/HardwareSerial.cpp b/cores/arduino/HardwareSerial.cpp index 76cd9b0..aab7fc5 100755 --- a/cores/arduino/HardwareSerial.cpp +++ b/cores/arduino/HardwareSerial.cpp @@ -26,14 +26,6 @@ #include "HardwareSerial.h" -void HardwareSerialWrite(uint8_t value, void *instance) { - ((HardwareSerial *) instance)->write(value); -} - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial() : Print(HardwareSerialWrite) {} - // Public Methods ////////////////////////////////////////////////////////////// void HardwareSerial::begin(long speed) diff --git a/cores/arduino/HardwareSerial.h b/cores/arduino/HardwareSerial.h index f2c6ce8..e4cb969 100755 --- a/cores/arduino/HardwareSerial.h +++ b/cores/arduino/HardwareSerial.h @@ -27,12 +27,11 @@ class HardwareSerial : public Print { public: - HardwareSerial(); void begin(long); uint8_t available(void); int read(void); void flush(void); - void write(uint8_t); + virtual void write(uint8_t); }; extern HardwareSerial Serial; diff --git a/cores/arduino/Print.cpp b/cores/arduino/Print.cpp index b8a85a7..d150b75 100755 --- a/cores/arduino/Print.cpp +++ b/cores/arduino/Print.cpp @@ -26,17 +26,11 @@ #include "Print.h" -// Constructors //////////////////////////////////////////////////////////////// - -Print::Print(void (*write)(uint8_t, void *)) { - this->write = write; -} - // Public Methods ////////////////////////////////////////////////////////////// void Print::print(uint8_t b) { - write(b, this); + write(b); } void Print::print(char c) diff --git a/cores/arduino/Print.h b/cores/arduino/Print.h index 5cac3f2..8cec235 100755 --- a/cores/arduino/Print.h +++ b/cores/arduino/Print.h @@ -32,9 +32,8 @@ class Print { private: void printNumber(unsigned long, uint8_t); - void (*write)(uint8_t, void *); public: - Print(void (*)(uint8_t, void *)); + virtual void write(uint8_t); void print(char); void print(const char[]); void print(uint8_t); -- cgit v1.2.3-18-g5258