move defines to header
This commit is contained in:
parent
dde027c858
commit
b60135d54a
@ -23,6 +23,37 @@
|
||||
/** number of LEDs on the WS2812b strip */
|
||||
#define WS2812B_LEDS 48
|
||||
|
||||
/** peripheral configuration */
|
||||
/** @defgroup led_ws2812b_spi SPI peripheral used to control the WS2812b LEDs
|
||||
* @{
|
||||
*/
|
||||
#define WS2812B_SPI SPI1 /**< SPI peripheral */
|
||||
#define WS2812B_SPI_DR SPI1_DR /**< SPI data register for the DMA */
|
||||
#define WS2812B_SPI_RCC RCC_SPI1 /**< SPI peripheral clock */
|
||||
#define WS2812B_SPI_PORT GPIOA /**< SPI port */
|
||||
#define WS2812B_SPI_CLK GPIO_SPI1_SCK /**< SPI clock pin (PA5), connect to PWM output */
|
||||
#define WS2812B_SPI_DOUT GPIO_SPI1_MISO /**< SPI data pin (PA6), connect to WS2812b DIN */
|
||||
/** @} */
|
||||
/** @defgroup led_ws2812b_timer timer peripheral used to generate SPI clock
|
||||
* @{
|
||||
*/
|
||||
#define WS2812B_TIMER TIM3 /**< timer peripheral */
|
||||
#define WS2812B_TIMER_RCC RCC_TIM3 /**< timer peripheral clock */
|
||||
#define WS2812B_TIMER_OC TIM_OC3 /**< timer output compare used to set PWM frequency */
|
||||
#define WS2812B_CLK_RCC RCC_GPIOB /**< timer port peripheral clock */
|
||||
#define WS2812B_CLK_PORT GPIOB /**< timer port */
|
||||
#define WS2812B_CLK_PIN GPIO_TIM3_CH3 /**< timer pin to output PWM (PB0), connect to SPI clock input */
|
||||
/** @} */
|
||||
/** @defgroup led_ws2812b_dma DMA peripheral used to send the data
|
||||
* @{
|
||||
*/
|
||||
#define WS2812B_DMA DMA1 /**< DMA peripheral to put data for WS2812b LED in SPI queue (only DMA1 supports SPI1_TX interrupt) */
|
||||
#define WS2812B_DMA_RCC RCC_DMA1 /**< DMA peripheral clock */
|
||||
#define WS2812B_DMA_CH DMA_CHANNEL3 /**< DMA channel (only DMA1 channel 3 supports SPI1_TX interrupt) */
|
||||
#define WS2812B_DMA_IRQ NVIC_DMA1_CHANNEL3_IRQ /**< DMA channel interrupt signal */
|
||||
#define WS2812B_DMA_ISR dma1_channel3_isr /**< DMA channel interrupt service routine */
|
||||
/** @} */
|
||||
|
||||
/** @brief setup WS2812b LED driver */
|
||||
void ws2812b_setup(void);
|
||||
/** @brief set color of a single LED
|
||||
|
Loading…
Reference in New Issue
Block a user