= Arduino IDEのリリースノート = == 0012 - 2008.09.18 == * 対応ボードのメニューに「Arduino Nano」を追加。 * 対応ボードのメニューに「Arduino Pro」と「Arduino Pro Mini」(いずれも8MHz版)を追加。 * Hans Steiner氏他による「Firmataライブラリ」を追加。 このライブラリは、コンピュータ上のソフトウェアと通信するための標準的なプロトコルの実装です。 * Arduinoイーサネットシールドで使う、イーサネット(`Ethernet`)ライブラリを追加。 * Jim Studt氏の功績に基づく、サーボ(`Servo`)ライブラリを追加。 * Arduino Playgroundで開発されたコードに基づく液晶(`LiquidCrystal`)ライブラリを追加。 4ビットモード、8ビットモードの双方に対応しています。 * 「`millis()`」関数を強化しました。これまでは約9時間でオーバーフローしていましたが、新しい実装では49日間でオーバーフローします。 その代わり、ちょっとだけ余計にCPUを使います。 * ステッパーライブラリの逆方向になっているバグを修正しました(Wayne Holder氏のおかげです)。 * スケッチをC++プログラムに変換する際の「`#include `」の挿入位置を、ファイル先頭のコメントおよび「`#include`」群の後に変更しました。これにより、スケッチ中での「`#include `」がちゃんと機能します。 * `avr-gcc`および`avr-libc`のバージョンを上げました。`avr-gcc`が`4.3.0`で、`avr-libc`が1.6です。 これにより、Atmelの最新のマイコンチップに対応できます。その代わり、わずかながらコンパイル後のスケッチのサイズが大きくなります。 * ボードの種類ごとに、「`upload.using`」パラメータを設定できるようにしました。 つまり、あるボードではブートローダを使ってロードし、別のボードではISPプログラマを使ってロードするということが可能になりました。 * Wireライブラリのいくつかの関数において、値を返すように変更しました。 これによりエラーハンドリングがうまくできるようになります。 * 「`random()`」関数で、`long`の値を取り扱えるようにしました。 * 「`Serial`」、「`SoftwareSerial`」、「`LiquidCrystal`」の各クラスに共通の抽象基底クラス「`Print`」を作成しました。 このことにより、`print()`および`println()`が同一の処理を共有するようになりました。 * ウォッチドッグタイマに対するladyadaによる改造を、ブートローダのソースに取り込みました。 ただし、これは、「Arduino Pro」および「Arduino Pro Mini」のブートローダをコンパイルするときだけ有効です。 なぜならば、この改造は、SparkFunによる上記ボードだけに有効だからです。