1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-30 11:24:12 +01:00
Arduino/hardware/arduino/avr/cores/arduino
Matthijs Kooijman 0e97bcb2df Put each HardwareSerial instance in its own .cpp file
By putting the ISRs and HardwareSerial instance for each instance in a
separate compilation unit, the compile will only consider them for
linking when the instance is actually used. The ISR is always referenced
by the compiler runtime and the Serialx_available() function is always
referenced by SerialEventRun(), but both references are weak and thus do
not cause the compilation to be included in the link by themselves.

The effect of this is that when multiple HardwareSerial ports are
available, but not all are used, buffers are only allocated and ISRs are
only included for the serial ports that are used. On the mega, this
lowers memory usage from 653 bytes to just 182 when only using the first
serial port.

On boards with just a single port, there is no change, since the code
and memory was already left out when no serial port was used at all.

This fixes #1425 and fixes #1259.
2014-01-22 09:39:19 +01:00
..
avr-libc Merged 1.0.5 2013-04-03 13:51:04 +02:00
Arduino.h Centrally decide which hardware UARTS are available 2014-01-22 09:38:34 +01:00
binary.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
CDC.cpp Merge branch 'master' into ide-1.5.x 2013-09-30 16:25:10 +02:00
Client.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
HardwareSerial0.cpp Put each HardwareSerial instance in its own .cpp file 2014-01-22 09:39:19 +01:00
HardwareSerial1.cpp Put each HardwareSerial instance in its own .cpp file 2014-01-22 09:39:19 +01:00
HardwareSerial2.cpp Put each HardwareSerial instance in its own .cpp file 2014-01-22 09:39:19 +01:00
HardwareSerial3.cpp Put each HardwareSerial instance in its own .cpp file 2014-01-22 09:39:19 +01:00
HardwareSerial.cpp Put each HardwareSerial instance in its own .cpp file 2014-01-22 09:39:19 +01:00
HardwareSerial.h Centrally decide which hardware UARTS are available 2014-01-22 09:38:34 +01:00
HID.cpp Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
hooks.c Added general yield()-hook for cooperative scheduling development (part 2) 2012-11-02 18:12:21 +01:00
IPAddress.cpp Make some operators in IPAddress const 2014-01-15 16:20:48 +01:00
IPAddress.h Make some operators in IPAddress const 2014-01-15 16:20:48 +01:00
main.cpp Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
new.cpp Merged 1.0.4 pre-release into 1.5 2012-12-17 16:53:45 +01:00
new.h Merged 1.0.4 pre-release into 1.5 2012-12-17 16:53:45 +01:00
Platform.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
Print.cpp Merge branch 'cast' of github.com:Lauszus/Arduino into Lauszus-cast 2013-12-31 20:11:08 +01:00
Print.h Add Print::write(const char *, size_t) 2013-12-24 13:22:42 +01:00
Printable.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
Server.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
Stream.cpp Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
Stream.h Add uint8_t* versions of methods in Stream 2013-12-24 13:22:42 +01:00
Tone.cpp fixed permissions on a lot of text files. see #1116 2012-12-10 10:42:49 +01:00
Udp.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
USBAPI.h Centrally decide which hardware UARTS are available 2014-01-22 09:38:34 +01:00
USBCore.cpp Remove hardcoded product names (all provided for in boards.txt) 2013-07-17 14:38:05 +02:00
USBCore.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
USBDesc.h Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
WCharacter.h Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
WInterrupts.c Merged 1.0.5 2013-05-29 18:30:36 +02:00
wiring_analog.c Merge branch 'master' into ide-1.5.x 2013-07-31 17:33:55 +02:00
wiring_digital.c Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
wiring_private.h Merged 1.0.5 2013-05-29 18:30:36 +02:00
wiring_pulse.c fixed permissions on a lot of text files. see #1116 2012-12-10 10:42:49 +01:00
wiring_shift.c fixed permissions on a lot of text files. see #1116 2012-12-10 10:42:49 +01:00
wiring.c Merged 1.0.5 2013-04-03 13:51:04 +02:00
WMath.cpp Created second level in hardware folder: hardware/PACKAGE/PLATFORM/... 2011-12-30 15:46:04 +01:00
WString.cpp Improved portability of String class (maniacbug) 2014-01-01 17:22:40 +01:00
WString.h Fixed String class regression after f80c6c5f35 2013-09-03 18:40:30 +02:00