forked from mirrors/qmk_firmware
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…
Reference in a new issue