stack-chan icon indicating copy to clipboard operation
stack-chan copied to clipboard

m5stack core2 v1.1でファームウェアが全く機能しません

Open RChikamura opened this issue 2 years ago • 10 comments

不具合の概要 ファームウェアをビルドし、書き込んでみたのですが、画面に何もつかず、モーターも反応しません ターミナルやデバッガーを見ても、目立ったエラーコードは特に出ていません。

再現手順 node js および npm の最新版を導入した環境で、 https://github.com/meganetaaan/stack-chan/blob/dev/v1.0/firmware/docs/getting-started_ja.md https://github.com/meganetaaan/stack-chan/blob/dev/v1.0/firmware/docs/flashing-firmware_ja.md のコードを用いて環境構築をし、ファームウェアを書き込みました。

環境:

  • OS: Windows 11 実機 および Ubuntu仮想環境(VMware) (どちらで試してもダメでした)
  • ESP-IDF v5.1.2 および v4.4.3 (v4.4.3はUbuntuでのみテスト)
  • スタックチャンのバージョン v1.0
  • 使用するM5Stackの種類 m5stack core2 v1.1

その他 stack-chan-testerはPlatform IOを通して書き込みに成功しており、画面やモーターなども正しく動作することを確認しています。

RChikamura avatar Feb 01 '24 06:02 RChikamura

報告ありがとうございます!Core2 v1.1はModdable側がまだ対応しておらず、改修が必要です。 私も手元にテスト用機体はありますが手が回っていない状況でした🙇 今週中を目処に、必要な改修箇所について確認しますね。

meganetaaan avatar Feb 01 '24 08:02 meganetaaan

進捗共有です。M5Stackが提供するソースコードを見つつ改修箇所を確認しました。 Core2 v1.1の電源管理ICはAXP192からAXP2101に変わっており、初期化のためのコマンドが若干異なるため修正が必要です。ただし旧モデルと新モデルともに「m5stack_core2」ターゲットとして動作させたいので、端末の初期化時にICを自動判別して処理を振り分けます。 ちなみにAXP2101はCoreS3でも使われているものでModdableの実装が既にあります。他にもINA3221という電流センサICが追加されています。

最低限、必要な実装としては

  • m5stack_core2/setup-target.js:
    • 使われている電源ICがAXP192かAXP2101かを自動判別する
    • AXP2101の初期化処理を追加する
    • ディスプレイのバックライト点灯のための処理を追加する

が、できれば良さそうです。

meganetaaan avatar Feb 07 '24 16:02 meganetaaan

上記、お調べいただいた情報をもとに、私のほうでも独自に調査し、改修をしていたのですが、前進があったので共有いたします Core2のsetup-target.js, manifest.jsonと、モジュールaxp2101.jsを改修することにより、初期化処理が一部進行するようになった模様です。ただし、タッチパネルのセットアップに失敗しているようで、スタックちゃんの起動までは至らず、下部LEDのみが点灯している状態となります。 https://github.com/RChikamura/Moddable_Repair_RChikamura (Privateリポジトリです)

RChikamura avatar Feb 18 '24 09:02 RChikamura

さらに修正を加え、プログラムが1回起動するところまでは持っていけましたが、2回目以降は正常起動ができず、わずか数秒で落ちてしまう状態になってしまいます。

問題点として、AXP2101.jsにピン設定が大幅に不足していたり、AXP192.jsから変更されていないままの部分があったりしている点が見受けられ、それが影響を及ぼしているように思えます。 https://github.com/RChikamura/moddable_core2v1.1_try

RChikamura avatar Feb 25 '24 15:02 RChikamura

さらに修正を加え、おそらく正常起動可能になりました。 https://github.com/RChikamura/moddable_core2v1.1_try

RChikamura avatar Feb 29 '24 05:02 RChikamura

ありがとうございます!いまコード読んでいます。 AXP2101のDCDCやLDOなど足りていない機能を色々実装してくださったんですね。

DCDCの電圧のステップ数などの設定がピンによって違うんですね。たしかにデータシートの5.5 (Electrical Characteristics)に書いてますね。

後ほど実機で動かしてみます!

ちなみにModdable本家に今回の対応をコントリビュートするのは興味ありますか?コードを他のデバイスでも動くように修正したり、プルリクエストを作ったりする感じです。慣れない点がありましたら私もサポートできればと思います。

meganetaaan avatar Mar 07 '24 04:03 meganetaaan

返信遅れて申し訳ございません。 このようにgithubで連携を取って開発を進めたことがなく、まだどのような作業を行えばよいかわかっていないのですが、できることがあればお手伝いしたいと思います。

RChikamura avatar Mar 13 '24 00:03 RChikamura

私の方でも動作確認ができました!ありがとうございます!

いただいた変更を私の方でModdableに取り込んで微修正し、旧バージョンのCore2と共存して動くようにできました。

https://github.com/meganetaaan/moddable/tree/feature/m5stack_v2.1

Moddable最新版からの差分は下記のプルリクエストのとおりです。 https://github.com/meganetaaan/moddable/pull/1

このあともう少しセルフレビューしたら、RChikamuraさんを「共同編集者」としてModdable本家のほうにプルリクを出そうと思います。その際RChikamuraさんにContributor License Agreement(CLA:Moddableが指定するライセンスでコードを公開してよいですという同意書)を書いていただく必要がありますが、この段階になったらまた連絡します。CLAの詳細は↓にあります。

https://github.com/Moddable-OpenSource/moddable/blob/public/contributing.md#submitting-pull-requests

meganetaaan avatar Mar 17 '24 05:03 meganetaaan

プルリク作りました!

https://github.com/Moddable-OpenSource/moddable/pull/1324

@RChikamura 前述の通り、ModdableにCLAを提出していただけますでしょうか。

https://github.com/Moddable-OpenSource/moddable/blob/public/licenses/Moddable%20CLA%20-%20individual.pdf

  • PDFを印刷
  • 必要事項を記入
  • スキャン(私はPDFスキャン機能のついたスマホアプリを使いました)
  • [email protected] にPDFを送付する

で完了です。ご不明点ありましたらお尋ねください :bow:

meganetaaan avatar Mar 22 '24 15:03 meganetaaan

上記のプルリクがマージされました。 https://github.com/Moddable-OpenSource/moddable/pull/1324

既にModdableのpublicブランチで利用できるほか、来月のModdable月次リリースにもこの修正が含まれる見込みです。

meganetaaan avatar Mar 29 '24 07:03 meganetaaan

https://github.com/Moddable-OpenSource/moddable/releases/tag/4.6.0 4月のリリースで修正が取り込まれたので試しているんですが、LCDが付かないですね…なにか修正を間違えたかな。 デバイス本体下の青色LEDがずっと点滅しているのも気になります。

meganetaaan avatar May 02 '24 14:05 meganetaaan

あ、勘違いだった。 M5Stack Core2 v1.1とModdable v4.6.0の組み合わせで無事にスタックチャンが動作しました :tada:

meganetaaan avatar May 02 '24 14:05 meganetaaan

クローズします。v1.1でまだ問題があれば再オープンしてください。

meganetaaan avatar May 02 '24 14:05 meganetaaan