Skip to content

Commit

Permalink
add the ability to change the pwm frequency for the IS31FL3737B (qmk#…
Browse files Browse the repository at this point in the history
  • Loading branch information
Frooastside authored and zykrah committed Jul 2, 2022
1 parent d295ba3 commit c17eb3e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/feature_rgb_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ Configure the hardware via your `config.h`:
|----------|-------------|---------|
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `ISSI_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3737B only | 0 |
| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
Expand Down
6 changes: 5 additions & 1 deletion drivers/led/issi/is31fl3737.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@
# define ISSI_PERSISTENCE 0
#endif

#ifndef ISSI_PWM_FREQUENCY
# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3737B only
#endif

#ifndef ISSI_SWPULLUP
# define ISSI_SWPULLUP PUR_0R
#endif
Expand Down Expand Up @@ -159,7 +163,7 @@ void IS31FL3737_init(uint8_t addr) {
// Set global current to maximum.
IS31FL3737_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF);
// Disable software shutdown.
IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, 0x01);
IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01);

// Wait 10ms to ensure the device has woken up.
wait_ms(10);
Expand Down

0 comments on commit c17eb3e

Please sign in to comment.