Re: [PATCH v3 1/2] leds: core: Introduce generic pattern interface

From: David Lechner
Date: Wed Jul 18 2018 - 13:00:34 EST




On 7/18/18 7:08 AM, Pavel Machek wrote:
On Wed 2018-07-18 19:32:01, Baolin Wang wrote:
On 18 July 2018 at 15:56, Pavel Machek <pavel@xxxxxx> wrote:
Hi!

I believe I meant "changing patterns from kernel in response to events
is probably overkill"... or something like that.

Anyway -- to clean up the confusion -- I'd like to see

echo pattern > trigger
echo "1 2 3 4 5 6 7 8" > somewhere

s/somewhere/pattern/

pattern trigger should create "pattern" file similarly how ledtrig-timer
creates delay_{on|off} files.

Yes, that sounds reasonable. v5 still says

+ Writing non-empty string to this file will activate the pattern,
+ and empty string will disable the pattern.

I'd deactivate the pattern by simply writing something else to the
trigger file.

For the case we met in patch 2, it is not related with trigger things.
We just set some series of tuples including brightness and duration
(ms) to the hardware to enable the breath mode of the LED, we did not
trigger anything. So it is weird to write something to trigger file to
deactive the pattern.

Confused. I thought that "breathing mode" would be handled similar way
to hardware blinking: userland selects pattern trigger, pattern file
appears (similar way to delay_on/delay_off files with blinking), he
configures it, hardware brightness follows the pattern ("breathing
mode"). If pattern is no longer required, echo none > trigger stops
it.
Pavel


I was confused too when I first read this thread. But after reviewing v5, it is clear that this is _not_ a trigger (and it should not be a trigger). This is basically the equivalent the brightness attribute - except that now the brightness changes over time instead of being a constant value. This way, the pattern can be used in conjunction with triggers.

For example, one might want to set the _pattern_ to something like a "breathe" pattern and set the _trigger_ to the power supply charging full trigger. This way, the LED will be off until the battery is full and then the LED will "breath" when the battery is full.