mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Make SPI Mode configurable and change default mode to 3 (#17263)
This commit is contained in:
		
							parent
							
								
									e869d089b7
								
							
						
					
					
						commit
						9e2fe4eff6
					
				@ -409,6 +409,7 @@ You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC
 | 
				
			|||||||
| `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 | |
 | 
				
			||||||
| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
 | 
					| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
 | 
				
			||||||
| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
 | 
					| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
 | 
				
			||||||
 | 
					| `AW_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 |
 | 
				
			||||||
| `AW_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 |
 | 
					| `AW_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Here is an example using 2 drivers.
 | 
					Here is an example using 2 drivers.
 | 
				
			||||||
 | 
				
			|||||||
@ -53,6 +53,10 @@
 | 
				
			|||||||
#    define AW_GLOBAL_CURRENT_MAX 150
 | 
					#    define AW_GLOBAL_CURRENT_MAX 150
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef AW_SPI_MODE
 | 
				
			||||||
 | 
					#    define AW_SPI_MODE 3
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef AW_SPI_DIVISOR
 | 
					#ifndef AW_SPI_DIVISOR
 | 
				
			||||||
#    define AW_SPI_DIVISOR 4
 | 
					#    define AW_SPI_DIVISOR 4
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@ -63,7 +67,7 @@ bool    g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
 | 
				
			|||||||
bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) {
 | 
					bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) {
 | 
				
			||||||
    static uint8_t s_spi_transfer_buffer[2] = {0};
 | 
					    static uint8_t s_spi_transfer_buffer[2] = {0};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!spi_start(cs_pin, false, 3, AW_SPI_DIVISOR)) {
 | 
					    if (!spi_start(cs_pin, false, AW_SPI_MODE, AW_SPI_DIVISOR)) {
 | 
				
			||||||
        spi_stop();
 | 
					        spi_stop();
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user