LED(4) | FreeBSD Kernel Interfaces Manual | LED(4) |
名称
led — LED、ランプ、および他の信号表示器 (アンシエータ) を操作するための API書式
#include < dev/led/led.h>
typedef void led_t(void *priv, int onoff);
struct cdev *
led_create_state( led_t *func, void *priv, char const *name, int state);
struct cdev *
led_create( led_t *func, void *priv, char const *name);
void
led_destroy( struct cdev *);
解説
led ドライバは、ランプと他の信号表示器 (アンシエータ) の LED 操作の一般的なサポートを行います。ハードウェアドライバは信号表示器のオンとオフを切り替える関数と /dev/led/ に関連する信号表示器のデバイス name を供給しなければなりません。 priv 引数はこのオン/オフ関数が戻され、また一方適切と思われるハードウェアドライバを使用することができます。
ランプは /dev/led/bla デバイスをオープンして ASCII 文字列を書き込むことによって制御することができます。
次では、我々は信号表示器の結果の出力を示すために、この特別な記法を使用します:
- *
- 信号表示器を 1/10 秒オンにします。
- _
- 信号表示器を 1/10 秒オフにします。
状態は直接設定することができ、変化は直ちに起こるので、非常に短い期間とプログラムイベントに連動させて信号表示器をフラッシュすることができます。これはベンチマークまたは短い間隔の測定で利用可能でないので、重要なオーバヘッドがあることに注意するべきです。
- 0
- 信号表示器を直ちにオフに切り替えます。
- 1
- 信号表示器を直ちにオンに切り替えます。
フラッシュは与えられた間隔で設定することができます。パターンは際限なく続きます。
- f
- _*
- f1
- _*
- f2
- __**
- f3
- ___***
- ...
- f9
- _________*********
3 つのハイレベルコマンドが利用可能です:
- d%d
- 数です。各数値は 1/10 秒毎の点滅で、0 は 10 回点滅します。数値の間は 1 秒間停止し、繰り返しシーケンスの後で最後の数値の後に 2 秒間停止します。
- s%s
-
文字列です。これは信号表示器の完全な制御を与えます。文字‘
A
’ ... ‘J
’は 1/10 から全 1 秒まで信号表示器をオンに切り替えます。文字‘a
’ ... ‘j
’は 1/10 から全 1 秒まで信号表示器をオフに切り替えます。次の UTC 秒を始めるとき、文字‘u
’と‘U
’は、それぞれ信号表示器をオフまたはオンに切り替えます。‘.
’で終了しなければ、繰り返しシーケンスが直ちに繰り返されます。 - m%s
-
モールス信号。
-
‘
.
’ -
は‘
_*
’となります。 -
‘
-
’ -
は‘
_***
’となります。 -
‘
-
は‘
__
’となります。 -
‘
\n
’ -
は‘
____
’となります。
-
‘
繰り返しシーケンスは 1 秒停止の後に繰り返されます。
関連ファイル
- /dev/led/*
使用例
‘d12
’はランプを次のようにフラッシュします。
*__________*_*______________________________
‘ sAaAbBa
’は次のようにフラッシュします。
*_*__**_
/usr/games/morse -l "Soekris rocks" > /dev/led/error
関連項目
morse(6)歴史
led ドライバは、 FreeBSD 5.2 ではじめて登場しました。作者
このソフトウェアは、 <phk@FreeBSD.org>によって書かれました。このマニュアルページは、
<osa@FreeBSD.org>と <phk@FreeBSD.org>によって書かれました。April 24, 2007 | FreeBSD |