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

Add and use I2C address defines for ISSI LED drivers #22008

Merged
merged 6 commits into from
Sep 19, 2023

Conversation

fauxpark
Copy link
Member

Description

Less magic numbers.

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).

@fauxpark
Copy link
Member Author

These boards are yet to be done:

akko/5108
akko/acr87
akko/top40
chosfox/cf81
inland/kb83
inland/mk47
monsgeek/m1
monsgeek/m5
monsgeek/m6

They have rgb_matrix.driver=is31fl3733 set, but the addresses are invalid for this chip. Presumably this is some clone or conveniently compatible equivalent.
#20556 (comment)

@HorrorTroll
Copy link
Contributor

HorrorTroll commented Sep 14, 2023

These boards are yet to be done:

akko/5108
akko/acr87
akko/top40
chosfox/cf81
inland/kb83
inland/mk47
monsgeek/m1
monsgeek/m5
monsgeek/m6

They have rgb_matrix.driver=is31fl3733 set, but the addresses are invalid for this chip. Presumably this is some clone or conveniently compatible equivalent. #20556 (comment)

Strange that the I2C address seem identical to CKLED2001 / SLED173x LED driver there? Maybe those chip in some case can be compatible with IS31FL3733 code?

@fauxpark
Copy link
Member Author

Comparing the datasheets, there are a lot of similarities in the register layouts 🤔

The function page is significantly changed, but it looks like the 3733 driver only writes to registers which wouldn't exist on the CKLED2001 so it should be "safe". It does write to the configuration/"software shut down" register (00h) however I think only bit 0 matters here which is the same on both. Page 2 (auto breath) is also entirely absent, and the current tuning registers appear to be a new addition.

@fauxpark
Copy link
Member Author

Turns out CKLED2001 is just SNLED27351, which is what the above listed boards use as well. So this PR is ready to go, and the rest of this mess will be cleaned up in a subsequent PR.

@drashna drashna requested a review from a team September 19, 2023 01:27
@fauxpark fauxpark merged commit 8f22105 into qmk:develop Sep 19, 2023
@fauxpark fauxpark deleted the issi-i2c-address-defines branch September 19, 2023 09:31
mechlovin pushed a commit to mechlovin/qmk_firmware that referenced this pull request Oct 25, 2023
christrotter pushed a commit to christrotter/qmk_firmware that referenced this pull request Nov 28, 2023
zgagnon pushed a commit to zgagnon/qmk_firmware_waterfowl that referenced this pull request Dec 15, 2023
future-figs pushed a commit to future-figs/qmk_firmware that referenced this pull request Dec 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants