EmbeddedController
EmbeddedController copied to clipboard
hx20: FP_LED_LEVEL_CONTROL takes symbolic inputs but returns raw outputs
Calling the FP_LED_LEVEL_CONTROL host command with set requires one of the symbolic LED brightnesses:
FP_LED_BRIGHTNESS_HIGH=0FP_LED_BRIGHTNESS_MEDIUM=1FP_LED_BRIGHTNESS_LOW=2
However, calling it with get populated returns the actual stored brightness value:
- high =
55(FP_LED_HIGH) - medium =
40(FP_LED_MEDIUM) - low =
15(FP_LED_LOW)
### Write brightness 2 (low)
# ectool raw 0x3e0e b2,b0
3e0e(...2 bytes...)
02 00 |.. |
### Read back (low = 15)
# ectool raw 0x3e0e b0,b1
3e0e(...2 bytes...)
00 01 |.. |
Read 1 bytes
0f |. |
It looks like the relevant code is here: https://github.com/FrameworkComputer/EmbeddedController/blob/hx20/board/hx20/led.c#L400