| LED(4) | Device Drivers Manual | LED(4) |
NAME¶
led — API for manipulating LED's, lamps and other annunciatorsSYNOPSIS¶
#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 *);
DESCRIPTION¶
The led driver provides generic support for handling LEDs, lamps and other annunciators. The hardware driver must supply a function to turn the annunciator on and off and the device name of the annunciator relative to /dev/led/. The priv argument is passed back to this on/off function and can be used however the hardware driver sees fit. The lamp can be controlled by opening and writing ASCII strings to the /dev/led/bla device. In the following, we will use this special notation to indicate the resulting output of the annunciator:- *
- The annunciator is on for 1/10th second.
- _
- The annunciator is off for 1/10th second.
- 0
- Turn the annunciator off immediately.
- 1
- Turn the annunciator on immediately.
- f
- _*
- f1
- _*
- f2
- __**
- f3
- ___***
- ...
- f9
- _________*********
- d%d
- Numbers. Each digit is blinked out at 1/10th second, zero as ten pulses. Between digits a one second pause and after the last digit a two second pause after which the sequence is repeated.
- s%s
- String. This gives full control over the annunciator.
Letters ‘
A’ ... ‘J’ turn the annunciator on for from 1/10th to one full second. Letters ‘a’ ... ‘j’ turn the annunciator off for 1/10th to one full second. Letters ‘u’ and ‘U’ turn the annunciator off and on respectively when the next UTC second starts. Unless terminated with a ‘.’, the sequence is immediately repeated. - m%s
- Morse.
- ‘
.’ - becomes ‘
_*’ - ‘
-’ - becomes ‘
_***’ - ‘
’ - becomes ‘
__’ - ‘
\n’ - becomes ‘
____’
- ‘
FILES¶
- /dev/led/*
EXAMPLES¶
A ‘d12’ flashes the lamp
*__________*_*______________________________sAaAbBa’ flashes
*_*__**_/usr/games/morse -l "Soekris rocks" > /dev/led/error
SEE ALSO¶
morse(6)HISTORY¶
The led driver first appeared in FreeBSD 5.2.AUTHORS¶
This software was written by Poul-Henning Kamp ⟨phk@FreeBSD.org⟩. This manual page was written by Sergey A. Osokin ⟨osa@FreeBSD.org⟩ and Poul-Henning Kamp ⟨phk@FreeBSD.org⟩.| April 24, 2007 | Debian |