Skip to content

Commit

Permalink
Added ws2812_spi support for WB32 MCU (qmk#17143)
Browse files Browse the repository at this point in the history
Co-authored-by: Joy <[email protected]>
  • Loading branch information
itarze and Joy committed Aug 14, 2022
1 parent 5c805e4 commit 6b1c7d2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion platforms/chibios/drivers/ws2812.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */

#ifndef NOP_FUDGE
# if defined(STM32F0XX) || defined(STM32F1XX) || defined(GD32VF103) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX)
# if defined(STM32F0XX) || defined(STM32F1XX) || defined(GD32VF103) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(WB32F3G71xx) || defined(WB32FQ95xx)
# define NOP_FUDGE 0.4
# else
# error("NOP_FUDGE configuration required")
Expand Down
13 changes: 12 additions & 1 deletion platforms/chibios/drivers/ws2812_spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@

// Define the spi your LEDs are plugged to here
#ifndef WS2812_SPI
# define WS2812_SPI SPID1
# if defined(WB32F3G71xx) || defined(WB32FQ95xx)
# define WS2812_SPI SPIDQ
# else
# define WS2812_SPI SPID1
# endif
#endif

#ifndef WS2812_SPI_MOSI_PAL_MODE
Expand Down Expand Up @@ -54,6 +58,7 @@
# define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_2 | SPI_CR1_BR_1 | SPI_CR1_BR_0)
#else
# define WS2812_SPI_DIVISOR_CR1_BR_X (SPI_CR1_BR_1 | SPI_CR1_BR_0) // default
# define WS2812_SPI_DIVISOR 16
#endif

// Use SPI circular buffer
Expand Down Expand Up @@ -148,8 +153,14 @@ void ws2812_init(void) {
NULL, // end_cb
PAL_PORT(RGB_DI_PIN),
PAL_PAD(RGB_DI_PIN),
# if defined(WB32F3G71xx) || defined(WB32FQ95xx)
0,
0,
WS2812_SPI_DIVISOR
# else
WS2812_SPI_DIVISOR_CR1_BR_X,
0
# endif
#else
// HAL_SPI_V2
# if SPI_SUPPORTS_CIRCULAR == TRUE
Expand Down

0 comments on commit 6b1c7d2

Please sign in to comment.