From e7a31301e53b028faaa689da654f48a0bb229b4c Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Thu, 29 Nov 2012 13:48:01 -0500 Subject: [PATCH] Moving TXCO definition into HardwareSerial.cpp from HardwareSerial.h. Otherwise, you get an error when compiling for processors with no serial port because the header file is always compiled. See, for an example of the problem: https://github.com/damellis/attiny/issues/8 --- .../arduino/cores/arduino/HardwareSerial.cpp | 16 ++++++++++++++++ hardware/arduino/cores/arduino/HardwareSerial.h | 16 ---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/hardware/arduino/cores/arduino/HardwareSerial.cpp b/hardware/arduino/cores/arduino/HardwareSerial.cpp index 2e64acb82..719f3f6e3 100644 --- a/hardware/arduino/cores/arduino/HardwareSerial.cpp +++ b/hardware/arduino/cores/arduino/HardwareSerial.cpp @@ -34,6 +34,22 @@ #include "HardwareSerial.h" +/* + * on ATmega8, the uart and its bits are not numbered, so there is no "TXC0" + * definition. It is slightly cleaner to define this here instead of having + * conditional code in the cpp module. + */ +#if !defined(TXC0) +#if defined(TXC) +#define TXC0 TXC +#elif defined(TXC1) +// Some devices have uart1 but no uart0 +#define TXC0 TXC1 +#else +#error TXC0 not definable in HardwareSerial.h +#endif +#endif + // Define constants and variables for buffering incoming serial data. We're // using a ring buffer (I think), in which head is the index of the location // to which to write the next incoming character and tail is the index of the diff --git a/hardware/arduino/cores/arduino/HardwareSerial.h b/hardware/arduino/cores/arduino/HardwareSerial.h index 2b1de91cb..a73117f56 100644 --- a/hardware/arduino/cores/arduino/HardwareSerial.h +++ b/hardware/arduino/cores/arduino/HardwareSerial.h @@ -110,22 +110,6 @@ class HardwareSerial : public Stream extern HardwareSerial Serial3; #endif -/* - * on ATmega8, the uart and its bits are not numbered, so there is no "TXC0" - * definition. It is slightly cleaner to define this here instead of having - * conditional code in the cpp module. - */ -#if !defined(TXC0) -#if defined(TXC) -#define TXC0 TXC -#elif defined(TXC1) -// Some devices have uart1 but no uart0 -#define TXC0 TXC1 -#else -#error TXC0 not definable in HardwareSerial.h -#endif -#endif - extern void serialEventRun(void) __attribute__((weak)); #endif