reduced default power due to hardware spec fault

The boost converter is fairly weak. This was known going into this design. However, the LED brightness wasn't ever really calculated and was just assumed it would be kept under control by the specific LED programs in use.

Since per-color gain tuning isn't implemented yet, for now the default global gain is turned down to prevent voltage drop from turning off white LEDs when programs that light a significant number of LEDs are run. If turning up the brightness the white LEDs can still drop.
This commit is contained in:
true
2026-05-09 10:29:33 -07:00
parent ecaf281535
commit 9bc0ad4952
3 changed files with 6 additions and 7 deletions

View File

@@ -152,8 +152,8 @@ void aw20x_set_dim(struct AW20x *aw)
void aw20x_set_dim_global(struct AW20x *aw, uint8_t dim) void aw20x_set_dim_global(struct AW20x *aw, uint8_t dim)
{ {
uint8_t i; uint8_t i;
uint8_t row; //uint8_t row;
uint8_t offset; uint8_t offset = 0;
// ceil // ceil
if (dim > 0x3f) dim = 0x3f; if (dim > 0x3f) dim = 0x3f;
@@ -167,13 +167,12 @@ void aw20x_set_dim_global(struct AW20x *aw, uint8_t dim)
for (i = 0; i <= aw->rows; i++) aw_buf[i] = dim; for (i = 0; i <= aw->rows; i++) aw_buf[i] = dim;
// send buffer for each column // send buffer for each column
row = offset = 0; //row = offset = 0;
for (i = 0; i < aw->cols; i++) { for (i = 0; i < aw->cols; i++) {
AW20X_I2C_writereg(aw->addr, offset, aw_buf, aw->rows); AW20X_I2C_writereg(aw->addr, offset, aw_buf, aw->rows);
while (AW20X_I2C_busy()); while (AW20X_I2C_busy());
row += aw->rows; //row += aw->rows;
offset += AW20X_MAX_ROWS; offset += AW20X_MAX_ROWS;
} }
} }

View File

@@ -13,7 +13,7 @@
#define AW20X_DIM 28 // initial global current setting #define AW20X_DIM 20 // initial global current setting
#define AW20X_COLS 6 #define AW20X_COLS 6
#define AW20X_ROWS 12 #define AW20X_ROWS 12

View File

@@ -10,7 +10,7 @@
static uint32_t brt = 28; static uint32_t brt = 20; // set to same as in matrix.c
uint8_t ribbon_prog = 0; uint8_t ribbon_prog = 0;
uint8_t aii_prog = 0; uint8_t aii_prog = 0;