About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / leds / ledtrig-oneshot.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:40 EST.

1	One-shot LED Trigger
2	====================
3	
4	This is a LED trigger useful for signaling the user of an event where there are
5	no clear trap points to put standard led-on and led-off settings.  Using this
6	trigger, the application needs only to signal the trigger when an event has
7	happened, than the trigger turns the LED on and than keeps it off for a
8	specified amount of time.
9	
10	This trigger is meant to be usable both for sporadic and dense events.  In the
11	first case, the trigger produces a clear single controlled blink for each
12	event, while in the latter it keeps blinking at constant rate, as to signal
13	that the events are arriving continuously.
14	
15	A one-shot LED only stays in a constant state when there are no events.  An
16	additional "invert" property specifies if the LED has to stay off (normal) or
17	on (inverted) when not rearmed.
18	
19	The trigger can be activated from user space on led class devices as shown
20	below:
21	
22	  echo oneshot > trigger
23	
24	This adds the following sysfs attributes to the LED:
25	
26	  delay_on - specifies for how many milliseconds the LED has to stay at
27	             LED_FULL brightness after it has been armed.
28	             Default to 100 ms.
29	
30	  delay_off - specifies for how many milliseconds the LED has to stay at
31	              LED_OFF brightness after it has been armed.
32	              Default to 100 ms.
33	
34	  invert - reverse the blink logic.  If set to 0 (default) blink on for delay_on
35	           ms, then blink off for delay_off ms, leaving the LED normally off.  If
36	           set to 1, blink off for delay_off ms, then blink on for delay_on ms,
37	           leaving the LED normally on.
38	           Setting this value also immediately change the LED state.
39	
40	  shot - write any non-empty string to signal an events, this starts a blink
41	         sequence if not already running.
42	
43	Example use-case: network devices, initialization:
44	
45	  echo oneshot > trigger # set trigger for this led
46	  echo 33 > delay_on     # blink at 1 / (33 + 33) Hz on continuous traffic
47	  echo 33 > delay_off
48	
49	interface goes up:
50	
51	  echo 1 > invert # set led as normally-on, turn the led on
52	
53	packet received/transmitted:
54	
55	  echo 1 > shot # led starts blinking, ignored if already blinking
56	
57	interface goes down
58	
59	  echo 0 > invert # set led as normally-off, turn the led off
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.