@ -5,37 +5,6 @@ This feature allows you to use RGB LED matrices driven by external drivers. It h
If you want to use single color LED's you should use the [LED Matrix Subsystem](feature_led_matrix.md) instead.
## Driver configuration :id=driver-configuration
---
# IS31FL3236 :id=is31fl3236
There is basic support for addressable RGB matrix lighting with the I2C IS31FL3236 RGB controller. To enable it, add this to your `rules.mk`:
```makefile
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3236
```
Configure the hardware via your `config.h`:
```c
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// The result is: 0b01111(ADDR1)
#define DRIVER_ADDR_1 0b01111000
#define DRIVER_LED_TOTAL 36
```
Currently only a single drivers is supported, but it would be trivial to support all 4 combinations.
The RGB LEDs are assumed to be connected in an _RGB,RGB,RGB,..._ fashion sequentially from OUT1 to OUTx (where x is the total number of LEDs, 3 per RGB LED)
Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1` for now).
---
### IS31FL3236 :id=is31fl3236
There is basic support for addressable RGB matrix lighting with the I2C IS31FL3236 RGB controller. To enable it, add this to your `rules.mk`:
```makefile
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3236
```
Configure the hardware via your `config.h`:
```c
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// The result is: 0b01111(ADDR1)
#define DRIVER_ADDR_1 0b01111000
#define DRIVER_LED_TOTAL 12
```
Currently only a single drivers is supported, but it would be trivial to support all 4 combinations.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
Where `OUT_X` is pin of the LED defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3236.pdf) and the header file `drivers/led/issi/is31fl3236.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0` for now).