unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (FreeBSD-5.4-RELEASE)
Page:
Section:
Apropos / Subsearch:
optional field

LED(4)                   BSD Kernel Interfaces Manual                   LED(4)

NAME
     led -- API for manipulating LED's, lamps and other annunciators

SYNOPSIS
     #include <&lt;dev/led/led.h>&gt;

     typedef void led_t(void *priv, int onoff);

     dev_t
     led_create(led_t *func, void *priv, char const *name);

     void
     led_destroy(dev_t dev);

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 how-
     ever 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.

     State can be set directly, and since the change happens immediately, it
     is possible to flash the annunciator with very short periods and synchro-
     nize it with program events.  It should be noted that there is a non-
     trivial overhead, so this may not be usable for benchmarking or measuring
     short intervals.

           0       Turn the annunciator off immediately.
           1       Turn the annunciator on immediately.

     Flashing can be set with a given period.  The pattern continues end-
     lessly.

           f       _*
           f1      _*
           f2      __**
           f3      ___***
           ...
           f9      _________*********

     Three high-level commands are available:

           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 annuncia-
                   tor off for 1/10th to one full second.  Unless terminated
                   with a '.', the sequence is immediately repeated.

           m%s     Morse.

                         '.'     becomes '_*'
                         '-'     becomes '_***'
                         ' '     becomes '__'
                         '\n'    becomes '____'

     The sequence is repeated after a one second pause.

EXAMPLES
     A 'd12' flashes the lamp

           *__________*_*______________________________

     A 'sAaAbBa' flashes

           _*_**__*

     /usr/games/morse -l "Soekris rocks" > /dev/led/error

FILES
     /dev/led/*

SEE ALSO
     morse(6)

HISTORY
     The led driver first appeared in FreeBSD 5.2.

AUTHORS
     This software was written by Poul-Henning Kamp <phkATFreeBSD.org>.

     This manual page was written by Sergey A. Osokin <osaATFreeBSD.org> and
     Poul-Henning Kamp <phkATFreeBSD.org>.

BSD                            November 3, 2003                            BSD