Skip to content

Commit 21bae46

Browse files
committed
Updating release notes (revisions.txt) for Arduino 1.0.
1 parent bf0ab1c commit 21bae46

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

build/shared/revisions.txt

+131
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,134 @@
1+
ARDUINO 1.0
2+
3+
[environment]
4+
5+
* The file extension for sketches has changed from .pde to .ino, to avoid
6+
conflicts with the Processing software ("ino" are the last three letters
7+
in "Arduino").
8+
9+
* There are a new set of toolbar icons, including a checkmark icon to
10+
verify (compile) a sketch and an arrow for upload. The serial monitor
11+
icon has moved to the right of the toolbar. Also, shift-clicking the
12+
upload icon now uploads using a programmer (selected in the Tools menu).
13+
You can still enable verbose output in the preferences dialog. (Icons
14+
were designed by Nicholas Zambetti.)
15+
16+
* There’s a new color scheme and about image for the IDE (by ToDo.to.it).
17+
18+
* The name of the currently selected board and serial port are now shown
19+
at the bottom of the editor. (Code from Wiring.)
20+
21+
* A progress bar is displayed during compilation and upload. (from Wiring.)
22+
23+
[core / libraries]
24+
25+
* Serial transmission is now asynchronous - that is, calls to
26+
Serial.print(), etc. add data to an outgoing buffer which is transmitted
27+
in the background. Also, the Serial.flush() command has been repurposed
28+
to wait for outgoing data to be transmitted, rather than dropping
29+
received incoming data.
30+
31+
* The behavior of Serial.print() on a byte has been changed to align it
32+
with the other numeric data types. In particular, it will now print
33+
the digits of its argument as separate ASCII digits (e.g. '1', '2', '3')
34+
rather than a single byte. The BYTE keyword has been removed. To send a
35+
single byte of data, use Serial.write() (which is present in Arduino 0022
36+
as well).
37+
38+
* The Serial class (as well as other classes inheriting from Stream, like
39+
EthernetClient, SoftwareSerial, Wire and more) now contains functions
40+
for parsing incoming data, based on the TextFinder library by Michael
41+
Margolis. They include find() and findUntil() to search for data,
42+
parseInt() and parseFloat() for converting incoming characters into
43+
numeric values, and readBytes() and readBytesUntil() for reading
44+
multiple bytes into a buffer. They use a timeout that can be set with the
45+
new setTimeout().
46+
47+
* The SoftwareSerial class has been reimplemented, using the code originally
48+
written for the NewSoftSerial library by Mikal Hart. This allows for
49+
multiple simultaneous instances, although only one can receive at a time.
50+
51+
* Support has been added for printing strings stored in flash (program
52+
memory) rather than RAM. Wrap double-quoted strings in F() to indicate
53+
that they should be stored in flash, e.g. Serial.print(F("hello world")).
54+
55+
* The String class has been reimplemented as well, by Paul Stoffregen. This
56+
new version is more memory-efficient and robust. Some functions which
57+
previously returned new string instances (e.g. trim() and toUpperCase())
58+
have been changed to instead modify strings in place.
59+
60+
* Support for DHCP and DNS has been added to the Ethernet library, thanks
61+
to integration by Adrian McEwen. Most classes in the Ethernet library
62+
have been renamed to add a "Ethernet" prefix and avoid conflicts with
63+
other networking libraries. In particular, "Client" is now
64+
"EthernetClient", "Server" is "EthernetServer", and "UDP" is
65+
"EthernetUDP". A new IPAddress class makes it easier to manipulate
66+
those values.
67+
68+
* The UDP API has been changed to be more similar to other libraries.
69+
Outgoing packets are now constructed using calls to the standard write(),
70+
print(), and println() functions – bracketed by beginPacket() and
71+
endPacket(). The parsePacket() function checks for and parses an
72+
incoming packet, which can then be read using available(), read(), and
73+
peek(). The remoteIP() and remotePort() functions provide information
74+
about the packet’s origin. (Again, thanks to Adrian McEwen for the
75+
implementation.)
76+
77+
* The Wire library has also been modified to use the standard read() and
78+
write() functions instead of send() and receive(). You can also use
79+
print() and println() for outgoing data.
80+
81+
* The SD library now supports multiple simultaneous open files. It also
82+
provides the isDirectory(), openNextFile(), and rewindDirectory()
83+
functions for iterating through all the files in a directory. (Thanks
84+
to Limor Fried.)
85+
86+
[boards / firmwares]
87+
88+
* Added the Arduino Mini w/ ATmega328.
89+
90+
* Added Windows drivers (.inf files) and 16U2 firmware (.hex files) for
91+
the rev. 3 boards (Uno, Mega, and Mega ADK).
92+
93+
[internals]
94+
95+
* The WProgram.h file, which provides declarations for the Arduino API,
96+
has been renamed to Arduino.h. To create a library that will work in
97+
both Arduino 0022 and Arduino 1.0, you can use an #ifdef that checks
98+
for the ARDUINO constant, which was 22 and is now 100. For example:
99+
100+
#if defined(ARDUINO) && ARDUINO >= 100
101+
#include "Arduino.h"
102+
#else
103+
#include "WProgram.h"
104+
#endif
105+
106+
* The write(), print(), and println() functions in Stream now return a
107+
size_t (instead of void). This indicates the number of bytes actually
108+
written by the function. Any classes that inherit from Stream will need
109+
to change accordingly. Additionally the write(str) function has been
110+
given a concrete implementation – it calls write(buf, len) - so
111+
sub-classes don't need to (and shouldn't) implement it.
112+
113+
* There are new abstract base-classes for Client, Server, and UDP to
114+
provide portability across networking libraries.
115+
116+
* The pin definitions for the Arduino boards (i.e. the mappings from pin
117+
numbers to port register / bit pairs) is now stored in a sub-folder of
118+
a new variants/ folder in the hardware folder. The variant to use for
119+
a given board is specified by the BOARD.build.variant preference in the
120+
boards.txt file.
121+
122+
* The new, variant-specific pins_arduino.h files now provides additional
123+
macros with information about the characteristics of the board (e.g.
124+
the locations of the SPI and TWI pins, and the number of digital and
125+
analog pins).
126+
127+
* The avrdude included with the Mac and Windows versions of the Arduino
128+
software has been upgraded to avrdude 5.11 (from an Arduino-specific
129+
version of avrdude 5.4). The software now uses the "arduino" programmer
130+
type in place of "stk500v1" for uploading to most Arduino boards.
131+
1132
ARDUINO 0022 - 2010.12.24
2133

3134
[core / libraries]

0 commit comments

Comments
 (0)