GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
折角なので、Rubyを使ってプログラミングをやろうと、I2Cのインターフェースを使おうと思ってしまいますが、Rubicで下記のソースを動かそうとすると、クルクル回ったまま止まってしまいます。
CITRUSのファームは、CITRUS-1.97(2016/6/12)f3(256KB)です。
sensor.write()部分をコメントアウトすると、動くので、何かおまじないが必要なのでしょうか?
#!mruby
usbout=Serial.new(0)
sensor = I2c.new(1)
sensor.write(0x7c,0x80,0x38)
Kazuyuki Eguchi さん、ありがとうございます。
こちらもprintlnの中の式を2倍のボリュームにすると再現できました。
JavaScriptに変換されているmrubyのコードに一部最適化がかかっておらず、スタックを大量消費していたようです。ご迷惑をおかけしました。
最適化をかけて更新をアップロードしましたので、Chromeウェブストアからの配信開始まで少々お待ちください。
新バージョンは 0.2.4 になります。
なお、新バージョンでは、以下のように極端なパターンでも正常にコンパイルできています。
分量をさらに倍にするとさすがにNGでしたが、下記コードだけでもCITRUSが扱えるmrbの最大サイズ(4kB)に到達していますので、
とりあえずはここまでの対応とさせてください。
(本当は正しくエラーハンドリングして、編集画面に返ってくるようにすべき、というのは重々承知しております…)
USB.println(
year.to_s + "/" + mon.to_s + "/" + da.to_s + " " + ho.to_s + ":" + min.to_s + ":" + sec.to_s +
:
: 同一行×20行繰り返し
year.to_s + "/" + mon.to_s + "/" + da.to_s + " " + ho.to_s + ":" + min.to_s + ":" + sec.to_s)
41814 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
でした。
きむしゅさん
バージョンアップお疲れ様です!
ばっちり、コンパイルできるようになりました!
これで、開発が思うように進められそうです。
ありがとうございます!
無事解決よかったっすね。
うちも20824でした。この差はなんなんでしょう?PCのRAM起因とか?うちはちょい少なくて6GBです。