mirror of
https://github.com/esphome/esphome.git
synced 2025-09-18 11:12:20 +01:00
add FastLED YAML option for data rate (#1338)
* fix: FastLED SPI_DATA_RATE being truncated to 8 bits FastLED expects SPI_DATA_RATE as an uint32_t, but we had it as uint8_t. Fix that to avoid the data rate being truncated. * fastled: allow specifying data rate Previously, we've just taken the default data rate from FastLED. However, that does not always work properly. In my case, I had a slow level shifter that couldn't keep up with the 1 MHz data rate default for WS2801. Long cabling might also be a reason why one might want to reduce the data rate. This will add a new optional "data_rate" config option where one may specify the desired data rate as a frequency: light: - platform: fastled_spi chipset: WS2801 data_pin: GPIO23 clock_pin: GPIO22 data_rate: 500kHz num_leds: 178
This commit is contained in:
@@ -38,7 +38,7 @@ class FastLEDLightOutput : public light::AddressableLight {
|
||||
return *this->controller_;
|
||||
}
|
||||
|
||||
template<ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER, uint8_t SPI_DATA_RATE>
|
||||
template<ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER, uint32_t SPI_DATA_RATE>
|
||||
CLEDController &add_leds(int num_leds) {
|
||||
switch (CHIPSET) {
|
||||
case LPD8806: {
|
||||
|
Reference in New Issue
Block a user