M5StickC SDK 0.1.1リリース

現時点の情報です。最新情報は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。待ちに待ったアップロードですが、次回はもう少し短いスパンで更新して欲しいです。

コメント