Florian Eckert wrote on 2023-10-30 09:15:
Shouldn't the led return to the line controlled steady state?
Sorry I do not understand your question.
Set an invert variable to true if state was TTY_LED_ENABLE before it got set
to TTY_LED_BLINK
No matter whether the LED is on or off beforehand. I understand that the
LED is always on for the first half of the period and off for the rest of
the period. I think that is correct and I don't need to make a distinction
via invert here. I hope I have understood your comment correctly here.
How do interval and the frequency of ledtrig_tty_work() relate?
The work is twice as long as of the interval. So the variable
LEDTRIG_TTY_INTERVAL = 50 and the work is scheduled LEDTRIG_TTY_INTERVAL * 2.
But that was also before my change.
This explains why you don't necessarily need to invert the blink.
If E.g. both CTS and TX are configured I would expect to see the led turn on
once CTS actives and then blink off when something is transmitted. After that
I expect to see the led still on because CTS is still active.
Now only because the work interval is 2*LEDTRIG_TTY_INTERVAL and the blink
uses an interval of LEDTRIG_TTY_INTERVAL for both on and off the user doesn't
notice any difference except maybe a bit of delay of the blink.
If either the work schedule was larger than 2*LEDTRIG_TTY_INTERVAL or the on
interval would differ from the off interval the behaviour would differ
noticably.
This is why I recommend to use an invert variable that is set to true when
the previous state was TTY_LED_ENABLE.
Maarten