I will be running my projects off a battery source with a max current output.
Measuring the current draw is not an issue and I am happy to do this individually for each pattern.
I want to make sure I understand all the brightness controls I have at my disposal.
The % limit in the Settings tab is a remap of what is sent to the LEDs, correct?
In other words, rgb(r,g,b) is remapped to rgb(r*GB, g*GB, b*GB) where GB is the global brightness setting in the settings tab.
And therefore hsv(h, s, v) is remapped to hsv(h, s, v*GB), correct?
Next item: the UI slider. This is an additional remap. So if that slider is SB, the scaling coefficient is actually (SB*GB), correct?
Next, onto strategy. I want to avoid accidentally sending my PB into a reboot loop if I manually touch the global UI slider and set the brightness too high for the battery for that pattern, so I should arrange my per-pattern brightness so this can be always left at 100%.
To find the right brightness, I would hook the LEDs to a big power supply, set the UI slider to max, and bring up the GB value in the settings tab up until I hit the current limit. This number can then be baked into the pattern inside render(), by scaling the r, g, b and v values for every LED.
In summary, I would then have:
- UI global brightness slider at 100% always.
- Settings tab global brightness at 100% always.
- Each pattern has a brightness scale number as determined above.
Thoughts and comments?