現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。
Doxygenでの自動作成のリファレンスはこちらです。
概要
新バージョンのSDKがリリースされたので、内容を確認しました。
M5StickCは加速度センサーがSH200QとMPU6886の二種類ありますが、今回のバージョンからラッパークラスを使うことで、どちらのIMUでも同じようにプログラムすることができるようになりました。
結構大きな変更点なのですが、PRを出したら取り込んでくれたのですが、8月20日にマージされて、リリースがやっと本日でした!
主な変更点
- IMUクラスがラッパークラスとなり内部でSH200QとMPU6886クラスを振り分け
- AXPがいろいろ変更
- コンパイル時の警告が表示されないように
IMUクラス
いままでSH200QはIMUクラスで、MPU6886がMPU6886クラスという非対称のクラス名でしたが、IMUクラスがラッパー関数となり、搭載しているIMUに応じて、SH200QクラスとMPU6886クラスの関数を呼び分ける仕様に変わりました。
この変更によって、従来のIMUクラスを利用しているコードのままで、搭載しているIMUがSH200QとMPU6886を意識せずに、なんとなく動くようになっています。
なぜなんとなくと書いたかというと、このプルリクエストはわかりやすいベタ書きコードで、細かい数値補正などはせず、まずは取り込んでもらって、その後で微調整をすればいいかなと思ったからです。
本来的にIMUのハードが違うのと、設定値が微妙に違うので同じような数値がでているようで、ちょっと違う数値になっています。
AXP192クラス
いろいろ変わっています。I2Cへのアクセスがベタ書きだったのですが、ラッパー関数を作って大幅に書き直しています。そのため行ベースでのDIFFだと差分がわかりにくいので、じっくりと後日解析したいと思います。
今まで数値が内部のステップ数を返却していて、データシート見ながら謎の係数をかけていましたが、そのまま使える数値を返却する関数群が増えています!
コンパイル時の警告抑制
コンパイル時の警告が結構でていたのを、何個か潰しました。ESP32のライブラリも警告が何個かでるので、あまり中国の人は警告見てないのかな?
その他
AXP192のスケッチ例が、関数群入れ替えのため更新されていますが、スクリプトを使って描画されていました。スクリプト関数を使った例は初めてだったと思います。
HATやUNITも新販売したものは追加されていますが、Beetlecとかの動くもののコードは何故か別の場所なんですよね。
まとめ
HATは新製品が毎週でているのに、ライブラリが更新されていなかったM5StickC。待ちに待ったアップロードですが、次回はもう少し短いスパンで更新して欲しいです。
コメント