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

Enable de-ghosting for RGB/LED matrix on all ISSI LED drivers #14508

Merged
merged 12 commits into from
Nov 1, 2021

Conversation

donicrosby
Copy link

@donicrosby donicrosby commented Sep 19, 2021

Take two of #14281

Description

Currently RGB/LED matrixes for the various ISSI ICs have ghosting issues with the LEDs. Any LEDs used as indicators or just plain off in the matrix glow faintly which isn't ideal. I have added a option to be set in a keyboards config.h that allows for makers and users to enable the de-ghosting functions of the ICs for all of the drivers on the board so that this ghosting is eliminated.

I have set the default value to allow for ghosting (0 ohm resistor/de-ghosting settings off) so as to stay backwards compatible and not cause power issues with older boards.

The datasheet recommends enabling the highest resistor possible during the blanking time so there shouldn't be any dimming with the LEDs when they are on. If you want me to set that as the default (would make sense that you wouldn't want ghosting on the matrix) I can do that as well.

Types of Changes

  • Enhancement/optimization
  • 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 tested the changes and verified that they work and don't break anything (as well as I can manage).

@donicrosby donicrosby changed the base branch from master to develop September 19, 2021 08:00
@drashna drashna requested a review from a team September 19, 2021 18:44
@drashna
Copy link
Member

drashna commented Sep 23, 2021

No support for the 3731? (I'm pretty sure the answer is no).

Also, the 3218?

@donicrosby
Copy link
Author

Not that I can tell from looking at the datasheets. I didn't see any mention of de-ghosting built into the array.

@sigprof
Copy link
Contributor

sigprof commented Sep 23, 2021

Actually the application note for 3731 mentions “0xC2 Ghost Image Prevention Register” in section Q20; for some reason the 3731 datasheet does not describe that register.

@donicrosby
Copy link
Author

donicrosby commented Sep 23, 2021

Why the hell is that not in the datasheet....

Thanks for the heads up @sigprof, I'll add that in!

It's a boolean for enabling the de-ghost on or off so I'm gonna have to setup a special define just for that IC

@drashna drashna requested a review from a team September 29, 2021 02:45
@tzarc
Copy link
Member

tzarc commented Nov 1, 2021

Conflicts need to be resolved, other than that looks fine.

@tzarc tzarc merged commit 0c72501 into qmk:develop Nov 1, 2021
@donicrosby donicrosby deleted the issi-drivers-de-ghost-enable branch November 2, 2021 00:26
ptrxyz pushed a commit to ptrxyz/qmk_firmware that referenced this pull request Apr 9, 2022
)

* Initial work for de-ghost enable

* Dumb mistake with the redefine

* Added Copywrite stuff on source files

* Fixed whitespace errors

* Added support for all ISSI LED drivers

* Updated docs for support for ISSI LED driver pull-up pull-down

* Applied clang format

* Added 'boolean' flag to enable de-ghosting for the is31fl3731 IC

* Fixed some of the grammer in the docs

* Fixed comment placement and grammer of comment

* Fixed whitespace errors from lint

Co-authored-by: donicrosby <[email protected]>
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.

4 participants