ラベル golang の投稿を表示しています。 すべての投稿を表示
ラベル golang の投稿を表示しています。 すべての投稿を表示

2016年4月27日水曜日

mbed Repository APIをGo言語から使う

Repository APIを使ったプログラムをGo言語で作ってみました。

実行例 test_repo,test_repo2のリポジトリをコマンドラインから作製しています。


作成時のメモ

Compile APIと同じくmbedのアカウントでBASIC認証。

リポジトリの作製に成功した時のレスポンス例。

既に存在するリポジトリ名で作製しようとした時のレスポンス例。

プログラムのリポジトリを作製する時は、repotype=prog に設定する。
ライブラリのリポジトリを作製する時は、repotype=lib に設定する。
repotypeを設定しない時はライブラリとして作製されます。

参考資料

Repository APIのドキュメント
https://developer.mbed.org/teams/mbed-api-users/wiki/Repository-API

作ったプログラム

rhgini.go Repository APIを使ったコマンド作成例
https://bitbucket.org/va009039/rarmcc/src/83490fd23f1c61eaf31b31eb0c81336905a19ca2/rhgini.go

Repository API クライアントのライブラリ
https://bitbucket.org/va009039/mbedapi

Windows用の実行ファイル(rhgini.exe)は次のサイトからダウンロードして下さい。
https://developer.mbed.org/users/va009039/notebook/mbed-api-client/

(2016/4/27)
---

2016年4月19日火曜日

mbed Compile APIをGo言語から使う

Compile APIを使ったプログラムをGo言語で作ってみました。

LEDチカチカmbed_blinkyをmbed LPC1768用にコンパイルしてバイナリファイルをダウンロードする実行例。


プログラム作成時のメモ

mbedオンラインIDEのアカウントのユーザ名とパスワードでBASIC認証をする。
Teams » mbed API users https://developer.mbed.org/teams/mbed-api-users/ に加入しなくても使える。

tasks/compiler/startで指定するプラットフォーム(platform)はmbedオンラインIDEとは関係ない。
mbedオンラインIDEでプラットフォームを追加しなくてもエラーにはならない。

プログラム(program)で指定したときはプログラムワークスペースのプログラムが対象になる。
対象外のプログラム名を指定するとコンパイル時にInternal errorになる。

リポジトリ(repo)でURL指定したときはパブリッシュされたプログラムが対象になる。
プライベートリポジトリ(private)も対象になる。
mbedオンラインIDEのアカウントとは関連のないリポジトリも対象なのでインポートしなくてもバイナリを作製出来た。

tasks/compiler/outputでコンパイルエラーの時のレスポンスはbinaryフィールドに文字列ではなくて、falseが返ってきます。
jsonライブラリ(encoding/json)の構造体への変換(json.Unmarshal)でエラーになってしまう。現状はエラーを無視して対応。

tasks/compiler/binでバイナリファイルをダウンロードをするのにタスクID(task_id)だけを指定すれば良さそうなものだが、バイナリファイル名(binary)とプログラム名(program)も指定しないとインターナルサーバーエラー(500)になる。
outputのレスポンスのbinary、programと同じでなければならない。

リポジトリでプログラムを指定した時はrepomode=1を設定しています。
repomode=だけではインターナルサーバーエラーになる。

参考資料

Compile APIのドキュメント
https://developer.mbed.org/handbook/Compile-API

作ったプログラム

Compile APIを使ったコマンド
https://bitbucket.org/va009039/rarmcc

Compile APIクライアントのライブラリ
https://bitbucket.org/va009039/mbedapi

Windows用の実行ファイル(rarmcc.exe)は次のサイトからダウンロードして下さい。
https://developer.mbed.org/users/va009039/notebook/mbed-api-client/

(2016/4/19)
---