1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-30 11:24:12 +01:00
Arduino/todo.txt
2008-09-18 09:36:46 +00:00

170 lines
7.1 KiB
Plaintext

0012 arduino
0012
[done] Update Windows avr-libc to 1.6 and avr-gcc to 4.3 (to match Mac).
[done] Add Firmata library.
[done] Comment LiquidCrystal examples.
[done] Update reference.
[done] Document LiquidCrystal library.
[done] Document Servo library.
[done] Include actual bootloader burned on the Pro and Pro Mini.
[done] Document Ethernet library.
[done] Move Servo min/max parameters to attach() function from constructor.
[done] Add Arduino Nano to boards menu.
[done] Add Arduino Pro to boards menu.
[done] Per-board upload.using preference.
[done] Update version of avr-gcc, etc. to support ATmega644, ATmega328, etc.
[done] Move #include <WProgram.h> after other #include's? (prevent it from interfering with standard libraries)
[done] Add LiquidCrystal library.
[done] Add Servo library.
[done] Fix millis() so it overflows on a nice variable-size boundary; see: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1205949448
[done] Factor out print statements into a common base class for Serial, LiquidCrystal, etc.
AVR
Improve shiftOut() performance: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1216659239/0
Add String library.
Add Encoder library.
Add highByte(), lowByte(), and makeWord(high, low) functions.
Add bitRead() and bitWrite() functions (and bitSet() and bitClear()?)
Bootloader:
- disable watch dog timer
- fix eeprom writing: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1202157667/15
Support atmega328: http://spiffie.org/know/arduino_328/
Support pin change interrupts.
Switch pwm output on pins 5 and 6 to phase-correct mode, if possible.
Problems including WProgram.h twice?
Add #defines for the analog input pins.
Add parameter to shiftOut() for specifying a number of bits.
Add parameter to Serial.print[ln](x, BIN) for specifying number of bits.
Add support for ATmega1280 (e.g. timers, external interrupts, multiple serial ports).
Add weak attribute to signal handlers: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1203798214
Incorporate ladyada's new SoftwareSerial library.
Good way to receive multiple values / complex messages over the serial port (Firmata?)
Floating point support in the map() function.
Way to print floats.
Should Serial.print(b) send the ASCII digits of the byte?
Add Serial.write(). (Should this support strings?)
Fix delayMicroseconds(0).
Add sleep function(s).
Add SPI library.
Add OneWire library.
Add pulseOut(), etc. functions from Wiring.
Add Ping example.
Add ContinuousServo library that inherits from Servo?
LiquidCrystal library: support going to the next line with println().
Ethernet library:
- call Server.begin() from Ethernet.begin() instead of in user's sketch?
- add method for receiving notification of new client connections to a server
- add method for receiving notification of data written to a client
- add method for receiving notification of client disconnections
Supporting EEMEM directive by changing compiler command line: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1202157667
Include Arduino as AVR-ISP sketch in hardware/firmwares.
Move type definitions into WConstants.h.
Change core and libraries to use Arduino types (e.g. byte, boolean).
Fix millis() so it never increments by two.
Consider moving millis() to timer 1, and configuring it so the interrupt is generated once a millisecond.
COMPUTER
Improve preprocessing of sketches:
- Better determine which header files are included (not commented out).
- Remember the original locations of function prototypes to highlight the correct line on error.
Multiple sketch windows.
Easier library discovery and installation.
Easier board installation ("Add board..." menu item)
Comprehensive board management:
- Enabled and disabled boards.
- Dialog for enabling, disabling, adding, and deleting boards.
- Board descriptions (e.g. explaining differences between boards).
Clean up Library and LibraryManager.
Detect dependencies between libraries.
Byte-based serial monitor.
Line termination options in the serial monitor.
Clear character should clear serial monitor.
Incorporate serial-net proxy.
Changing font size should change serial monitor font size.
Deal with shorter screens (e.g. ASUS EEPC).
Investigate method for auto-detecting serial port on Windows (javax.usb?)
Guess serial port on the Mac and Linux.
Automatic detection of baud rate for serial monitor (based on the call to Serial.begin() in the current sketch).
Improve, generally, the upload experience (e.g. faster program start after upload, keep-alive messages to bootloader from IDE, shorter bootloader timeout if possible, progress bar)
Allow uploading of .hex files.
Allow for arbitrary compilation command line arguments.
Find in reference should give same message for missing page as for missing page association.
Test find in reference on libraries.
DEVELOPMENT
Update version of the FTDI drivers (Windows).
Remove AVR ISP and giveio drivers (Windows).
Include the executable installer for the FTDI drivers (Windows).
Include newer version of avr-gcc (one that supports the ATmega1280).
Revise fetch.sh to look for version specific pages (names suffixed with, e.g., "-0007")
If possible, install bug tracking and svn on arduino.cc.
Move to ant for build process.
DOCUMENTATION / SITE CONFIGURATION
Multi-language plugin.
Work on opening up website to public editing.
Create form for submitting workshops.
Create form for submitting projects.
DOCUMENTATION / META
Create community section of site.
List of examples we'd like to have.
Style guide for examples, references, and foundations.
DOCUMENTATION / NAVIGATION
Move Hacking section into Learning (and rename?).
Create About section.
Remove Board page.
Move Environment into the Reference section (which should be renamed Programming).
DOCUMENTATION / CONTENTS
Document Matrix and Sprite libraries on the Arduino site.
Documentation for moving from Arduino to custom PCBs.
Arduino feature list (in Getting Started > Introduction).
Programming tutorial for Arduino.
Write advanced library tutorial.
Better documentation of the Arduino BT.
Tutorial about serial communication.
DOCUMENTATION / REFERENCE
Remove parameters from the function links on the reference page.
DOCUMENTATION / EXAMPLES
Add examples using specific hardware (simple analog sensors, optocouplers, etc.)
Examples should demonstrate use of functions.
Add I2C EEPROM example using Wire library.
Update pictures to use Arduino Diecimila.
Create diagrams and schematics for the examples.
DOCUMENTATION / HARDWARE
Get good top-down, well-lit, plain-white-background photos of the Arduino boards.
DOCUMENTATION / GETTING STARTED
Main "getting started" link should automatically load page for the user's operating system.
Consider deleting many of the pictures in the howto's as they just make it harder to see the instructions without adding much (e.g. the pictures of files in folders).
Tell people not to put the board on a Powerbook.
People don't know what a jumper is.
Add picture of the RX/TX LEDs flashing.
Show a picture of the LED flashing.
DOCUMENTATION / TROUBLESHOOTING
Add explanation of how to work around auto-reset.
DOCUMENTATION / HACKING
Burning bootloader without an AVRISP: http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html