Node-Arduino-General-IO Version 0.0.3が公開されました。
以下の改善が行われています。
- High level API追加(後述)
- mochaでテストを再実装
- Arduinoのバッファがあふれるようなコマンドが送信されないようにした
- エラーのフォーマットを統一
- エラー時にはコールバック関数にErrorオブジェクトを渡すようにした
- Arduinoに不正なフォーマットのコマンドを送った場合はコールバック関数にエラーを渡すようにした
- ドキュメントの追加
High level APIについて詳しく説明します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Low level API | |
arduinode.send("ai/read/0", function(err, result){ | |
if(err) throw err; | |
console.log(result); | |
}); |
"ai/read/0"の所がコマンドなのですが、色々なコマンドを使ってるとタイプミスなどが発生してバグの原因となりがちです。
しかも様々なコマンドがあるため、全部覚えるのは大変です。
そこで今までの使っていたsend関数はLow level APIとして残して、High level APIを作成しました。
High level APIを使うと以下のようにコードが書けます。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// High level API | |
arduinode.analogRead(0, function(err, reuslt){ | |
if(err) throw err; | |
console.log(result); | |
}); |
これにより、ポート番号を指定するだけでコマンドが送れるようになりました。
文字列で色々書く必要が無いのでバグも発生しにくくなっております。
現在のところHigh level APIには以下の種類があります。
文字列で色々書く必要が無いのでバグも発生しにくくなっております。
現在のところHigh level APIには以下の種類があります。
- analogRead
- analogWrite
- analogReference
- digitalRead
- digitalWrite
- pinMode
関数名は全てArduinoのライブラリが持つ関数名と同じなので、新たに関数を覚える必要はありません。
0 件のコメント:
コメントを投稿