diff options
author | Ryan <[email protected]> | 2023-09-19 19:31:54 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2023-09-19 19:31:54 +1000 |
commit | 8f221052897754870e5c08a2de92c24d20cd307e (patch) | |
tree | fe853aa394ae9d07f593446ce87a01b334f3bbea /docs/feature_rgb_matrix.md | |
parent | 74360d0a01d58baf68109f6380144c7f3c69ef91 (diff) | |
download | qmk_firmware-8f221052897754870e5c08a2de92c24d20cd307e.tar.gz qmk_firmware-8f221052897754870e5c08a2de92c24d20cd307e.zip |
Add and use I2C address defines for ISSI LED drivers (#22008)
Diffstat (limited to 'docs/feature_rgb_matrix.md')
-rw-r--r-- | docs/feature_rgb_matrix.md | 69 |
1 files changed, 36 insertions, 33 deletions
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index a8f4f346d6..bed9fd92d5 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -35,12 +35,14 @@ Here is an example using 2 drivers. // 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: -// 0b1110100 AD <-> GND -// 0b1110111 AD <-> VCC -// 0b1110101 AD <-> SCL -// 0b1110110 AD <-> SDA -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110110 +// 00 AD <-> GND +// 01 AD <-> SCL +// 10 AD <-> SDA +// 11 AD <-> VCC +// ADDR represents A1:A0 of the 7-bit address. +// The result is: 0b11101(ADDR) +#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND +#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA #define IS31FL3731_DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 25 @@ -118,15 +120,15 @@ Here is an example using 2 drivers. // 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 +// 00 ADDRn <-> GND +// 01 ADDRn <-> SCL +// 10 ADDRn <-> SDA +// 11 ADDRn <-> VCC // ADDR1 represents A1:A0 of the 7-bit address. // ADDR2 represents A3:A2 of the 7-bit address. // The result is: 0b101(ADDR2)(ADDR1) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010011 +#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_VCC #define IS31FL3733_DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 58 @@ -202,14 +204,15 @@ Here is an example using 2 drivers. // 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: -// 0000 <-> GND -// 0101 <-> SCL -// 1010 <-> SDA -// 1111 <-> VCC -// ADDR represents A3:A0 of the 7-bit address. -// The result is: 0b101(ADDR) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010001 +// 00 ADDRn <-> GND +// 01 ADDRn <-> SCL +// 10 ADDRn <-> SDA +// 11 ADDRn <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b101(ADDR2)(ADDR1) +#define DRIVER_ADDR_1 IS31FL3736_I2C_ADDRESS_GND_GND +#define DRIVER_ADDR_2 IS31FL3736_I2C_ADDRESS_GND_SCL #define IS31FL3736_DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 30 @@ -278,14 +281,14 @@ Here is an example using 2 drivers. // 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: -// 0000 <-> GND -// 0101 <-> SCL -// 1010 <-> SDA -// 1111 <-> VCC +// 0000 ADDR <-> GND +// 0101 ADDR <-> SCL +// 1010 ADDR <-> SDA +// 1111 ADDR <-> VCC // ADDR represents A3:A0 of the 7-bit address. // The result is: 0b101(ADDR) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010001 +#define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND +#define DRIVER_ADDR_2 IS31FL3737_I2C_ADDRESS_SCL #define IS31FL3737_DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 30 @@ -407,7 +410,7 @@ Then Define the array listing all the LEDs you want to override in your `<keyboa ```c const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { - * LED Index +/* LED Index * | R scaling * | | G scaling * | | | B scaling @@ -654,12 +657,12 @@ enum rgb_matrix_effects { RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation RGB_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit to hue & value then fades value out RGB_MATRIX_SOLID_REACTIVE, // Static single hue, pulses keys hit to shifted hue then fades to current hue - RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out - RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out - RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out - RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out - RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out - RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + RGB_MATRIX_SOLID_REACTIVE_WIDE, // Hue & value pulse near a single key hit then fades value out + RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE, // Hue & value pulse near multiple key hits then fades value out + RGB_MATRIX_SOLID_REACTIVE_CROSS, // Hue & value pulse the same column and row of a single key hit then fades value out + RGB_MATRIX_SOLID_REACTIVE_MULTICROSS, // Hue & value pulse the same column and row of multiple key hits then fades value out + RGB_MATRIX_SOLID_REACTIVE_NEXUS, // Hue & value pulse away on the same column and row of a single key hit then fades value out + RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, // Hue & value pulse away on the same column and row of multiple key hits then fades value out RGB_MATRIX_SPLASH, // Full gradient & value pulse away from a single key hit then fades value out RGB_MATRIX_MULTISPLASH, // Full gradient & value pulse away from multiple key hits then fades value out RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out |