LEDS(4) | Device Drivers Manual (sun2) | LEDS(4) |
leds
— sun2
diagnostic Light Emitting Diodes driver
#include
<machine/leds.h>
All sun2 machines are equipped a diagnostic display of eight Light Emitting Diodes (LEDs), located on either the front (deskside chassis) or the back (desktop machine) of the system unit.
The kernel changes the display during periods of idle processor activity according to a stored sequential pattern list. The /dev/leds interface provides a way of manipulating the pattern list via simple file I/O.
The structure of the file is as follows:
struct led_patterns { u_char divisor; u_char patlen; u_char pat[256]; };
When a clock interrupt occurs while the processor is idle, a pattern countdown timer is decremented. When the countdown timer reaches zero it is reset with the divisor value and the next pattern in the array is selected and displayed.
Each 8-bit pattern describes the state of the diagnostic LEDs. A set bit in a pattern indicates that its corresponding LED should be extinguished, while a reset bit indicates an LED to be illuminated.
The following example uses awk(1) to display the repeating animation of a single lit LED scrolling from one end of the display to the other, using six clock ticks between each update.
An I/O transfer to /dev/leds will complete successfully unless:
EIO
]/dev/leds first appeared in NetBSD 1.2.
March 2, 1996 | NetBSD 10.99 |