From 865a8f42a6128dfc09a24fe749b0d78d8c69b70e Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 20 Feb 2024 21:13:18 +1100 Subject: [PATCH] WS2812 bitbang: prefix for `NOP_FUDGE` define (#23110) --- keyboards/xelus/xs60/hotswap/config.h | 2 +- keyboards/xelus/xs60/soldered/config.h | 2 +- platforms/chibios/drivers/ws2812_bitbang.c | 15 ++++++++++----- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/keyboards/xelus/xs60/hotswap/config.h b/keyboards/xelus/xs60/hotswap/config.h index 56ecd57ec9d..877313776ad 100644 --- a/keyboards/xelus/xs60/hotswap/config.h +++ b/keyboards/xelus/xs60/hotswap/config.h @@ -40,4 +40,4 @@ #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF // Bitbang WS2812 -#define NOP_FUDGE 0.4 +#define WS2812_BITBANG_NOP_FUDGE 0.4 diff --git a/keyboards/xelus/xs60/soldered/config.h b/keyboards/xelus/xs60/soldered/config.h index 4b7be4d4414..5b966800c68 100644 --- a/keyboards/xelus/xs60/soldered/config.h +++ b/keyboards/xelus/xs60/soldered/config.h @@ -42,4 +42,4 @@ #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF // Bitbang WS2812 -#define NOP_FUDGE 0.4 +#define WS2812_BITBANG_NOP_FUDGE 0.4 diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c index 593377068bc..1ed87c4381e 100644 --- a/platforms/chibios/drivers/ws2812_bitbang.c +++ b/platforms/chibios/drivers/ws2812_bitbang.c @@ -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)