Light up LEDs on the display when switching layers

When switching layers, light up the appropriate LED on the display. For this
purpose, start led_display.[ch], which as a start, has a function to set the
brightness of a layer led.

The function will also turn all other LEDs off, and turn all of them off when on
the base layer.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
This commit is contained in:
Gergely Nagy
2016-12-13 20:32:54 +01:00
parent cbdb013977
commit 2a7edbce6f
3 changed files with 21 additions and 1 deletions

11
right/src/led_display.c Normal file
View File

@@ -0,0 +1,11 @@
#include "led_display.h"
#include "layer.h"
#define LAYER_LED_FIRST FRAME_REGISTER_PWM_FIRST + 13
#define LAYER_LED_DISTANCE 16
void LedDisplay_SetLayerLed(uint8_t layerId, uint8_t brightness) {
for (uint8_t i = 0; i < LAYER_COUNT; i++) {
LedDriver_WriteRegister(I2C_ADDRESS_LED_DRIVER_LEFT, LAYER_LED_FIRST + (i * LAYER_LED_DISTANCE), brightness * (layerId == i + 1));
}
}