WS2812 bitbang: prefix for NOP_FUDGE define (#23110)
				
					
				
			This commit is contained in:
		
							parent
							
								
									e198643d66
								
							
						
					
					
						commit
						865a8f42a6
					
				
					 3 changed files with 12 additions and 7 deletions
				
			
		|  | @ -40,4 +40,4 @@ | |||
| #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF | ||||
| 
 | ||||
| // Bitbang WS2812
 | ||||
| #define NOP_FUDGE 0.4 | ||||
| #define WS2812_BITBANG_NOP_FUDGE 0.4 | ||||
|  |  | |||
|  | @ -42,4 +42,4 @@ | |||
| #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF | ||||
| 
 | ||||
| // Bitbang WS2812
 | ||||
| #define NOP_FUDGE 0.4 | ||||
| #define WS2812_BITBANG_NOP_FUDGE 0.4 | ||||
|  |  | |||
|  | @ -3,18 +3,23 @@ | |||
| #include "gpio.h" | ||||
| #include "chibios_config.h" | ||||
| 
 | ||||
| // DEPRECATED - DO NOT USE
 | ||||
| #if defined(NOP_FUDGE) | ||||
| #    define WS2812_BITBANG_NOP_FUDGE NOP_FUDGE | ||||
| #endif | ||||
| 
 | ||||
| /* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */ | ||||
| 
 | ||||
| #ifndef NOP_FUDGE | ||||
| #ifndef WS2812_BITBANG_NOP_FUDGE | ||||
| #    if defined(STM32F0XX) || defined(STM32F1XX) || defined(GD32VF103) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(WB32F3G71xx) || defined(WB32FQ95xx) | ||||
| #        define NOP_FUDGE 0.4 | ||||
| #        define WS2812_BITBANG_NOP_FUDGE 0.4 | ||||
| #    else | ||||
| #        if defined(RP2040) | ||||
| #            error "Please use `vendor` WS2812 driver for RP2040" | ||||
| #        else | ||||
| #            error "NOP_FUDGE configuration required" | ||||
| #            error "WS2812_BITBANG_NOP_FUDGE configuration required" | ||||
| #        endif | ||||
| #        define NOP_FUDGE 1 // this just pleases the compile so the above error is easier to spot
 | ||||
| #        define WS2812_BITBANG_NOP_FUDGE 1 // this just pleases the compile so the above error is easier to spot
 | ||||
| #    endif | ||||
| #endif | ||||
| 
 | ||||
|  | @ -33,7 +38,7 @@ | |||
| #endif | ||||
| 
 | ||||
| #define NUMBER_NOPS 6 | ||||
| #define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * NOP_FUDGE) | ||||
| #define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * WS2812_BITBANG_NOP_FUDGE) | ||||
| #define NS_PER_SEC (1000000000L) // Note that this has to be SIGNED since we want to be able to check for negative values of derivatives
 | ||||
| #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) | ||||
| #define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ryan
						Ryan