GR-SAKURAにmrubyを移植しているのですが、Rubyに関してそれほど詳しくないので、バイナリをどう扱えばいいのか分かりませんでした。 例えば、Cなどでよくある write関数(write(int handle, void *buf, unsigned n))などを実現したいとき、mrubyではどのよう…
GR-SAKURAでmrubyを動かす (3)からの続きです。jjzakさんの「GR-SAKURAでmrubyを使う」にある例を参考に書いています。 今回のプロジェクトはGitHubにアップしています。https://github.com/tarosay/localcompile rxduino.hの変更 この状態でmakeすると以下…
GR-SAKURA用の libmruby.a を作成することができたので、 jjzakさんの「GR-SAKURAでmrubyを使う」にある例を参考に、GR-SAKURAのプログラムを作成してみたいと思います。 mrubyフォルダを作成する GR-SAKURA用のプロジェクトにmruby用のフォルダを作成します…
GR-SAKURAのローカルビルド環境で、mrubyをビルドしたいと思います。目的はGR-SAKURA用の libmruby.a を作成することです。 mruby最新版をダウンロードします mrubyの最新版をgithubからダウンロードしてきます。右側にある「Download ZIP」からダウンロード…
こんにちは、久々の更新になります。 ようやく、GR-SAKURAにmrubyを入れてみたので、備忘録を兼ねて書いておきます。 GR-SAKURAのローカルビルド環境を作る WindowsユーザなのでWindowsでの話しになります。 mrubyをWebコンパイラでビルドするのは難しいので…
(2013.05.17更新) FirmataMruby のコマンド説明を書きます。FirmataMrubyで用いるAndroid用の処理コマンドは、YamrubyやLuaridaと同じです。ただし、Luaridaコマンドと1つだけ違いが有ります。それは、クラスの先頭文字が大文字となります。 例えば、 canvas…
(2013.05.17更新) FirmataLua の専用コマンドの説明を書きます。 Androidの操作に関する一般コマンドは、Luaridaのコマンドと同じですので、Luaridaコマンド説明を参照してください。 pinMode( pin, mode ) ピンのモードを設定します。 引数 pin: ピン番号で…
Marida2のソケット通信仕様の説明です。関連アプリMaridaの解説も参考にしてください。 Marida2のソケット通信仕様(2012.03.20版) 1.通信の基本データ構造 1-1.送信の基本データ構造 Marida2との通信は、基本的に下記のデータ構造を持つパケットにより行い、…
Luaとmrubyの書き方の違いですが、メソッドの定義について書きたいと思います。 メソッドの定義 Luaの場合、luaL_openlib()やlua_register()を使います。mrubyの場合は、mrb_define_method()を使います。メソッドとして、クラスを持っているものと持っていな…
Luaとmrubyはとても良く似た書式でCへの組み込み関数が作れます。書き方としては、mrubyの方が洗練されている感じがします。順次、分かる範囲でLuaとmrubyのプログラムの書き方の違いについて、説明を書いていこうと思います。 何はともあれ、Luaもmrubyも使…
mrubyをAndroidに実装するために、先ず、Android-NDKでmrubyをビルドする方法を調べました。既に、偉大な先人方がいろいろやられていたので悩むこと無くビルドすることができました。 防備録として、現在のmruby(2013.3.20版)をAndroidでビルドするためのAnd…
ようやく、mrubyをいじり始めました。Luaridaで作ったAndroidの操作部分を新調Maridaに切り出してMarida2として、このMarida2をmrubyで操作するアプリを作りました。アプリ名はYa mrubyです。 先ほどGooglePlayに登録したので、しばらくすればダウンロードで…
LuaridaのAndroid UI処理部分を独立させたものをMaridaとして公開していましたが、新たにMarida2として公開しました。Android Ver 2.3.3以降対応となっています。機能は現在のところMaridaとほぼ同じです。 ダウンロードはGooglePlayからお願いします。Marid…
SakuLua Ver1.08では、変数をフラッシュに格納したり取り出したりできるコマンドを実装しました。sys.push()とsys.pop()です。 説明はSakuLuaコマンド一覧に追加しました。 これで、フラッシュメモリを複数のスクリプトから共通して呼び出すメモリ領域として…
SakuLua用のスクリプトをシリアル接続した端末から手入力するためのLuaスクリプトを書いてみました。 ちょっとテスト的にスクリプトをテストしたいとか、ターミナルからプログラムを打ち込みたいときのために、PCのターミナルで複数行書いたLuaスクリプトを…
SakuLuaの実装コマンドを説明します。 (1)基本コマンド 基本コマンドには下記があります。 pinMode(pin, mode) digitalWrite(pin, value) digitalRead(pin) analogWrite(pin, value) analogRead(pin) analogWriteDAC(pin, value) analogReference(type) anal…
GR-SAKURAってご存知でしょうか?若松通商とルネサスが共同開発したマイコンボードです。詳しくは下記のサイトで見てください。 http://japan.renesas.com/press/news/2012/news20120619.jsp http://japan.renesas.com/products/promotion/gr/index.jspこのG…
SakuLuaのプログラムを作っているときに、いちいちSAKURAボードからSDメモリカードを引き抜き、SDメモリカードに書き込んで、SAKURAボードに挿すという一連の手間が非常に面倒に感じてきます。 そこで、PCの端末からシリアル経由でSAKURAボードのSDメモリカ…
ブログ更新が約半年振りとなりました。ご無沙汰しています。 ついに、待っていました。あのドットインストールさんで、Lua言語のレッスンが始まりました。 Lua言語に興味のある方は、是非、チャレンジしてみてください。基礎編があるのだから、応用編も近い…
XPERIA mini ProをGB(v2.3.4)からICS(v4.0.4)にアップデイトしたところ、順調に動作していたSaridaが突然落ちるようになってしまいました。 原因を調べてみると、下記のサーバソケットを生成しているところで、com.sun.jdi.InvocationException例外が発生し…
Rubyって全くやったことが無くて、全く分からないのですが、松本さんがGitHubにmrubyのプロジェクトを公開されているのを見つけまして、そして、何かの記事でLuaを意識して作ったという話を読んで、あれっ、Luaラーにとってmrubyはとっつき易いの?と思って…
ようやく、XPERIA mini proをVersion 4.0(ICS)にアップデートできました。そこで、兼ねてよりやってみたかった自分自身から自分自身へのadb接続を試してみたいと思います。 先ず、必要なものとして、Android Terminal Emulatorをインストールします。 そして…
XPERIA mini pro(SK17)を持っているのですが、6月ICSへのアップデートが出ていたようです。SI番号のICS対応機種一覧は、ここのサイトに出ています。 私のSK17もアップデート一覧に合ったので、早速ICSにアップデートしてみました。 Update Serviceの起動 Win…
タグの意味を間違えていたため、Lintエラーが出てSigned Apllication Packageをエクスポートできない現象にはまってしまいました。 何を間違えていたのか、防備録として書いておきます。 Lintエラーの内容 エラーは下記のようなものでした。タグは、の中に置…
ADTに対応したスクリプトの作成をしていました。基本的にLuaridaと同じですが、ADTはAndroid Ver2.3.4以降対応なので、Luaridaとは別物の姉妹プロジェクトとしてSaridaという名前で作っていきたいと思っています。 また、ADTは接続相手のマイコンや基板によ…
SmartWatchの表示モードを変更します。Bitmapキャッチャの設定で変更できる全画面表示やスリープ設定と同じことができるコマンドです。 引数 mode はSmartWatchの画面の表示モードです。 mode=0: 画面を消去する(ブラックアウト) mode=1: 画面を暗くする mod…
メイン画面に指定X座標でセンタリングするように一行の文字を書きます。 引数 文字列: 表示する文字です。 CX: 表示文字の中心X座標 GY: 表示開始Y座標 文字サイズ: 文字フォントサイズ 文字色: 文字の色コード 背景色: 文字背景の色コード 背景色を省略した…
Luarida v1.85Betaを公開しました。SmartWatch用コマンドを1つ追加しました。また、懸案事項であったcanvas.putTextCenter()コマンドを追加しました。 さらに、v1.85Betaからx86とmipsに対応しました。というかしたつもりです。ndkのバイナリを同梱していま…
mipsやx86版のAndroidでも動作するように、Luaridaのネイティブの部分をビルドしなおしたのだけれど、今まで気づいてなかったバグがあってx86版がうまく動作しませんでした。防備録としてブログに残しておきます。現在のNDK(android-ndk-r8)は下記のようにAp…
以前、Activityとして登録しているアプリのパッケージ名を取得する方法について書きましたが、最近、SmartWatchを使い始めて、Serviceとして登録しているパッケージ名なども調べたくなりましたので、パッケージ名全てを抽出するプログラムを書きました。 get…