Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISSI RGB SPLIT MATRIX POC #23738

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from
Draft

ISSI RGB SPLIT MATRIX POC #23738

wants to merge 1 commit into from

Conversation

dexter93
Copy link
Contributor

POC for split RGB on issi drivers.

This takes advantage of the existing stack, using split_count to generate 2 seperate led tables instead of 1 common one.

const is31fl3731_led_t PROGMEM g_is31fl3731_leds_left[IS31FL3731_LED_COUNT_LEFT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location
 *   |  |      G location
 *   |  |      |      B location
 *   |  |      |      | */
    {0, C1_3,  C2_3,  C3_3},
    ....
}
const is31fl3731_led_t PROGMEM g_is31fl3731_leds_right[IS31FL3731_DRIVER_COUNT_RIGHT]= {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location
 *   |  |      G location
 *   |  |      |      B location
 *   |  |      |      | */
    {0, C1_3,  C2_3,  C3_3},
    ....
}

Allowing for individual control without being heavy on RAM/wasted cycles.

LED indexing is now treated similarly to the matrix indexing on split
[leds left]
[leds right]

but it should be transparent to the core driver.

User has to define individual driver I2C addresses for each half.

#define  IS31FL3731_I2C_ADDRESS_LEFT_1 
#define  IS31FL3731_I2C_ADDRESS_LEFT_2
..
#define IS31FL3731_I2C_ADDRESS_RIGHT_1
#define IS31FL3731_I2C_ADDRESS_RIGHT_2
..

and define the size of each

#define RGB_MATRIX_SPLIT 34 65

This is a POC, suggestions most welcome.

Description

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@github-actions github-actions bot added the core label May 18, 2024
@dexter93 dexter93 marked this pull request as draft June 11, 2024 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant