Closed fhunleth closed 7 years ago
Finally made a pass on nerves_leds to solve a bunch of configuration stuff.
You can now definitely do this...
Leds.set :backlight, brightness: 200
And I added an example as such, But you could also redefine true to have a different value written, as follows...
# in config.exs
...
config nerves_leds, states: [
true: [brightness: 255], # or whatever
false: [brightness: 0],
slowblink: [trigger: "timer", delay_off: 250, delay_on: 250],
fastblink: [trigger: "timer", delay_off: 80, delay_on: 50],
slowwink: [trigger: "timer", delay_on: 1000, delay_off: 100],
heartbeat: [trigger: "heartbeat"]
]
Do you think this is enough to address this issue?
If not, one other idea would be to do implement the ability to do something like...
# in config.exs
config nerves_leds, max_brightness: 255, min_brightness: 0
And then have true mean write the "maximum" value for brightness, but I'm not sure that's enough better than just redefining the meaning of true and false.
Thoughts?
👍
I'm glad that you can set the brightness to an integer. I don't think that I knew that when I entered this issue. My guess is that people who actually have an LED that supports a variable brightness probably won't use true
and false
and maybe this is a non-problem. However, I do like the first suggestion of defining the brightness of true
and false
.
Looks like current behavior is good enough to close this. Thanks.
While they're not technically unsupported, there's an assumption that LEDs can only be set on or off. Some LEDs can have their brightness set from 0-255 or other ranges if the Linux driver supports it. Currently, setting those LEDs to
true
sets them to 1 which is really dim.The Lego Mindstorms EV3 is one platform that has LEDs like this. I've seen this on other platforms as well.