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

* 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 <donicrosby1995@gmail.com>
This commit is contained in:
donicrosby 2021-11-01 19:40:01 -04:00 committed by GitHub
parent 7ae0f371cf
commit 0c72501763
Failed to generate hash of commit
11 changed files with 136 additions and 10 deletions

View file

@ -1,6 +1,7 @@
/* Copyright 2017 Jason Williams
* Copyright 2018 Jack Humbert
* Copyright 2018 Yiancar
* Copyright 2021 Doni Crosby
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -58,6 +59,12 @@
#ifndef ISSI_PWM_FREQUENCY
# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only
#ifndef ISSI_SWPULLUP
# define ISSI_SWPULLUP PUR_0R
#endif
#ifndef ISSI_CSPULLUP
# define ISSI_CSPULLUP PUR_0R
#endif
// Transfer buffer for TWITransmitData()
@ -158,6 +165,10 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
// Select PG3
IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP);
// Set de-ghost pull-down resistors (CSx)
IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP);
// Set global current to maximum.
IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF);
// Disable software shutdown.