1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-30 16:24:09 +03:00

Updating readme with latest changes.

This commit is contained in:
David A. Mellis
2007-05-04 22:05:53 +00:00
parent cf5574707d
commit aa697966dc

View File

@ -1,175 +1,179 @@
Arduino is an open-source physical computing platform based on a simple i/o Arduino is an open-source physical computing platform based on a simple i/o
board and a development environment that implements the Processing/Wiring board and a development environment that implements the Processing/Wiring
language. Arduino can be used to develop stand-alone interactive objects or language. Arduino can be used to develop stand-alone interactive objects or
can be connected to software on your computer (e.g. Flash, Processing, MaxMSP). can be connected to software on your computer (e.g. Flash, Processing, MaxMSP).
The boards can be assembled by hand or purchased preassembled; the open-source The boards can be assembled by hand or purchased preassembled; the open-source
IDE can be downloaded for free. IDE can be downloaded for free.
For more information, see the website at: http://www.arduino.cc/ For more information, see the website at: http://www.arduino.cc/
or the forums at: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl or the forums at: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl
To report a bug or a make a suggestions, go to: To report a bug or a make a suggestions, go to:
[hardware] http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=hwbugs [hardware] http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=hwbugs
[software] http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=swbugs [software] http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=swbugs
INSTALLATION INSTALLATION
Detailed instructions are in reference/Guide_Windows.html and Detailed instructions are in reference/Guide_Windows.html and
reference/Guide_MacOSX.html. For Linux, see the Arduino playground: reference/Guide_MacOSX.html. For Linux, see the Arduino playground:
http://www.arduino.cc/playground/Learning/Linux http://www.arduino.cc/playground/Learning/Linux
If you are using a USB Arduino, you will need to install the drivers for the If you are using a USB Arduino, you will need to install the drivers for the
FTDI chip on the board. These can be found in the drivers/ directory. FTDI chip on the board. These can be found in the drivers/ directory.
* On Windows, plug in the Arduino board and point the Windows Add Hardware * On Windows, plug in the Arduino board and point the Windows Add Hardware
wizard to the drivers/FTDI USB Drivers sub-directory of the Arduino wizard to the drivers/FTDI USB Drivers sub-directory of the Arduino
application directory. application directory.
* On the Mac, mount the FTDIUSBSerialDriver_v2_1_6.dmg (on PPC Macs) or the * On the Mac, mount the FTDIUSBSerialDriver_v2_1_6.dmg (on PPC Macs) or the
FTDIUSBSerialDriver_v2_2_6_Intel.dmg (on Intel Macs) disk image and run the FTDIUSBSerialDriver_v2_2_6_Intel.dmg (on Intel Macs) disk image and run the
included FTDIUSBSerialDriver.pkg. You will need to restart your computer. included FTDIUSBSerialDriver.pkg. You will need to restart your computer.
* On Linux, drivers are included in kernel versions 2.4.20 or greater. * On Linux, drivers are included in kernel versions 2.4.20 or greater.
CREDITS CREDITS
Arduino is an open source project, owned by nobody and supported by many. Arduino is an open source project, owned by nobody and supported by many.
The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe, The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, and David A. Mellis. Gianluca Martino, and David A. Mellis.
Nicholas Zambetti has contributed from the beginning. Nicholas Zambetti has contributed from the beginning.
Yaniv Steiner and Giorgio Olivero have been supporting the project and are Yaniv Steiner and Giorgio Olivero have been supporting the project and are
working at using it with the Instant Soup platform. working at using it with the Instant Soup platform.
Arduino uses the GNU avr-gcc toolchain, uisp, avr-libc, avrlib, and code Arduino uses the GNU avr-gcc toolchain, uisp, avr-libc, and code from
from Processing and Wiring. Processing and Wiring.
UPDATES UPDATES
0008 0008
* Added an EEPROM library (see reference for details). * Added an EEPROM library (see reference for details).
* Patched to reduce binary sketch sizes by building the Arduino core as * Patched to reduce binary sketch sizes by building the Arduino core as
a library (.a) file. Originally written by Nicolas Roland, revised by a library (.a) file - now only the needed parts of the core are linked into
Don Cross. a sketch. Originally written by Nicolas Roland, revised by Don Cross.
* Fixed bug in Serial.available(). Report and fix by Don Cross. * Fixed bug in Serial.available(). Report and fix by Don Cross.
* Now recompiling libraries when switching microcontrollers. Reported by * Now recompiling libraries when switching microcontrollers. Report by
Julian Bleecker; fixed by Nicholas Zambetti. Julian Bleecker; fix by Nicholas Zambetti.
* Removed the delay from analogRead(). * Cleaned up core functions: moved pin definitions into program space to save
RAM, and other minor improvements. Contributed by Jim Studt.
0007 - 2006.12.25 * Lots of reference additions and fixes from Paul Badger.
* Changed default microcontroller to ATmega168 from ATmega8.
* Smaller core (about 3.5 KB instead of 4.5 KB). * Removed the delay from analogRead().
* Added a SoftwareSerial library (thanks to Antonio, Heather Dewey-Hagborg, and
bigengineer for their help). 0007 - 2006.12.25
* Implemented a Serial.flush() routine; see reference for details.
* Digital pins 0 and 1 can be used for i/o until a call to Serial.begin(). * Smaller core (about 3.5 KB instead of 4.5 KB).
* Replaced avr-lib's uart routines with custom code for handling serial * Added a SoftwareSerial library (thanks to Antonio, Heather Dewey-Hagborg, and
communication and modified C++ serial commands to call the C serial commands; bigengineer for their help).
the code may behave slightly differently in border cases (e.g. non-standard * Implemented a Serial.flush() routine; see reference for details.
speeds, or on overflow). * Digital pins 0 and 1 can be used for i/o until a call to Serial.begin().
* Added attachInterrupt() and detachInterrupt() functions for handling of * Replaced avr-lib's uart routines with custom code for handling serial
external interrupts on pins 2 and 3. communication and modified C++ serial commands to call the C serial commands;
* Implemented shiftOut() routine; see reference for details. the code may behave slightly differently in border cases (e.g. non-standard
* Defining binary constants: e.g. B1010 is 6. speeds, or on overflow).
* Mac versions no longer require running of the macosx_setup.command script. * Added attachInterrupt() and detachInterrupt() functions for handling of
* Windows version comes with the FTDI USB drivers already unzipped. external interrupts on pins 2 and 3.
* New Linux binary distribution (still requires some programs to be * Implemented shiftOut() routine; see reference for details.
pre-installed). * Defining binary constants: e.g. B1010 is 6.
* Mac versions no longer require running of the macosx_setup.command script.
0006 - 2006.10.21 * Windows version comes with the FTDI USB drivers already unzipped.
* New Linux binary distribution (still requires some programs to be
* Mac version no longer requires Java 1.5, meaning it should run on 10.3.9. pre-installed).
* Added support for analog inputs 6 and 7 and pwm on pins 5 and 6 on the
on the ATmega168 used in the Arduino Mini (extra analog inputs not available 0006 - 2006.10.21
in DIP ATmega168s).
* You now select the baud rate for the serial monitor from within the editor * Mac version no longer requires Java 1.5, meaning it should run on 10.3.9.
status bar when the serial monitor is running instead of from the Tools menu. * Added support for analog inputs 6 and 7 and pwm on pins 5 and 6 on the
* Pressing enter within the serial monitor edit box no longer appends a newline on the ATmega168 used in the Arduino Mini (extra analog inputs not available
to the message sent to the board. in DIP ATmega168s).
* Included the Wire (TWI) library from Wiring. * You now select the baud rate for the serial monitor from within the editor
* Updated the reference. status bar when the serial monitor is running instead of from the Tools menu.
* Pressing enter within the serial monitor edit box no longer appends a newline
0005 - 2006.09.26 to the message sent to the board.
* Included the Wire (TWI) library from Wiring.
* Applied patch from Hans Steiner to improve Linux support by searching for avr * Updated the reference.
tools in the user's path instead of expecting them at a fixed location.
* Added an upload.verbose preference for help in debugging. 0005 - 2006.09.26
* ATmega168 support!
* New Wiring-compatible randomSeed(), random(max) and random(min, max) functions * Applied patch from Hans Steiner to improve Linux support by searching for avr
(except operating on longs instead of floats). tools in the user's path instead of expecting them at a fixed location.
* Fixed bug that sometimes caused uploading of old versions of a sketch. * Added an upload.verbose preference for help in debugging.
* Serial monitor nows include an interface to send messages to the Arduino * ATmega168 support!
board. Pressing return appends a newline, pushing the send button doesn't. * New Wiring-compatible randomSeed(), random(max) and random(min, max) functions
* Now displaying "burning bootloader..." and "compiling..." status messages. (except operating on longs instead of floats).
* Fixed bug that sometimes caused uploading of old versions of a sketch.
0004 - 2006.04.26 * Serial monitor nows include an interface to send messages to the Arduino
board. Pressing return appends a newline, pushing the send button doesn't.
* Main sketch is now compiled as C++ (instead of C). * Now displaying "burning bootloader..." and "compiling..." status messages.
* Updated avr toolchain.
* printInteger(), printHex(), etc. now handle longs. 0004 - 2006.04.26
* millis() fixed (now overflows after days, not minutes)
* Fixed path to java in Windows run.bat. * Main sketch is now compiled as C++ (instead of C).
* Added Matrix and Sprite libraries (written with Nicholas Zambetti). * Updated avr toolchain.
* PWM now working on pin 11 (in addition to pins 9 and 10). * printInteger(), printHex(), etc. now handle longs.
* Slowed PWM frequency (on all three PWM pins) to 1KHz. * millis() fixed (now overflows after days, not minutes)
* Now give an error if compiled sketch is too big. * Fixed path to java in Windows run.bat.
* Fixed abs(), min(), max(), and constrain() macros. * Added Matrix and Sprite libraries (written with Nicholas Zambetti).
* Added menu items to the IDE to burn bootloader. * PWM now working on pin 11 (in addition to pins 9 and 10).
* Now display binary sketch size on upload, and give error if too big. * Slowed PWM frequency (on all three PWM pins) to 1KHz.
* Added C++ serial library. * Now give an error if compiled sketch is too big.
* Resynced with Processing/Wiring IDE code (improved auto-format, faster logging * Fixed abs(), min(), max(), and constrain() macros.
to serial monitor console, other bug fixes) * Added menu items to the IDE to burn bootloader.
* New library system. * Now display binary sketch size on upload, and give error if too big.
* Updated to latest version of the RXTX serial library; Mac users will need to * Added C++ serial library.
rerun macosx_setup.command. * Resynced with Processing/Wiring IDE code (improved auto-format, faster logging
to serial monitor console, other bug fixes)
0003 - 2006.01.16 * New library system.
* Updated to latest version of the RXTX serial library; Mac users will need to
API Changes rerun macosx_setup.command.
* Reversed the analog input pins to correspond to newer boards. This means
a call, for example, to analogRead(0) must be changed to analogRead(5) in 0003 - 2006.01.16
order to read the same physical pin.
* Added a printNewline() function (which sends '\n' = ASCII 10). API Changes
* Reversed the analog input pins to correspond to newer boards. This means
New Stuff a call, for example, to analogRead(0) must be changed to analogRead(5) in
* Reference is included (features native to C not yet documented). order to read the same physical pin.
* Serial monitor added (click the toolbar button to turn it on or off). Baud * Added a printNewline() function (which sends '\n' = ASCII 10).
rate is controlled by the Serial Monitor Baud Rate Menu, defaults to 9600.
Icon and implementation from Wiring. New Stuff
* Serial port menu now automatically refreshes when opened. * Reference is included (features native to C not yet documented).
* New blue color scheme and icons courtesy of Noah Shibley (colors are hardcoded * Serial monitor added (click the toolbar button to turn it on or off). Baud
into the source to ensure consistency with image files). rate is controlled by the Serial Monitor Baud Rate Menu, defaults to 9600.
* Keyspan and FTDI USB drivers included with Mac and Windows distributions. Icon and implementation from Wiring.
* Serial port menu now automatically refreshes when opened.
Bug Fixes * New blue color scheme and icons courtesy of Noah Shibley (colors are hardcoded
* millis() now updates every millisecond instead of every second. into the source to ensure consistency with image files).
* Bootloader included with Windows distribution (it was already in the Mac * Keyspan and FTDI USB drivers included with Mac and Windows distributions.
dist).
* Updated icon of the Windows executable. Bug Fixes
* Now flushing the serial port before uploading (should fix some errors). * millis() now updates every millisecond instead of every second.
* Improved accuracy of the delayMicroseconds() function. * Bootloader included with Windows distribution (it was already in the Mac
dist).
Other * Updated icon of the Windows executable.
* Upload rate no longer selectable from a menu within the IDE. Instead, edit * Now flushing the serial port before uploading (should fix some errors).
the serial.download_rate item in the preferences.txt file. * Improved accuracy of the delayMicroseconds() function.
* Created Xcode project for building Arduino on the Mac (doesn't yet regenerate
the grammar files or package the distribution); active target should be "App". Other
* Removed unused or unimplemented items from menus. * Upload rate no longer selectable from a menu within the IDE. Instead, edit
the serial.download_rate item in the preferences.txt file.
0002 - 2005.10.05 * Created Xcode project for building Arduino on the Mac (doesn't yet regenerate
the grammar files or package the distribution); active target should be "App".
* New build process no longer uses makefiles; now controlled by preferences.txt. * Removed unused or unimplemented items from menus.
* core/ replaced with targets/; can now link against Wiring libraries.
* Replaced print() with printString, printInteger, printHex, printByte, etc. 0002 - 2005.10.05
* Added menu for selecting serial port speed.
* Updated icon. * New build process no longer uses makefiles; now controlled by preferences.txt.
* Bootloader shrunk to less than 1 KB; fuses updated accordingly. * core/ replaced with targets/; can now link against Wiring libraries.
* Added serialRead(), serialAvailable(), and delayMicroseconds(). * Replaced print() with printString, printInteger, printHex, printByte, etc.
* Added menu for selecting serial port speed.
0001 - 2005.08.25 * Updated icon.
* Bootloader shrunk to less than 1 KB; fuses updated accordingly.
* This is the first released of the unified IDE + language library * Added serialRead(), serialAvailable(), and delayMicroseconds().
it's a terrible hack... but it works. at the moment it's in alpha stage
but it can be used to work. 0001 - 2005.08.25
* The processing preprocessor is included but not used.
* This is the first released of the unified IDE + language library
it's a terrible hack... but it works. at the moment it's in alpha stage
but it can be used to work.
* The processing preprocessor is included but not used.