【M5Stack_Core2】Core2_Factory_test再コンパイル(続き)

Core2_Factory_test
github.com

ソース追ってみた。I2C関係が、軒並みNGになっているのよくよく調べると、内部(システム)で使っているI2Cって同じアドレスを使っているのか。 でもって、内部使用用(Wire1 G21,G22)と外部端子用(Wire G32,G33)を想定しているとも思われるのに、一部初期化で、Wire.begin(21, 22);とかなっているし デバイス初期化してクラスをインスタンス化しているところではWire1を使っている。Wireのライブラリ詳しくわからないけど、コンフリクトしているような感じなのかなぁ。 まあ、ライブラリgrepしてWire関係で、G21,G22使っているデバイスのところチェックして、

M5Core2.cpp の

  • Wire.begin(21, 22);

Core2_Factory_test.ino の

  • Wire.beginTransmission( lastptr->addr );
  • if ( Wire.endTransmission() == 0 )

を変更したら、I2C関係は問題なくなった。また、SD Cardの方は、SDcard関係のところにdelayを入れたらPowerONボタンで起動の時のみ認識しないまで、改善したが 電源回りなのか?一度切り替えしないとだめなのか?もう少しAXP192を使うようになってからじゃないとね。でも、M5Core2を人に見せるときにSDcard部でFailedなのはかっこ悪いなぁ。