0001 ====================
0002 One-shot LED Trigger
0003 ====================
0004
0005 This is a LED trigger useful for signaling the user of an event where there are
0006 no clear trap points to put standard led-on and led-off settings. Using this
0007 trigger, the application needs only to signal the trigger when an event has
0008 happened, than the trigger turns the LED on and than keeps it off for a
0009 specified amount of time.
0010
0011 This trigger is meant to be usable both for sporadic and dense events. In the
0012 first case, the trigger produces a clear single controlled blink for each
0013 event, while in the latter it keeps blinking at constant rate, as to signal
0014 that the events are arriving continuously.
0015
0016 A one-shot LED only stays in a constant state when there are no events. An
0017 additional "invert" property specifies if the LED has to stay off (normal) or
0018 on (inverted) when not rearmed.
0019
0020 The trigger can be activated from user space on led class devices as shown
0021 below::
0022
0023 echo oneshot > trigger
0024
0025 This adds sysfs attributes to the LED that are documented in:
0026 Documentation/ABI/testing/sysfs-class-led-trigger-oneshot
0027
0028 Example use-case: network devices, initialization::
0029
0030 echo oneshot > trigger # set trigger for this led
0031 echo 33 > delay_on # blink at 1 / (33 + 33) Hz on continuous traffic
0032 echo 33 > delay_off
0033
0034 interface goes up::
0035
0036 echo 1 > invert # set led as normally-on, turn the led on
0037
0038 packet received/transmitted::
0039
0040 echo 1 > shot # led starts blinking, ignored if already blinking
0041
0042 interface goes down::
0043
0044 echo 0 > invert # set led as normally-off, turn the led off