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 |