Results 1 to 3 of 3

Thread: pixel "power" reduction

  1. #1
    Frosty member
    Join Date
    Nov 2014
    Sauk City, WI

    pixel "power" reduction

    I have been wanting to confirm my understanding for a while... if I tell my controller that I only want to run at XX% power, what exactly does it do?
    ronp5683 said in another thread...
    "I run my at about 83%, it still gives a reduction in power, but does not affect the appearance. If you lower the maximum current to half, and use a gamma correction it reduces the available colors and will affect the appearance of the color blends (I have tried it)."

    So, do the controllers just do math or use mapping to change the value for rgb to r%g%b%? For example, if I send it 256/128/0 and have it set for 50% the color that gets sent to the pixel is 128/64/0? or is it a limiter and I get 128/128/0?

    And then when does the gamma correction cone into play and where -if used- should it be applied?

    And then the follow on is at what value does the led change its output? are leds linear devices? if i drop a red value from 15 to 8 (50% with rounding). Does the 8 actually light the led? Is 128/128/128 still white? or does it look like something else?

  2. #2
    DIGWDF Engineer member dirknerkle's Avatar
    Join Date
    Nov 2011
    Plymouth, MN USA
    I think it's probably a change in PWM that's sent to the controller. Essentially, an 83% setting would allow current to flow only 83% of the time as opposed to full-on, which is 100% of the time. And since there's little visual difference between an LED that's running at 83% as opposed to 100%, cutting back may actually improve color appearance without the blinding brightness while also saving energy and not taxing the equipment quite as much, either.
    Even though the DIGWDF Store has closed, it's still awesome! Thanks to all who have supported us through nearly 7 years of excitement!
    Parts of the store will remain open for downloading documentation, firmware and other files:

  3. #3
    Santa's Helpers Jchuchla's Avatar
    Join Date
    Mar 2013
    Chicago, southwest suburbs
    The actual answer on how they get there depends on each controller. If it's done at the controller level, and the data communications between the controller and pixels is only 8 bits per color (as is the case for 2811 and most others), your only choice is to scale the values. Similar if it's done at the sequencer level. All our current protocols top out at 8 bits per color, so you can't communicate a more dynamic range than that to the controllers.

    How that scaling happens can vary from controller to controller. Whether it's math or a lookup table is going to vary depending how the firmware was written. The espixelstick uses a LUT to get there. (and only offers a gamma curve)
    With a high level language such as vixen, Color is it's own data type (not a simple RGB triplet), and it contains methods to get and set the color in many different ways. It can be set using RGB methods, and read and modified with HSV methods, etc. We use the methods that are most appropriate for each individual operation.
    I can speak to how it's done if you do it with dimming curves within vixen. And you definitely have more control of the process. Vixen does the curve scaling math to modify the V of the HSV representation of a color value.
    Curves are representations of 0-100% values over 0-100% of the range. Vixen gives you stepped linear scaling. That is, the scaling is linear between any two points on the dimming curve, but you can have multiple points to approximate a curve. So for any incoming value (the range on the X scale), it's modified by multiplying with the corresponding Y Value at that point of the X Scale. But since you draw the curve line, you set the scaling math.

    But since 8 bit to 8 bit scaling is still 8 bits, if you limit your output to 50%, then your max brightness is 127, and you only have 127 steps from full off to full on. Maybe not a big deal on the higher end, but it starts to matter at the lower end. This is where 12 bit pixels and 12 bit control of P10 comes into play.

    If your controller is talking to 12 bit pixels like the 3005 pixels, the game changes a bit. You (the controller) already need to scale up your values to 12 bit to get the full range. So the controller's has the ability to remap, or scale differently without loss of range.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts