コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

mrubyでのバイナリの扱い

GR-SAKURAにmrubyを移植しているのですが、Rubyに関してそれほど詳しくないので、バイナリをどう扱えばいいのか分かりませんでした。 例えば、Cなどでよくある write関数(write(int handle, void *buf, unsigned n))などを実現したいとき、mrubyではどのよう…

GR-SAKURAでmrubyを動かす (4)

GR-SAKURAでmrubyを動かす (3)からの続きです。jjzakさんの「GR-SAKURAでmrubyを使う」にある例を参考に書いています。 今回のプロジェクトはGitHubにアップしています。https://github.com/tarosay/localcompile rxduino.hの変更 この状態でmakeすると以下…

GR-SAKURAでmrubyを動かす (3)

GR-SAKURA用の libmruby.a を作成することができたので、 jjzakさんの「GR-SAKURAでmrubyを使う」にある例を参考に、GR-SAKURAのプログラムを作成してみたいと思います。 mrubyフォルダを作成する GR-SAKURA用のプロジェクトにmruby用のフォルダを作成します…

GR-SAKURAでmrubyを動かす (2)

GR-SAKURAのローカルビルド環境で、mrubyをビルドしたいと思います。目的はGR-SAKURA用の libmruby.a を作成することです。 mruby最新版をダウンロードします mrubyの最新版をgithubからダウンロードしてきます。右側にある「Download ZIP」からダウンロード…

GR-SAKURAでmrubyを動かす (1)

こんにちは、久々の更新になります。 ようやく、GR-SAKURAにmrubyを入れてみたので、備忘録を兼ねて書いておきます。 GR-SAKURAのローカルビルド環境を作る WindowsユーザなのでWindowsでの話しになります。 mrubyをWebコンパイラでビルドするのは難しいので…

FirmataMrubyのコマンド説明

(2013.05.17更新) FirmataMruby のコマンド説明を書きます。FirmataMrubyで用いるAndroid用の処理コマンドは、YamrubyやLuaridaと同じです。ただし、Luaridaコマンドと1つだけ違いが有ります。それは、クラスの先頭文字が大文字となります。 例えば、 canvas…

FirmataLuaのコマンド説明

(2013.05.17更新) FirmataLua の専用コマンドの説明を書きます。 Androidの操作に関する一般コマンドは、Luaridaのコマンドと同じですので、Luaridaコマンド説明を参照してください。 pinMode( pin, mode ) ピンのモードを設定します。 引数 pin: ピン番号で…

Marida2通信仕様説明 2013.3.20現在

Marida2のソケット通信仕様の説明です。関連アプリMaridaの解説も参考にしてください。 Marida2のソケット通信仕様(2012.03.20版) 1.通信の基本データ構造 1-1.送信の基本データ構造 Marida2との通信は、基本的に下記のデータ構造を持つパケットにより行い、…

Luaとmrubyの書き方の違い (2) 「メソッドの定義」

Luaとmrubyの書き方の違いですが、メソッドの定義について書きたいと思います。 メソッドの定義 Luaの場合、luaL_openlib()やlua_register()を使います。mrubyの場合は、mrb_define_method()を使います。メソッドとして、クラスを持っているものと持っていな…

Luaとmrubyの書き方の違い (1) 「openの仕方」

Luaとmrubyはとても良く似た書式でCへの組み込み関数が作れます。書き方としては、mrubyの方が洗練されている感じがします。順次、分かる範囲でLuaとmrubyのプログラムの書き方の違いについて、説明を書いていこうと思います。 何はともあれ、Luaもmrubyも使…

mrubyをAndroid用にビルドする

mrubyをAndroidに実装するために、先ず、Android-NDKでmrubyをビルドする方法を調べました。既に、偉大な先人方がいろいろやられていたので悩むこと無くビルドすることができました。 防備録として、現在のmruby(2013.3.20版)をAndroidでビルドするためのAnd…

Ya mruby v0.06を公開しました。

ようやく、mrubyをいじり始めました。Luaridaで作ったAndroidの操作部分を新調Maridaに切り出してMarida2として、このMarida2をmrubyで操作するアプリを作りました。アプリ名はYa mrubyです。 先ほどGooglePlayに登録したので、しばらくすればダウンロードで…

Marida2を公開しました

LuaridaのAndroid UI処理部分を独立させたものをMaridaとして公開していましたが、新たにMarida2として公開しました。Android Ver 2.3.3以降対応となっています。機能は現在のところMaridaとほぼ同じです。 ダウンロードはGooglePlayからお願いします。Marid…

SakuLua Ver1.08をリリースしました

SakuLua Ver1.08では、変数をフラッシュに格納したり取り出したりできるコマンドを実装しました。sys.push()とsys.pop()です。 説明はSakuLuaコマンド一覧に追加しました。 これで、フラッシュメモリを複数のスクリプトから共通して呼び出すメモリ領域として…

SakuLua用Luaスクリプトをターミナルから手打ちする

SakuLua用のスクリプトをシリアル接続した端末から手入力するためのLuaスクリプトを書いてみました。 ちょっとテスト的にスクリプトをテストしたいとか、ターミナルからプログラムを打ち込みたいときのために、PCのターミナルで複数行書いたLuaスクリプトを…

SakuLuaコマンド一覧 (2013/02/1現在)

SakuLuaの実装コマンドを説明します。 (1)基本コマンド 基本コマンドには下記があります。 pinMode(pin, mode) digitalWrite(pin, value) digitalRead(pin) analogWrite(pin, value) analogRead(pin) analogWriteDAC(pin, value) analogReference(type) anal…

SakuLua Ver 1.07リリース

GR-SAKURAってご存知でしょうか?若松通商とルネサスが共同開発したマイコンボードです。詳しくは下記のサイトで見てください。 http://japan.renesas.com/press/news/2012/news20120619.jsp http://japan.renesas.com/products/promotion/gr/index.jspこのG…

ターミナルからSDカードに書き込み

SakuLuaのプログラムを作っているときに、いちいちSAKURAボードからSDメモリカードを引き抜き、SDメモリカードに書き込んで、SAKURAボードに挿すという一連の手間が非常に面倒に感じてきます。 そこで、PCの端末からシリアル経由でSAKURAボードのSDメモリカ…

ドットインストールさんで「Luaの基礎」レッスンが公開されました

Lua

ブログ更新が約半年振りとなりました。ご無沙汰しています。 ついに、待っていました。あのドットインストールさんで、Lua言語のレッスンが始まりました。 Lua言語に興味のある方は、是非、チャレンジしてみてください。基礎編があるのだから、応用編も近い…

ICSでcom.sun.jdi.InvocationException例外が発生する

XPERIA mini ProをGB(v2.3.4)からICS(v4.0.4)にアップデイトしたところ、順調に動作していたSaridaが突然落ちるようになってしまいました。 原因を調べてみると、下記のサーバソケットを生成しているところで、com.sun.jdi.InvocationException例外が発生し…

mrubyって面白いのかな

Rubyって全くやったことが無くて、全く分からないのですが、松本さんがGitHubにmrubyのプロジェクトを公開されているのを見つけまして、そして、何かの記事でLuaを意識して作ったという話を読んで、あれっ、Luaラーにとってmrubyはとっつき易いの?と思って…

XPERIA内部から自身へのadb接続

ようやく、XPERIA mini proをVersion 4.0(ICS)にアップデートできました。そこで、兼ねてよりやってみたかった自分自身から自分自身へのadb接続を試してみたいと思います。 先ず、必要なものとして、Android Terminal Emulatorをインストールします。 そして…

XPERIAをICSにバージョンアップ

XPERIA mini pro(SK17)を持っているのですが、6月ICSへのアップデートが出ていたようです。SI番号のICS対応機種一覧は、ここのサイトに出ています。 私のSK17もアップデート一覧に合ったので、早速ICSにアップデートしてみました。 Update Serviceの起動 Win…

タグの意味を間違えていた

タグの意味を間違えていたため、Lintエラーが出てSigned Apllication Packageをエクスポートできない現象にはまってしまいました。 何を間違えていたのか、防備録として書いておきます。 Lintエラーの内容 エラーは下記のようなものでした。タグは、の中に置…

ArduinoのADT対応スクリプト言語Sarida

ADTに対応したスクリプトの作成をしていました。基本的にLuaridaと同じですが、ADTはAndroid Ver2.3.4以降対応なので、Luaridaとは別物の姉妹プロジェクトとしてSaridaという名前で作っていきたいと思っています。 また、ADTは接続相手のマイコンや基板によ…

swatch.dispMode(mode[,area])

SmartWatchの表示モードを変更します。Bitmapキャッチャの設定で変更できる全画面表示やスリープ設定と同じことができるコマンドです。 引数 mode はSmartWatchの画面の表示モードです。 mode=0: 画面を消去する(ブラックアウト) mode=1: 画面を暗くする mod…

canvas.putTextCenter( 文字列, CX, GY, 文字サイズ, 文字色[,背景色] )

メイン画面に指定X座標でセンタリングするように一行の文字を書きます。 引数 文字列: 表示する文字です。 CX: 表示文字の中心X座標 GY: 表示開始Y座標 文字サイズ: 文字フォントサイズ 文字色: 文字の色コード 背景色: 文字背景の色コード 背景色を省略した…

Luarida v1.85Betaを公開しました

Luarida v1.85Betaを公開しました。SmartWatch用コマンドを1つ追加しました。また、懸案事項であったcanvas.putTextCenter()コマンドを追加しました。 さらに、v1.85Betaからx86とmipsに対応しました。というかしたつもりです。ndkのバイナリを同梱していま…

ndk-buildの防備録

mipsやx86版のAndroidでも動作するように、Luaridaのネイティブの部分をビルドしなおしたのだけれど、今まで気づいてなかったバグがあってx86版がうまく動作しませんでした。防備録としてブログに残しておきます。現在のNDK(android-ndk-r8)は下記のようにAp…

インストールされている全てのパッケージ名を取得する

以前、Activityとして登録しているアプリのパッケージ名を取得する方法について書きましたが、最近、SmartWatchを使い始めて、Serviceとして登録しているパッケージ名なども調べたくなりましたので、パッケージ名全てを抽出するプログラムを書きました。 get…