Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FastLED/FastLED.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Garcia <danielgarcia@gmail.com>2015-01-15 21:47:53 +0300
committerDaniel Garcia <danielgarcia@gmail.com>2015-01-15 21:47:53 +0300
commit7b4cdb21643729abc3021674c59ec6d3d83319bc (patch)
tree9a50b493b7c01e6194e129dbf5617ee9edff0905
parentb4bbd5ca60ffd6a8c35ee191a0d510f41e6c52b9 (diff)
Fix issue #120 - add timings for the UCS1904.
-rw-r--r--FastLED.h1
-rw-r--r--chipsets.h14
2 files changed, 13 insertions, 2 deletions
diff --git a/FastLED.h b/FastLED.h
index 948c8226..47efadd8 100644
--- a/FastLED.h
+++ b/FastLED.h
@@ -72,6 +72,7 @@ template<uint8_t DATA_PIN, EOrder RGB_ORDER> class TM1804 : public TM1809Control
template<uint8_t DATA_PIN, EOrder RGB_ORDER> class TM1803 : public TM1803Controller400Khz<DATA_PIN, RGB_ORDER> {};
template<uint8_t DATA_PIN, EOrder RGB_ORDER> class UCS1903 : public UCS1903Controller400Khz<DATA_PIN, RGB_ORDER> {};
template<uint8_t DATA_PIN, EOrder RGB_ORDER> class UCS1903B : public UCS1903BController800Khz<DATA_PIN, RGB_ORDER> {};
+template<uint8_t DATA_PIN, EOrder RGB_ORDER> class UCS1904 : public UCS1904Controller800Khz<DATA_PIN, RGB_ORDER> {};
template<uint8_t DATA_PIN, EOrder RGB_ORDER> class WS2812 : public WS2812Controller800Khz<DATA_PIN, RGB_ORDER> {};
template<uint8_t DATA_PIN, EOrder RGB_ORDER> class WS2812B : public WS2812Controller800Khz<DATA_PIN, RGB_ORDER> {};
template<uint8_t DATA_PIN, EOrder RGB_ORDER> class WS2811 : public WS2811Controller800Khz<DATA_PIN, RGB_ORDER> {};
diff --git a/chipsets.h b/chipsets.h
index 581a756c..ed98c835 100644
--- a/chipsets.h
+++ b/chipsets.h
@@ -469,6 +469,9 @@ template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
class UCS1903BController800Khz : public ClocklessController<DATA_PIN, 2 * FMUL, 4 * FMUL, 4 * FMUL, RGB_ORDER> {};
template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
+class UCS1904Controller800Khz : public ClocklessController<DATA_PIN, 3 * FMUL, 3 * FMUL, 4 * FMUL, RGB_ORDER> {};
+
+template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
class TM1809Controller800Khz : public ClocklessController<DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER> {};
template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
@@ -502,14 +505,21 @@ class GW6205Controller800Khz : public ClocklessController<DATA_PIN, NS(400), NS(
template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
class UCS1903Controller400Khz : public ClocklessController<DATA_PIN, NS(500), NS(1500), NS(500), RGB_ORDER> {};
#if NO_TIME(500, 1500, 500)
-#warning "Not enough clock cycles available for the UCS103@400khz"
+#warning "Not enough clock cycles available for the UCS1903@400khz"
#endif
// UCS1903B - 400ns, 450ns, 450ns
template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
class UCS1903BController800Khz : public ClocklessController<DATA_PIN, NS(400), NS(450), NS(450), RGB_ORDER> {};
#if NO_TIME(400, 450, 450)
-#warning "Not enough clock cycles available for the UCS103B@800khz"
+#warning "Not enough clock cycles available for the UCS1903B@800khz"
+#endif
+
+// UCS1904 - 400ns, 400ns, 450ns
+template <uint8_t DATA_PIN, EOrder RGB_ORDER = RGB>
+class UCS1904Controller800Khz : public ClocklessController<DATA_PIN, NS(400), NS(400), NS(450), RGB_ORDER> {};
+#if NO_TIME(400, 400, 450)
+#warning "Not enough clock cycles available for the UCS1904@800khz"
#endif
// TM1809 - 350ns, 350ns, 550ns