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)
Eguchiさん、こんにちは、たろサです。
クルクル回るというのは、Rubicが転送から復帰しないということかなと思いますが、Rubicとの転送中の問題か、mruby-VMの動作中の問題か、切り分けるために、usbout.println "Hello"をusbout=Serial.new(0)の後に入れてもらえませんでしょうか。
これで、Helloが返ってきたら、Rubyファームの問題です。クルクルのままだと、main.mrbを転送中にずっこけています。
あと、sensorがnilで返っているかもしれません。
usbout.println "sensor is nil" if sensor.nil?
とか、入れてみてもらえませんでしょうか?
たろサさん
返信ありがとうございます!
はい、Rubicからの転送から復帰しないというのが症状です。
Windowsマシンでやってみたところ、今朝は動作させることができました。
ですが、MacBookの場合はうまくいかないです。
プログラムサイズが大きくなると、転送に失敗するみたいです。
もうちょっと調べてみます!
今は、Buildでも、クルクルのままになってしまいました。
コンパイルってサーバ越しで行っているんでしたっけ?
いえ、Rubicの場合、コンパイルはオフラインで行っています。
保存(Save)は問題なく実行できますか?
はい、saveはできます。
Buildでクルクルしてしまうプロジェクトを添付します。
USB.printlnの前のコメントを外すとクルクルします。
コメント付けたままだと、コンパイル出来ます。
サンプルソースが間違っていました。すみません。
setDateTimeではなく、setTimeです。くるくるが止まらないのは、mrubyVMが吐いたエラーをRubicが受け取れていないのかもしれません。
ただ、エラーを吐いた後は、コマンド受付状態に戻るので、そうなったときは、クルクルが止まるはずなので、別の要因かもしれません。
USB = Serial.new(0, 115200) #USBシリアル通信の初期化
Rtc.init
Rtc.setTime([2016,4,16,17,0,0])
15.times do|i|
led(i % 2)
year,mon,da,ho,min,sec = Rtc.getTime()
USB.println(year.to_s + "/" + mon.to_s + "/" + da.to_s + " " + ho.to_s + ":" + min.to_s + ":" + sec.to_s)
delay(500)
end