Closed satakagi closed 3 years ago
再度試してみましたが、以前はコンパイルが通っていたCHIRIMEN with micro:bit用サポートプログラムのURL、コンパイルがやはり不能のようです。ということで、新しくプロジェクト作り直しが必要な感じですね・・・ 以下、作り直したURLですが・・・ https://makecode.microbit.org/_MW7ikh198LRp ↑のURLもコンパイル通りませんね・・・・・ これはまいった
pxt.jsonのyottaパートについて:
"microbit-dal"があるけれど空 https://makecode.microbit.org/_KLsfXu0ut7Mq これは通る
"microbit-dal" に "gatt_table_size": "0x300" つけた https://makecode.microbit.org/_1dt1hh4xUT2h 通らない
"microbit-dal" に "bluetooth"(中身ありを付けた) https://makecode.microbit.org/_cgTep2Rse5MW 通らない
どうも "microbit-dal"の仕様が変わっていると思いますね・・
gatt_table_sizeを小さくしてあげないと、メモリオーバーフローが起きるので、この設定は必須なので、どこかに情報見つけた人教えてください。
今の https://github.com/microsoft/pxt-microbit/blob/master/libs/bluetooth/pxt.json の記述
↑のコードの記述とはちょっと違う。
そこで、これをpxt.jsonにコピーしてみた https://makecode.microbit.org/_f6CXuw8EfdeR これは通ってる様子。
しかし、gatt_table_sizeの値を 0x300にしたとたんに通らなくなる。 https://makecode.microbit.org/_95VWyJiTgXP9
値を逆に大きくしても通らない。 https://makecode.microbit.org/_DDqJbvRP7F8i
↑の挙動を何度か試してみたが、やはり 今の https://github.com/microsoft/pxt-microbit/blob/master/libs/bluetooth/pxt.json の記述から変更すると途端にコンパイルが完了せず、止まってしまう。
これはまずいなぁ・・・
chirimen固有のコードが何もない、pxt.jsonのyottaパートでBluetooth関連の設定をを追加しただけ(main.tsはカラ)のコードでもコンパイルが通らない現象が再現することが分かったので・・・・
ということで、自己解決できない感じがするので、 https://github.com/microsoft/pxt-microbit/issues/3752 を立てました。
このままだと現在進行中の講習会にも影響を及ぼしかねないので、 ひとまず、メモリオーバーフローするのは仕方ないとして(neopixel多数繋いだ時だけだと思う)、pxt.jsonをカスタマイズしていないものをアップロードしておきますかね? まずは、他の方の検証結果を待ちます。
さしあたって、 https://makecode.microbit.org/v2 でひらくとかで、しのげたりはできませんか?
(chirimen-micro-bit については細かくしらべてないので、とんちんかんなことをいっているかもしれませんが、近しいトラブルにはまっているものです)
v2を使う方法については、v2 makecodeにソースコードを渡す方法がまだ見つかっていないのが課題になっています。(v2上でソースコードの公開ボタンを押してURLを取得しても、v2でないmakecodeでソースが開かれてしまうようです)
ひとまずリソースはひっ迫してしまいますが、pxt.jsonにbluetoothのカスタム設定するのをやめたものを作ろうかなと思っているところです。
すこし手間はかかりますが、コンパイルしたhexファイルを、makecode にドラッグアンドドロップしても、プロジェクトを開いてくれた気がします。 それで凌ぐのも難しい状況でしょうか? いま、スマホからなので、試せてないから、そんな仕様がなかったりしたらごめんなさい。
なるほど。試してみます!
と思ったら、本家issueへの投稿が功を奏したようで、CHIRIMEN with micto:bit用のコードはうまくコンパイルが通るようになりました!
調べた結果、micro:bit v2リリースに伴い、makecodeも仕様変更となったことが原因か?
pxt.jsonのyottaパートがどうも悪い感じです。
結果的に、CHIRIMEN with micro:bitは現状使えなくなっています。(chirimenサポートプログラム for microbitのコンパイル済みコードを取得できないため)