| 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 brigntess value to another, | |
| we should use 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. |