JS: Flipboard
This commit is contained in:
26
js/flipboard/modules/js_rgbleds/led_driver_i.h
Normal file
26
js/flipboard/modules/js_rgbleds/led_driver_i.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include <stm32wbxx_ll_dma.h>
|
||||
#include "led_driver.h"
|
||||
|
||||
#define MAX_LED_COUNT 16
|
||||
|
||||
// We store the HIGH/LOW durations (2 values) for each color bit (24 bits per LED)
|
||||
#define LED_DRIVER_BUFFER_SIZE (MAX_LED_COUNT * 2 * 24)
|
||||
|
||||
// We use a setinel value to figure out when the timer is complete.
|
||||
#define LED_DRIVER_TIMER_SETINEL 0xFFFFU
|
||||
|
||||
/** 64 transitions per us @ 64MHz. Our timing is in NANO_SECONDS */
|
||||
#define LED_DRIVER_TIMER_NANOSECOND (1000U / (SystemCoreClock / 1000000U))
|
||||
|
||||
// Timings for WS2812B
|
||||
#define LED_DRIVER_T0H 400U
|
||||
#define LED_DRIVER_T1H 800U
|
||||
#define LED_DRIVER_T0L 850U
|
||||
#define LED_DRIVER_T1L 450U
|
||||
#define LED_DRIVER_TRESETL 55 * 1000U
|
||||
#define LED_DRIVER_TDONE 2000U
|
||||
|
||||
// Max wait for the DMA to complete. NOTE: 4000 leds*(850ns+450ns)*24 = 124.8ms + 50ms blanking = 174.8ms
|
||||
#define LED_DRIVER_SETINEL_WAIT_MS 200
|
||||
Reference in New Issue
Block a user