ブログ

Armadillo-X1:GPIOクラスディレクトリのGPIO番号の計算方法

at_kazutaka.bito
2021年9月21日 9時41分

Armadillo-X1の拡張I/F(CON7/CON8)で、GPIOクラスディレクトリ(/sys/class/gpio/)に見えていないGPIOを
export(注)する際の「GPIO番号」の計算方法です。
注)
ドライバで使用中の端子については、GPIOクラスディレクトリにexportできません。

Armadillo-X1 マルチプレクス表の信号名は、下記のようにxとyの部分が数値で表記されています。
GPIOx_IOy

GPIOクラスディレクトリからのGPIO制御に必要な「GPIO番号」は、x、yの値を使って次のように計算できます。
(x - 1) * 32 + y

例えば、CON8の100ピン「GPIO3_28」の場合、x=3、y=28ですので「GPIO番号」は下記のように算出できます。
(3 - 1) * 32 + 28 = 92

CON8の100ピン「GPIO3_28」をGPIOクラスディレクトリで制御できるようにするには、92という値をexportします。

root@armadillo:~# cd /sys/class/gpio
root@armadillo:/sys/class/gpio# echo 92 > export