目次
ledctrlでは、ボード上のD1からD5までのLEDを制御することができます。ledctrlは、図 10.1. 「ledctrlコマンドフォーマット」のように使用します。
[armadillo ~]# ledctrl [ledname] [command]
[armadillo ~]#
ledctrl
図 10.1. ledctrlコマンドフォーマット
lednameには、制御対象のLED IDを指定[11]します。対応するID は、表 10.1. 「ledctrl:ledname」のとおりです。
ledname
表 10.1. ledctrl:ledname
commandには、制御対象のLEDに対しての制御方法を指定します。command一覧は、表 10.2. 「ledcrowl:command」のとおりです。
command
表 10.2. ledcrowl:command
LEDの点滅を開始します。点滅間隔は、interval_msで指定します。デフォルトでは200msの点滅間隔となります。
また、点滅を開始する1つ前の状態を保存し、blink_off時に状態を元に戻すことができます。
現在の状態を表示します。表示する項目は、
brightness、delay_on、delay_off
となります。
点灯させる
[armadillo ~]# ledctrl all on
ledctrl all on
図 10.2. ledctrl使用例1
消灯させる
[armadillo ~]# ledctrl led1,led2 off
ledctrl led1,led2 off
図 10.3. ledctrl使用例2
点滅を開始させる
[armadillo ~]# ledctrl led3 blink_on 500
ledctrl led3 blink_on 500
図 10.4. ledctrl使用例3
点滅を終了させる
[armadillo ~]# ledctrl led3 blink_off
ledctrl led3 blink_off
図 10.5. ledctrl使用例4
swmgrでは、ボード上のSW1及びSW2の押下イベント[12]を取得し、指定する動作を実行することができます。
swmgrは、図 10.6. 「swmgrコマンドフォーマット」のように使用します。
[armadillo ~]# swmgr [SW ID] [LOOP] [COMMAND]
swmgr [SW ID] [LOOP] [COMMAND]
図 10.6. swmgrコマンドフォーマット
SW IDには、イベントを取得したいSWのIDを指定します。対応するIDは、表 10.3. 「swmgr:SW ID」のとおりです。
表 10.3. swmgr:SW ID
LOOPには、イベントを待つ回数を指定します。0を指定すると無制限になります。
COMMANDには、イベントが発生した時に実行する動作を記述します。
SW1が押されたときに時刻を表示する
[armadillo ~]# swmgr sw1 1 date
swmgr sw1 1 date
図 10.7. swmgr使用例1
SW1が押されたときにD5を点灯、SW2が押されたときにはD5を消灯する
[armadillo ~]# swmgr sw1 0 ledctrl led5 on & [armadillo ~]# swmgr sw2 0 ledctrl led5 off & ※終了する場合は次のコマンドを実行します [armadillo ~]# killall swmgr
swmgr sw1 0 ledctrl led5 on &
swmgr sw2 0 ledctrl led5 off &
killall swmgr
図 10.8. swmgr使用例2
開発ボードのGPIO(CON16)は、/sys/devices/platform/armadillo5x0_gpio.0/portsの下にあるファイルを読み書きすることにより、簡易的に制御することができます。
/sys/devices/platform/armadillo5x0_gpio.0/ports
制御できる項目は、表 10.4. 「GPIOファイルノード」のとおりです。
表 10.4. GPIOファイルノード
GPIOのDirectionを変更することができます。0を書き込むとINPUTに、1を書き込むことによりOUTPUTになります。それ以外は未定義となります。
読み出した場合は、現在の状態を取得できます。
DirectionがINPUTの場合は、GPIOの現在の入力レベルを読み出すことができます。書き込みは無視されます。
DirectionがOUTPUTの場合は、GPIOの出力レベルを設定できます。読み出した場合は、現在の出力レベルを取得できます。
読み書きする値は、0でLOWレベルを表し、1でHIGHレベルを表します。
それ以外は未定義となります。
GPIO0(CON16 2ピン)を入力にする場合は、図 10.9. 「GPIO:DirectionをINPUTにする」のようにコマンドを実行します。
[armadillo ~]# echo 0 > /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_dir
echo 0 > /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_dir
図 10.9. GPIO:DirectionをINPUTにする
現在のGPIO0の入力状態を取得するには、図 10.10. 「GPIO:INPUT時の入力状態を取得する」のようにコマンドを実行します。
[armadillo ~]# cat /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_data 0
cat /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_data
図 10.10. GPIO:INPUT時の入力状態を取得する
GPIO0(CON16 2ピン)を出力にする場合は、図 10.11. 「DirectionをOUTPUTにする」のようにコマンドを実行します。
[armadillo ~]# echo 1 > /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_dir
echo 1 > /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_dir
図 10.11. DirectionをOUTPUTにする
HIGHレベルを出力するには、図 10.12. 「OUTPUT時の出力状態を変更する」のようにコマンドを実行します。
[armadillo ~]# echo 1 > /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_data
echo 1 > /sys/devices/platform/armadillo5x0_gpio.0/ports/gpio0_data
図 10.12. OUTPUT時の出力状態を変更する
[11] LEDを複数指定する場合は、LED IDを','(カンマ)で区切って指定してください。
[12] SWを押してから離したときにイベントが発生します。