| What: /sys/class/leds/<led>/pattern |
| Date: September 2018 |
| KernelVersion: 4.20 |
| Description: |
| Specify a software pattern for the LED, that supports altering |
| the brightness for the specified duration with one software |
| timer. It can do gradual dimming and step change of brightness. |
| |
| The pattern is given by a series of tuples, of brightness and |
| duration (ms). The LED is expected to traverse the series and |
| each brightness value for the specified duration. Duration of |
| 0 means brightness should immediately change to new value, and |
| writing malformed pattern deactivates any active one. |
| |
| 1. For gradual dimming, the dimming interval now is set as 50 |
| milliseconds. So the tuple with duration less than dimming |
| interval (50ms) is treated as a step change of brightness, |
| i.e. the subsequent brightness will be applied without adding |
| intervening dimming intervals. |
| |
| The gradual dimming format of the software pattern values should be: |
| "brightness_1 duration_1 brightness_2 duration_2 brightness_3 |
| duration_3 ...". For example: |
| |
| echo 0 1000 255 2000 > pattern |
| |
| It will make the LED go gradually from zero-intensity to max (255) |
| intensity in 1000 milliseconds, then back to zero intensity in 2000 |
| milliseconds: |
| |
| LED brightness |
| ^ |
| 255-| / \ / \ / |
| | / \ / \ / |
| | / \ / \ / |
| | / \ / \ / |
| 0-| / \/ \/ |
| +---0----1----2----3----4----5----6------------> time (s) |
| |
| 2. To make the LED go instantly from one brightness value to another, |
| we should use zero-time lengths (the brightness must be same as |
| the previous tuple's). So the format should be: |
| "brightness_1 duration_1 brightness_1 0 brightness_2 duration_2 |
| brightness_2 0 ...". For example: |
| |
| echo 0 1000 0 0 255 2000 255 0 > pattern |
| |
| It will make the LED stay off for one second, then stay at max brightness |
| for two seconds: |
| |
| LED brightness |
| ^ |
| 255-| +---------+ +---------+ |
| | | | | | |
| | | | | | |
| | | | | | |
| 0-| -----+ +----+ +---- |
| +---0----1----2----3----4----5----6------------> time (s) |
| |
| What: /sys/class/leds/<led>/hw_pattern |
| Date: September 2018 |
| KernelVersion: 4.20 |
| Description: |
| Specify a hardware pattern for the LED, for LED hardware that |
| supports autonomously controlling brightness over time, according |
| to some preprogrammed hardware patterns. It deactivates any active |
| software pattern. |
| |
| Since different LED hardware can have different semantics of |
| hardware patterns, each driver is expected to provide its own |
| description for the hardware patterns in their ABI documentation |
| file. |
| |
| What: /sys/class/leds/<led>/repeat |
| Date: September 2018 |
| KernelVersion: 4.20 |
| Description: |
| Specify a pattern repeat number. -1 means repeat indefinitely, |
| other negative numbers and number 0 are invalid. |
| |
| This file will always return the originally written repeat |
| number. |