CuVoodoo STM32F1 firmware template
led_ws2812b.h
Go to the documentation of this file.
1 /* This program is free software: you can redistribute it and/or modify
2  * it under the terms of the GNU General Public License as published by
3  * the Free Software Foundation, either version 3 of the License, or
4  * (at your option) any later version.
5  *
6  * This program is distributed in the hope that it will be useful,
7  * but WITHOUT ANY WARRANTY; without even the implied warranty of
8  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9  * GNU General Public License for more details.
10  *
11  * You should have received a copy of the GNU General Public License
12  * along with this program. If not, see <http://www.gnu.org/licenses/>.
13  *
14  */
21 #pragma once
22 
24 #define LED_WS2812B_LEDS 48
25 
30 #define LED_WS2812B_SPI SPI1
31 #define LED_WS2812B_SPI_DR SPI1_DR
32 #define LED_WS2812B_SPI_RCC RCC_SPI1
33 #define LED_WS2812B_SPI_PORT_RCC RCC_GPIOA
34 #define LED_WS2812B_SPI_PORT GPIOA
35 #define LED_WS2812B_SPI_CLK GPIO_SPI1_SCK
36 #define LED_WS2812B_SPI_DOUT GPIO_SPI1_MISO
41 #define LED_WS2812B_TIMER TIM3
42 #define LED_WS2812B_TIMER_RCC RCC_TIM3
43 #define LED_WS2812B_TIMER_OC TIM_OC3
44 #define LED_WS2812B_CLK_RCC RCC_GPIOB
45 #define LED_WS2812B_CLK_PORT GPIOB
46 #define LED_WS2812B_CLK_PIN GPIO_TIM3_CH3
51 #define LED_WS2812B_DMA DMA1
52 #define LED_WS2812B_DMA_RCC RCC_DMA1
53 #define LED_WS2812B_DMA_CH DMA_CHANNEL3
54 #define LED_WS2812B_DMA_IRQ NVIC_DMA1_CHANNEL3_IRQ
55 #define LED_WS2812B_DMA_ISR dma1_channel3_isr
59 void led_ws2812b_setup(void);
60 
67 void led_ws2812b_set_rgb(uint16_t led, uint8_t red, uint8_t green, uint8_t blue);
71 bool led_ws2812b_transmit(void);
void led_ws2812b_set_rgb(uint16_t led, uint8_t red, uint8_t green, uint8_t blue)
set color of a single LED
Definition: led_ws2812b.c:50
bool led_ws2812b_transmit(void)
transmit color values to WS2812B LEDs
Definition: led_ws2812b.c:76