/sys/class/timed_output/vibrator

読み:スラ・シス・スラ・クラス・スラ・タイムドアウトプット・バイブレーター
外語:/sys/class/timed_output/vibrator 英語
品詞:名詞

Linux、特にAndroidsysfsで、バイブレーターに関するデバイスファイルやシンボリックリンクが配置されることが多いディレクトリ。

目次

時間指定するデバイスのうち、特にバイブレーターの制御に用いられるディレクトリである。

但し、機種によってはバイブが搭載されていてもこのディレクトリを用いていないこともある。全てはメーカーの設計方針次第である。

バイブレーターを稼動させるには、このディレクトリ下にあるenableプロパティに対してミリ秒単位で時間をwriteすればよい。

例えば500を書き込めば、500ミリ秒つまり0.5秒間稼動し、自動で止まる。

echo 500 > /sys/class/timed_output/vibrator/enable

また、稼働中に残時間を参照することもできる。

cat /sys/class/timed_output/vibrator/enable

ioctlなどの面倒なものを使わなくても簡単に制御できるのがsysfsの特徴である。

パラメーター

多くの場合、少なくとも次のようなパラメーターがあるだろう。

  • enable
  • power/autosuspend_delay_ms
  • power/control
  • power/runtime_active_time
  • power/runtime_status
  • power/runtime_suspended_time
  • uevent

追加

timed_outputデバイスは、enableに時間を書き込むだけで動作できる、シンプルなデバイスが登録される。しかし時には、振動の強さ、振動の周波数といったパラメーターを追加したい場合もある。このような場合は、device_create_file()関数などを使用して追加できる。

例えばprobe処理内で実施するならば、次の手順である。

  1. timed_output_dev_register()を実行して標準的な /sys/class/timed_output/vibrator 以下をsysfsに登録
  2. この関数実行後はstruct timed_output_devのstruct device *devに値が入る
  3. この dev.dev を device_create_file()の第一引数に使用して任意のパラメーターを登録

もし、周波数を設定する /sys/class/timed_output/vibrator/freq を追加したいならば、次のようにする。

まず、定義を用意する。

static DEVICE_ATTR(freq, S_IRUGO | S_IWUSR, freq_show, freq_store);

ここで指定する、readおよびwrite処理の関数であるfreq_show/freq_storeも別途用意する。こうして、次のようにする(timed_output_dev_registerを呼んだ時の構造体をdevとする)。

ret = device_create_file(dev.dev, &dev_attr_freq);

これで、vibratorディレクトリ以下にfreqが追加される。

用語の所属
ディレクトリ
/sys
/sys/class/timed_output
関連する用語
sysfs
/sys/class/leds

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club