mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-03 23:02:34 +01:00 
			
		
		
		
	Enable configuration of PWM frequency for IS31FL3733B (#14983)
* Enable PWM frequency for IS31FL3733B * Document config option * clang
This commit is contained in:
		
							parent
							
								
									5851ac1934
								
							
						
					
					
						commit
						fb739a67c9
					
				@ -82,6 +82,7 @@ You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` de
 | 
				
			|||||||
|----------|-------------|---------|
 | 
					|----------|-------------|---------|
 | 
				
			||||||
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
 | 
					| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
 | 
				
			||||||
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
 | 
					| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
 | 
				
			||||||
 | 
					| `ISSI_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3733B only | 0 |
 | 
				
			||||||
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
 | 
					| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
 | 
				
			||||||
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
 | 
					| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
 | 
				
			||||||
| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | |
 | 
					| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | |
 | 
				
			||||||
 | 
				
			|||||||
@ -56,6 +56,10 @@
 | 
				
			|||||||
#    define ISSI_PERSISTENCE 0
 | 
					#    define ISSI_PERSISTENCE 0
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef ISSI_PWM_FREQUENCY
 | 
				
			||||||
 | 
					#    define ISSI_PWM_FREQUENCY 0b000  // PFS - IS31FL3733B only
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Transfer buffer for TWITransmitData()
 | 
					// Transfer buffer for TWITransmitData()
 | 
				
			||||||
uint8_t g_twi_transfer_buffer[20];
 | 
					uint8_t g_twi_transfer_buffer[20];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -157,7 +161,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
 | 
				
			|||||||
    // Set global current to maximum.
 | 
					    // Set global current to maximum.
 | 
				
			||||||
    IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF);
 | 
					    IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF);
 | 
				
			||||||
    // Disable software shutdown.
 | 
					    // Disable software shutdown.
 | 
				
			||||||
    IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01);
 | 
					    IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Wait 10ms to ensure the device has woken up.
 | 
					    // Wait 10ms to ensure the device has woken up.
 | 
				
			||||||
    wait_ms(10);
 | 
					    wait_ms(10);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user