2013-01-01から1年間の記事一覧

カスタムアロケータとC++のnew

mruby Advent Calendar 2013 - Qiitaの19日目の記事です。 mrubyでカスタムアロケータを使う mrubyを使うときは、まずmrb_open()を呼ぶわけですが、mrb_open_allocf()という独自のアロケータを指定できる亜種があります。 mrb_state* mrb_open_allocf(mrb_al…

STM32F4DICOVERY+Wi-Fiモジュール+mrubyでWebサーバ

STM32F4DISCOVERYでmrubyを動かせましたが、次になにかしたいなと思っていたところ、簡単にマイコンに接続できるWi-Fiモジュールの存在を知りました。GAINSPAN GS1011シリーズ このモジュールは、マイコンとシリアル通信上でATコマンドを使って簡単にWireles…

¥1,650で買えるARM基板STM32F4DISCOVERYでmrubyを動かす

今までchipKIT Max32でmrubyを動かして遊んでいたわけですが、最近STMicroelectronicsのSTM32F4DISCOVERYという評価ボードを知りました。 STM32F4DISCOVERY ARM Coretex-M4 STM32F407VGT6 Microcontroller 1MB Flash 128KB + 64KB RAM 秋月電子で\1,650で販…

mrubyのmrb_gc_arena_save()/mrb_gc_arena_restore()の使い方がまだよくわからないので実験してみた

Matzがmrubyのarenaの使い方について書かれています。Matzにっき(2013-07-31) _mrubyのmrb_gc_arena_save()/mrb_gc_arena_restore()の使い方自分も時々arena_overflowになって悩まされていたのですが、いまいちわからないままあやしいところをmrb_gc_arena_s…

Safariをハイジャックしてmrubyを動かす

F-Scriptを真似して、SafariをハイジャックしてSafariの中でmrubyを動かしてみました。ハイジャックするといってもgdbでプロセスにアタッチしてFrameworkを読みこませる方法なので、XCode必須。今はメッセージの引数に使える型に制限がありますが、そのうち…

ホストベースなirbでmrubyとラジコンと戯れる その2

mrubyを使ったホストベースなirbその2です。 動画 コマンド #fileコマンド Rubyファイルを読み込んで、ボード上で実行させます。 #reconnectコマンド 一旦USBを抜いて、再度挿し直した時に復帰する機能です。 開発サイクル この2つのコマンドを使えば、コ…

ホストベースなirbでmrubyとラジコンと戯れる

@bovensiepenさんという方がArduino Due上でmirbを動かしています。http://blog.mruby.sh/201305201003.html自分も以前chipKITMax32で試したのですが、メモリが厳しすぎてまともに動きませんでした。どうもコンパイルするときにメモリをかなり使ってしまうみ…

SoundFlowerbedに音量コントロールをつけてみた。

MacでアプリやYoutubeの音を録音するのにSoundFlowerが便利でよく使っています。http://cycling74.com/products/soundflower/ SoundFlower SoundFlowerはいわゆる仮想サウンドデバイスで、SoundFlowerに出力すると、SoundFlowerの入力側に入ってくるという仕…

mrubyのメモリ使用量(リベンジ)の続き

mrubyのメモリ使用量(リベンジ) - kyabの日記では、参考サイトを元にmrb_open()直後までのメモリ使用量を約30kb減らすことができました。 total allocated size = 77858 malloc count = 1458 max memory usage = : 8381936 ただ、これはMac上のllvm-gccで…

mrubyのメモリ使用量(リベンジ)

2014/2/20追記 以下のメモリ削減はあくまで当時のmrubyに対する変更です。今でも有効かわかりませんし、#pragma packを使うと動作しない場合もあるとかないとか、、試す方は注意ください。また当時はmrbconf.hの#define を直接編集していますが、現在はbuild…

chipKit Max32でのmrubyビルド再考

引き続きArduino互換機chipKit Max32でmrubyを動かすシリーズです。 今まではchipKit Max32のIDEであるMPIDEのライブラリフォルダにmrubyのソースを丸ごとコピーするという方法を取って来ましたが、MPIDEのライブラリフォルダは*.c/*.hの配置に制限があった…

mrubyのメモリ使用量 on chipKit Max32

01/26追記: 測り方間違ってるぽいです! こちらを参照ください。mrubyのメモリ使用量(リベンジ) - kyabの日記 以下誤り! chipKit Max32上でのmrubyのメモリ使用量を調べてみました。といってもmrb_open()しただけの状態です。mrbconf.hはこんな感じで、TI…

Arduino互換機+mrubyでラジコンを自動走行してみた

2014/2/20追記 下記はRSTRING_PTR()を誤った使い方をしています。mrb_valueにRSTRING_PTR()マクロを使った場合に取り出した文字列は終端がNULLとは限りませんのでご注意 前回までで、chipKIT Max32上でmrubyプログラムをさくさく開発できるようになりました…

chipKIT Max32上でのmruby中速開発

2014/2/20追記 下記はRSTRING_PTR()を誤った使い方をしています。mrb_valueにRSTRING_PTR()マクロを使った場合に取り出した文字列は終端がNULLとは限りませんのでご注意 前回、LEDの制御ができました。 しかし、バイトコードをCに埋め込む方法だと、毎回mrub…

mrubyでLEDを点滅させる

2014/2/20追記 下記はRSTRING_PTR()を誤った使い方をしています。mrb_valueにRSTRING_PTR()マクロを使った場合に取り出した文字列は終端がNULLとは限りませんのでご注意 Arduino互換機 chipKIT Max32でmrubyを動かす - kyabの日記でchipKIT Max32でのmruby動…