chirimen-oh / chirimen-micro-bit

CHIRIMEN with micro:bit
https://chirimen.org/chirimen-micro-bit/
Other
7 stars 9 forks source link

microbitサポートプログラムがmakecode通らなくなった #27

Closed satakagi closed 3 years ago

satakagi commented 3 years ago

調べた結果、micro:bit v2リリースに伴い、makecodeも仕様変更となったことが原因か?

pxt.jsonのyottaパートがどうも悪い感じです。

結果的に、CHIRIMEN with micro:bitは現状使えなくなっています。(chirimenサポートプログラム for microbitのコンパイル済みコードを取得できないため)

satakagi commented 3 years ago

再度試してみましたが、以前はコンパイルが通っていたCHIRIMEN with micro:bit用サポートプログラムのURL、コンパイルがやはり不能のようです。ということで、新しくプロジェクト作り直しが必要な感じですね・・・ 以下、作り直したURLですが・・・ https://makecode.microbit.org/_MW7ikh198LRp ↑のURLもコンパイル通りませんね・・・・・ これはまいった

satakagi commented 3 years ago

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を小さくしてあげないと、メモリオーバーフローが起きるので、この設定は必須なので、どこかに情報見つけた人教えてください。

satakagi commented 3 years ago

今の 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

satakagi commented 3 years ago

↑の挙動を何度か試してみたが、やはり 今の https://github.com/microsoft/pxt-microbit/blob/master/libs/bluetooth/pxt.json の記述から変更すると途端にコンパイルが完了せず、止まってしまう。

これはまずいなぁ・・・

satakagi commented 3 years ago

chirimen固有のコードが何もない、pxt.jsonのyottaパートでBluetooth関連の設定をを追加しただけ(main.tsはカラ)のコードでもコンパイルが通らない現象が再現することが分かったので・・・・

ということで、自己解決できない感じがするので、 https://github.com/microsoft/pxt-microbit/issues/3752 を立てました。

satakagi commented 3 years ago

このままだと現在進行中の講習会にも影響を及ぼしかねないので、 ひとまず、メモリオーバーフローするのは仕方ないとして(neopixel多数繋いだ時だけだと思う)、pxt.jsonをカスタマイズしていないものをアップロードしておきますかね? まずは、他の方の検証結果を待ちます。

hisayan commented 3 years ago

さしあたって、 https://makecode.microbit.org/v2 でひらくとかで、しのげたりはできませんか?

(chirimen-micro-bit については細かくしらべてないので、とんちんかんなことをいっているかもしれませんが、近しいトラブルにはまっているものです)

satakagi commented 3 years ago

v2を使う方法については、v2 makecodeにソースコードを渡す方法がまだ見つかっていないのが課題になっています。(v2上でソースコードの公開ボタンを押してURLを取得しても、v2でないmakecodeでソースが開かれてしまうようです)

ひとまずリソースはひっ迫してしまいますが、pxt.jsonにbluetoothのカスタム設定するのをやめたものを作ろうかなと思っているところです。

hisayan commented 3 years ago

すこし手間はかかりますが、コンパイルしたhexファイルを、makecode にドラッグアンドドロップしても、プロジェクトを開いてくれた気がします。 それで凌ぐのも難しい状況でしょうか? いま、スマホからなので、試せてないから、そんな仕様がなかったりしたらごめんなさい。

satakagi commented 3 years ago

なるほど。試してみます!

satakagi commented 3 years ago

と思ったら、本家issueへの投稿が功を奏したようで、CHIRIMEN with micto:bit用のコードはうまくコンパイルが通るようになりました!