diff options
Diffstat (limited to 'drivers/chibios/ws2812_pwm.c')
-rw-r--r-- | drivers/chibios/ws2812_pwm.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/chibios/ws2812_pwm.c b/drivers/chibios/ws2812_pwm.c index ba45d0042..7113db11e 100644 --- a/drivers/chibios/ws2812_pwm.c +++ b/drivers/chibios/ws2812_pwm.c | |||
@@ -53,11 +53,10 @@ | |||
53 | /** | 53 | /** |
54 | * @brief Number of bit-periods to hold the data line low at the end of a frame | 54 | * @brief Number of bit-periods to hold the data line low at the end of a frame |
55 | * | 55 | * |
56 | * The reset period for each frame must be at least 50 uS; so we add in 50 bit-times | 56 | * The reset period for each frame is defined in WS2812_TRST_US. |
57 | * of zeroes at the end. (50 bits)*(1.25 uS/bit) = 62.5 uS, which gives us some | 57 | * Calculate the number of zeroes to add at the end assuming 1.25 uS/bit: |
58 | * slack in the timing requirements | ||
59 | */ | 58 | */ |
60 | #define WS2812_RESET_BIT_N (50) | 59 | #define WS2812_RESET_BIT_N (1000 * WS2812_TRST_US / 1250) |
61 | #define WS2812_COLOR_BIT_N (RGBLED_NUM * 24) /**< Number of data bits */ | 60 | #define WS2812_COLOR_BIT_N (RGBLED_NUM * 24) /**< Number of data bits */ |
62 | #define WS2812_BIT_N (WS2812_COLOR_BIT_N + WS2812_RESET_BIT_N) /**< Total number of bits in a frame */ | 61 | #define WS2812_BIT_N (WS2812_COLOR_BIT_N + WS2812_RESET_BIT_N) /**< Total number of bits in a frame */ |
63 | 62 | ||