Encoder Unit
https://gyazo.com/d583ba427679c70366c718c36d4bba52
saitotetsuya.iconv1.1でMODEとRESETに対応した
MODE
0を書き込むとパルス
1を書き込むとAB(absolute?)
RESET
1以上の数値を書き込むとカウンタが0になる
ATOMシリーズで動かすサンプル
saitotetsuya.icon自分で書いてみた
つまみの状態取得
モード変更(ファームウェアv1.1から)
レジスタ0x00に以下の値を書き込む
PULSEモード(0)
起動したときの位置を0として右に回すと1増えて,左に回すと1減る
値はsigned shotにしているので16ビット?
ABモード(1,ファームウェアv1.1で追加)
つまみをどちらにひねっても値がひねった分だけ増える
モードを切り替えたタイミングで現在のつまみの位置が0になる
現在位置でリセット(値を0にする)できる(ファームウェアv1.1から)
レジスタ0x40に1以上の値を書き込む
書き込んだ値にかかわらず,現在の値が0になる
ボタン機能(つまみを押せる)
I2Cアドレス0x40からレジスタ0x20を1バイト読み出す
0なら押されている
1なら押されていない
LED
つまみを上にした向き
0:両方
1:左
2:右
STM32のファームウェア更新
https://gyazo.com/a2ed37f37b7cdefe9ddc7683724f22bf
G,R,D,C,V
https://gyazo.com/acacc496e09028c5584be85c7cd7db48
CN2のNucleoとST-LINKのジャンパピン 2 個を外す
CN4のSWD(Serial Wire Debug)コネクタとJP1のC1(3.3V)を使う
https://gyazo.com/07e96be9e58290adf79da28c58069650
table:ピン
Encoder G R D C V
ST-LINK CN4の3 CN4の5 CN4の4 CN4の2 JP1のC1
ふつうのジャンパワイヤ(オス-メス)で対応
https://gyazo.com/877be9833177cd9efba279b907ec0ab0
WindowsなのでSTM32CubePrg-W64を使用
GitHubにあるM5UnitEncoder_Firmware_v1.1.hexを開いてEncoder Unitにダウンロードする
https://gyazo.com/fb608db2293a30d5a19ee7bea7ec86f3