M5StickC で Joystick HAT の UIFlow サンプルを実行してみたが、センターが (0,0)ではない。これは正常?

2020-02-12

結論からいうと

未解決です。

初期不良でした。もう一個 JoyStick HAT を買ってみたら、そっちは正常に動作しました。

状況

UI Flow Desktop IDE 1.4.3

ファームウェア UI Flow 1.4.3

で 以下のBugCサンプルを試したところ、動作が前進と右回転しかできませんでした。

https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Hat/BugC/UIFlow

Joystick HAT側のソース (bugc_ctl.m5f) を確認すると、センターは X=0,Y=0 を想定しているみたいですが…

取得した「Get hat_joystick0 X」 「Get hat_joystick0 Y」 の値を画面表示するようにしてみると、センターがこの値でした。それだけなら、サンプルを修正すればいいですが…

左上: 2,127上 : 2, 127右上:75, 71
左 : 2, 127中央:75, 71右 :127, 0
左下: 75, 71下 : 127,0右下 :127, 0

8方向の値を調べると、こんな感じでした。

上下左右は、まあ百歩譲って、斜めがこの値ではアナログスティックの意味が無い気が…。

左上:0,127上 :64, 127右上:127,127
左 :0,64中央:64,64右 :127,64
左下:0,0下 :64,0右下:127,0

こうなるかと思ってたんですが。このHATはこういうものなんでしょうか?

試してみた事

値を表示するだけのプロジェクトを新規してみる

まあ、サンプルと同じ結果になりました。

Last Stable Version( 1.3.2 )で試してみる

このバージョンで Joystick HAT には未対応みたいです。

ブラウザ版で試してみる。

IDE 1.4.4、ファームウェア 1.4.4。

デスクトップ版と同じ結果になりました。

Arduino IDE で試してみる

https://scrapbox.io/saitotetsuya/Joystick_HAT

コチラのサイトのサンプルを使わせてもらって試したけど、 やはりセンターが(75,71)で、上下左右斜めも最初に試した値と同じ。

結論

そもそも、このHATはこういう値を返すもの?
設定か何かを間違えてる?
Joystick HATか、M5StickCの不良?

初心者過ぎて、どう切り分けていいかわかりません(汗)

※追記
初期不良でした。
安いので、うまく動作しない場合は、もう一個買ってみるというのもアリかもです。