SketchWriter
公開日:
更新日:
SketchWriterとは、optiboot―これが書き込まれているArduinoはArduinoUnoです―と通信することができるものです。このSketchWriterはoptibootに対してメモリのセット、データの送信、アプリの実行、を命令することができます。それらの命令を使ってパソコンを用いずにArduinoにスケッチ―Arduinoではプログラムのことをスケッチと呼んでいます―を書き込むことができます。SketchWriterができることは以下のことです。
- optibootに対しての基本命令の送信
- スケッチが書かれたHexFile(Hexファイル)の読み込み
- Arduinoにスケッチを送信
- 今後応用可能な関数セット
optibootに対しての基本命令とはメモリのセット、 データの送信、 アプリの実行、 optibootと同期などをさします。このヘッダを用いるとArduinoからArduinoへスケッチ―プログラム―を書き込むことができます。
ただし、以下の環境が必要です。
スケッチを書き込まれるArduinoにはブートローダー"optiboot"がかきこまれていること
optibootがかきこまれているArduinoは"Arduino UNO"です。このサイトでもこれを使用しています。
スケッチを書き込むArduinoは16MHzで動作していること
optibootとの通信には115200bpsのシリアル通信が用いられています。8MHzなどの低周波数で動作するArduinoではこの通信がうまくいきません。
SketchWriterを改良、強化、何でもしてください(;´∀`)
-
SketchWriterの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- ファイルの説明
- SDカード、操作したいArduinoと接続
- インクルード, SketchWriterを開始
-
ここでは, SketchWriterの基本的な使い方を説明します. 説明項目は以下のとおりです.
- SketchWriterのしくみ
- HexFileの入手
- スケッチの送信
-
関数 Begin SketchWriterの開始 End SketchWriterの終了 SetReaetPin リセット信号を出すピンの設定 ResetArduino Arduinoにリセットをかける GetCh optibootからシリアルデータを受け取る Wait optibootからの処理完了信号-STK_OK-待機 GetInSync optibootからのSTK_INSYNK信号待機 VerifySpace コマンド有効化 AppStart プログラムの開始 GetSync optibootと同期をとる GetParameter optibootからOPTIBOOT_MAJVERまたはOPTIBOOT_MINVERを取得 SetAddress メモリのオフセット値を送信 SendData データの送信 SketchWrite スケッチの書き込み SerialClear シリアルデータ削除 SetFileName 文字列’sketchName’にファイル名を代入 SketchLoad スケッチ-HexFile-の読み込み SketchReload スケッチ-HexFile-の再読み込み SketchClose スケッチ-HexFile-を閉じる ReadHexVal HexFileから1Byteの数値を読み込む ReadHexData HexData読み込み, 配列’hexData’に格納 変数 hexData[hexDataBufSize] 読み込んだHexData fileEnded HexFile読み取り位置状態 sketchName ロードしたHexFile名 sendDataSize 一回でoptibootに送るデータサイズ hexDataBufSize 配列’hexData’のサイズ