exclude HUB75 from auto brightness limiter
For a 64x64 panel, ABL assumes 4A of standby current. This does not make any sense.
This commit is contained in:
@@ -1985,7 +1985,8 @@ void WS2812FX::estimateCurrentAndLimitBri() {
|
||||
|
||||
for (uint_fast8_t bNum = 0; bNum < busses.getNumBusses(); bNum++) {
|
||||
Bus *bus = busses.getBus(bNum);
|
||||
if (bus->getType() >= TYPE_NET_DDP_RGB) continue; //exclude non-physical network busses
|
||||
auto btype = bus->getType();
|
||||
if (EXCLUDE_FROM_ABL(btype)) continue; // WLEDMM exclude non-ABL and network busses
|
||||
uint16_t len = bus->getLength();
|
||||
uint32_t busPowerSum = 0;
|
||||
for (uint_fast16_t i = 0; i < len; i++) { //sum up the usage of each LED
|
||||
@@ -2196,7 +2197,20 @@ uint16_t WS2812FX::getLengthPhysical(void) const { // WLEDMM fast int types
|
||||
uint_fast16_t len = 0;
|
||||
for (unsigned b = 0; b < busses.getNumBusses(); b++) { // WLEDMM use native (fast) types
|
||||
Bus *bus = busses.getBus(b);
|
||||
if (bus->getType() >= TYPE_NET_DDP_RGB) continue; //exclude non-physical network busses
|
||||
auto btype = bus->getType();
|
||||
if (EXCLUDE_FROM_ABL(btype)) continue; //exclude HUB75, and non-physical network busses
|
||||
len += bus->getLength();
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
//WLEDMM - getLengthPhysical plus plysical busses not supporting ABL (i.e. HUB75)
|
||||
uint16_t WS2812FX::getLengthPhysical2(void) const {
|
||||
uint_fast16_t len = 0;
|
||||
for (unsigned b = 0; b < busses.getNumBusses(); b++) {
|
||||
Bus *bus = busses.getBus(b);
|
||||
auto btype = bus->getType();
|
||||
if (IS_VIRTUAL(btype)) continue;
|
||||
len += bus->getLength();
|
||||
}
|
||||
return len;
|
||||
|
||||
Reference in New Issue
Block a user