From 4c9d3197b87214b3d0540d18c1b0582b0666ec74 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Fri, 19 May 2023 13:51:01 -0600 Subject: [PATCH] kbled: Make white_dac work like others Make `white_dac` functions work based on the DAC power level like the other I2C and PWM mechanisms, instead of preset values from an array. Signed-off-by: Tim Crawford --- src/board/system76/common/kbled/white_dac.c | 28 +++------------------ 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/src/board/system76/common/kbled/white_dac.c b/src/board/system76/common/kbled/white_dac.c index 25176ce..694f3bd 100644 --- a/src/board/system76/common/kbled/white_dac.c +++ b/src/board/system76/common/kbled/white_dac.c @@ -10,17 +10,6 @@ #define KBLED_DACDAT xconcat(DACDAT, KBLED_DAC) -// clang-format off -static uint8_t __code levels[] = { - 0x00, - 0x80, - 0x90, - 0xA8, - 0xC0, - 0xFF -}; -// clang-format on - void kbled_init(void) { kbled_kind = KBLED_WHITE; @@ -34,26 +23,15 @@ void kbled_reset(void) { } uint8_t kbled_get(void) { - uint8_t level; - uint8_t raw = KBLED_DACDAT; - for (level = 0; level < ARRAY_SIZE(levels); level++) { - if (raw <= levels[level]) { - return level; - } - } - return 0; + return KBLED_DACDAT; } uint8_t kbled_max(void) { - return ARRAY_SIZE(levels) - 1; + return 0xFF; } void kbled_set(uint8_t level) { - uint8_t raw = 0; - if (level < ARRAY_SIZE(levels)) { - raw = levels[level]; - } - KBLED_DACDAT = raw; + KBLED_DACDAT = level; } uint32_t kbled_get_color(void) {