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>2014-12-01 08:20:03 +0300
committerDaniel Garcia <danielgarcia@gmail.com>2014-12-01 08:20:03 +0300
commit00cbc221d4f2495fb38c6ba43dffa73498a8b1e8 (patch)
tree940f9520930dbe48abd7478f7a9e2c4261aa90c6
parent0090965416cb7c04653791f7232161a9579ea93e (diff)
Updating doxygen documentation
-rw-r--r--docs/3.1/_fast_l_e_d_8h_source.html483
-rw-r--r--docs/3.1/_fast_s_p_i___l_e_d2_8h_source.html2
-rw-r--r--docs/3.1/annotated.html116
-rw-r--r--docs/3.1/bitswap_8h_source.html25
-rw-r--r--docs/3.1/chipsets_8h_source.html64
-rw-r--r--docs/3.1/class___d_u_e_p_i_n-members.html2
-rw-r--r--docs/3.1/class___d_u_e_p_i_n.html8
-rw-r--r--docs/3.1/class_a_p_a102_controller-members.html15
-rw-r--r--docs/3.1/class_a_p_a102_controller.html14
-rw-r--r--docs/3.1/class_a_p_a104.html4
-rw-r--r--docs/3.1/class_a_p_a104.pngbin1872 -> 2674 bytes
-rw-r--r--docs/3.1/class_a_v_r_software_s_p_i_output-members.html2
-rw-r--r--docs/3.1/class_a_v_r_software_s_p_i_output.html2
-rw-r--r--docs/3.1/class_c_fast_l_e_d-members.html55
-rw-r--r--docs/3.1/class_c_fast_l_e_d.html858
-rw-r--r--docs/3.1/class_c_fast_noise16-members.html112
-rw-r--r--docs/3.1/class_c_fast_noise16.html149
-rw-r--r--docs/3.1/class_c_h_s_v_palette16-members.html2
-rw-r--r--docs/3.1/class_c_h_s_v_palette16.html2
-rw-r--r--docs/3.1/class_c_h_s_v_palette256-members.html2
-rw-r--r--docs/3.1/class_c_h_s_v_palette256.html2
-rw-r--r--docs/3.1/class_c_l_e_d_controller-members.html6
-rw-r--r--docs/3.1/class_c_l_e_d_controller.html29
-rw-r--r--docs/3.1/class_c_l_e_d_controller.pngbin4603 -> 7591 bytes
-rw-r--r--docs/3.1/class_c_min_wait-members.html2
-rw-r--r--docs/3.1/class_c_min_wait.html2
-rw-r--r--docs/3.1/class_c_r_g_b_palette16-members.html2
-rw-r--r--docs/3.1/class_c_r_g_b_palette16.html2
-rw-r--r--docs/3.1/class_c_r_g_b_palette256-members.html2
-rw-r--r--docs/3.1/class_c_r_g_b_palette256.html2
-rw-r--r--docs/3.1/class_d_a_t_a___n_o_p-members.html2
-rw-r--r--docs/3.1/class_d_a_t_a___n_o_p.html8
-rw-r--r--docs/3.1/class_d_m_x_s_e_r_i_a_l-members.html136
-rw-r--r--docs/3.1/class_d_m_x_s_e_r_i_a_l.html228
-rw-r--r--docs/3.1/class_d_m_x_s_e_r_i_a_l.pngbin0 -> 1050 bytes
-rw-r--r--docs/3.1/class_d_m_x_s_i_m_p_l_e-members.html136
-rw-r--r--docs/3.1/class_d_m_x_s_i_m_p_l_e.html229
-rw-r--r--docs/3.1/class_d_m_x_s_i_m_p_l_e.pngbin0 -> 1442 bytes
-rw-r--r--docs/3.1/class_d_m_x_serial_controller-members.html136
-rw-r--r--docs/3.1/class_d_m_x_serial_controller.html231
-rw-r--r--docs/3.1/class_d_m_x_serial_controller.pngbin0 -> 1054 bytes
-rw-r--r--docs/3.1/class_d_m_x_simple_controller-members.html136
-rw-r--r--docs/3.1/class_d_m_x_simple_controller.html235
-rw-r--r--docs/3.1/class_d_m_x_simple_controller.pngbin0 -> 1443 bytes
-rw-r--r--docs/3.1/class_deep_pixel_controller-members.html15
-rw-r--r--docs/3.1/class_deep_pixel_controller.html14
-rw-r--r--docs/3.1/class_fast_pin-members.html117
-rw-r--r--docs/3.1/class_fast_pin.html183
-rw-r--r--docs/3.1/class_fast_pin.pngbin0 -> 532 bytes
-rw-r--r--docs/3.1/class_fast_pin_b_b-members.html117
-rw-r--r--docs/3.1/class_fast_pin_b_b.html166
-rw-r--r--docs/3.1/class_fast_pin_b_b.pngbin0 -> 531 bytes
-rw-r--r--docs/3.1/class_g_w6205.html4
-rw-r--r--docs/3.1/class_g_w6205.pngbin1904 -> 2703 bytes
-rw-r--r--docs/3.1/class_g_w6205__400.html4
-rw-r--r--docs/3.1/class_g_w6205__400.pngbin1922 -> 2750 bytes
-rw-r--r--docs/3.1/class_g_w6205_controller400_khz.html4
-rw-r--r--docs/3.1/class_g_w6205_controller400_khz.pngbin1923 -> 2744 bytes
-rw-r--r--docs/3.1/class_g_w6205_controller800_khz.html4
-rw-r--r--docs/3.1/class_g_w6205_controller800_khz.pngbin1906 -> 2701 bytes
-rw-r--r--docs/3.1/class_input_pin-members.html122
-rw-r--r--docs/3.1/class_input_pin.html186
-rw-r--r--docs/3.1/class_input_pin.pngbin0 -> 511 bytes
-rw-r--r--docs/3.1/class_l_p_d1886.html4
-rw-r--r--docs/3.1/class_l_p_d1886.pngbin1891 -> 2717 bytes
-rw-r--r--docs/3.1/class_l_p_d1886_controller1250_khz.html4
-rw-r--r--docs/3.1/class_l_p_d1886_controller1250_khz.pngbin1892 -> 2714 bytes
-rw-r--r--docs/3.1/class_l_p_d8806_controller-members.html4
-rw-r--r--docs/3.1/class_l_p_d8806_controller.html14
-rw-r--r--docs/3.1/class_n_e_o_p_i_x_e_l.html4
-rw-r--r--docs/3.1/class_n_e_o_p_i_x_e_l.pngbin1755 -> 2528 bytes
-rw-r--r--docs/3.1/class_output_pin-members.html122
-rw-r--r--docs/3.1/class_output_pin.html186
-rw-r--r--docs/3.1/class_output_pin.pngbin0 -> 527 bytes
-rw-r--r--docs/3.1/class_p9813_controller-members.html15
-rw-r--r--docs/3.1/class_p9813_controller.html14
-rw-r--r--docs/3.1/class_pin-members.html121
-rw-r--r--docs/3.1/class_pin.html183
-rw-r--r--docs/3.1/class_pin.pngbin0 -> 713 bytes
-rw-r--r--docs/3.1/class_s_m16716_controller-members.html6
-rw-r--r--docs/3.1/class_s_m16716_controller.html10
-rw-r--r--docs/3.1/class_s_p_i_output-members.html2
-rw-r--r--docs/3.1/class_s_p_i_output.html2
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html109
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.pngbin0 -> 1383 bytes
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html109
-rw-r--r--docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.pngbin0 -> 2185 bytes
-rw-r--r--docs/3.1/class_selectable-members.html2
-rw-r--r--docs/3.1/class_selectable.html13
-rw-r--r--docs/3.1/class_selectable.pngbin0 -> 718 bytes
-rw-r--r--docs/3.1/class_software_s_p_i_output-members.html2
-rw-r--r--docs/3.1/class_software_s_p_i_output.html2
-rw-r--r--docs/3.1/class_t_m1803.html4
-rw-r--r--docs/3.1/class_t_m1803.pngbin1874 -> 2683 bytes
-rw-r--r--docs/3.1/class_t_m1803_controller400_khz.html4
-rw-r--r--docs/3.1/class_t_m1803_controller400_khz.pngbin1876 -> 2679 bytes
-rw-r--r--docs/3.1/class_t_m1804.html4
-rw-r--r--docs/3.1/class_t_m1804.pngbin1863 -> 2671 bytes
-rw-r--r--docs/3.1/class_t_m1809.html4
-rw-r--r--docs/3.1/class_t_m1809.pngbin1855 -> 2670 bytes
-rw-r--r--docs/3.1/class_t_m1809_controller800_khz.html6
-rw-r--r--docs/3.1/class_t_m1809_controller800_khz.pngbin2543 -> 2801 bytes
-rw-r--r--docs/3.1/class_t_m1829.html4
-rw-r--r--docs/3.1/class_t_m1829.pngbin2101 -> 2971 bytes
-rw-r--r--docs/3.1/class_t_m1829_controller1600_khz.html2
-rw-r--r--docs/3.1/class_t_m1829_controller800_khz.html4
-rw-r--r--docs/3.1/class_t_m1829_controller800_khz.pngbin2104 -> 2973 bytes
-rw-r--r--docs/3.1/class_u_c_s1903.html4
-rw-r--r--docs/3.1/class_u_c_s1903.pngbin1871 -> 2721 bytes
-rw-r--r--docs/3.1/class_u_c_s1903_b.html4
-rw-r--r--docs/3.1/class_u_c_s1903_b.pngbin1863 -> 2688 bytes
-rw-r--r--docs/3.1/class_u_c_s1903_b_controller800_khz.html4
-rw-r--r--docs/3.1/class_u_c_s1903_b_controller800_khz.pngbin1864 -> 2687 bytes
-rw-r--r--docs/3.1/class_u_c_s1903_controller400_khz.html4
-rw-r--r--docs/3.1/class_u_c_s1903_controller400_khz.pngbin1871 -> 2723 bytes
-rw-r--r--docs/3.1/class_w_s2801_controller-members.html17
-rw-r--r--docs/3.1/class_w_s2801_controller.html14
-rw-r--r--docs/3.1/class_w_s2803_controller-members.html17
-rw-r--r--docs/3.1/class_w_s2803_controller.html14
-rw-r--r--docs/3.1/class_w_s2811.html4
-rw-r--r--docs/3.1/class_w_s2811.pngbin1873 -> 2679 bytes
-rw-r--r--docs/3.1/class_w_s2811__400.html4
-rw-r--r--docs/3.1/class_w_s2811__400.pngbin1871 -> 2693 bytes
-rw-r--r--docs/3.1/class_w_s2811_controller400_khz.html4
-rw-r--r--docs/3.1/class_w_s2811_controller400_khz.pngbin1875 -> 2695 bytes
-rw-r--r--docs/3.1/class_w_s2811_controller800_khz.html10
-rw-r--r--docs/3.1/class_w_s2811_controller800_khz.pngbin3497 -> 3866 bytes
-rw-r--r--docs/3.1/class_w_s2812.html4
-rw-r--r--docs/3.1/class_w_s2812.pngbin1879 -> 2682 bytes
-rw-r--r--docs/3.1/class_w_s2812_b.html4
-rw-r--r--docs/3.1/class_w_s2812_b.pngbin1884 -> 2690 bytes
-rw-r--r--docs/3.1/classes.html71
-rw-r--r--docs/3.1/classq-members.html7
-rw-r--r--docs/3.1/classq.html5
-rw-r--r--docs/3.1/color_8h_source.html2
-rw-r--r--docs/3.1/colorpalettes_8h_source.html2
-rw-r--r--docs/3.1/colorutils_8h_source.html2
-rw-r--r--docs/3.1/controller_8h_source.html41
-rw-r--r--docs/3.1/delay_8h_source.html2
-rw-r--r--docs/3.1/dmx_8h_source.html10
-rw-r--r--docs/3.1/fastled__config_8h_source.html2
-rw-r--r--docs/3.1/fastpin_8h_source.html29
-rw-r--r--docs/3.1/fastpin__arm__stm32_8h_source.html4
-rw-r--r--docs/3.1/fastspi_8h_source.html6
-rw-r--r--docs/3.1/fastspi__bitbang_8h_source.html129
-rw-r--r--docs/3.1/fastspi__dma_8h_source.html2
-rw-r--r--docs/3.1/fastspi__nop_8h_source.html2
-rw-r--r--docs/3.1/fastspi__ref_8h_source.html2
-rw-r--r--docs/3.1/fastspi__types_8h_source.html4
-rw-r--r--docs/3.1/files.html2
-rw-r--r--docs/3.1/functions.html49
-rw-r--r--docs/3.1/functions_func.html49
-rw-r--r--docs/3.1/hierarchy.html149
-rw-r--r--docs/3.1/hsv2rgb_8h_source.html2
-rw-r--r--docs/3.1/index.html2
-rw-r--r--docs/3.1/led__sysdefs_8h_source.html2
-rw-r--r--docs/3.1/lib8tion_8h_source.html2
-rw-r--r--docs/3.1/md__r_e_a_d_m_e.html2
-rw-r--r--docs/3.1/md__t_o_d_o.html4
-rw-r--r--docs/3.1/md_release_notes.html4
-rw-r--r--docs/3.1/noise_8h_source.html35
-rw-r--r--docs/3.1/pages.html3
-rw-r--r--docs/3.1/pixeltypes_8h_source.html2
-rw-r--r--docs/3.1/platforms_8h_source.html2
-rw-r--r--docs/3.1/power__mgt_8h_source.html2
-rw-r--r--docs/3.1/search/all_1.js1
-rw-r--r--docs/3.1/search/all_10.js25
-rw-r--r--docs/3.1/search/all_11.html26
-rw-r--r--docs/3.1/search/all_11.js14
-rw-r--r--docs/3.1/search/all_12.html26
-rw-r--r--docs/3.1/search/all_12.js7
-rw-r--r--docs/3.1/search/all_13.html26
-rw-r--r--docs/3.1/search/all_13.js12
-rw-r--r--docs/3.1/search/all_2.js11
-rw-r--r--docs/3.1/search/all_3.js15
-rw-r--r--docs/3.1/search/all_4.js8
-rw-r--r--docs/3.1/search/all_5.js8
-rw-r--r--docs/3.1/search/all_6.js7
-rw-r--r--docs/3.1/search/all_7.js5
-rw-r--r--docs/3.1/search/all_8.js2
-rw-r--r--docs/3.1/search/all_9.js5
-rw-r--r--docs/3.1/search/all_a.js3
-rw-r--r--docs/3.1/search/all_b.js2
-rw-r--r--docs/3.1/search/all_c.js3
-rw-r--r--docs/3.1/search/all_d.js9
-rw-r--r--docs/3.1/search/all_e.js10
-rw-r--r--docs/3.1/search/all_f.js5
-rw-r--r--docs/3.1/search/classes_10.html26
-rw-r--r--docs/3.1/search/classes_10.js12
-rw-r--r--docs/3.1/search/classes_11.html26
-rw-r--r--docs/3.1/search/classes_11.js7
-rw-r--r--docs/3.1/search/classes_12.html26
-rw-r--r--docs/3.1/search/classes_12.js12
-rw-r--r--docs/3.1/search/classes_2.js11
-rw-r--r--docs/3.1/search/classes_3.js13
-rw-r--r--docs/3.1/search/classes_4.js10
-rw-r--r--docs/3.1/search/classes_5.js4
-rw-r--r--docs/3.1/search/classes_6.js7
-rw-r--r--docs/3.1/search/classes_7.js3
-rw-r--r--docs/3.1/search/classes_8.js2
-rw-r--r--docs/3.1/search/classes_9.js5
-rw-r--r--docs/3.1/search/classes_a.js2
-rw-r--r--docs/3.1/search/classes_b.js6
-rw-r--r--docs/3.1/search/classes_c.js9
-rw-r--r--docs/3.1/search/classes_d.js7
-rw-r--r--docs/3.1/search/classes_e.js10
-rw-r--r--docs/3.1/search/classes_f.html26
-rw-r--r--docs/3.1/search/classes_f.js11
-rw-r--r--docs/3.1/search/functions_0.js2
-rw-r--r--docs/3.1/search/functions_1.html26
-rw-r--r--docs/3.1/search/functions_1.js5
-rw-r--r--docs/3.1/search/functions_2.html26
-rw-r--r--docs/3.1/search/functions_2.js4
-rw-r--r--docs/3.1/search/functions_3.html26
-rw-r--r--docs/3.1/search/functions_3.js5
-rw-r--r--docs/3.1/search/functions_4.html26
-rw-r--r--docs/3.1/search/functions_4.js4
-rw-r--r--docs/3.1/search/functions_5.html26
-rw-r--r--docs/3.1/search/functions_5.js4
-rw-r--r--docs/3.1/search/functions_6.html26
-rw-r--r--docs/3.1/search/functions_6.js11
-rw-r--r--docs/3.1/search/pages_2.js3
-rw-r--r--docs/3.1/search/search.js6
-rw-r--r--docs/3.1/struct_c_h_s_v-members.html2
-rw-r--r--docs/3.1/struct_c_h_s_v.html68
-rw-r--r--docs/3.1/struct_c_r_g_b-members.html145
-rw-r--r--docs/3.1/struct_c_r_g_b.html63
-rw-r--r--docs/3.1/struct_multi_pixel_controller-members.html4
-rw-r--r--docs/3.1/struct_multi_pixel_controller.html8
-rw-r--r--docs/3.1/struct_pixel_controller-members.html4
-rw-r--r--docs/3.1/struct_pixel_controller.html8
-rw-r--r--docs/3.1/structsub4-members.html133
-rw-r--r--docs/3.1/structsub4.html204
-rw-r--r--docs/3.1/todo.html100
-rw-r--r--docs/3.1/union_i_e_e_e754binary32__t-members.html2
-rw-r--r--docs/3.1/union_i_e_e_e754binary32__t.html60
-rw-r--r--docs/3.1/unionbitswap__type-members.html105
-rw-r--r--docs/3.1/unionbitswap__type.html124
-rw-r--r--docs/3.1/unionjust8bits-members.html110
-rw-r--r--docs/3.1/unionjust8bits.html139
-rw-r--r--docs/3.1/uniont_bytes_for_long-members.html103
-rw-r--r--docs/3.1/uniont_bytes_for_long.html114
242 files changed, 7185 insertions, 1056 deletions
diff --git a/docs/3.1/_fast_l_e_d_8h_source.html b/docs/3.1/_fast_l_e_d_8h_source.html
index ee3560ae..a229b46c 100644
--- a/docs/3.1/_fast_l_e_d_8h_source.html
+++ b/docs/3.1/_fast_l_e_d_8h_source.html
@@ -166,10 +166,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="class_g_w6205__400.html"> 80</a></span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span><a class="code" href="class_g_w6205__400.html">GW6205_400</a> : <span class="keyword">public</span> <a class="code" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a>&lt;DATA_PIN, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_l_p_d1886.html"> 81</a></span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span><a class="code" href="class_l_p_d1886.html">LPD1886</a> : <span class="keyword">public</span> <a class="code" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a>&lt;DATA_PIN, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifdef DmxSimple_h</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span>DMXSIMPLE : <span class="keyword">public</span> DMXSimpleController&lt;DATA_PIN, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="class_d_m_x_s_i_m_p_l_e.html"> 83</a></span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span><a class="code" href="class_d_m_x_s_i_m_p_l_e.html">DMXSIMPLE</a> : <span class="keyword">public</span> <a class="code" href="class_d_m_x_simple_controller.html">DMXSimpleController</a>&lt;DATA_PIN, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#ifdef DmxSerial_h</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">template</span>&lt;EOrder RGB_ORDER&gt; <span class="keyword">class </span>DMXSERIAL : <span class="keyword">public</span> DMXSerialController&lt;RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="class_d_m_x_s_e_r_i_a_l.html"> 86</a></span>&#160;<span class="keyword">template</span>&lt;EOrder RGB_ORDER&gt; <span class="keyword">class </span><a class="code" href="class_d_m_x_s_e_r_i_a_l.html">DMXSERIAL</a> : <span class="keyword">public</span> <a class="code" href="class_d_m_x_serial_controller.html">DMXSerialController</a>&lt;RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment">// template &lt;uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER = RGB, uint8_t SPI_SPEED = DATA_RATE_MHZ(20)&gt; class LPD8806 : public LPD8806Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED&gt; {};</span></div>
@@ -201,271 +201,286 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#define NUM_CONTROLLERS 8</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html"> 118</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_c_fast_l_e_d.html">CFastLED</a> {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">// int m_nControllers;</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; uint8_t m_Scale;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; uint16_t m_nFPS;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; uint32_t m_nMinMicros;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="class_c_fast_l_e_d.html">CFastLED</a>();</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> *pLed, <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0);</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, u<span class="keywordtype">int</span>8_t CLOCK_PIN &gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">case</span> LPD8806: { <span class="keyword">static</span> <a class="code" href="class_l_p_d8806_controller.html">LPD8806Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">case</span> WS2801: { <span class="keyword">static</span> <a class="code" href="class_w_s2801_controller.html">WS2801Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> WS2803: { <span class="keyword">static</span> <a class="code" href="class_w_s2803_controller.html">WS2803Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">case</span> SM16716: { <span class="keyword">static</span> <a class="code" href="class_s_m16716_controller.html">SM16716Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">case</span> P9813: { <span class="keyword">static</span> <a class="code" href="class_p9813_controller.html">P9813Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> APA102: { <span class="keyword">static</span> <a class="code" href="class_a_p_a102_controller.html">APA102Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, u<span class="keywordtype">int</span>8_t CLOCK_PIN, EOrder RGB_ORDER &gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">case</span> LPD8806: { <span class="keyword">static</span> <a class="code" href="class_l_p_d8806_controller.html">LPD8806Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> WS2801: { <span class="keyword">static</span> <a class="code" href="class_w_s2801_controller.html">WS2801Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">case</span> WS2803: { <span class="keyword">static</span> <a class="code" href="class_w_s2803_controller.html">WS2803Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">case</span> SM16716: { <span class="keyword">static</span> <a class="code" href="class_s_m16716_controller.html">SM16716Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> P9813: { <span class="keyword">static</span> <a class="code" href="class_p9813_controller.html">P9813Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">case</span> APA102: { <span class="keyword">static</span> <a class="code" href="class_a_p_a102_controller.html">APA102Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, u<span class="keywordtype">int</span>8_t CLOCK_PIN, EOrder RGB_ORDER, u<span class="keywordtype">int</span>8_t SPI_DATA_RATE &gt; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">case</span> LPD8806: { <span class="keyword">static</span> <a class="code" href="class_l_p_d8806_controller.html">LPD8806Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">case</span> WS2801: { <span class="keyword">static</span> <a class="code" href="class_w_s2801_controller.html">WS2801Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">case</span> WS2803: { <span class="keyword">static</span> <a class="code" href="class_w_s2803_controller.html">WS2803Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">case</span> SM16716: { <span class="keyword">static</span> <a class="code" href="class_s_m16716_controller.html">SM16716Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">case</span> P9813: { <span class="keyword">static</span> <a class="code" href="class_p9813_controller.html">P9813Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">case</span> APA102: { <span class="keyword">static</span> <a class="code" href="class_a_p_a102_controller.html">APA102Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor">#ifdef SPI_DATA</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET&gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET, SPI_DATA, SPI_CLOCK, RGB&gt;(data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, EOrder RGB_ORDER&gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET, SPI_DATA, SPI_CLOCK, RGB_ORDER&gt;(data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
-<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, EOrder RGB_ORDER, u<span class="keywordtype">int</span>8_t SPI_DATA_RATE&gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET, SPI_DATA, SPI_CLOCK, RGB_ORDER, SPI_DATA_RATE&gt;(data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN&gt; <span class="keyword">class </span>CHIPSET, uint8_t DATA_PIN&gt;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">static</span> CHIPSET&lt;DATA_PIN&gt; c;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER&gt;</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">static</span> CHIPSET&lt;DATA_PIN, RGB_ORDER&gt; c;</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET, uint8_t DATA_PIN&gt;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keyword">static</span> CHIPSET&lt;DATA_PIN, RGB&gt; c;</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
-<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET&gt;</div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">static</span> CHIPSET&lt;RGB&gt; c;</div>
-<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
-<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div>
-<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET, EOrder RGB_ORDER&gt;</div>
-<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">static</span> CHIPSET&lt;RGB_ORDER&gt; c;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> addLeds(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html"> 122</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_c_fast_l_e_d.html">CFastLED</a> {</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="comment">// int m_nControllers;</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; uint8_t m_Scale; </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; uint16_t m_nFPS; </div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; uint32_t m_nMinMicros; </div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="class_c_fast_l_e_d.html">CFastLED</a>();</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> *pLed, <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0);</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, u<span class="keywordtype">int</span>8_t CLOCK_PIN, EOrder RGB_ORDER, u<span class="keywordtype">int</span>8_t SPI_DATA_RATE &gt; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> LPD8806: { <span class="keyword">static</span> <a class="code" href="class_l_p_d8806_controller.html">LPD8806Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">case</span> WS2801: { <span class="keyword">static</span> <a class="code" href="class_w_s2801_controller.html">WS2801Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">case</span> WS2803: { <span class="keyword">static</span> <a class="code" href="class_w_s2803_controller.html">WS2803Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">case</span> SM16716: { <span class="keyword">static</span> <a class="code" href="class_s_m16716_controller.html">SM16716Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">case</span> P9813: { <span class="keyword">static</span> <a class="code" href="class_p9813_controller.html">P9813Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">case</span> APA102: { <span class="keyword">static</span> <a class="code" href="class_a_p_a102_controller.html">APA102Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, u<span class="keywordtype">int</span>8_t CLOCK_PIN &gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">case</span> LPD8806: { <span class="keyword">static</span> <a class="code" href="class_l_p_d8806_controller.html">LPD8806Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">case</span> WS2801: { <span class="keyword">static</span> <a class="code" href="class_w_s2801_controller.html">WS2801Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">case</span> WS2803: { <span class="keyword">static</span> <a class="code" href="class_w_s2803_controller.html">WS2803Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">case</span> SM16716: { <span class="keyword">static</span> <a class="code" href="class_s_m16716_controller.html">SM16716Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">case</span> P9813: { <span class="keyword">static</span> <a class="code" href="class_p9813_controller.html">P9813Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">case</span> APA102: { <span class="keyword">static</span> <a class="code" href="class_a_p_a102_controller.html">APA102Controller&lt;DATA_PIN, CLOCK_PIN&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, u<span class="keywordtype">int</span>8_t CLOCK_PIN, EOrder RGB_ORDER &gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">case</span> LPD8806: { <span class="keyword">static</span> <a class="code" href="class_l_p_d8806_controller.html">LPD8806Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">case</span> WS2801: { <span class="keyword">static</span> <a class="code" href="class_w_s2801_controller.html">WS2801Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">case</span> WS2803: { <span class="keyword">static</span> <a class="code" href="class_w_s2803_controller.html">WS2803Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">case</span> SM16716: { <span class="keyword">static</span> <a class="code" href="class_s_m16716_controller.html">SM16716Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">case</span> P9813: { <span class="keyword">static</span> <a class="code" href="class_p9813_controller.html">P9813Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">case</span> APA102: { <span class="keyword">static</span> <a class="code" href="class_a_p_a102_controller.html">APA102Controller&lt;DATA_PIN, CLOCK_PIN, RGB_ORDER&gt;</a> c; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor">#ifdef SPI_DATA</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET&gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET, SPI_DATA, SPI_CLOCK, RGB&gt;(data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, EOrder RGB_ORDER&gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET, SPI_DATA, SPI_CLOCK, RGB_ORDER&gt;(data, nLedsOrOffset, nLedsIfOffset);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="preprocessor">#ifdef USE_OCTOWS2811</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="keyword">template</span>&lt;OWS2811 CHIPSET, EOrder RGB_ORDER&gt;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">case</span> OCTOWS2811: { <span class="keyword">static</span> COctoWS2811Controller&lt;RGB_ORDER&gt; controller; <span class="keywordflow">return</span> addLeds(&amp;controller, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">template</span>&lt;ESPIChipsets CHIPSET, EOrder RGB_ORDER, u<span class="keywordtype">int</span>8_t SPI_DATA_RATE&gt; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET, SPI_DATA, SPI_CLOCK, RGB_ORDER, SPI_DATA_RATE&gt;(data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="keyword">template</span>&lt;OWS2811 CHIPSET&gt;</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET,GRB&gt;(data,nLedsOrOffset,nLedsIfOffset);</div>
-<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;}</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div>
-<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="preprocessor">#ifdef SmartMatrix_h</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keyword">template</span>&lt;ESM CHIPSET&gt;</div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">case</span> SMART_MATRIX: { <span class="keyword">static</span> CSmartMatrixController controller; <span class="keywordflow">return</span> addLeds(&amp;controller, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div>
-<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="preprocessor">#ifdef FASTSPI_USE_DMX_SIMPLE</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keyword">template</span>&lt;EClocklessChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER=RGB&gt;</div>
-<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
-<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">case</span> DMX: { <span class="keyword">static</span> DMXController&lt;DATA_PIN&gt; controller; <span class="keywordflow">return</span> addLeds(&amp;controller, data, nLedsOrOffset, nLedsIfOffset); }</div>
-<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER&gt;</div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"> 232</a></span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keyword">static</span> CHIPSET&lt;DATA_PIN, RGB_ORDER&gt; c;</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET, uint8_t DATA_PIN&gt;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">static</span> CHIPSET&lt;DATA_PIN, RGB&gt; c;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="preprocessor">#ifdef HAS_BLOCKLESS</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="keyword">template</span>&lt;EBlockChipsets CHIPSET, <span class="keywordtype">int</span> NUM_LANES, EOrder RGB_ORDER&gt;</div>
-<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="preprocessor">#ifdef PORTA_FIRST_PIN</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">case</span> WS2811_PORTA: <span class="keywordflow">return</span> addLeds(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTA_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="preprocessor">#ifdef PORTB_FIRST_PIN</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">case</span> WS2811_PORTB: <span class="keywordflow">return</span> addLeds(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTB_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="preprocessor">#ifdef PORTC_FIRST_PIN</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">case</span> WS2811_PORTC: <span class="keywordflow">return</span> addLeds(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTC_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="preprocessor">#ifdef PORTD_FIRST_PIN</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">case</span> WS2811_PORTD: <span class="keywordflow">return</span> addLeds(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTD_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="preprocessor">#ifdef HAS_PORTDC</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">case</span> WS2811_PORTDC: <span class="keywordflow">return</span> addLeds(<span class="keyword">new</span> SixteenWayInlineBlockClocklessController&lt;16,NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
-<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div>
-<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;}</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="keyword">template</span>&lt;EBlockChipsets CHIPSET, <span class="keywordtype">int</span> NUM_LANES&gt;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;addLeds(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET,NUM_LANES,GRB&gt;(data,nLedsOrOffset,nLedsIfOffset);</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordtype">void</span> setBrightness(uint8_t scale) { m_Scale = scale; }</div>
-<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; uint8_t getBrightness() { <span class="keywordflow">return</span> m_Scale; }</div>
-<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div>
-<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>(uint8_t scale);</div>
-<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div>
-<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de"> 279</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>() { <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>(m_Scale); }</div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordtype">void</span> clear(<span class="keywordtype">boolean</span> writeData = <span class="keyword">false</span>);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordtype">void</span> clearData();</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t DATA_PIN&gt; <span class="keyword">class </span>CHIPSET, uint8_t DATA_PIN&gt;</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">static</span> CHIPSET&lt;DATA_PIN&gt; c;</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="preprocessor"> #ifdef FASTSPI_USE_DMX_SIMPLE</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">template</span>&lt;EClocklessChipsets CHIPSET, u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER=RGB&gt;</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">case</span> DMX: { <span class="keyword">static</span> DMXController&lt;DATA_PIN&gt; controller; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;controller, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="preprocessor"> #endif</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET, EOrder RGB_ORDER&gt;</div>
+<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96"> 280</a></span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keyword">static</span> CHIPSET&lt;RGB_ORDER&gt; c;</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordtype">void</span> showColor(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; color, uint8_t scale);</div>
-<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordtype">void</span> showColor(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; color) { showColor(color, m_Scale); }</div>
-<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordtype">void</span> delay(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ms);</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">template</span>&lt;EOrder RGB_ORDER&gt; <span class="keyword">class </span>CHIPSET&gt;</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keyword">static</span> CHIPSET&lt;RGB&gt; c;</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;c, data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordtype">void</span> setTemperature(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; temp);</div>
-<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">void</span> setCorrection(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; correction);</div>
-<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordtype">void</span> setDither(uint8_t ditherMode = BINARY_DITHER);</div>
-<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div>
-<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">// Set the maximum refresh rate. This is global for all leds. Attempts to</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="comment">// call show faster than this rate will simply wait. Defaults to 400Hz. Set</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="comment">// to 0 to have no maximum rate.</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordtype">void</span> setMaxRefreshRate(uint16_t refresh);</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="preprocessor">#ifdef USE_OCTOWS2811</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">template</span>&lt;OWS2811 CHIPSET, EOrder RGB_ORDER&gt;</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">case</span> OCTOWS2811: { <span class="keyword">static</span> COctoWS2811Controller&lt;RGB_ORDER&gt; controller; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;controller, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div>
-<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="comment">// for debugging, will keep track of time between calls to countFPS, and every</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// nFrames calls, it will update an internal counter for the current FPS.</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordtype">void</span> countFPS(<span class="keywordtype">int</span> nFrames=25);</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// Get the number of frames/second being written out</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; uint16_t getFPS() { <span class="keywordflow">return</span> m_nFPS; }</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">template</span>&lt;OWS2811 CHIPSET&gt;</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET,GRB&gt;(data,nLedsOrOffset,nLedsIfOffset);</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div>
-<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="comment">// returns the number of controllers (strips) that have been added with addLeds</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordtype">int</span> count();</div>
-<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// returns the Nth controller</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; operator[](<span class="keywordtype">int</span> x);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="comment">// Convenience functions for single-strip setups:</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="comment">// returns the number of LEDs in the first strip</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">int</span> size() { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[0].size(); }</div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="comment">// returns pointer to the CRGB buffer for the first strip</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> *leds() { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[0].leds(); }</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;};</div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="preprocessor">#ifdef FASTLED_AVR</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> millis(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> micros(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="keywordtype">void</span> delay(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>);</div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="keywordtype">void</span> delayMicroseconds(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> us);</div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;};</div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="preprocessor">#define FastSPI_LED FastLED</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="preprocessor">#define FastSPI_LED2 FastLED</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="preprocessor">#ifndef LEDS</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="preprocessor">#define LEDS FastLED</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="keyword">extern</span> <a class="code" href="class_c_fast_l_e_d.html">CFastLED</a> FastLED;</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="comment">// Warnings for undefined things</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="preprocessor">#ifndef HAS_HARDWARE_PIN_SUPPORT</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="preprocessor">#warning &quot;No pin/port mappings found, pin access will be slightly slower. See fastpin.h for info.&quot;</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="preprocessor">#define NO_HARDWARE_PIN_SUPPORT</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="ttc" id="class_u_c_s1903_controller400_khz_html"><div class="ttname"><a href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:501</div></div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="preprocessor">#ifdef SmartMatrix_h</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">template</span>&lt;ESM CHIPSET&gt;</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0)</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">case</span> SMART_MATRIX: { <span class="keyword">static</span> CSmartMatrixController controller; <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(&amp;controller, data, nLedsOrOffset, nLedsIfOffset); }</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="preprocessor">#ifdef HAS_BLOCKLESS</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keyword">template</span>&lt;EBlockChipsets CHIPSET, <span class="keywordtype">int</span> NUM_LANES, EOrder RGB_ORDER&gt;</div>
+<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"> 341</a></span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">switch</span>(CHIPSET) {</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="preprocessor"> #ifdef PORTA_FIRST_PIN</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">case</span> WS2811_PORTA: <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTA_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="preprocessor"> #endif</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="preprocessor"> #ifdef PORTB_FIRST_PIN</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">case</span> WS2811_PORTB: <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTB_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="preprocessor"> #endif</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="preprocessor"> #ifdef PORTC_FIRST_PIN</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">case</span> WS2811_PORTC: <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTC_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="preprocessor"> #endif</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="preprocessor"> #ifdef PORTD_FIRST_PIN</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">case</span> WS2811_PORTD: <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">new</span> InlineBlockClocklessController&lt;NUM_LANES, PORTD_FIRST_PIN, NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="preprocessor"> #endif</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="preprocessor"> #ifdef HAS_PORTDC</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">case</span> WS2811_PORTDC: <span class="keywordflow">return</span> <a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">new</span> SixteenWayInlineBlockClocklessController&lt;16,NS(250), NS(510), NS(490), RGB_ORDER&gt;(), data, nLedsOrOffset, nLedsIfOffset);</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="preprocessor"> #endif</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; }</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keyword">template</span>&lt;EBlockChipsets CHIPSET, <span class="keywordtype">int</span> NUM_LANES&gt;</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(<span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> *data, <span class="keywordtype">int</span> nLedsOrOffset, <span class="keywordtype">int</span> nLedsIfOffset = 0) {</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> addLeds&lt;CHIPSET,NUM_LANES,GRB&gt;(data,nLedsOrOffset,nLedsIfOffset);</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div>
+<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb"> 370</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb">setBrightness</a>(uint8_t scale) { m_Scale = scale; }</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716"> 374</a></span>&#160; uint8_t <a class="code" href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716">getBrightness</a>() { <span class="keywordflow">return</span> m_Scale; }</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>(uint8_t scale);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de"> 381</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>() { <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>(m_Scale); }</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordtype">void</span> clear(<span class="keywordtype">boolean</span> writeData = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordtype">void</span> clearData();</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; color, uint8_t scale);</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
+<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9"> 394</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9">showColor</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; color) { <a class="code" href="class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9">showColor</a>(color, m_Scale); }</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202">delay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ms);</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">setTemperature</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; temp);</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">setCorrection</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; correction);</div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">setDither</a>(uint8_t ditherMode = BINARY_DITHER);</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed">setMaxRefreshRate</a>(uint16_t refresh);</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">countFPS</a>(<span class="keywordtype">int</span> nFrames=25);</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd"> 430</a></span>&#160; uint16_t <a class="code" href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd">getFPS</a>() { <span class="keywordflow">return</span> m_nFPS; }</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6">count</a>();</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; <a class="code" href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">operator[]</a>(<span class="keywordtype">int</span> x);</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0"> 442</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">size</a>() { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[0].size(); }</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766"> 446</a></span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> *<a class="code" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">leds</a>() { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[0].leds(); }</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;};</div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="preprocessor">#define FastSPI_LED FastLED</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="preprocessor">#define FastSPI_LED2 FastLED</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;<span class="preprocessor">#ifndef LEDS</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="preprocessor">#define LEDS FastLED</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="keyword">extern</span> <a class="code" href="class_c_fast_l_e_d.html">CFastLED</a> FastLED;</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="comment">// Warnings for undefined things</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="preprocessor">#ifndef HAS_HARDWARE_PIN_SUPPORT</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="preprocessor">#warning &quot;No pin/port mappings found, pin access will be slightly slower. See fastpin.h for info.&quot;</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="preprocessor">#define NO_HARDWARE_PIN_SUPPORT</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="class_u_c_s1903_controller400_khz_html"><div class="ttname"><a href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:464</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ac4dff92f45048399edb0812a02ab9d96"><div class="ttname"><a href="class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96">CFastLED::addLeds</a></div><div class="ttdeci">static CLEDController &amp; addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</div><div class="ttdoc">Add a 3rd party library based CLEDController instance to the world. </div><div class="ttdef"><b>Definition:</b> FastLED.h:280</div></div>
<div class="ttc" id="class_w_s2812_html"><div class="ttname"><a href="class_w_s2812.html">WS2812</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:74</div></div>
<div class="ttc" id="struct_c_r_g_b_html"><div class="ttname"><a href="struct_c_r_g_b.html">CRGB</a></div><div class="ttdef"><b>Definition:</b> pixeltypes.h:81</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a646128b7d8c14b5020b285dbc8bc713b"><div class="ttname"><a href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">CFastLED::operator[]</a></div><div class="ttdeci">CLEDController &amp; operator[](int x)</div><div class="ttdoc">Get a reference to a registered controller. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:63</div></div>
<div class="ttc" id="class_l_p_d1886_html"><div class="ttname"><a href="class_l_p_d1886.html">LPD1886</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:81</div></div>
<div class="ttc" id="class_g_w6205_html"><div class="ttname"><a href="class_g_w6205.html">GW6205</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:79</div></div>
-<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
-<div class="ttc" id="class_w_s2811_controller800_khz_html"><div class="ttname"><a href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:522</div></div>
+<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdoc">Base definition for an LED controller. </div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a18fba22754d2a1a206fc5db8d24a92d0"><div class="ttname"><a href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">CFastLED::size</a></div><div class="ttdeci">int size()</div><div class="ttdoc">Get the number of leds in the first controller. </div><div class="ttdef"><b>Definition:</b> FastLED.h:442</div></div>
+<div class="ttc" id="class_w_s2811_controller800_khz_html"><div class="ttname"><a href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:457</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ac2615781ec12e025fb17cc0e66281716"><div class="ttname"><a href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716">CFastLED::getBrightness</a></div><div class="ttdeci">uint8_t getBrightness()</div><div class="ttdoc">Get the current global brightness setting. </div><div class="ttdef"><b>Definition:</b> FastLED.h:374</div></div>
<div class="ttc" id="class_l_p_d8806_controller_html"><div class="ttname"><a href="class_l_p_d8806_controller.html">LPD8806Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:94</div></div>
-<div class="ttc" id="class_u_c_s1903_b_controller800_khz_html"><div class="ttname"><a href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:508</div></div>
-<div class="ttc" id="class_g_w6205_controller800_khz_html"><div class="ttname"><a href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:494</div></div>
-<div class="ttc" id="class_c_fast_l_e_d_html"><div class="ttname"><a href="class_c_fast_l_e_d.html">CFastLED</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:118</div></div>
-<div class="ttc" id="class_t_m1803_controller400_khz_html"><div class="ttname"><a href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:536</div></div>
+<div class="ttc" id="class_u_c_s1903_b_controller800_khz_html"><div class="ttname"><a href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:467</div></div>
+<div class="ttc" id="class_g_w6205_controller800_khz_html"><div class="ttname"><a href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:482</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ae5730545ea18b1f5228172f9d246beb6"><div class="ttname"><a href="class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6">CFastLED::count</a></div><div class="ttdeci">int count()</div><div class="ttdoc">Get how many controllers have been registered. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:53</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html"><div class="ttname"><a href="class_c_fast_l_e_d.html">CFastLED</a></div><div class="ttdoc">High level controller interface for FastLED. </div><div class="ttdef"><b>Definition:</b> FastLED.h:122</div></div>
+<div class="ttc" id="class_d_m_x_simple_controller_html"><div class="ttname"><a href="class_d_m_x_simple_controller.html">DMXSimpleController</a></div><div class="ttdef"><b>Definition:</b> dmx.h:10</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><div class="ttname"><a href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">CFastLED::addLeds</a></div><div class="ttdeci">static CLEDController &amp; addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</div><div class="ttdoc">Add a clockless (aka 3wire, also DMX) based CLEDController instance to the world. ...</div><div class="ttdef"><b>Definition:</b> FastLED.h:232</div></div>
+<div class="ttc" id="class_t_m1803_controller400_khz_html"><div class="ttname"><a href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:473</div></div>
<div class="ttc" id="class_u_c_s1903_html"><div class="ttname"><a href="class_u_c_s1903.html">UCS1903</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:72</div></div>
-<div class="ttc" id="class_t_m1809_controller800_khz_html"><div class="ttname"><a href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:515</div></div>
+<div class="ttc" id="class_t_m1809_controller800_khz_html"><div class="ttname"><a href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:470</div></div>
<div class="ttc" id="class_t_m1809_html"><div class="ttname"><a href="class_t_m1809.html">TM1809</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:69</div></div>
<div class="ttc" id="class_w_s2801_controller_html"><div class="ttname"><a href="class_w_s2801_controller.html">WS2801Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:162</div></div>
-<div class="ttc" id="class_l_p_d1886_controller1250_khz_html"><div class="ttname"><a href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:551</div></div>
-<div class="ttc" id="class_t_m1829_controller800_khz_html"><div class="ttname"><a href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:542</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a7ae5d3864df01101d82d242c123ffb36"><div class="ttname"><a href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">CFastLED::setDither</a></div><div class="ttdeci">void setDither(uint8_t ditherMode=BINARY_DITHER)</div><div class="ttdoc">Set the dithering mode. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:133</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a28c2dfb0ec592db03f3063ade135f19f"><div class="ttname"><a href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">CFastLED::setTemperature</a></div><div class="ttdeci">void setTemperature(const struct CRGB &amp;temp)</div><div class="ttdoc">Set a global color temperature. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:117</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_aa8c3ae3381e524ce30b181ffa23b83cd"><div class="ttname"><a href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd">CFastLED::getFPS</a></div><div class="ttdeci">uint16_t getFPS()</div><div class="ttdoc">Get the number of frames/second being written out. </div><div class="ttdef"><b>Definition:</b> FastLED.h:430</div></div>
+<div class="ttc" id="class_d_m_x_s_i_m_p_l_e_html"><div class="ttname"><a href="class_d_m_x_s_i_m_p_l_e.html">DMXSIMPLE</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:83</div></div>
+<div class="ttc" id="class_l_p_d1886_controller1250_khz_html"><div class="ttname"><a href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:453</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ae3c0a81b88fb64a65725cb2fed67f766"><div class="ttname"><a href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">CFastLED::leds</a></div><div class="ttdeci">CRGB * leds()</div><div class="ttdoc">Get a pointer to led data for the first controller. </div><div class="ttdef"><b>Definition:</b> FastLED.h:446</div></div>
+<div class="ttc" id="class_t_m1829_controller800_khz_html"><div class="ttname"><a href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:476</div></div>
<div class="ttc" id="class_t_m1829_html"><div class="ttname"><a href="class_t_m1829.html">TM1829</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:68</div></div>
<div class="ttc" id="class_n_e_o_p_i_x_e_l_html"><div class="ttname"><a href="class_n_e_o_p_i_x_e_l.html">NEOPIXEL</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:67</div></div>
-<div class="ttc" id="class_c_fast_l_e_d_html_a3adb23ec5f919524928d576002cb45de"><div class="ttname"><a href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">CFastLED::show</a></div><div class="ttdeci">void show()</div><div class="ttdoc">Update all our controllers with the current led colors. </div><div class="ttdef"><b>Definition:</b> FastLED.h:279</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a3adb23ec5f919524928d576002cb45de"><div class="ttname"><a href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">CFastLED::show</a></div><div class="ttdeci">void show()</div><div class="ttdoc">Update all our controllers with the current led colors. </div><div class="ttdef"><b>Definition:</b> FastLED.h:381</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ad266c3e649cc12a6dc49a1e229acc282"><div class="ttname"><a href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">CFastLED::setCorrection</a></div><div class="ttdeci">void setCorrection(const struct CRGB &amp;correction)</div><div class="ttdoc">Set a global color correction. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:125</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a7315b060d295bad5fbd32e50eaaf02b0"><div class="ttname"><a href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">CFastLED::showColor</a></div><div class="ttdeci">void showColor(const struct CRGB &amp;color, uint8_t scale)</div><div class="ttdoc">Set all leds on all controllers to the given color/scale. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:75</div></div>
<div class="ttc" id="class_w_s2812_b_html"><div class="ttname"><a href="class_w_s2812_b.html">WS2812B</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:75</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a09f4d61853d88482fa5824144c8127ed"><div class="ttname"><a href="class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed">CFastLED::setMaxRefreshRate</a></div><div class="ttdeci">void setMaxRefreshRate(uint16_t refresh)</div><div class="ttdoc">Set the maximum refresh rate. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:199</div></div>
<div class="ttc" id="class_p9813_controller_html"><div class="ttname"><a href="class_p9813_controller.html">P9813Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:296</div></div>
-<div class="ttc" id="class_g_w6205_controller400_khz_html"><div class="ttname"><a href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:487</div></div>
-<div class="ttc" id="class_w_s2811_controller400_khz_html"><div class="ttname"><a href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:529</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_afd7928d822589740af6e23b2d510cf3f"><div class="ttname"><a href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">CFastLED::addLeds</a></div><div class="ttdeci">static CLEDController &amp; addLeds(CLEDController *pLed, struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</div><div class="ttdoc">Add a CLEDController instance to the world. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:26</div></div>
+<div class="ttc" id="class_d_m_x_s_e_r_i_a_l_html"><div class="ttname"><a href="class_d_m_x_s_e_r_i_a_l.html">DMXSERIAL</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:86</div></div>
+<div class="ttc" id="class_d_m_x_serial_controller_html"><div class="ttname"><a href="class_d_m_x_serial_controller.html">DMXSerialController</a></div><div class="ttdef"><b>Definition:</b> dmx.h:57</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a730ba7d967e882b4b893689cf333b2eb"><div class="ttname"><a href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb">CFastLED::setBrightness</a></div><div class="ttdeci">void setBrightness(uint8_t scale)</div><div class="ttdoc">Set the global brightness scaling. </div><div class="ttdef"><b>Definition:</b> FastLED.h:370</div></div>
+<div class="ttc" id="class_g_w6205_controller400_khz_html"><div class="ttname"><a href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:479</div></div>
+<div class="ttc" id="class_w_s2811_controller400_khz_html"><div class="ttname"><a href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:461</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a570df74cf09e6215c3647333d2b479a9"><div class="ttname"><a href="class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9">CFastLED::showColor</a></div><div class="ttdeci">void showColor(const struct CRGB &amp;color)</div><div class="ttdoc">Set all leds on all controllers to the given color. </div><div class="ttdef"><b>Definition:</b> FastLED.h:394</div></div>
<div class="ttc" id="class_t_m1804_html"><div class="ttname"><a href="class_t_m1804.html">TM1804</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:70</div></div>
<div class="ttc" id="class_u_c_s1903_b_html"><div class="ttname"><a href="class_u_c_s1903_b.html">UCS1903B</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:73</div></div>
<div class="ttc" id="class_a_p_a102_controller_html"><div class="ttname"><a href="class_a_p_a102_controller.html">APA102Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:213</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a61d27e179c9b68bde89d220aebc0de32"><div class="ttname"><a href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">CFastLED::countFPS</a></div><div class="ttdeci">void countFPS(int nFrames=25)</div><div class="ttdoc">for debugging, will keep track of time between calls to countFPS, and every nFrames calls...</div><div class="ttdef"><b>Definition:</b> FastLED.cpp:186</div></div>
<div class="ttc" id="class_w_s2803_controller_html"><div class="ttname"><a href="class_w_s2803_controller.html">WS2803Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:204</div></div>
<div class="ttc" id="class_w_s2811_html"><div class="ttname"><a href="class_w_s2811.html">WS2811</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:76</div></div>
<div class="ttc" id="class_w_s2811__400_html"><div class="ttname"><a href="class_w_s2811__400.html">WS2811_400</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:78</div></div>
<div class="ttc" id="class_a_p_a104_html"><div class="ttname"><a href="class_a_p_a104.html">APA104</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:77</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a6819ff831058a710d4582dfc09817202"><div class="ttname"><a href="class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202">CFastLED::delay</a></div><div class="ttdeci">void delay(unsigned long ms)</div><div class="ttdoc">Delay for the given number of milliseconds. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:105</div></div>
<div class="ttc" id="class_s_m16716_controller_html"><div class="ttname"><a href="class_s_m16716_controller.html">SM16716Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:379</div></div>
<div class="ttc" id="class_t_m1803_html"><div class="ttname"><a href="class_t_m1803.html">TM1803</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:71</div></div>
<div class="ttc" id="class_g_w6205__400_html"><div class="ttname"><a href="class_g_w6205__400.html">GW6205_400</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:80</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/_fast_s_p_i___l_e_d2_8h_source.html b/docs/3.1/_fast_s_p_i___l_e_d2_8h_source.html
index 1d434579..239b8143 100644
--- a/docs/3.1/_fast_s_p_i___l_e_d2_8h_source.html
+++ b/docs/3.1/_fast_s_p_i___l_e_d2_8h_source.html
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/annotated.html b/docs/3.1/annotated.html
index 85463cf5..1f54042a 100644
--- a/docs/3.1/annotated.html
+++ b/docs/3.1/annotated.html
@@ -89,64 +89,80 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class___d_u_e_p_i_n.html" target="_self">_DUEPIN</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class___d_u_e_p_i_n.html" target="_self">_DUEPIN</a></td><td class="desc">Template definition for STM32 style ARM pins, providing direct access to the various GPIO registers </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_p_a102_controller.html" target="_self">APA102Controller</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_p_a104.html" target="_self">APA104</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_v_r_software_s_p_i_output.html" target="_self">AVRSoftwareSPIOutput</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_fast_l_e_d.html" target="_self">CFastLED</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_h_s_v.html" target="_self">CHSV</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette16.html" target="_self">CHSVPalette16</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette256.html" target="_self">CHSVPalette256</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_l_e_d_controller.html" target="_self">CLEDController</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_min_wait.html" target="_self">CMinWait</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_r_g_b.html" target="_self">CRGB</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette16.html" target="_self">CRGBPalette16</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette256.html" target="_self">CRGBPalette256</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_a_t_a___n_o_p.html" target="_self">DATA_NOP</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_deep_pixel_controller.html" target="_self">DeepPixelController</a></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205.html" target="_self">GW6205</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205__400.html" target="_self">GW6205_400</a></td><td class="desc"></td></tr>
-<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller400_khz.html" target="_self">GW6205Controller400Khz</a></td><td class="desc"></td></tr>
-<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller800_khz.html" target="_self">GW6205Controller800Khz</a></td><td class="desc"></td></tr>
-<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="union_i_e_e_e754binary32__t.html" target="_self">IEEE754binary32_t</a></td><td class="desc"></td></tr>
-<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886.html" target="_self">LPD1886</a></td><td class="desc"></td></tr>
-<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886_controller1250_khz.html" target="_self">LPD1886Controller1250Khz</a></td><td class="desc"></td></tr>
-<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d8806_controller.html" target="_self">LPD8806Controller</a></td><td class="desc"></td></tr>
-<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multi_pixel_controller.html" target="_self">MultiPixelController</a></td><td class="desc"></td></tr>
-<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_n_e_o_p_i_x_e_l.html" target="_self">NEOPIXEL</a></td><td class="desc"></td></tr>
-<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_p9813_controller.html" target="_self">P9813Controller</a></td><td class="desc"></td></tr>
-<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_pixel_controller.html" target="_self">PixelController</a></td><td class="desc"></td></tr>
-<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classq.html" target="_self">q</a></td><td class="desc"></td></tr>
-<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_selectable.html" target="_self">Selectable</a></td><td class="desc"></td></tr>
-<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_m16716_controller.html" target="_self">SM16716Controller</a></td><td class="desc"></td></tr>
-<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_software_s_p_i_output.html" target="_self">SoftwareSPIOutput</a></td><td class="desc"></td></tr>
-<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output.html" target="_self">SPIOutput</a></td><td class="desc"></td></tr>
-<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803.html" target="_self">TM1803</a></td><td class="desc"></td></tr>
-<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803_controller400_khz.html" target="_self">TM1803Controller400Khz</a></td><td class="desc"></td></tr>
-<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1804.html" target="_self">TM1804</a></td><td class="desc"></td></tr>
-<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809.html" target="_self">TM1809</a></td><td class="desc"></td></tr>
-<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809_controller800_khz.html" target="_self">TM1809Controller800Khz</a></td><td class="desc"></td></tr>
-<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829.html" target="_self">TM1829</a></td><td class="desc"></td></tr>
-<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller1600_khz.html" target="_self">TM1829Controller1600Khz</a></td><td class="desc"></td></tr>
-<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller800_khz.html" target="_self">TM1829Controller800Khz</a></td><td class="desc"></td></tr>
-<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903.html" target="_self">UCS1903</a></td><td class="desc"></td></tr>
-<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b.html" target="_self">UCS1903B</a></td><td class="desc"></td></tr>
-<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b_controller800_khz.html" target="_self">UCS1903BController800Khz</a></td><td class="desc"></td></tr>
-<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_controller400_khz.html" target="_self">UCS1903Controller400Khz</a></td><td class="desc"></td></tr>
-<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2801_controller.html" target="_self">WS2801Controller</a></td><td class="desc"></td></tr>
-<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2803_controller.html" target="_self">WS2803Controller</a></td><td class="desc"></td></tr>
-<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811.html" target="_self">WS2811</a></td><td class="desc"></td></tr>
-<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811__400.html" target="_self">WS2811_400</a></td><td class="desc"></td></tr>
-<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller400_khz.html" target="_self">WS2811Controller400Khz</a></td><td class="desc"></td></tr>
-<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz</a></td><td class="desc"></td></tr>
-<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812.html" target="_self">WS2812</a></td><td class="desc"></td></tr>
-<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812_b.html" target="_self">WS2812B</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionbitswap__type.html" target="_self">bitswap_type</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_fast_l_e_d.html" target="_self">CFastLED</a></td><td class="desc">High level controller interface for FastLED </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_fast_noise16.html" target="_self">CFastNoise16</a></td><td class="desc">Class for accessing 16 bit noise </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_h_s_v.html" target="_self">CHSV</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette16.html" target="_self">CHSVPalette16</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette256.html" target="_self">CHSVPalette256</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_l_e_d_controller.html" target="_self">CLEDController</a></td><td class="desc">Base definition for an LED controller </td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_min_wait.html" target="_self">CMinWait</a></td><td class="desc"></td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_r_g_b.html" target="_self">CRGB</a></td><td class="desc"></td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette16.html" target="_self">CRGBPalette16</a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette256.html" target="_self">CRGBPalette256</a></td><td class="desc"></td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_a_t_a___n_o_p.html" target="_self">DATA_NOP</a></td><td class="desc">Some of the SPI controllers will need to perform a transform on each byte before doing anyting with it </td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_deep_pixel_controller.html" target="_self">DeepPixelController</a></td><td class="desc"></td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_s_e_r_i_a_l.html" target="_self">DMXSERIAL</a></td><td class="desc"></td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_serial_controller.html" target="_self">DMXSerialController</a></td><td class="desc"></td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_s_i_m_p_l_e.html" target="_self">DMXSIMPLE</a></td><td class="desc"></td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_simple_controller.html" target="_self">DMXSimpleController</a></td><td class="desc"></td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_fast_pin.html" target="_self">FastPin</a></td><td class="desc">The simplest level of <a class="el" href="class_pin.html">Pin</a> class </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_fast_pin_b_b.html" target="_self">FastPinBB</a></td><td class="desc"></td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205.html" target="_self">GW6205</a></td><td class="desc"></td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205__400.html" target="_self">GW6205_400</a></td><td class="desc"></td></tr>
+<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller400_khz.html" target="_self">GW6205Controller400Khz</a></td><td class="desc"></td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller800_khz.html" target="_self">GW6205Controller800Khz</a></td><td class="desc"></td></tr>
+<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="union_i_e_e_e754binary32__t.html" target="_self">IEEE754binary32_t</a></td><td class="desc"></td></tr>
+<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_input_pin.html" target="_self">InputPin</a></td><td class="desc"></td></tr>
+<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionjust8bits.html" target="_self">just8bits</a></td><td class="desc"></td></tr>
+<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886.html" target="_self">LPD1886</a></td><td class="desc"></td></tr>
+<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886_controller1250_khz.html" target="_self">LPD1886Controller1250Khz</a></td><td class="desc"></td></tr>
+<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d8806_controller.html" target="_self">LPD8806Controller</a></td><td class="desc"></td></tr>
+<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multi_pixel_controller.html" target="_self">MultiPixelController</a></td><td class="desc"></td></tr>
+<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_n_e_o_p_i_x_e_l.html" target="_self">NEOPIXEL</a></td><td class="desc"></td></tr>
+<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_output_pin.html" target="_self">OutputPin</a></td><td class="desc"></td></tr>
+<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_p9813_controller.html" target="_self">P9813Controller</a></td><td class="desc"></td></tr>
+<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_pin.html" target="_self">Pin</a></td><td class="desc"></td></tr>
+<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_pixel_controller.html" target="_self">PixelController</a></td><td class="desc"></td></tr>
+<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classq.html" target="_self">q</a></td><td class="desc"></td></tr>
+<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_selectable.html" target="_self">Selectable</a></td><td class="desc"></td></tr>
+<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_m16716_controller.html" target="_self">SM16716Controller</a></td><td class="desc"></td></tr>
+<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_software_s_p_i_output.html" target="_self">SoftwareSPIOutput</a></td><td class="desc"></td></tr>
+<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output.html" target="_self">SPIOutput</a></td><td class="desc"></td></tr>
+<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html" target="_self">SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html" target="_self">SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsub4.html" target="_self">sub4</a></td><td class="desc"></td></tr>
+<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="uniont_bytes_for_long.html" target="_self">tBytesForLong</a></td><td class="desc"></td></tr>
+<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803.html" target="_self">TM1803</a></td><td class="desc"></td></tr>
+<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803_controller400_khz.html" target="_self">TM1803Controller400Khz</a></td><td class="desc"></td></tr>
+<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1804.html" target="_self">TM1804</a></td><td class="desc"></td></tr>
+<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809.html" target="_self">TM1809</a></td><td class="desc"></td></tr>
+<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809_controller800_khz.html" target="_self">TM1809Controller800Khz</a></td><td class="desc"></td></tr>
+<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829.html" target="_self">TM1829</a></td><td class="desc"></td></tr>
+<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller1600_khz.html" target="_self">TM1829Controller1600Khz</a></td><td class="desc"></td></tr>
+<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller800_khz.html" target="_self">TM1829Controller800Khz</a></td><td class="desc"></td></tr>
+<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903.html" target="_self">UCS1903</a></td><td class="desc"></td></tr>
+<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b.html" target="_self">UCS1903B</a></td><td class="desc"></td></tr>
+<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b_controller800_khz.html" target="_self">UCS1903BController800Khz</a></td><td class="desc"></td></tr>
+<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_controller400_khz.html" target="_self">UCS1903Controller400Khz</a></td><td class="desc"></td></tr>
+<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2801_controller.html" target="_self">WS2801Controller</a></td><td class="desc"></td></tr>
+<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2803_controller.html" target="_self">WS2803Controller</a></td><td class="desc"></td></tr>
+<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811.html" target="_self">WS2811</a></td><td class="desc"></td></tr>
+<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811__400.html" target="_self">WS2811_400</a></td><td class="desc"></td></tr>
+<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller400_khz.html" target="_self">WS2811Controller400Khz</a></td><td class="desc"></td></tr>
+<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz</a></td><td class="desc"></td></tr>
+<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812.html" target="_self">WS2812</a></td><td class="desc"></td></tr>
+<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812_b.html" target="_self">WS2812B</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/bitswap_8h_source.html b/docs/3.1/bitswap_8h_source.html
index 6c5f2011..25f0cd39 100644
--- a/docs/3.1/bitswap_8h_source.html
+++ b/docs/3.1/bitswap_8h_source.html
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#ifdef FASTLED_ARM</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// structure representing 8 bits of access</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="unionjust8bits.html"> 6</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; uint8_t raw;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; uint32_t a0:1;</div>
@@ -101,10 +101,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; uint32_t a6:1;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; uint32_t a7:1;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; };</div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;} just8bits;</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;} <a class="code" href="unionjust8bits.html">just8bits</a>;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// structure representing 32 bits of access</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structsub4.html"> 21</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; uint32_t a0:1;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; uint32_t a1:1;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; uint32_t a2:1;</div>
@@ -137,17 +137,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; uint32_t d5:1;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; uint32_t d6:1;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; uint32_t d7:1;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;} sub4;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;} <a class="code" href="structsub4.html">sub4</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment">// union containing a full 8 bytes to swap the bit orientation on</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="unionbitswap__type.html"> 57</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; uint32_t word[2];</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; uint8_t bytes[8];</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; sub4 a;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; sub4 b;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="structsub4.html">sub4</a> a;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="structsub4.html">sub4</a> b;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; };</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;} bitswap_type;</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;} <a class="code" href="unionbitswap__type.html">bitswap_type</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#define SWAPSA(X,N) out. X ## 0 = in.a.a ## N; \</span></div>
@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor"> out. X ## 7 = in.b.d ## N;</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;__attribute__((always_inline)) inline <span class="keywordtype">void</span> swapbits8(bitswap_type in, bitswap_type &amp; out) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;__attribute__((always_inline)) inline <span class="keywordtype">void</span> swapbits8(<a class="code" href="unionbitswap__type.html">bitswap_type</a> in, <a class="code" href="unionbitswap__type.html">bitswap_type</a> &amp; out) {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// SWAPS(a.a,7);</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// SWAPS(a.b,6);</span></div>
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// SWAPSB(b.d,0);</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 8; i++) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; just8bits work;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="unionjust8bits.html">just8bits</a> work;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; work.a3 = in.word[0] &gt;&gt; 31;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; work.a2 = in.word[0] &gt;&gt; 23;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; work.a1 = in.word[0] &gt;&gt; 15;</div>
@@ -341,10 +341,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;}</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="unionjust8bits_html"><div class="ttname"><a href="unionjust8bits.html">just8bits</a></div><div class="ttdef"><b>Definition:</b> bitswap.h:6</div></div>
+<div class="ttc" id="structsub4_html"><div class="ttname"><a href="structsub4.html">sub4</a></div><div class="ttdef"><b>Definition:</b> bitswap.h:21</div></div>
+<div class="ttc" id="unionbitswap__type_html"><div class="ttname"><a href="unionbitswap__type.html">bitswap_type</a></div><div class="ttdef"><b>Definition:</b> bitswap.h:57</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/chipsets_8h_source.html b/docs/3.1/chipsets_8h_source.html
index 71a674c7..7730c7f5 100644
--- a/docs/3.1/chipsets_8h_source.html
+++ b/docs/3.1/chipsets_8h_source.html
@@ -522,96 +522,96 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="preprocessor">#define FMUL (F_CPU/8000000)</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;<span class="comment">// LPD1886</span></div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="keyword">class </span><a class="code" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 3 * FMUL, 2 * FMUL, RGB_ORDER, 4&gt; {};</div>
+<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="class_l_p_d1886_controller1250_khz.html"> 453</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 3 * FMUL, 2 * FMUL, RGB_ORDER, 4&gt; {};</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="comment">// WS2811@800khz 2 clocks, 5 clocks, 3 clocks</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="class_w_s2811_controller800_khz.html"> 457</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="comment">//class WS2811Controller800Khz : public ClocklessController&lt;DATA_PIN, 3 * FMUL, 4 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 4 * FMUL, 10 * FMUL, 6 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="class_w_s2811_controller400_khz.html"> 461</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 4 * FMUL, 10 * FMUL, 6 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 4 * FMUL, 12 * FMUL, 4 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="class_u_c_s1903_controller400_khz.html"> 464</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 4 * FMUL, 12 * FMUL, 4 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 4 * FMUL, 4 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="class_u_c_s1903_b_controller800_khz.html"> 467</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 4 * FMUL, 4 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="class_t_m1809_controller800_khz.html"> 470</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 6 * FMUL, 9 * FMUL, 6 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="class_t_m1803_controller400_khz.html"> 473</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 6 * FMUL, 9 * FMUL, 6 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="class_t_m1829_controller800_khz.html"> 476</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 5 * FMUL, 3 * FMUL, RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 6 * FMUL, 7 * FMUL, 6 * FMUL, RGB_ORDER, 4&gt; {};</div>
+<div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="class_g_w6205_controller400_khz.html"> 479</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 6 * FMUL, 7 * FMUL, 6 * FMUL, RGB_ORDER, 4&gt; {};</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 4 * FMUL, 4 * FMUL, RGB_ORDER, 4&gt; {};</div>
+<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="class_g_w6205_controller800_khz.html"> 482</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, 2 * FMUL, 4 * FMUL, 4 * FMUL, RGB_ORDER, 4&gt; {};</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="comment">// GW6205@400khz - 800ns, 800ns, 800ns</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="class_g_w6205_controller400_khz.html"> 487</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(800), NS(800), NS(800), RGB_ORDER, 4&gt; {};</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(800), NS(800), NS(800), RGB_ORDER, 4&gt; {};</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="preprocessor">#if NO_TIME(800, 800, 800)</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the GW6205@400khz&quot;</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="comment">// GW6205@400khz - 400ns, 400ns, 400ns</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="class_g_w6205_controller800_khz.html"> 494</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(400), NS(400), NS(400), RGB_ORDER, 4&gt; {};</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="keyword">class </span><a class="code" href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(400), NS(400), NS(400), RGB_ORDER, 4&gt; {};</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="preprocessor">#if NO_TIME(400, 400, 400)</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the GW6205@400khz&quot;</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="comment">// UCS1903 - 500ns, 1500ns, 500ns</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="class_u_c_s1903_controller400_khz.html"> 501</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(500), NS(1500), NS(500), RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(500), NS(1500), NS(500), RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="preprocessor">#if NO_TIME(500, 1500, 500)</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the UCS103@400khz&quot;</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="comment">// UCS1903B - 400ns, 450ns, 450ns</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="class_u_c_s1903_b_controller800_khz.html"> 508</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(400), NS(450), NS(450), RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;<span class="keyword">class </span><a class="code" href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(400), NS(450), NS(450), RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="preprocessor">#if NO_TIME(400, 450, 450)</span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the UCS103B@800khz&quot;</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="comment">// TM1809 - 350ns, 350ns, 550ns</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="class_t_m1809_controller800_khz.html"> 515</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(350), NS(350), NS(450), RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(350), NS(350), NS(450), RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="preprocessor">#if NO_TIME(350, 350, 550)</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the TM1809&quot;</span></div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160;</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="comment">// WS2811 - 320ns, 320ns, 640ns</span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="class_w_s2811_controller800_khz.html"> 522</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(320), NS(320), NS(640), RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(320), NS(320), NS(640), RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<span class="preprocessor">#if NO_TIME(320, 320, 640)</span></div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the WS2811 (800khz)&quot;</span></div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="comment">// WS2811@400khz - 800ns, 800ns, 900ns</span></div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="class_w_s2811_controller400_khz.html"> 529</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(800), NS(800), NS(900), RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="keyword">class </span><a class="code" href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(800), NS(800), NS(900), RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;<span class="preprocessor">#if NO_TIME(800, 800, 900)</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the WS2811 (400Khz)&quot;</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;<span class="comment">// 750NS, 750NS, 750NS</span></div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="class_t_m1803_controller400_khz.html"> 536</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(700), NS(1100), NS(700), RGB_ORDER&gt; {};</div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(700), NS(1100), NS(700), RGB_ORDER&gt; {};</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;<span class="preprocessor">#if NO_TIME(750, 750, 750)</span></div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles available for the TM1803&quot;</span></div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="class_t_m1829_controller800_khz.html"> 542</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(340), NS(340), NS(550), RGB_ORDER, 0, true, 500&gt; {};</div>
+<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(340), NS(340), NS(550), RGB_ORDER, 0, true, 500&gt; {};</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
<div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="class_t_m1829_controller1600_khz.html"> 545</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_t_m1829_controller1600_khz.html">TM1829Controller1600Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(100), NS(300), NS(200), RGB_ORDER, 0, true, 500&gt; {};</div>
@@ -620,7 +620,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt;</div>
-<div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="class_l_p_d1886_controller1250_khz.html"> 551</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(200), NS(400), NS(200), RGB_ORDER, 4&gt; {};</div>
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;<span class="keyword">class </span><a class="code" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a> : <span class="keyword">public</span> ClocklessController&lt;DATA_PIN, NS(200), NS(400), NS(200), RGB_ORDER, 4&gt; {};</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="preprocessor">#if NO_TIME(200,400,200)</span></div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;<span class="preprocessor">#warning &quot;Not enough clock cycles for LPD1886&quot;</span></div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="preprocessor">#endif</span></div>
@@ -629,24 +629,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="class_s_p_i_output_html"><div class="ttname"><a href="class_s_p_i_output.html">SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;</a></div></div>
-<div class="ttc" id="class_u_c_s1903_controller400_khz_html"><div class="ttname"><a href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:501</div></div>
+<div class="ttc" id="class_u_c_s1903_controller400_khz_html"><div class="ttname"><a href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:464</div></div>
<div class="ttc" id="struct_c_r_g_b_html"><div class="ttname"><a href="struct_c_r_g_b.html">CRGB</a></div><div class="ttdef"><b>Definition:</b> pixeltypes.h:81</div></div>
-<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
-<div class="ttc" id="class_w_s2811_controller800_khz_html"><div class="ttname"><a href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:522</div></div>
+<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdoc">Base definition for an LED controller. </div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
+<div class="ttc" id="class_w_s2811_controller800_khz_html"><div class="ttname"><a href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:457</div></div>
<div class="ttc" id="class_t_m1829_controller1600_khz_html"><div class="ttname"><a href="class_t_m1829_controller1600_khz.html">TM1829Controller1600Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:545</div></div>
<div class="ttc" id="class_l_p_d8806_controller_html"><div class="ttname"><a href="class_l_p_d8806_controller.html">LPD8806Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:94</div></div>
-<div class="ttc" id="class_u_c_s1903_b_controller800_khz_html"><div class="ttname"><a href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:508</div></div>
-<div class="ttc" id="class_g_w6205_controller800_khz_html"><div class="ttname"><a href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:494</div></div>
+<div class="ttc" id="class_u_c_s1903_b_controller800_khz_html"><div class="ttname"><a href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:467</div></div>
+<div class="ttc" id="class_g_w6205_controller800_khz_html"><div class="ttname"><a href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:482</div></div>
<div class="ttc" id="struct_pixel_controller_html"><div class="ttname"><a href="struct_pixel_controller.html">PixelController</a></div><div class="ttdef"><b>Definition:</b> controller.h:158</div></div>
-<div class="ttc" id="class_t_m1803_controller400_khz_html"><div class="ttname"><a href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:536</div></div>
-<div class="ttc" id="class_t_m1809_controller800_khz_html"><div class="ttname"><a href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:515</div></div>
+<div class="ttc" id="class_t_m1803_controller400_khz_html"><div class="ttname"><a href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:473</div></div>
+<div class="ttc" id="class_t_m1809_controller800_khz_html"><div class="ttname"><a href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:470</div></div>
<div class="ttc" id="class_w_s2801_controller_html"><div class="ttname"><a href="class_w_s2801_controller.html">WS2801Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:162</div></div>
-<div class="ttc" id="class_l_p_d1886_controller1250_khz_html"><div class="ttname"><a href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:551</div></div>
-<div class="ttc" id="class_t_m1829_controller800_khz_html"><div class="ttname"><a href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:542</div></div>
+<div class="ttc" id="class_l_p_d1886_controller1250_khz_html"><div class="ttname"><a href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:453</div></div>
+<div class="ttc" id="class_t_m1829_controller800_khz_html"><div class="ttname"><a href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:476</div></div>
<div class="ttc" id="class_c_min_wait_html"><div class="ttname"><a href="class_c_min_wait.html">CMinWait&lt; 1000 &gt;</a></div></div>
<div class="ttc" id="class_p9813_controller_html"><div class="ttname"><a href="class_p9813_controller.html">P9813Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:296</div></div>
-<div class="ttc" id="class_g_w6205_controller400_khz_html"><div class="ttname"><a href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:487</div></div>
-<div class="ttc" id="class_w_s2811_controller400_khz_html"><div class="ttname"><a href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:529</div></div>
+<div class="ttc" id="class_g_w6205_controller400_khz_html"><div class="ttname"><a href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:479</div></div>
+<div class="ttc" id="class_w_s2811_controller400_khz_html"><div class="ttname"><a href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:461</div></div>
<div class="ttc" id="class_a_p_a102_controller_html"><div class="ttname"><a href="class_a_p_a102_controller.html">APA102Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:213</div></div>
<div class="ttc" id="class_deep_pixel_controller_html"><div class="ttname"><a href="class_deep_pixel_controller.html">DeepPixelController</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:13</div></div>
<div class="ttc" id="class_w_s2803_controller_html"><div class="ttname"><a href="class_w_s2803_controller.html">WS2803Controller</a></div><div class="ttdef"><b>Definition:</b> chipsets.h:204</div></div>
@@ -654,7 +654,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class___d_u_e_p_i_n-members.html b/docs/3.1/class___d_u_e_p_i_n-members.html
index a73cd1f7..30472086 100644
--- a/docs/3.1/class___d_u_e_p_i_n-members.html
+++ b/docs/3.1/class___d_u_e_p_i_n-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class___d_u_e_p_i_n.html b/docs/3.1/class___d_u_e_p_i_n.html
index 10c71bbf..87f2c079 100644
--- a/docs/3.1/class___d_u_e_p_i_n.html
+++ b/docs/3.1/class___d_u_e_p_i_n.html
@@ -92,6 +92,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
+<p>Template definition for STM32 style ARM pins, providing direct access to the various GPIO registers.
+ <a href="class___d_u_e_p_i_n.html#details">More...</a></p>
+
<p><code>#include &lt;<a class="el" href="fastpin__arm__stm32_8h_source.html">fastpin_arm_stm32.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
@@ -155,14 +158,15 @@ static bool&#160;</td><td class="memItemRight" valign="bottom"><b>isset</b> () _
<div class="textblock"><h3>template&lt;uint8_t PIN, uint32_t _MASK, typename _ODR, typename _BSRR, typename _BRR&gt;<br />
class _DUEPIN&lt; PIN, _MASK, _ODR, _BSRR, _BRR &gt;</h3>
-<p>Template definition for STM32 style ARM pins, providing direct access to the various GPIO registers. Note that this uses the full port GPIO registers. The registers are data register(GPIOx_ODR), set output register (GPIOx_BSRR), clear output register (GPIOx_BRR), cheating and using "pinMode" to set output for now, need to write raw register versions of those </p>
+<p>Template definition for STM32 style ARM pins, providing direct access to the various GPIO registers. </p>
+<p>Note that this uses the full port GPIO registers. The registers are data register(GPIOx_ODR), set output register (GPIOx_BSRR), clear output register (GPIOx_BRR), cheating and using "pinMode" to set output for now, need to write raw register versions of those </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="fastpin__arm__stm32_8h_source.html">fastpin_arm_stm32.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_a_p_a102_controller-members.html b/docs/3.1/class_a_p_a102_controller-members.html
index 8def1387..c573ea6d 100644
--- a/docs/3.1/class_a_p_a102_controller-members.html
+++ b/docs/3.1/class_a_p_a102_controller-members.html
@@ -118,16 +118,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_a_p_a102_controller.html">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_a_p_a102_controller.html b/docs/3.1/class_a_p_a102_controller.html
index 5682873f..af3213a8 100644
--- a/docs/3.1/class_a_p_a102_controller.html
+++ b/docs/3.1/class_a_p_a102_controller.html
@@ -97,7 +97,7 @@ Inheritance diagram for APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI
<div class="center">
<img src="class_a_p_a102_controller.png" usemap="#APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,439,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,439,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -125,6 +125,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -176,6 +179,13 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:a245148d2621eb73999ab673852c49332"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a245148d2621eb73999ab673852c49332"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:a245148d2621eb73999ab673852c49332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a245148d2621eb73999ab673852c49332"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a245148d2621eb73999ab673852c49332"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a245148d2621eb73999ab673852c49332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@@ -216,7 +226,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_a_p_a104.html b/docs/3.1/class_a_p_a104.html
index fbcb5d84..09935fc8 100644
--- a/docs/3.1/class_a_p_a104.html
+++ b/docs/3.1/class_a_p_a104.html
@@ -93,7 +93,7 @@ Inheritance diagram for APA104&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_a_p_a104.png" usemap="#APA104&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="APA104&lt; DATA_PIN, RGB_ORDER &gt;_map" name="APA104&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for APA104&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_a_p_a104.png b/docs/3.1/class_a_p_a104.png
index 61c2943f..b4ec29f7 100644
--- a/docs/3.1/class_a_p_a104.png
+++ b/docs/3.1/class_a_p_a104.png
Binary files differ
diff --git a/docs/3.1/class_a_v_r_software_s_p_i_output-members.html b/docs/3.1/class_a_v_r_software_s_p_i_output-members.html
index 340e8163..abc7f341 100644
--- a/docs/3.1/class_a_v_r_software_s_p_i_output-members.html
+++ b/docs/3.1/class_a_v_r_software_s_p_i_output-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_a_v_r_software_s_p_i_output.html b/docs/3.1/class_a_v_r_software_s_p_i_output.html
index 737c7fce..6f9c3454 100644
--- a/docs/3.1/class_a_v_r_software_s_p_i_output.html
+++ b/docs/3.1/class_a_v_r_software_s_p_i_output.html
@@ -138,7 +138,7 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><b>writeByte</b>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_fast_l_e_d-members.html b/docs/3.1/class_c_fast_l_e_d-members.html
index 700a59c3..10c18769 100644
--- a/docs/3.1/class_c_fast_l_e_d-members.html
+++ b/docs/3.1/class_c_fast_l_e_d-members.html
@@ -90,39 +90,48 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<p>This is the complete list of members for <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(CLEDController *pLed, struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a>(CLEDController *pLed, struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a79df28eb68fc2062b995f9000aed274c">addLeds</a>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">addLeds</a>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96">addLeds</a>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>CFastLED</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>(boolean writeData=false) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>clearData</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>count</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>countFPS</b>(int nFrames=25) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>delay</b>(unsigned long ms) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>getBrightness</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getFPS</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>leds</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(int x) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>setBrightness</b>(uint8_t scale) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setCorrection</b>(const struct CRGB &amp;correction) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>setDither</b>(uint8_t ditherMode=BINARY_DITHER) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setMaxRefreshRate</b>(uint16_t refresh) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(const struct CRGB &amp;temp) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b">show</a>(uint8_t scale)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;color, uint8_t scale) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;color) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">addLeds</a>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>addLeds</b>(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CFastLED</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>clear</b>(boolean writeData=false) (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearData</b>() (defined in <a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6">count</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">countFPS</a>(int nFrames=25)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202">delay</a>(unsigned long ms)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716">getBrightness</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd">getFPS</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">leds</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">operator[]</a>(int x)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb">setBrightness</a>(uint8_t scale)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">setCorrection</a>(const struct CRGB &amp;correction)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">setDither</a>(uint8_t ditherMode=BINARY_DITHER)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed">setMaxRefreshRate</a>(uint16_t refresh)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">setTemperature</a>(const struct CRGB &amp;temp)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b">show</a>(uint8_t scale)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(const struct CRGB &amp;color, uint8_t scale)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9">showColor</a>(const struct CRGB &amp;color)</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">size</a>()</td><td class="entry"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_fast_l_e_d.html b/docs/3.1/class_c_fast_l_e_d.html
index 0dda9693..6f361dd0 100644
--- a/docs/3.1/class_c_fast_l_e_d.html
+++ b/docs/3.1/class_c_fast_l_e_d.html
@@ -91,22 +91,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">CFastLED Class Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>High level controller interface for FastLED.
+ <a href="class_c_fast_l_e_d.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="_fast_l_e_d_8h_source.html">FastLED.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
-<tr class="memitem:a79df28eb68fc2062b995f9000aed274c"><td class="memTemplParams" colspan="2"><a class="anchor" id="a79df28eb68fc2062b995f9000aed274c"></a>
-template&lt;ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER, uint8_t SPI_DATA_RATE&gt; </td></tr>
-<tr class="memitem:a79df28eb68fc2062b995f9000aed274c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
-<tr class="separator:a79df28eb68fc2062b995f9000aed274c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a730ba7d967e882b4b893689cf333b2eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a730ba7d967e882b4b893689cf333b2eb"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setBrightness</b> (uint8_t scale)</td></tr>
+<tr class="memitem:a730ba7d967e882b4b893689cf333b2eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb">setBrightness</a> (uint8_t scale)</td></tr>
+<tr class="memdesc:a730ba7d967e882b4b893689cf333b2eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global brightness scaling. <a href="#a730ba7d967e882b4b893689cf333b2eb">More...</a><br /></td></tr>
<tr class="separator:a730ba7d967e882b4b893689cf333b2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2615781ec12e025fb17cc0e66281716"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2615781ec12e025fb17cc0e66281716"></a>
-uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getBrightness</b> ()</td></tr>
+<tr class="memitem:ac2615781ec12e025fb17cc0e66281716"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716">getBrightness</a> ()</td></tr>
+<tr class="memdesc:ac2615781ec12e025fb17cc0e66281716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current global brightness setting. <a href="#ac2615781ec12e025fb17cc0e66281716">More...</a><br /></td></tr>
<tr class="separator:ac2615781ec12e025fb17cc0e66281716"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83afdd1e2a21f33ac4f8d2610d6e331b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83afdd1e2a21f33ac4f8d2610d6e331b"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b">show</a> (uint8_t scale)</td></tr>
-<tr class="memdesc:a83afdd1e2a21f33ac4f8d2610d6e331b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update all our controllers with the current led colors, using the passed in brightness. <br /></td></tr>
+<tr class="memitem:a83afdd1e2a21f33ac4f8d2610d6e331b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b">show</a> (uint8_t scale)</td></tr>
+<tr class="memdesc:a83afdd1e2a21f33ac4f8d2610d6e331b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update all our controllers with the current led colors, using the passed in brightness. <a href="#a83afdd1e2a21f33ac4f8d2610d6e331b">More...</a><br /></td></tr>
<tr class="separator:a83afdd1e2a21f33ac4f8d2610d6e331b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3adb23ec5f919524928d576002cb45de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3adb23ec5f919524928d576002cb45de"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a> ()</td></tr>
@@ -118,51 +118,58 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (boolean wr
<tr class="memitem:ac4f613f1b3e618528dca3189df88ce80"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4f613f1b3e618528dca3189df88ce80"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clearData</b> ()</td></tr>
<tr class="separator:ac4f613f1b3e618528dca3189df88ce80"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7315b060d295bad5fbd32e50eaaf02b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7315b060d295bad5fbd32e50eaaf02b0"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;color, uint8_t scale)</td></tr>
+<tr class="memitem:a7315b060d295bad5fbd32e50eaaf02b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;color, uint8_t scale)</td></tr>
+<tr class="memdesc:a7315b060d295bad5fbd32e50eaaf02b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all leds on all controllers to the given color/scale. <a href="#a7315b060d295bad5fbd32e50eaaf02b0">More...</a><br /></td></tr>
<tr class="separator:a7315b060d295bad5fbd32e50eaaf02b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a570df74cf09e6215c3647333d2b479a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a570df74cf09e6215c3647333d2b479a9"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;color)</td></tr>
+<tr class="memitem:a570df74cf09e6215c3647333d2b479a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9">showColor</a> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;color)</td></tr>
+<tr class="memdesc:a570df74cf09e6215c3647333d2b479a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all leds on all controllers to the given color. <a href="#a570df74cf09e6215c3647333d2b479a9">More...</a><br /></td></tr>
<tr class="separator:a570df74cf09e6215c3647333d2b479a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6819ff831058a710d4582dfc09817202"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6819ff831058a710d4582dfc09817202"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>delay</b> (unsigned long ms)</td></tr>
+<tr class="memitem:a6819ff831058a710d4582dfc09817202"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202">delay</a> (unsigned long ms)</td></tr>
+<tr class="memdesc:a6819ff831058a710d4582dfc09817202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delay for the given number of milliseconds. <a href="#a6819ff831058a710d4582dfc09817202">More...</a><br /></td></tr>
<tr class="separator:a6819ff831058a710d4582dfc09817202"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a28c2dfb0ec592db03f3063ade135f19f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28c2dfb0ec592db03f3063ade135f19f"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;temp)</td></tr>
+<tr class="memitem:a28c2dfb0ec592db03f3063ade135f19f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">setTemperature</a> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;temp)</td></tr>
+<tr class="memdesc:a28c2dfb0ec592db03f3063ade135f19f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a global color temperature. <a href="#a28c2dfb0ec592db03f3063ade135f19f">More...</a><br /></td></tr>
<tr class="separator:a28c2dfb0ec592db03f3063ade135f19f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad266c3e649cc12a6dc49a1e229acc282"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad266c3e649cc12a6dc49a1e229acc282"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;correction)</td></tr>
+<tr class="memitem:ad266c3e649cc12a6dc49a1e229acc282"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">setCorrection</a> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;correction)</td></tr>
+<tr class="memdesc:ad266c3e649cc12a6dc49a1e229acc282"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a global color correction. <a href="#ad266c3e649cc12a6dc49a1e229acc282">More...</a><br /></td></tr>
<tr class="separator:ad266c3e649cc12a6dc49a1e229acc282"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ae5d3864df01101d82d242c123ffb36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ae5d3864df01101d82d242c123ffb36"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setDither</b> (uint8_t ditherMode=BINARY_DITHER)</td></tr>
+<tr class="memitem:a7ae5d3864df01101d82d242c123ffb36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">setDither</a> (uint8_t ditherMode=BINARY_DITHER)</td></tr>
+<tr class="memdesc:a7ae5d3864df01101d82d242c123ffb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the dithering mode. <a href="#a7ae5d3864df01101d82d242c123ffb36">More...</a><br /></td></tr>
<tr class="separator:a7ae5d3864df01101d82d242c123ffb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09f4d61853d88482fa5824144c8127ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09f4d61853d88482fa5824144c8127ed"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setMaxRefreshRate</b> (uint16_t refresh)</td></tr>
+<tr class="memitem:a09f4d61853d88482fa5824144c8127ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed">setMaxRefreshRate</a> (uint16_t refresh)</td></tr>
+<tr class="memdesc:a09f4d61853d88482fa5824144c8127ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum refresh rate. <a href="#a09f4d61853d88482fa5824144c8127ed">More...</a><br /></td></tr>
<tr class="separator:a09f4d61853d88482fa5824144c8127ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61d27e179c9b68bde89d220aebc0de32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61d27e179c9b68bde89d220aebc0de32"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>countFPS</b> (int nFrames=25)</td></tr>
+<tr class="memitem:a61d27e179c9b68bde89d220aebc0de32"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">countFPS</a> (int nFrames=25)</td></tr>
+<tr class="memdesc:a61d27e179c9b68bde89d220aebc0de32"><td class="mdescLeft">&#160;</td><td class="mdescRight">for debugging, will keep track of time between calls to countFPS, and every nFrames calls, it will update an internal counter for the current FPS. <a href="#a61d27e179c9b68bde89d220aebc0de32">More...</a><br /></td></tr>
<tr class="separator:a61d27e179c9b68bde89d220aebc0de32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8c3ae3381e524ce30b181ffa23b83cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8c3ae3381e524ce30b181ffa23b83cd"></a>
-uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>getFPS</b> ()</td></tr>
+<tr class="memitem:aa8c3ae3381e524ce30b181ffa23b83cd"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd">getFPS</a> ()</td></tr>
+<tr class="memdesc:aa8c3ae3381e524ce30b181ffa23b83cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of frames/second being written out. <a href="#aa8c3ae3381e524ce30b181ffa23b83cd">More...</a><br /></td></tr>
<tr class="separator:aa8c3ae3381e524ce30b181ffa23b83cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae5730545ea18b1f5228172f9d246beb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5730545ea18b1f5228172f9d246beb6"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>count</b> ()</td></tr>
+<tr class="memitem:ae5730545ea18b1f5228172f9d246beb6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6">count</a> ()</td></tr>
+<tr class="memdesc:ae5730545ea18b1f5228172f9d246beb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get how many controllers have been registered. <a href="#ae5730545ea18b1f5228172f9d246beb6">More...</a><br /></td></tr>
<tr class="separator:ae5730545ea18b1f5228172f9d246beb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a646128b7d8c14b5020b285dbc8bc713b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a646128b7d8c14b5020b285dbc8bc713b"></a>
-<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int x)</td></tr>
+<tr class="memitem:a646128b7d8c14b5020b285dbc8bc713b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">operator[]</a> (int x)</td></tr>
+<tr class="memdesc:a646128b7d8c14b5020b285dbc8bc713b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to a registered controller. <a href="#a646128b7d8c14b5020b285dbc8bc713b">More...</a><br /></td></tr>
<tr class="separator:a646128b7d8c14b5020b285dbc8bc713b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18fba22754d2a1a206fc5db8d24a92d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18fba22754d2a1a206fc5db8d24a92d0"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
+<tr class="memitem:a18fba22754d2a1a206fc5db8d24a92d0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">size</a> ()</td></tr>
+<tr class="memdesc:a18fba22754d2a1a206fc5db8d24a92d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of leds in the first controller. <a href="#a18fba22754d2a1a206fc5db8d24a92d0">More...</a><br /></td></tr>
<tr class="separator:a18fba22754d2a1a206fc5db8d24a92d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae3c0a81b88fb64a65725cb2fed67f766"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3c0a81b88fb64a65725cb2fed67f766"></a>
-<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>leds</b> ()</td></tr>
+<tr class="memitem:ae3c0a81b88fb64a65725cb2fed67f766"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">leds</a> ()</td></tr>
+<tr class="memdesc:ae3c0a81b88fb64a65725cb2fed67f766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to led data for the first controller. <a href="#ae3c0a81b88fb64a65725cb2fed67f766">More...</a><br /></td></tr>
<tr class="separator:ae3c0a81b88fb64a65725cb2fed67f766"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
-<tr class="memitem:afd7928d822589740af6e23b2d510cf3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd7928d822589740af6e23b2d510cf3f"></a>
-static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>addLeds</b> (<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *pLed, struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="memitem:afd7928d822589740af6e23b2d510cf3f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">addLeds</a> (<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *pLed, struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="memdesc:afd7928d822589740af6e23b2d510cf3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. <a href="#afd7928d822589740af6e23b2d510cf3f">More...</a><br /></td></tr>
<tr class="separator:afd7928d822589740af6e23b2d510cf3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+Adding SPI based controllers</h2></td></tr>
+<tr class="memitem:a79df28eb68fc2062b995f9000aed274c"><td class="memTemplParams" colspan="2">template&lt;ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER, uint8_t SPI_DATA_RATE&gt; </td></tr>
+<tr class="memitem:a79df28eb68fc2062b995f9000aed274c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#a79df28eb68fc2062b995f9000aed274c">addLeds</a> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="memdesc:a79df28eb68fc2062b995f9000aed274c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an SPI based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. <a href="#a79df28eb68fc2062b995f9000aed274c">More...</a><br /></td></tr>
+<tr class="separator:a79df28eb68fc2062b995f9000aed274c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"></a>
template&lt;ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN&gt; </td></tr>
<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
@@ -171,27 +178,792 @@ template&lt;ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN&gt; </td><
template&lt;ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER&gt; </td></tr>
<tr class="memitem:a5a7a603a5f0f503fe453dde049f315a8"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
<tr class="separator:a5a7a603a5f0f503fe453dde049f315a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4912fec504ea01e8f867c4819240cba9"></a>
+template&lt;ESPIChipsets CHIPSET&gt; </td></tr>
+<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="separator:a4912fec504ea01e8f867c4819240cba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac4dff92f45048399edb0812a02ab9d96"></a>
-template&lt;template&lt; uint8_t DATA_PIN &gt; class CHIPSET, uint8_t DATA_PIN&gt; </td></tr>
+template&lt;ESPIChipsets CHIPSET, EOrder RGB_ORDER&gt; </td></tr>
<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
<tr class="separator:ac4dff92f45048399edb0812a02ab9d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"></a>
-template&lt;template&lt; uint8_t DATA_PIN, EOrder RGB_ORDER &gt; class CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER&gt; </td></tr>
+template&lt;ESPIChipsets CHIPSET, EOrder RGB_ORDER, uint8_t SPI_DATA_RATE&gt; </td></tr>
<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
<tr class="separator:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+Adding 3-wire led controllers</h2></td></tr>
+<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplParams" colspan="2">template&lt;template&lt; uint8_t DATA_PIN, EOrder RGB_ORDER &gt; class CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER&gt; </td></tr>
+<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">addLeds</a> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="memdesc:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a clockless (aka 3wire, also DMX) based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. <a href="#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">More...</a><br /></td></tr>
+<tr class="separator:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac4dff92f45048399edb0812a02ab9d96"></a>
template&lt;template&lt; uint8_t DATA_PIN, EOrder RGB_ORDER &gt; class CHIPSET, uint8_t DATA_PIN&gt; </td></tr>
<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
<tr class="separator:ac4dff92f45048399edb0812a02ab9d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac4dff92f45048399edb0812a02ab9d96"></a>
+template&lt;template&lt; uint8_t DATA_PIN &gt; class CHIPSET, uint8_t DATA_PIN&gt; </td></tr>
+<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="separator:ac4dff92f45048399edb0812a02ab9d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"></a>
+template&lt;EClocklessChipsets CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt; </td></tr>
+<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="separator:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+Adding 3rd party library controllers</h2></td></tr>
+<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplParams" colspan="2">template&lt;template&lt; EOrder RGB_ORDER &gt; class CHIPSET, EOrder RGB_ORDER&gt; </td></tr>
+<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96">addLeds</a> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="memdesc:ac4dff92f45048399edb0812a02ab9d96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a 3rd party library based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. <a href="#ac4dff92f45048399edb0812a02ab9d96">More...</a><br /></td></tr>
+<tr class="separator:ac4dff92f45048399edb0812a02ab9d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4912fec504ea01e8f867c4819240cba9"></a>
template&lt;template&lt; EOrder RGB_ORDER &gt; class CHIPSET&gt; </td></tr>
<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
<tr class="separator:a4912fec504ea01e8f867c4819240cba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac4dff92f45048399edb0812a02ab9d96"></a>
-template&lt;template&lt; EOrder RGB_ORDER &gt; class CHIPSET, EOrder RGB_ORDER&gt; </td></tr>
+template&lt;OWS2811 CHIPSET, EOrder RGB_ORDER&gt; </td></tr>
+<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="separator:ac4dff92f45048399edb0812a02ab9d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4912fec504ea01e8f867c4819240cba9"></a>
+template&lt;OWS2811 CHIPSET&gt; </td></tr>
+<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="separator:a4912fec504ea01e8f867c4819240cba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4912fec504ea01e8f867c4819240cba9"></a>
+template&lt;ESM CHIPSET&gt; </td></tr>
+<tr class="memitem:a4912fec504ea01e8f867c4819240cba9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="separator:a4912fec504ea01e8f867c4819240cba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+adding parallel output controllers</h2></td></tr>
+<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplParams" colspan="2">template&lt;EBlockChipsets CHIPSET, int NUM_LANES, EOrder RGB_ORDER&gt; </td></tr>
+<tr class="memitem:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">addLeds</a> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
+<tr class="memdesc:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a block based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. <a href="#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9">More...</a><br /></td></tr>
+<tr class="separator:aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac4dff92f45048399edb0812a02ab9d96"></a>
+template&lt;EBlockChipsets CHIPSET, int NUM_LANES&gt; </td></tr>
<tr class="memitem:ac4dff92f45048399edb0812a02ab9d96"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>addLeds</b> (struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLedsOrOffset, int nLedsIfOffset=0)</td></tr>
<tr class="separator:ac4dff92f45048399edb0812a02ab9d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>High level controller interface for FastLED. </p>
+<p>This class manages controllers, global settings and trackings such as brightness, and refresh rates, and provides access functions for driving led data to controllers via the show/showColor/clear methods. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afd7928d822589740af6e23b2d510cf3f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; CFastLED::addLeds </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td>
+ <td class="paramname"><em>pLed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsOrOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsIfOffset</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. </p>
+<p>Exposed to the public to allow people to implement their own <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> objects or instances. There are two ways to call this method (as well as the other addLeds) variations. The first is with 3 arguments, in which case the arguments are the controller, a pointer to led data, and the number of leds used by this controller. The seocond is with 4 arguments, in which case the first two arguments are the same, the third argument is an offset into the <a class="el" href="struct_c_r_g_b.html">CRGB</a> data where this controller's <a class="el" href="struct_c_r_g_b.html">CRGB</a> data begins, and the fourth argument is the number of leds for this controller object. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">pLed</td><td>- the led controller being added </td></tr>
+ <tr><td class="paramname">data</td><td>- base point to an array of <a class="el" href="struct_c_r_g_b.html">CRGB</a> data structures </td></tr>
+ <tr><td class="paramname">nLedsOrOffset</td><td>- number of leds (3 argument version) or offset into the data array </td></tr>
+ <tr><td class="paramname">nLedsIfOffset</td><td>- number of leds (4 argument version) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a reference to the added controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a79df28eb68fc2062b995f9000aed274c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;ESPIChipsets CHIPSET, uint8_t DATA_PIN, uint8_t CLOCK_PIN, EOrder RGB_ORDER, uint8_t SPI_DATA_RATE&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>&amp; CFastLED::addLeds </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsOrOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsIfOffset</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add an SPI based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. </p>
+<p>There are two ways to call this method (as well as the other addLeds) variations. The first is with 2 arguments, in which case the arguments are a pointer to led data, and the number of leds used by this controller. The seocond is with 3 arguments, in which case the first argument is the same, the second argument is an offset into the <a class="el" href="struct_c_r_g_b.html">CRGB</a> data where this controller's <a class="el" href="struct_c_r_g_b.html">CRGB</a> data begins, and the third argument is the number of leds for this controller object.</p>
+<p>This method also takes a 1 to 5 template parameters for identifying the specific chipset, data and clock pins, RGB ordering, and SPI data rate </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">data</td><td>- base point to an array of <a class="el" href="struct_c_r_g_b.html">CRGB</a> data structures </td></tr>
+ <tr><td class="paramname">nLedsOrOffset</td><td>- number of leds (3 argument version) or offset into the data array </td></tr>
+ <tr><td class="paramname">nLedsIfOffset</td><td>- number of leds (4 argument version) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+ <table class="tparams">
+ <tr><td class="paramname">CHIPSET</td><td>- the chipset type </td></tr>
+ <tr><td class="paramname">DATA_PIN</td><td>- the optional data pin for the leds (if omitted, will default to the first hardware SPI MOSI pin) </td></tr>
+ <tr><td class="paramname">CLOCK_PIN</td><td>- the optional clock pin for the leds (if omitted, will default to the first hardware SPI clock pin) </td></tr>
+ <tr><td class="paramname">RGB_ORDER</td><td>- the rgb ordering for the leds (e.g. what order red, green, and blue data is written out in) </td></tr>
+ <tr><td class="paramname">SPI_DATA_RATE</td><td>- the data rate to drive the SPI clock at, defined using DATA_RATE_MHZ or DATA_RATE_KHZ macros </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a reference to the added controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; uint8_t DATA_PIN, EOrder RGB_ORDER &gt; class CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>&amp; CFastLED::addLeds </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsOrOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsIfOffset</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a clockless (aka 3wire, also DMX) based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. </p>
+<p>There are two ways to call this method (as well as the other addLeds) variations. The first is with 2 arguments, in which case the arguments are a pointer to led data, and the number of leds used by this controller. The seocond is with 3 arguments, in which case the first argument is the same, the second argument is an offset into the <a class="el" href="struct_c_r_g_b.html">CRGB</a> data where this controller's <a class="el" href="struct_c_r_g_b.html">CRGB</a> data begins, and the third argument is the number of leds for this controller object.</p>
+<p>This method also takes a 2 to 3 template parameters for identifying the specific chipset, data pin, and rgb ordering RGB ordering, and SPI data rate </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">data</td><td>- base point to an array of <a class="el" href="struct_c_r_g_b.html">CRGB</a> data structures </td></tr>
+ <tr><td class="paramname">nLedsOrOffset</td><td>- number of leds (3 argument version) or offset into the data array </td></tr>
+ <tr><td class="paramname">nLedsIfOffset</td><td>- number of leds (4 argument version) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+ <table class="tparams">
+ <tr><td class="paramname">CHIPSET</td><td>- the chipset type (required) </td></tr>
+ <tr><td class="paramname">DATA_PIN</td><td>- the optional data pin for the leds (required) </td></tr>
+ <tr><td class="paramname">RGB_ORDER</td><td>- the rgb ordering for the leds (e.g. what order red, green, and blue data is written out in) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a reference to the added controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac4dff92f45048399edb0812a02ab9d96"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; EOrder RGB_ORDER &gt; class CHIPSET, EOrder RGB_ORDER&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>&amp; CFastLED::addLeds </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsOrOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsIfOffset</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a 3rd party library based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. </p>
+<p>There are two ways to call this method (as well as the other addLeds) variations. The first is with 2 arguments, in which case the arguments are a pointer to led data, and the number of leds used by this controller. The seocond is with 3 arguments, in which case the first argument is the same, the second argument is an offset into the <a class="el" href="struct_c_r_g_b.html">CRGB</a> data where this controller's <a class="el" href="struct_c_r_g_b.html">CRGB</a> data begins, and the third argument is the number of leds for this controller object. This class includes the SmartMatrix and OctoWS2811 based controllers</p>
+<p>This method also takes a 1 to 2 template parameters for identifying the specific chipset and rgb ordering RGB ordering, and SPI data rate </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">data</td><td>- base point to an array of <a class="el" href="struct_c_r_g_b.html">CRGB</a> data structures </td></tr>
+ <tr><td class="paramname">nLedsOrOffset</td><td>- number of leds (3 argument version) or offset into the data array </td></tr>
+ <tr><td class="paramname">nLedsIfOffset</td><td>- number of leds (4 argument version) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+ <table class="tparams">
+ <tr><td class="paramname">CHIPSET</td><td>- the chipset type (required) </td></tr>
+ <tr><td class="paramname">RGB_ORDER</td><td>- the rgb ordering for the leds (e.g. what order red, green, and blue data is written out in) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a reference to the added controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;EBlockChipsets CHIPSET, int NUM_LANES, EOrder RGB_ORDER&gt; </div>
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>&amp; CFastLED::addLeds </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsOrOffset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nLedsIfOffset</em> = <code>0</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Add a block based <a class="el" href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. ">CLEDController</a> instance to the world. </p>
+<p>There are two ways to call this method (as well as the other addLeds) variations. The first is with 2 arguments, in which case the arguments are a pointer to led data, and the number of leds used by this controller. The seocond is with 3 arguments, in which case the first argument is the same, the second argument is an offset into the <a class="el" href="struct_c_r_g_b.html">CRGB</a> data where this controller's <a class="el" href="struct_c_r_g_b.html">CRGB</a> data begins, and the third argument is the number of leds for this controller object.</p>
+<p>This method also takes a 2 to 3 template parameters for identifying the specific chipset and rgb ordering RGB ordering, and SPI data rate </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">data</td><td>- base point to an array of <a class="el" href="struct_c_r_g_b.html">CRGB</a> data structures </td></tr>
+ <tr><td class="paramname">nLedsOrOffset</td><td>- number of leds (3 argument version) or offset into the data array </td></tr>
+ <tr><td class="paramname">nLedsIfOffset</td><td>- number of leds (4 argument version) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+ <table class="tparams">
+ <tr><td class="paramname">CHIPSET</td><td>- the chipset/port type (required) </td></tr>
+ <tr><td class="paramname">NUM_LANES</td><td>- how many parallel lanes of output to write </td></tr>
+ <tr><td class="paramname">RGB_ORDER</td><td>- the rgb ordering for the leds (e.g. what order red, green, and blue data is written out in) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a reference to the added controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae5730545ea18b1f5228172f9d246beb6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int CFastLED::count </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get how many controllers have been registered. </p>
+<dl class="section return"><dt>Returns</dt><dd>the number of controllers (strips) that have been added with addLeds </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a61d27e179c9b68bde89d220aebc0de32"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::countFPS </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>nFrames</em> = <code>25</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>for debugging, will keep track of time between calls to countFPS, and every nFrames calls, it will update an internal counter for the current FPS. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>make this a rolling counter <dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">nFrames</td><td>- how many frames to time for determining FPS </td></tr>
+ </table>
+ </dd>
+</dl>
+</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a6819ff831058a710d4582dfc09817202"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::delay </td>
+ <td>(</td>
+ <td class="paramtype">unsigned long&#160;</td>
+ <td class="paramname"><em>ms</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Delay for the given number of milliseconds. </p>
+<p>Provided to allow the library to be used on platforms that don't have a delay function (to allow code to be more portable) </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ms</td><td>the number of milliseconds to pause for </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac2615781ec12e025fb17cc0e66281716"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint8_t CFastLED::getBrightness </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the current global brightness setting. </p>
+<dl class="section return"><dt>Returns</dt><dd>the current global brightness value </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa8c3ae3381e524ce30b181ffa23b83cd"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint16_t CFastLED::getFPS </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the number of frames/second being written out. </p>
+<dl class="section return"><dt>Returns</dt><dd>the most recently computed FPS value </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae3c0a81b88fb64a65725cb2fed67f766"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_c_r_g_b.html">CRGB</a>* CFastLED::leds </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get a pointer to led data for the first controller. </p>
+<dl class="section return"><dt>Returns</dt><dd>pointer to the <a class="el" href="struct_c_r_g_b.html">CRGB</a> buffer for the first controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a646128b7d8c14b5020b285dbc8bc713b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; CFastLED::operator[] </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get a reference to a registered controller. </p>
+<dl class="section return"><dt>Returns</dt><dd>a reference to the Nth controller </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a730ba7d967e882b4b893689cf333b2eb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::setBrightness </td>
+ <td>(</td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>scale</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the global brightness scaling. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">scale</td><td>a 0-255 value for how much to scale all leds before writing them out </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ad266c3e649cc12a6dc49a1e229acc282"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::setCorrection </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td>
+ <td class="paramname"><em>correction</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set a global color correction. </p>
+<p>Sets the color correction for all added led strips, overriding whatever previous color correction those controllers may have had. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">correction</td><td>A <a class="el" href="struct_c_r_g_b.html">CRGB</a> structure describin the color correction. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7ae5d3864df01101d82d242c123ffb36"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::setDither </td>
+ <td>(</td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>ditherMode</em> = <code>BINARY_DITHER</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the dithering mode. </p>
+<p>Sets the dithering mode for all added led strips, overriding whatever previous dithering option those controllers may have had. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ditherMode</td><td>- what type of dithering to use, either BINARY_DITHER or DISABLE_DITHER </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a09f4d61853d88482fa5824144c8127ed"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::setMaxRefreshRate </td>
+ <td>(</td>
+ <td class="paramtype">uint16_t&#160;</td>
+ <td class="paramname"><em>refresh</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the maximum refresh rate. </p>
+<p>This is global for all leds. Attempts to call show faster than this rate will simply wait. Defaults to 400Hz. Set to 0 to have no maximum rate. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">refresh</td><td>- maximum refresh rate in hz </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a28c2dfb0ec592db03f3063ade135f19f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::setTemperature </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td>
+ <td class="paramname"><em>temp</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set a global color temperature. </p>
+<p>Sets the color temperature for all added led strips, overriding whatever previous color temperature those controllers may have had </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">temp</td><td>A <a class="el" href="struct_c_r_g_b.html">CRGB</a> structure describing the color temperature </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a83afdd1e2a21f33ac4f8d2610d6e331b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::show </td>
+ <td>(</td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>scale</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Update all our controllers with the current led colors, using the passed in brightness. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">scale</td><td>temporarily override the scale </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7315b060d295bad5fbd32e50eaaf02b0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::showColor </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td>
+ <td class="paramname"><em>color</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>scale</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set all leds on all controllers to the given color/scale. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">color</td><td>what color to set the leds to </td></tr>
+ <tr><td class="paramname">scale</td><td>what brightness scale to show at </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a570df74cf09e6215c3647333d2b479a9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CFastLED::showColor </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td>
+ <td class="paramname"><em>color</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set all leds on all controllers to the given color. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">color</td><td>what color to set the leds to </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a18fba22754d2a1a206fc5db8d24a92d0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">int CFastLED::size </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the number of leds in the first controller. </p>
+<dl class="section return"><dt>Returns</dt><dd>the number of LEDs in the first controller </dd></dl>
+
+</div>
+</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_fast_l_e_d_8h_source.html">FastLED.h</a></li>
<li>FastLED.cpp</li>
@@ -199,7 +971,7 @@ template&lt;template&lt; EOrder RGB_ORDER &gt; class CHIPSET, EOrder RGB_ORDER&g
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_fast_noise16-members.html b/docs/3.1/class_c_fast_noise16-members.html
new file mode 100644
index 00000000..98c14ed5
--- /dev/null
+++ b/docs/3.1/class_c_fast_noise16-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">CFastNoise16 Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>advance</b>(int32_t x, int32_t y, int32_t z) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getOrigin</b>(uint32_t &amp;x, uint32_t &amp;y, uint32_t &amp;z) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getOrigin</b>(uint32_t &amp;x, uint32_t &amp;y) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getOrigin</b>(uint32_t &amp;x) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTime</b>() (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getX</b>() (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getY</b>() (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getZ</b>() (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setOrigin</b>(uint32_t x, uint32_t y, uint32_t z) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setOrigin</b>(uint32_t x, uint32_t y) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setOrigin</b>(uint32_t x) (defined in <a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>)</td><td class="entry"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_c_fast_noise16.html b/docs/3.1/class_c_fast_noise16.html
new file mode 100644
index 00000000..8ab2d3a1
--- /dev/null
+++ b/docs/3.1/class_c_fast_noise16.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: CFastNoise16 Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_c_fast_noise16-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">CFastNoise16 Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class for accessing 16 bit noise.
+ <a href="class_c_fast_noise16.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="noise_8h_source.html">noise.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a69ecb850c242f52266a21988339540ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ecb850c242f52266a21988339540ec"></a>
+<a class="el" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setOrigin</b> (uint32_t x, uint32_t y, uint32_t z)</td></tr>
+<tr class="separator:a69ecb850c242f52266a21988339540ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b662b8fbb7899dd455de1f898ee3bff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b662b8fbb7899dd455de1f898ee3bff"></a>
+<a class="el" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setOrigin</b> (uint32_t x, uint32_t y)</td></tr>
+<tr class="separator:a0b662b8fbb7899dd455de1f898ee3bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2eb67b03155f49b98c9d0082aad947f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eb67b03155f49b98c9d0082aad947f4"></a>
+<a class="el" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setOrigin</b> (uint32_t x)</td></tr>
+<tr class="separator:a2eb67b03155f49b98c9d0082aad947f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a08e582e5de9017cc2d0e6254f2075c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a08e582e5de9017cc2d0e6254f2075c"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getX</b> ()</td></tr>
+<tr class="separator:a0a08e582e5de9017cc2d0e6254f2075c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aded96db144ff44b007c46b4633cfb4f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aded96db144ff44b007c46b4633cfb4f8"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getY</b> ()</td></tr>
+<tr class="separator:aded96db144ff44b007c46b4633cfb4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedddee806b415e5162a103e3e0a6bac5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aedddee806b415e5162a103e3e0a6bac5"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getZ</b> ()</td></tr>
+<tr class="separator:aedddee806b415e5162a103e3e0a6bac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacf4c1f6b434bb00fa202a6ef552edd9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacf4c1f6b434bb00fa202a6ef552edd9"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getTime</b> ()</td></tr>
+<tr class="separator:aacf4c1f6b434bb00fa202a6ef552edd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a704a58d30cc3e6f9a08a82ced577caa3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a704a58d30cc3e6f9a08a82ced577caa3"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getOrigin</b> (uint32_t &amp;x, uint32_t &amp;y, uint32_t &amp;z)</td></tr>
+<tr class="separator:a704a58d30cc3e6f9a08a82ced577caa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3487c2697c3f955be2da6e507c51172"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3487c2697c3f955be2da6e507c51172"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getOrigin</b> (uint32_t &amp;x, uint32_t &amp;y)</td></tr>
+<tr class="separator:ab3487c2697c3f955be2da6e507c51172"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06e500cca773f584c07f75b9294f5d4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06e500cca773f584c07f75b9294f5d4b"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getOrigin</b> (uint32_t &amp;x)</td></tr>
+<tr class="separator:a06e500cca773f584c07f75b9294f5d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66cd9c4a9fee8b753ff96cb0f9dd4e51"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66cd9c4a9fee8b753ff96cb0f9dd4e51"></a>
+<a class="el" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>advance</b> (int32_t x, int32_t y, int32_t z)</td></tr>
+<tr class="separator:a66cd9c4a9fee8b753ff96cb0f9dd4e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Class for accessing 16 bit noise. </p>
+<p>Provides methods for setting origin, scale, frequency, alplitude, time, octave blurring </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="noise_8h_source.html">noise.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_c_h_s_v_palette16-members.html b/docs/3.1/class_c_h_s_v_palette16-members.html
index 4a3507cd..233c1f16 100644
--- a/docs/3.1/class_c_h_s_v_palette16-members.html
+++ b/docs/3.1/class_c_h_s_v_palette16-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_h_s_v_palette16.html b/docs/3.1/class_c_h_s_v_palette16.html
index 629a4498..898d8302 100644
--- a/docs/3.1/class_c_h_s_v_palette16.html
+++ b/docs/3.1/class_c_h_s_v_palette16.html
@@ -149,7 +149,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_h_s_v_palette256-members.html b/docs/3.1/class_c_h_s_v_palette256-members.html
index 411143a9..66a7ae02 100644
--- a/docs/3.1/class_c_h_s_v_palette256-members.html
+++ b/docs/3.1/class_c_h_s_v_palette256-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_h_s_v_palette256.html b/docs/3.1/class_c_h_s_v_palette256.html
index 33facb30..0cb0966d 100644
--- a/docs/3.1/class_c_h_s_v_palette256.html
+++ b/docs/3.1/class_c_h_s_v_palette256.html
@@ -155,7 +155,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_l_e_d_controller-members.html b/docs/3.1/class_c_l_e_d_controller-members.html
index a9474093..242937ed 100644
--- a/docs/3.1/class_c_l_e_d_controller-members.html
+++ b/docs/3.1/class_c_l_e_d_controller-members.html
@@ -118,7 +118,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -127,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_l_e_d_controller.html b/docs/3.1/class_c_l_e_d_controller.html
index 86112294..338d3f5e 100644
--- a/docs/3.1/class_c_l_e_d_controller.html
+++ b/docs/3.1/class_c_l_e_d_controller.html
@@ -96,6 +96,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
+<p>Base definition for an LED controller.
+ <a href="class_c_l_e_d_controller.html#details">More...</a></p>
+
<p><code>#include &lt;<a class="el" href="controller_8h_source.html">controller.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CLEDController:</div>
@@ -103,13 +106,14 @@ Inheritance diagram for CLEDController:</div>
<div class="center">
<img src="class_c_l_e_d_controller.png" usemap="#CLEDController_map" alt=""/>
<map id="CLEDController_map" name="CLEDController_map">
-<area href="class_a_p_a102_controller.html" alt="APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="0,56,449,80"/>
-<area href="class_deep_pixel_controller.html" alt="DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,56,908,80"/>
-<area href="class_l_p_d8806_controller.html" alt="LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="918,56,1367,80"/>
-<area href="class_p9813_controller.html" alt="P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="1377,56,1826,80"/>
-<area href="class_s_m16716_controller.html" alt="SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="1836,56,2285,80"/>
-<area href="class_w_s2801_controller.html" alt="WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="2295,56,2744,80"/>
-<area href="class_w_s2803_controller.html" alt="WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="2295,112,2744,136"/>
+<area href="class_a_p_a102_controller.html" alt="APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,56,908,80"/>
+<area href="class_deep_pixel_controller.html" alt="DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,112,908,136"/>
+<area href="class_d_m_x_serial_controller.html" alt="DMXSerialController&lt; RGB_ORDER &gt;" shape="rect" coords="459,168,908,192"/>
+<area href="class_d_m_x_simple_controller.html" alt="DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="459,224,908,248"/>
+<area href="class_l_p_d8806_controller.html" alt="LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,280,908,304"/>
+<area href="class_p9813_controller.html" alt="P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,336,908,360"/>
+<area href="class_s_m16716_controller.html" alt="SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,392,908,416"/>
+<area href="class_w_s2801_controller.html" alt="WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="459,448,908,472"/>
</map>
</div></div>
<table class="memberdecls">
@@ -136,6 +140,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -193,6 +200,9 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:add284627121ffab140e083e84fadc37f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add284627121ffab140e083e84fadc37f"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
<tr class="separator:add284627121ffab140e083e84fadc37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
@@ -231,7 +241,8 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>CFastLED</b></td></t
<tr class="separator:accc1d3beec363be81b003f84f4838d62"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Base definition for an LED controller. Pretty much the methods that every LED controller object will make available. Note that the showARGB method is not impelemented for all controllers yet. Note also the methods for eventual checking of background writing of data (I'm looking at you, teensy 3.0 DMA controller!). If you want to pass LED controllers around to methods, make them references to this type, keeps your code saner. However, most people won't be seeing/using these objects directly at all </p>
+<div class="textblock"><p>Base definition for an LED controller. </p>
+<p>Pretty much the methods that every LED controller object will make available. Note that the showARGB method is not impelemented for all controllers yet. Note also the methods for eventual checking of background writing of data (I'm looking at you, teensy 3.0 DMA controller!). If you want to pass LED controllers around to methods, make them references to this type, keeps your code saner. However, most people won't be seeing/using these objects directly at all </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="controller_8h_source.html">controller.h</a></li>
<li>FastLED.cpp</li>
@@ -239,7 +250,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>CFastLED</b></td></t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_l_e_d_controller.png b/docs/3.1/class_c_l_e_d_controller.png
index 0580c1d6..d90a7f94 100644
--- a/docs/3.1/class_c_l_e_d_controller.png
+++ b/docs/3.1/class_c_l_e_d_controller.png
Binary files differ
diff --git a/docs/3.1/class_c_min_wait-members.html b/docs/3.1/class_c_min_wait-members.html
index 787440c3..e3012cd2 100644
--- a/docs/3.1/class_c_min_wait-members.html
+++ b/docs/3.1/class_c_min_wait-members.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_min_wait.html b/docs/3.1/class_c_min_wait.html
index f4e82d5f..684008e8 100644
--- a/docs/3.1/class_c_min_wait.html
+++ b/docs/3.1/class_c_min_wait.html
@@ -106,7 +106,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>mark</b> ()</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_r_g_b_palette16-members.html b/docs/3.1/class_c_r_g_b_palette16-members.html
index f2155fb6..7d7f14df 100644
--- a/docs/3.1/class_c_r_g_b_palette16-members.html
+++ b/docs/3.1/class_c_r_g_b_palette16-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_r_g_b_palette16.html b/docs/3.1/class_c_r_g_b_palette16.html
index 154506e2..28fa1916 100644
--- a/docs/3.1/class_c_r_g_b_palette16.html
+++ b/docs/3.1/class_c_r_g_b_palette16.html
@@ -167,7 +167,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_r_g_b_palette256-members.html b/docs/3.1/class_c_r_g_b_palette256-members.html
index 35005d38..0f292625 100644
--- a/docs/3.1/class_c_r_g_b_palette256-members.html
+++ b/docs/3.1/class_c_r_g_b_palette256-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_c_r_g_b_palette256.html b/docs/3.1/class_c_r_g_b_palette256.html
index 6fab0fcb..290d968d 100644
--- a/docs/3.1/class_c_r_g_b_palette256.html
+++ b/docs/3.1/class_c_r_g_b_palette256.html
@@ -173,7 +173,7 @@ Public Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_d_a_t_a___n_o_p-members.html b/docs/3.1/class_d_a_t_a___n_o_p-members.html
index a9c2f774..49d43762 100644
--- a/docs/3.1/class_d_a_t_a___n_o_p-members.html
+++ b/docs/3.1/class_d_a_t_a___n_o_p-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_d_a_t_a___n_o_p.html b/docs/3.1/class_d_a_t_a___n_o_p.html
index efd72c5e..1b81a577 100644
--- a/docs/3.1/class_d_a_t_a___n_o_p.html
+++ b/docs/3.1/class_d_a_t_a___n_o_p.html
@@ -92,6 +92,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
+<p>Some of the SPI controllers will need to perform a transform on each byte before doing anyting with it.
+ <a href="class_d_a_t_a___n_o_p.html#details">More...</a></p>
+
<p><code>#include &lt;<a class="el" href="fastspi__types_8h_source.html">fastspi_types.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
@@ -113,7 +116,8 @@ static register uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>sc
<tr class="separator:aafcb87c306c2be9f4c332e77691effb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Some of the SPI controllers will need to perform a transform on each byte before doing anyting with it. Creating a class of this form and passing it in as a template parameter to writeBytes/writeBytes3 below will ensure that the body of this method will get called on every byte worked on. Recommendation, make the adjust method aggressively inlined.</p>
+<div class="textblock"><p>Some of the SPI controllers will need to perform a transform on each byte before doing anyting with it. </p>
+<p>Creating a class of this form and passing it in as a template parameter to writeBytes/writeBytes3 below will ensure that the body of this method will get called on every byte worked on. Recommendation, make the adjust method aggressively inlined.</p>
<p>TODO: Convinience macro for building these </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="fastspi__types_8h_source.html">fastspi_types.h</a></li>
@@ -121,7 +125,7 @@ static register uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>sc
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_d_m_x_s_e_r_i_a_l-members.html b/docs/3.1/class_d_m_x_s_e_r_i_a_l-members.html
new file mode 100644
index 00000000..b05f017d
--- /dev/null
+++ b/docs/3.1/class_d_m_x_s_e_r_i_a_l-members.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DMXSERIAL&lt; RGB_ORDER &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_d_m_x_s_e_r_i_a_l.html">DMXSERIAL&lt; RGB_ORDER &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearLedData</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>clearLeds</b>(int nLeds) (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CLEDController</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getAdjustment</b>(uint8_t scale) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getCorrection</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getDither</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTemperature</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>head</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>init</b>() (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>leds</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_ColorCorrection</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_ColorTemperature</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_Data</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_DitherMode</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_nLeds</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pHead</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_pNext</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pTail</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(int x) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setCorrection</b>(CRGB correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setCorrection</b>(LEDColorCorrection correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDither</b>(uint8_t ditherMode=BINARY_DITHER) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setLeds</b>(CRGB *data, int nLeds) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t scale=255)=0 (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_s_e_r_i_a_l.html b/docs/3.1/class_d_m_x_s_e_r_i_a_l.html
new file mode 100644
index 00000000..55cae141
--- /dev/null
+++ b/docs/3.1/class_d_m_x_s_e_r_i_a_l.html
@@ -0,0 +1,228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: DMXSERIAL&lt; RGB_ORDER &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="class_d_m_x_s_e_r_i_a_l-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">DMXSERIAL&lt; RGB_ORDER &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for DMXSERIAL&lt; RGB_ORDER &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_d_m_x_s_e_r_i_a_l.png" usemap="#DMXSERIAL&lt; RGB_ORDER &gt;_map" alt=""/>
+ <map id="DMXSERIAL&lt; RGB_ORDER &gt;_map" name="DMXSERIAL&lt; RGB_ORDER &gt;_map">
+<area href="class_d_m_x_serial_controller.html" alt="DMXSerialController&lt; RGB_ORDER &gt;" shape="rect" coords="0,56,229,80"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,229,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_methods_class_d_m_x_serial_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_d_m_x_serial_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td></tr>
+<tr class="memitem:a0cd937424d4f6eedb90acec81ca1fa27 inherit pub_methods_class_d_m_x_serial_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cd937424d4f6eedb90acec81ca1fa27"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> ()</td></tr>
+<tr class="separator:a0cd937424d4f6eedb90acec81ca1fa27 inherit pub_methods_class_d_m_x_serial_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04689efea1c1daf74905f87692caa129 inherit pub_methods_class_d_m_x_serial_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04689efea1c1daf74905f87692caa129"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLeds</b> (int nLeds)</td></tr>
+<tr class="separator:a04689efea1c1daf74905f87692caa129 inherit pub_methods_class_d_m_x_serial_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6285e65af8862eb4b0d36d6d3df22b inherit pub_methods_class_d_m_x_serial_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6285e65af8862eb4b0d36d6d3df22b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a3d6285e65af8862eb4b0d36d6d3df22b inherit pub_methods_class_d_m_x_serial_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f3f3e606e495fd1bdcfd25c6bed7fe1 inherit pub_methods_class_d_m_x_serial_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f3f3e606e495fd1bdcfd25c6bed7fe1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a3f3f3e606e495fd1bdcfd25c6bed7fe1 inherit pub_methods_class_d_m_x_serial_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d2435c0f44aa8a1d8cce24b04bf4103 inherit pub_methods_class_d_m_x_serial_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d2435c0f44aa8a1d8cce24b04bf4103"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t scale=255)=0</td></tr>
+<tr class="separator:a3d2435c0f44aa8a1d8cce24b04bf4103 inherit pub_methods_class_d_m_x_serial_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe990b9a65f5bff1f391cc5c28752abb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a253069a734075b298da65d59d6efbb3b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4124b1cf5546ad028166e7884276076"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showLeds</b> (uint8_t brightness=255)</td></tr>
+<tr class="separator:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ccd149ab7282817041a1ae4e586a9d4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, uint8_t brightness=255)</td></tr>
+<tr class="separator:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
+<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
+<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b61c81e004c96ff670a2742057a5a52"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLedData</b> ()</td></tr>
+<tr class="separator:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8840496d231f1fe0fa640970dc14db08"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
+<tr class="separator:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e86c45c89ebfb7b21f9045790302399"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>leds</b> ()</td></tr>
+<tr class="separator:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a278a429964bec69b3c91486665e61c0a"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int x)</td></tr>
+<tr class="separator:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0703d15ea35deaf94eed59ae27bc3517"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setDither</b> (uint8_t ditherMode=BINARY_DITHER)</td></tr>
+<tr class="separator:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a676f705adf93898739a405b85150a3e7"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getDither</b> ()</td></tr>
+<tr class="separator:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9620d0a629a6a3294c71f5f8dbfe91b8"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> correction)</td></tr>
+<tr class="separator:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c43977660742e8185fd666e5d66bf9"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (LEDColorCorrection correction)</td></tr>
+<tr class="separator:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a168c661bb9b4a5dfc797b69d3900b26c"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getCorrection</b> ()</td></tr>
+<tr class="separator:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ac4a882bdc4a813ae957ddedb5a883"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> temperature)</td></tr>
+<tr class="separator:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e6d35be39f9f67aacdb4709ea914ab4"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (ColorTemperature temperature)</td></tr>
+<tr class="separator:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc94e9d029d7e59f56a4ab845f3de32d"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getTemperature</b> ()</td></tr>
+<tr class="separator:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6173cca91ee446766cc15102990d7bb"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getAdjustment</b> (uint8_t scale)</td></tr>
+<tr class="separator:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75a5a6ea50899409d875d72393323ca0"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>head</b> ()</td></tr>
+<tr class="separator:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4672f8f1e93d5df90685cb62c4ebbe0e"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_Data</b></td></tr>
+<tr class="separator:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaad2e8eeedcb36298e0c45d11bcf14b5"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pNext</b></td></tr>
+<tr class="separator:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cd7290071572a9844b79b66239cc40b"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorCorrection</b></td></tr>
+<tr class="separator:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb7c56ce6c3f11f392613c3b9bf8c727"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorTemperature</b></td></tr>
+<tr class="separator:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9af9dd5c08991667e4062396eec5bd8a"></a>
+EDitherMode&#160;</td><td class="memItemRight" valign="bottom"><b>m_DitherMode</b></td></tr>
+<tr class="separator:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4d0f0ed5a214b675c9a03aecd7b0df8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>m_nLeds</b></td></tr>
+<tr class="separator:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_static_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc138dfd8c32629cf4ecf0d430397e77"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pHead</b> = NULL</td></tr>
+<tr class="separator:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba5aa24458cb37f0f5e6b18a74408a47"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pTail</b> = NULL</td></tr>
+<tr class="separator:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="_fast_l_e_d_8h_source.html">FastLED.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_s_e_r_i_a_l.png b/docs/3.1/class_d_m_x_s_e_r_i_a_l.png
new file mode 100644
index 00000000..f8784bfd
--- /dev/null
+++ b/docs/3.1/class_d_m_x_s_e_r_i_a_l.png
Binary files differ
diff --git a/docs/3.1/class_d_m_x_s_i_m_p_l_e-members.html b/docs/3.1/class_d_m_x_s_i_m_p_l_e-members.html
new file mode 100644
index 00000000..e316de20
--- /dev/null
+++ b/docs/3.1/class_d_m_x_s_i_m_p_l_e-members.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_d_m_x_s_i_m_p_l_e.html">DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearLedData</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>clearLeds</b>(int nLeds) (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CLEDController</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getAdjustment</b>(uint8_t scale) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getCorrection</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getDither</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTemperature</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>head</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>init</b>() (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>leds</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_ColorCorrection</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_ColorTemperature</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_Data</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_DitherMode</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_nLeds</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pHead</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_pNext</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pTail</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(int x) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setCorrection</b>(CRGB correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setCorrection</b>(LEDColorCorrection correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDither</b>(uint8_t ditherMode=BINARY_DITHER) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setLeds</b>(CRGB *data, int nLeds) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t scale=255)=0 (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_s_i_m_p_l_e.html b/docs/3.1/class_d_m_x_s_i_m_p_l_e.html
new file mode 100644
index 00000000..688ce4e7
--- /dev/null
+++ b/docs/3.1/class_d_m_x_s_i_m_p_l_e.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="class_d_m_x_s_i_m_p_l_e-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_d_m_x_s_i_m_p_l_e.png" usemap="#DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
+ <map id="DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;_map" name="DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;_map">
+<area href="class_d_m_x_simple_controller.html" alt="DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,303,80"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,303,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_methods_class_d_m_x_simple_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_d_m_x_simple_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td></tr>
+<tr class="memitem:a251c7d09383870337853c360996871c3 inherit pub_methods_class_d_m_x_simple_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a251c7d09383870337853c360996871c3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> ()</td></tr>
+<tr class="separator:a251c7d09383870337853c360996871c3 inherit pub_methods_class_d_m_x_simple_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66deae70caf1d43a8692fff6540d1f1e inherit pub_methods_class_d_m_x_simple_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66deae70caf1d43a8692fff6540d1f1e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLeds</b> (int nLeds)</td></tr>
+<tr class="separator:a66deae70caf1d43a8692fff6540d1f1e inherit pub_methods_class_d_m_x_simple_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe990b9a65f5bff1f391cc5c28752abb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a253069a734075b298da65d59d6efbb3b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4124b1cf5546ad028166e7884276076"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showLeds</b> (uint8_t brightness=255)</td></tr>
+<tr class="separator:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ccd149ab7282817041a1ae4e586a9d4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, uint8_t brightness=255)</td></tr>
+<tr class="separator:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
+<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
+<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b61c81e004c96ff670a2742057a5a52"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLedData</b> ()</td></tr>
+<tr class="separator:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8840496d231f1fe0fa640970dc14db08"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
+<tr class="separator:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e86c45c89ebfb7b21f9045790302399"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>leds</b> ()</td></tr>
+<tr class="separator:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a278a429964bec69b3c91486665e61c0a"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int x)</td></tr>
+<tr class="separator:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0703d15ea35deaf94eed59ae27bc3517"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setDither</b> (uint8_t ditherMode=BINARY_DITHER)</td></tr>
+<tr class="separator:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a676f705adf93898739a405b85150a3e7"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getDither</b> ()</td></tr>
+<tr class="separator:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9620d0a629a6a3294c71f5f8dbfe91b8"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> correction)</td></tr>
+<tr class="separator:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c43977660742e8185fd666e5d66bf9"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (LEDColorCorrection correction)</td></tr>
+<tr class="separator:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a168c661bb9b4a5dfc797b69d3900b26c"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getCorrection</b> ()</td></tr>
+<tr class="separator:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ac4a882bdc4a813ae957ddedb5a883"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> temperature)</td></tr>
+<tr class="separator:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e6d35be39f9f67aacdb4709ea914ab4"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (ColorTemperature temperature)</td></tr>
+<tr class="separator:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc94e9d029d7e59f56a4ab845f3de32d"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getTemperature</b> ()</td></tr>
+<tr class="separator:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6173cca91ee446766cc15102990d7bb"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getAdjustment</b> (uint8_t scale)</td></tr>
+<tr class="separator:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75a5a6ea50899409d875d72393323ca0"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>head</b> ()</td></tr>
+<tr class="separator:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_d_m_x_simple_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_d_m_x_simple_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td></tr>
+<tr class="memitem:a3fb3a0501aae1d7a6aefb89f77168bd1 inherit pro_methods_class_d_m_x_simple_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fb3a0501aae1d7a6aefb89f77168bd1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a3fb3a0501aae1d7a6aefb89f77168bd1 inherit pro_methods_class_d_m_x_simple_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29df92ccb41090893fa3c49f22b47186 inherit pro_methods_class_d_m_x_simple_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29df92ccb41090893fa3c49f22b47186"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a29df92ccb41090893fa3c49f22b47186 inherit pro_methods_class_d_m_x_simple_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca3638ba70b7bed91e8431ec0a73f6d3 inherit pro_methods_class_d_m_x_simple_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca3638ba70b7bed91e8431ec0a73f6d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t scale=255)=0</td></tr>
+<tr class="separator:aca3638ba70b7bed91e8431ec0a73f6d3 inherit pro_methods_class_d_m_x_simple_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4672f8f1e93d5df90685cb62c4ebbe0e"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_Data</b></td></tr>
+<tr class="separator:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaad2e8eeedcb36298e0c45d11bcf14b5"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pNext</b></td></tr>
+<tr class="separator:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cd7290071572a9844b79b66239cc40b"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorCorrection</b></td></tr>
+<tr class="separator:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb7c56ce6c3f11f392613c3b9bf8c727"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorTemperature</b></td></tr>
+<tr class="separator:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9af9dd5c08991667e4062396eec5bd8a"></a>
+EDitherMode&#160;</td><td class="memItemRight" valign="bottom"><b>m_DitherMode</b></td></tr>
+<tr class="separator:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4d0f0ed5a214b675c9a03aecd7b0df8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>m_nLeds</b></td></tr>
+<tr class="separator:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_static_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc138dfd8c32629cf4ecf0d430397e77"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pHead</b> = NULL</td></tr>
+<tr class="separator:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba5aa24458cb37f0f5e6b18a74408a47"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pTail</b> = NULL</td></tr>
+<tr class="separator:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="_fast_l_e_d_8h_source.html">FastLED.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_s_i_m_p_l_e.png b/docs/3.1/class_d_m_x_s_i_m_p_l_e.png
new file mode 100644
index 00000000..862cc09e
--- /dev/null
+++ b/docs/3.1/class_d_m_x_s_i_m_p_l_e.png
Binary files differ
diff --git a/docs/3.1/class_d_m_x_serial_controller-members.html b/docs/3.1/class_d_m_x_serial_controller-members.html
new file mode 100644
index 00000000..e15381f2
--- /dev/null
+++ b/docs/3.1/class_d_m_x_serial_controller-members.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DMXSerialController&lt; RGB_ORDER &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearLedData</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>clearLeds</b>(int nLeds) (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CLEDController</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getAdjustment</b>(uint8_t scale) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getCorrection</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getDither</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTemperature</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>head</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>init</b>() (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>leds</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_ColorCorrection</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_ColorTemperature</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_Data</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_DitherMode</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_nLeds</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pHead</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_pNext</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pTail</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(int x) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setCorrection</b>(CRGB correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setCorrection</b>(LEDColorCorrection correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDither</b>(uint8_t ditherMode=BINARY_DITHER) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setLeds</b>(CRGB *data, int nLeds) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t scale=255)=0 (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_serial_controller.html b/docs/3.1/class_d_m_x_serial_controller.html
new file mode 100644
index 00000000..4fc16738
--- /dev/null
+++ b/docs/3.1/class_d_m_x_serial_controller.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: DMXSerialController&lt; RGB_ORDER &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_d_m_x_serial_controller-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">DMXSerialController&lt; RGB_ORDER &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for DMXSerialController&lt; RGB_ORDER &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_d_m_x_serial_controller.png" usemap="#DMXSerialController&lt; RGB_ORDER &gt;_map" alt=""/>
+ <map id="DMXSerialController&lt; RGB_ORDER &gt;_map" name="DMXSerialController&lt; RGB_ORDER &gt;_map">
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,229,24"/>
+<area href="class_d_m_x_s_e_r_i_a_l.html" alt="DMXSERIAL&lt; RGB_ORDER &gt;" shape="rect" coords="0,112,229,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0cd937424d4f6eedb90acec81ca1fa27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cd937424d4f6eedb90acec81ca1fa27"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> ()</td></tr>
+<tr class="separator:a0cd937424d4f6eedb90acec81ca1fa27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04689efea1c1daf74905f87692caa129"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04689efea1c1daf74905f87692caa129"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLeds</b> (int nLeds)</td></tr>
+<tr class="separator:a04689efea1c1daf74905f87692caa129"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6285e65af8862eb4b0d36d6d3df22b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6285e65af8862eb4b0d36d6d3df22b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a3d6285e65af8862eb4b0d36d6d3df22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f3f3e606e495fd1bdcfd25c6bed7fe1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f3f3e606e495fd1bdcfd25c6bed7fe1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a3f3f3e606e495fd1bdcfd25c6bed7fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d2435c0f44aa8a1d8cce24b04bf4103"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d2435c0f44aa8a1d8cce24b04bf4103"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t scale=255)=0</td></tr>
+<tr class="separator:a3d2435c0f44aa8a1d8cce24b04bf4103"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe990b9a65f5bff1f391cc5c28752abb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a253069a734075b298da65d59d6efbb3b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4124b1cf5546ad028166e7884276076"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showLeds</b> (uint8_t brightness=255)</td></tr>
+<tr class="separator:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ccd149ab7282817041a1ae4e586a9d4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, uint8_t brightness=255)</td></tr>
+<tr class="separator:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
+<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
+<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b61c81e004c96ff670a2742057a5a52"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLedData</b> ()</td></tr>
+<tr class="separator:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8840496d231f1fe0fa640970dc14db08"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
+<tr class="separator:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e86c45c89ebfb7b21f9045790302399"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>leds</b> ()</td></tr>
+<tr class="separator:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a278a429964bec69b3c91486665e61c0a"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int x)</td></tr>
+<tr class="separator:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0703d15ea35deaf94eed59ae27bc3517"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setDither</b> (uint8_t ditherMode=BINARY_DITHER)</td></tr>
+<tr class="separator:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a676f705adf93898739a405b85150a3e7"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getDither</b> ()</td></tr>
+<tr class="separator:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9620d0a629a6a3294c71f5f8dbfe91b8"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> correction)</td></tr>
+<tr class="separator:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c43977660742e8185fd666e5d66bf9"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (LEDColorCorrection correction)</td></tr>
+<tr class="separator:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a168c661bb9b4a5dfc797b69d3900b26c"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getCorrection</b> ()</td></tr>
+<tr class="separator:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ac4a882bdc4a813ae957ddedb5a883"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> temperature)</td></tr>
+<tr class="separator:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e6d35be39f9f67aacdb4709ea914ab4"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (ColorTemperature temperature)</td></tr>
+<tr class="separator:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc94e9d029d7e59f56a4ab845f3de32d"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getTemperature</b> ()</td></tr>
+<tr class="separator:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6173cca91ee446766cc15102990d7bb"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getAdjustment</b> (uint8_t scale)</td></tr>
+<tr class="separator:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_static_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75a5a6ea50899409d875d72393323ca0"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>head</b> ()</td></tr>
+<tr class="separator:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4672f8f1e93d5df90685cb62c4ebbe0e"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_Data</b></td></tr>
+<tr class="separator:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaad2e8eeedcb36298e0c45d11bcf14b5"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pNext</b></td></tr>
+<tr class="separator:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cd7290071572a9844b79b66239cc40b"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorCorrection</b></td></tr>
+<tr class="separator:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb7c56ce6c3f11f392613c3b9bf8c727"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorTemperature</b></td></tr>
+<tr class="separator:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9af9dd5c08991667e4062396eec5bd8a"></a>
+EDitherMode&#160;</td><td class="memItemRight" valign="bottom"><b>m_DitherMode</b></td></tr>
+<tr class="separator:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4d0f0ed5a214b675c9a03aecd7b0df8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>m_nLeds</b></td></tr>
+<tr class="separator:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_static_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc138dfd8c32629cf4ecf0d430397e77"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pHead</b> = NULL</td></tr>
+<tr class="separator:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba5aa24458cb37f0f5e6b18a74408a47"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pTail</b> = NULL</td></tr>
+<tr class="separator:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dmx_8h_source.html">dmx.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_serial_controller.png b/docs/3.1/class_d_m_x_serial_controller.png
new file mode 100644
index 00000000..db69579d
--- /dev/null
+++ b/docs/3.1/class_d_m_x_serial_controller.png
Binary files differ
diff --git a/docs/3.1/class_d_m_x_simple_controller-members.html b/docs/3.1/class_d_m_x_simple_controller-members.html
new file mode 100644
index 00000000..e26b3a26
--- /dev/null
+++ b/docs/3.1/class_d_m_x_simple_controller-members.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearLedData</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>clearLeds</b>(int nLeds) (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CLEDController</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getAdjustment</b>(uint8_t scale) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getCorrection</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>getDither</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTemperature</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>head</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>init</b>() (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>leds</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_ColorCorrection</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_ColorTemperature</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_Data</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_DitherMode</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_nLeds</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pHead</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_pNext</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>m_pTail</b> (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(int x) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setCorrection</b>(CRGB correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setCorrection</b>(LEDColorCorrection correction) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDither</b>(uint8_t ditherMode=BINARY_DITHER) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setLeds</b>(CRGB *data, int nLeds) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t scale=255)=0 (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_simple_controller.html b/docs/3.1/class_d_m_x_simple_controller.html
new file mode 100644
index 00000000..8dba6cc4
--- /dev/null
+++ b/docs/3.1/class_d_m_x_simple_controller.html
@@ -0,0 +1,235 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="class_d_m_x_simple_controller-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_d_m_x_simple_controller.png" usemap="#DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
+ <map id="DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;_map" name="DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;_map">
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,303,24"/>
+<area href="class_d_m_x_s_i_m_p_l_e.html" alt="DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,303,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a251c7d09383870337853c360996871c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a251c7d09383870337853c360996871c3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> ()</td></tr>
+<tr class="separator:a251c7d09383870337853c360996871c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66deae70caf1d43a8692fff6540d1f1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66deae70caf1d43a8692fff6540d1f1e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLeds</b> (int nLeds)</td></tr>
+<tr class="separator:a66deae70caf1d43a8692fff6540d1f1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe990b9a65f5bff1f391cc5c28752abb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a253069a734075b298da65d59d6efbb3b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a253069a734075b298da65d59d6efbb3b inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4124b1cf5546ad028166e7884276076"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showLeds</b> (uint8_t brightness=255)</td></tr>
+<tr class="separator:aa4124b1cf5546ad028166e7884276076 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ccd149ab7282817041a1ae4e586a9d4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, uint8_t brightness=255)</td></tr>
+<tr class="separator:a4ccd149ab7282817041a1ae4e586a9d4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
+<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
+<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b61c81e004c96ff670a2742057a5a52"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>clearLedData</b> ()</td></tr>
+<tr class="separator:a7b61c81e004c96ff670a2742057a5a52 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8840496d231f1fe0fa640970dc14db08"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> ()</td></tr>
+<tr class="separator:a8840496d231f1fe0fa640970dc14db08 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e86c45c89ebfb7b21f9045790302399"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>leds</b> ()</td></tr>
+<tr class="separator:a5e86c45c89ebfb7b21f9045790302399 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a278a429964bec69b3c91486665e61c0a"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int x)</td></tr>
+<tr class="separator:a278a429964bec69b3c91486665e61c0a inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0703d15ea35deaf94eed59ae27bc3517"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setDither</b> (uint8_t ditherMode=BINARY_DITHER)</td></tr>
+<tr class="separator:a0703d15ea35deaf94eed59ae27bc3517 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a676f705adf93898739a405b85150a3e7"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getDither</b> ()</td></tr>
+<tr class="separator:a676f705adf93898739a405b85150a3e7 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9620d0a629a6a3294c71f5f8dbfe91b8"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> correction)</td></tr>
+<tr class="separator:a9620d0a629a6a3294c71f5f8dbfe91b8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74c43977660742e8185fd666e5d66bf9"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setCorrection</b> (LEDColorCorrection correction)</td></tr>
+<tr class="separator:a74c43977660742e8185fd666e5d66bf9 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a168c661bb9b4a5dfc797b69d3900b26c"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getCorrection</b> ()</td></tr>
+<tr class="separator:a168c661bb9b4a5dfc797b69d3900b26c inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ac4a882bdc4a813ae957ddedb5a883"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> temperature)</td></tr>
+<tr class="separator:a69ac4a882bdc4a813ae957ddedb5a883 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e6d35be39f9f67aacdb4709ea914ab4"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setTemperature</b> (ColorTemperature temperature)</td></tr>
+<tr class="separator:a1e6d35be39f9f67aacdb4709ea914ab4 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc94e9d029d7e59f56a4ab845f3de32d"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getTemperature</b> ()</td></tr>
+<tr class="separator:afc94e9d029d7e59f56a4ab845f3de32d inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6173cca91ee446766cc15102990d7bb"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getAdjustment</b> (uint8_t scale)</td></tr>
+<tr class="separator:af6173cca91ee446766cc15102990d7bb inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a3fb3a0501aae1d7a6aefb89f77168bd1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fb3a0501aae1d7a6aefb89f77168bd1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a3fb3a0501aae1d7a6aefb89f77168bd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29df92ccb41090893fa3c49f22b47186"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29df92ccb41090893fa3c49f22b47186"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a29df92ccb41090893fa3c49f22b47186"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca3638ba70b7bed91e8431ec0a73f6d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca3638ba70b7bed91e8431ec0a73f6d3"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t scale=255)=0</td></tr>
+<tr class="separator:aca3638ba70b7bed91e8431ec0a73f6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_static_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75a5a6ea50899409d875d72393323ca0"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>head</b> ()</td></tr>
+<tr class="separator:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4672f8f1e93d5df90685cb62c4ebbe0e"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_Data</b></td></tr>
+<tr class="separator:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaad2e8eeedcb36298e0c45d11bcf14b5"></a>
+<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pNext</b></td></tr>
+<tr class="separator:aaad2e8eeedcb36298e0c45d11bcf14b5 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cd7290071572a9844b79b66239cc40b"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorCorrection</b></td></tr>
+<tr class="separator:a4cd7290071572a9844b79b66239cc40b inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb7c56ce6c3f11f392613c3b9bf8c727"></a>
+<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_ColorTemperature</b></td></tr>
+<tr class="separator:adb7c56ce6c3f11f392613c3b9bf8c727 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9af9dd5c08991667e4062396eec5bd8a"></a>
+EDitherMode&#160;</td><td class="memItemRight" valign="bottom"><b>m_DitherMode</b></td></tr>
+<tr class="separator:a9af9dd5c08991667e4062396eec5bd8a inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4d0f0ed5a214b675c9a03aecd7b0df8"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>m_nLeds</b></td></tr>
+<tr class="separator:ab4d0f0ed5a214b675c9a03aecd7b0df8 inherit pro_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_static_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc138dfd8c32629cf4ecf0d430397e77"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pHead</b> = NULL</td></tr>
+<tr class="separator:afc138dfd8c32629cf4ecf0d430397e77 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba5aa24458cb37f0f5e6b18a74408a47"></a>
+static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_pTail</b> = NULL</td></tr>
+<tr class="separator:aba5aa24458cb37f0f5e6b18a74408a47 inherit pro_static_attribs_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dmx_8h_source.html">dmx.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_d_m_x_simple_controller.png b/docs/3.1/class_d_m_x_simple_controller.png
new file mode 100644
index 00000000..f6325c08
--- /dev/null
+++ b/docs/3.1/class_d_m_x_simple_controller.png
Binary files differ
diff --git a/docs/3.1/class_deep_pixel_controller-members.html b/docs/3.1/class_deep_pixel_controller-members.html
index ad683a9e..2e2eb129 100644
--- a/docs/3.1/class_deep_pixel_controller-members.html
+++ b/docs/3.1/class_deep_pixel_controller-members.html
@@ -118,16 +118,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_deep_pixel_controller.html">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_deep_pixel_controller.html b/docs/3.1/class_deep_pixel_controller.html
index 7310b25d..2a120f3f 100644
--- a/docs/3.1/class_deep_pixel_controller.html
+++ b/docs/3.1/class_deep_pixel_controller.html
@@ -96,7 +96,7 @@ Inheritance diagram for DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER,
<div class="center">
<img src="class_deep_pixel_controller.png" usemap="#DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,449,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,449,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -114,6 +114,9 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:a1b45fe5cc0feb07a378acf3de544a441"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b45fe5cc0feb07a378acf3de544a441"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:a1b45fe5cc0feb07a378acf3de544a441"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b45fe5cc0feb07a378acf3de544a441"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b45fe5cc0feb07a378acf3de544a441"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a1b45fe5cc0feb07a378acf3de544a441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
<tr class="memitem:abe990b9a65f5bff1f391cc5c28752abb inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe990b9a65f5bff1f391cc5c28752abb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, uint8_t brightness)</td></tr>
@@ -130,6 +133,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -179,6 +185,10 @@ Additional Inherited Members</h2></td></tr>
<tr class="memitem:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75a5a6ea50899409d875d72393323ca0"></a>
static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>head</b> ()</td></tr>
<tr class="separator:a75a5a6ea50899409d875d72393323ca0 inherit pub_static_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
<tr class="memitem:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4672f8f1e93d5df90685cb62c4ebbe0e"></a>
<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_Data</b></td></tr>
@@ -212,7 +222,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_fast_pin-members.html b/docs/3.1/class_fast_pin-members.html
new file mode 100644
index 00000000..d8f0d7b0
--- /dev/null
+++ b/docs/3.1/class_fast_pin-members.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">FastPin&lt; PIN &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fastset</b>(register port_ptr_t port, register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hi</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hi</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hival</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lo</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lo</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>loval</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mask</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port_ptr_t</b> typedef (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port_t</b> typedef (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setInput</b>() (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setOutput</b>() (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>strobe</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>toggle</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_fast_pin.html b/docs/3.1/class_fast_pin.html
new file mode 100644
index 00000000..9292e761
--- /dev/null
+++ b/docs/3.1/class_fast_pin.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: FastPin&lt; PIN &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="class_fast_pin-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">FastPin&lt; PIN &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The simplest level of <a class="el" href="class_pin.html">Pin</a> class.
+ <a href="class_fast_pin.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="fastpin_8h_source.html">fastpin.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for FastPin&lt; PIN &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_fast_pin.png" usemap="#FastPin&lt; PIN &gt;_map" alt=""/>
+ <map id="FastPin&lt; PIN &gt;_map" name="FastPin&lt; PIN &gt;_map">
+<area href="class_fast_pin_b_b.html" alt="FastPinBB&lt; PIN &gt;" shape="rect" coords="0,56,114,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a9f23acc7c8c6ce0c760745d32d14932f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f23acc7c8c6ce0c760745d32d14932f"></a>
+typedef volatile RwReg *&#160;</td><td class="memItemRight" valign="bottom"><b>port_ptr_t</b></td></tr>
+<tr class="separator:a9f23acc7c8c6ce0c760745d32d14932f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23ad28734f9597c28afbba8b4bfcda09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23ad28734f9597c28afbba8b4bfcda09"></a>
+typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></td></tr>
+<tr class="separator:a23ad28734f9597c28afbba8b4bfcda09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ab4b349c1763a7565c3ee7b2de52a50c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4b349c1763a7565c3ee7b2de52a50c8"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setOutput</b> ()</td></tr>
+<tr class="separator:ab4b349c1763a7565c3ee7b2de52a50c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0543e3ac851ca56f30150fbaf1a109d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0543e3ac851ca56f30150fbaf1a109d"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setInput</b> ()</td></tr>
+<tr class="separator:af0543e3ac851ca56f30150fbaf1a109d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7693f53f66b9b6f6e4ecbe03ad0fea6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7693f53f66b9b6f6e4ecbe03ad0fea6b"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a7693f53f66b9b6f6e4ecbe03ad0fea6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2321395038a879e2f1adccae8afce5b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2321395038a879e2f1adccae8afce5b5"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a2321395038a879e2f1adccae8afce5b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69b8d94e33ca56dfec3fa249affbac32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69b8d94e33ca56dfec3fa249affbac32"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>strobe</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a69b8d94e33ca56dfec3fa249affbac32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de59c1701bd256fb9b25bd88f92bd61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8de59c1701bd256fb9b25bd88f92bd61"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>toggle</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a8de59c1701bd256fb9b25bd88f92bd61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdb303c3de97f6b2a0b1ac5369dec87f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdb303c3de97f6b2a0b1ac5369dec87f"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:abdb303c3de97f6b2a0b1ac5369dec87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca5b2f25bbbd4fa61f435ff2577fb728"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca5b2f25bbbd4fa61f435ff2577fb728"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:aca5b2f25bbbd4fa61f435ff2577fb728"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6416c88feed72cc5a59b012ad45902b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6416c88feed72cc5a59b012ad45902b"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:af6416c88feed72cc5a59b012ad45902b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8bea00ff59320915271dace678c6e00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8bea00ff59320915271dace678c6e00"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>fastset</b> (register port_ptr_t port, register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:af8bea00ff59320915271dace678c6e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab365936a660e1432e8c93eb4be01f7a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab365936a660e1432e8c93eb4be01f7a6"></a>
+static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>hival</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ab365936a660e1432e8c93eb4be01f7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1668395cdbe4f93d24e789fdc6501279"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1668395cdbe4f93d24e789fdc6501279"></a>
+static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>loval</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a1668395cdbe4f93d24e789fdc6501279"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5256244d2cb8e4404bcfec58e6c64f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5256244d2cb8e4404bcfec58e6c64f6"></a>
+static port_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ae5256244d2cb8e4404bcfec58e6c64f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace4b21f3980bbca6a4be16130053e8f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace4b21f3980bbca6a4be16130053e8f3"></a>
+static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ace4b21f3980bbca6a4be16130053e8f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;uint8_t PIN&gt;<br />
+class FastPin&lt; PIN &gt;</h3>
+
+<p>The simplest level of <a class="el" href="class_pin.html">Pin</a> class. </p>
+<p>This relies on runtime functions durinig initialization to get the port/pin mask for the pin. Most of the accesses involve references to these static globals that get set up. This won't be the fastest set of pin operations, but it will provide pin level access on pretty much all arduino environments. In addition, it includes some methods to help optimize access in various ways. Namely, the versions of hi, lo, and fastset that take the port register as a passed in register variable (saving a global dereference), since these functions are aggressively inlined, that can help collapse out a lot of extraneous memory loads/dereferences.</p>
+<p>In addition, if, while writing a bunch of data to a pin, you know no other pins will be getting written to, you can get/cache a value of the pin's port register and use that to do a full set to the register. This results in one being able to simply do a store to the register, vs. the load, and/or, and store that would be done normally.</p>
+<p>There are platform specific instantiations of this class that provide direct i/o register access to pins for much higher speed pin twiddling.</p>
+<p>Note that these classes are all static functions. So the proper usage is Pin&lt;13&gt;::hi(); or such. Instantiating objects is not recommended, as passing <a class="el" href="class_pin.html">Pin</a> objects around will likely -not- have the effect you're expecting. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastpin_8h_source.html">fastpin.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_fast_pin.png b/docs/3.1/class_fast_pin.png
new file mode 100644
index 00000000..85b93000
--- /dev/null
+++ b/docs/3.1/class_fast_pin.png
Binary files differ
diff --git a/docs/3.1/class_fast_pin_b_b-members.html b/docs/3.1/class_fast_pin_b_b-members.html
new file mode 100644
index 00000000..79db0b52
--- /dev/null
+++ b/docs/3.1/class_fast_pin_b_b-members.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">FastPinBB&lt; PIN &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_fast_pin_b_b.html">FastPinBB&lt; PIN &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fastset</b>(register port_ptr_t port, register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hi</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hi</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hival</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lo</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lo</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>loval</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mask</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port_ptr_t</b> typedef (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port_t</b> typedef (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setInput</b>() (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setOutput</b>() (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>strobe</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>toggle</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a>)</td><td class="entry"><a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_fast_pin_b_b.html b/docs/3.1/class_fast_pin_b_b.html
new file mode 100644
index 00000000..1cb6ef32
--- /dev/null
+++ b/docs/3.1/class_fast_pin_b_b.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: FastPinBB&lt; PIN &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="class_fast_pin_b_b-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">FastPinBB&lt; PIN &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for FastPinBB&lt; PIN &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_fast_pin_b_b.png" usemap="#FastPinBB&lt; PIN &gt;_map" alt=""/>
+ <map id="FastPinBB&lt; PIN &gt;_map" name="FastPinBB&lt; PIN &gt;_map">
+<area href="class_fast_pin.html" title="The simplest level of Pin class. " alt="FastPin&lt; PIN &gt;" shape="rect" coords="0,0,114,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_class_fast_pin"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_fast_pin')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td></tr>
+<tr class="memitem:a9f23acc7c8c6ce0c760745d32d14932f inherit pub_types_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f23acc7c8c6ce0c760745d32d14932f"></a>
+typedef volatile RwReg *&#160;</td><td class="memItemRight" valign="bottom"><b>port_ptr_t</b></td></tr>
+<tr class="separator:a9f23acc7c8c6ce0c760745d32d14932f inherit pub_types_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23ad28734f9597c28afbba8b4bfcda09 inherit pub_types_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23ad28734f9597c28afbba8b4bfcda09"></a>
+typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></td></tr>
+<tr class="separator:a23ad28734f9597c28afbba8b4bfcda09 inherit pub_types_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_class_fast_pin"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_fast_pin')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_fast_pin.html">FastPin&lt; PIN &gt;</a></td></tr>
+<tr class="memitem:ab4b349c1763a7565c3ee7b2de52a50c8 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4b349c1763a7565c3ee7b2de52a50c8"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setOutput</b> ()</td></tr>
+<tr class="separator:ab4b349c1763a7565c3ee7b2de52a50c8 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0543e3ac851ca56f30150fbaf1a109d inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0543e3ac851ca56f30150fbaf1a109d"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setInput</b> ()</td></tr>
+<tr class="separator:af0543e3ac851ca56f30150fbaf1a109d inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7693f53f66b9b6f6e4ecbe03ad0fea6b inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7693f53f66b9b6f6e4ecbe03ad0fea6b"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a7693f53f66b9b6f6e4ecbe03ad0fea6b inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2321395038a879e2f1adccae8afce5b5 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2321395038a879e2f1adccae8afce5b5"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a2321395038a879e2f1adccae8afce5b5 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69b8d94e33ca56dfec3fa249affbac32 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69b8d94e33ca56dfec3fa249affbac32"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>strobe</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a69b8d94e33ca56dfec3fa249affbac32 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de59c1701bd256fb9b25bd88f92bd61 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8de59c1701bd256fb9b25bd88f92bd61"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>toggle</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a8de59c1701bd256fb9b25bd88f92bd61 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdb303c3de97f6b2a0b1ac5369dec87f inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdb303c3de97f6b2a0b1ac5369dec87f"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:abdb303c3de97f6b2a0b1ac5369dec87f inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca5b2f25bbbd4fa61f435ff2577fb728 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca5b2f25bbbd4fa61f435ff2577fb728"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:aca5b2f25bbbd4fa61f435ff2577fb728 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6416c88feed72cc5a59b012ad45902b inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6416c88feed72cc5a59b012ad45902b"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:af6416c88feed72cc5a59b012ad45902b inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8bea00ff59320915271dace678c6e00 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8bea00ff59320915271dace678c6e00"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>fastset</b> (register port_ptr_t port, register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:af8bea00ff59320915271dace678c6e00 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab365936a660e1432e8c93eb4be01f7a6 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab365936a660e1432e8c93eb4be01f7a6"></a>
+static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>hival</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ab365936a660e1432e8c93eb4be01f7a6 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1668395cdbe4f93d24e789fdc6501279 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1668395cdbe4f93d24e789fdc6501279"></a>
+static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>loval</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a1668395cdbe4f93d24e789fdc6501279 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5256244d2cb8e4404bcfec58e6c64f6 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5256244d2cb8e4404bcfec58e6c64f6"></a>
+static port_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ae5256244d2cb8e4404bcfec58e6c64f6 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace4b21f3980bbca6a4be16130053e8f3 inherit pub_static_methods_class_fast_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace4b21f3980bbca6a4be16130053e8f3"></a>
+static port_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ace4b21f3980bbca6a4be16130053e8f3 inherit pub_static_methods_class_fast_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastpin_8h_source.html">fastpin.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_fast_pin_b_b.png b/docs/3.1/class_fast_pin_b_b.png
new file mode 100644
index 00000000..2d610574
--- /dev/null
+++ b/docs/3.1/class_fast_pin_b_b.png
Binary files differ
diff --git a/docs/3.1/class_g_w6205.html b/docs/3.1/class_g_w6205.html
index 7716c71f..a4d6c0f3 100644
--- a/docs/3.1/class_g_w6205.html
+++ b/docs/3.1/class_g_w6205.html
@@ -93,7 +93,7 @@ Inheritance diagram for GW6205&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_g_w6205.png" usemap="#GW6205&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="GW6205&lt; DATA_PIN, RGB_ORDER &gt;_map" name="GW6205&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_g_w6205_controller800_khz.html" alt="GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,472,80"/>
+<area href="class_g_w6205_controller800_khz.html" alt="GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="251,56,744,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for GW6205&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_g_w6205.png b/docs/3.1/class_g_w6205.png
index 3274623f..3e190340 100644
--- a/docs/3.1/class_g_w6205.png
+++ b/docs/3.1/class_g_w6205.png
Binary files differ
diff --git a/docs/3.1/class_g_w6205__400.html b/docs/3.1/class_g_w6205__400.html
index 2e6c434a..68532d48 100644
--- a/docs/3.1/class_g_w6205__400.html
+++ b/docs/3.1/class_g_w6205__400.html
@@ -93,7 +93,7 @@ Inheritance diagram for GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_g_w6205__400.png" usemap="#GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;_map" name="GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_g_w6205_controller400_khz.html" alt="GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,472,80"/>
+<area href="class_g_w6205_controller400_khz.html" alt="GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="251,56,744,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_g_w6205__400.png b/docs/3.1/class_g_w6205__400.png
index 21147300..6e48f249 100644
--- a/docs/3.1/class_g_w6205__400.png
+++ b/docs/3.1/class_g_w6205__400.png
Binary files differ
diff --git a/docs/3.1/class_g_w6205_controller400_khz.html b/docs/3.1/class_g_w6205_controller400_khz.html
index 0c5bf64c..bff475af 100644
--- a/docs/3.1/class_g_w6205_controller400_khz.html
+++ b/docs/3.1/class_g_w6205_controller400_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_g_w6205_controller400_khz.png" usemap="#GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_g_w6205__400.html" alt="GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,472,136"/>
+<area href="class_g_w6205__400.html" alt="GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="251,112,744,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_g_w6205_controller400_khz.png b/docs/3.1/class_g_w6205_controller400_khz.png
index 1657f4ac..e3e90829 100644
--- a/docs/3.1/class_g_w6205_controller400_khz.png
+++ b/docs/3.1/class_g_w6205_controller400_khz.png
Binary files differ
diff --git a/docs/3.1/class_g_w6205_controller800_khz.html b/docs/3.1/class_g_w6205_controller800_khz.html
index dcb87fae..4aeca7ad 100644
--- a/docs/3.1/class_g_w6205_controller800_khz.html
+++ b/docs/3.1/class_g_w6205_controller800_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_g_w6205_controller800_khz.png" usemap="#GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_g_w6205.html" alt="GW6205&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,472,136"/>
+<area href="class_g_w6205.html" alt="GW6205&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="251,112,744,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_g_w6205_controller800_khz.png b/docs/3.1/class_g_w6205_controller800_khz.png
index e5bcd4c4..0546df9b 100644
--- a/docs/3.1/class_g_w6205_controller800_khz.png
+++ b/docs/3.1/class_g_w6205_controller800_khz.png
Binary files differ
diff --git a/docs/3.1/class_input_pin-members.html b/docs/3.1/class_input_pin-members.html
new file mode 100644
index 00000000..29c2b8eb
--- /dev/null
+++ b/docs/3.1/class_input_pin-members.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">InputPin Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_input_pin.html">InputPin</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fastset</b>(register port_ptr_t port, register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hi</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hi</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hival</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>InputPin</b>(int pin) (defined in <a class="el" href="class_input_pin.html">InputPin</a>)</td><td class="entry"><a class="el" href="class_input_pin.html">InputPin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>isSelected</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lo</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lo</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>loval</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mask</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Pin</b>(int pin) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port_ptr_t</b> typedef (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port_t</b> typedef (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>release</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>select</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setInput</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setOutput</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>strobe</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>toggle</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_input_pin.html b/docs/3.1/class_input_pin.html
new file mode 100644
index 00000000..f99f92fc
--- /dev/null
+++ b/docs/3.1/class_input_pin.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: InputPin Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_input_pin-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">InputPin Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for InputPin:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_input_pin.png" usemap="#InputPin_map" alt=""/>
+ <map id="InputPin_map" name="InputPin_map">
+<area href="class_pin.html" alt="Pin" shape="rect" coords="0,56,71,80"/>
+<area href="class_selectable.html" alt="Selectable" shape="rect" coords="0,0,71,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acf74eef6677cb410c9f6534f8ec34005"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf74eef6677cb410c9f6534f8ec34005"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>InputPin</b> (int pin)</td></tr>
+<tr class="separator:acf74eef6677cb410c9f6534f8ec34005"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_pin"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_pin')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_pin.html">Pin</a></td></tr>
+<tr class="memitem:acd4ade93d8a5831ea021e0fff857aad5 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd4ade93d8a5831ea021e0fff857aad5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Pin</b> (int pin)</td></tr>
+<tr class="separator:acd4ade93d8a5831ea021e0fff857aad5 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2309200ff683097b1aa8679ae3dc1e30 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2309200ff683097b1aa8679ae3dc1e30"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setOutput</b> ()</td></tr>
+<tr class="separator:a2309200ff683097b1aa8679ae3dc1e30 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b1c3fa3480cd4a57c065f2e8811543a inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b1c3fa3480cd4a57c065f2e8811543a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setInput</b> ()</td></tr>
+<tr class="separator:a3b1c3fa3480cd4a57c065f2e8811543a inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3b2ecbaab2e22b18da807c7c5aa147a inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3b2ecbaab2e22b18da807c7c5aa147a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ad3b2ecbaab2e22b18da807c7c5aa147a inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a575b9e3dbf144bb98fc14ee06e219f7d inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a575b9e3dbf144bb98fc14ee06e219f7d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a575b9e3dbf144bb98fc14ee06e219f7d inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafa819baff64cf2a594a53fbff947f3e inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafa819baff64cf2a594a53fbff947f3e"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>strobe</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:aafa819baff64cf2a594a53fbff947f3e inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a308662200bc1be2513c9ac65ddaa43b0 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a308662200bc1be2513c9ac65ddaa43b0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>toggle</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a308662200bc1be2513c9ac65ddaa43b0 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36d9f8ffbfb6547a076039fd1761200a inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36d9f8ffbfb6547a076039fd1761200a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:a36d9f8ffbfb6547a076039fd1761200a inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8453327e641cbdc1413d0f5acf9d5195 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8453327e641cbdc1413d0f5acf9d5195"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:a8453327e641cbdc1413d0f5acf9d5195 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf67a98d2bca9b9d27a3c24b8cc1a58b inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf67a98d2bca9b9d27a3c24b8cc1a58b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:abf67a98d2bca9b9d27a3c24b8cc1a58b inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a063487a763fe9a6fa795265480311c7c inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a063487a763fe9a6fa795265480311c7c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fastset</b> (register port_ptr_t port, register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:a063487a763fe9a6fa795265480311c7c inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70597f67481a4368727ae7d692a6e434 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70597f67481a4368727ae7d692a6e434"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>hival</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a70597f67481a4368727ae7d692a6e434 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91f5a6b9d254eab57c6baa4f3bce6518 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91f5a6b9d254eab57c6baa4f3bce6518"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>loval</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a91f5a6b9d254eab57c6baa4f3bce6518 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab462ca53d0eda5e199e30886e6329142 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab462ca53d0eda5e199e30886e6329142"></a>
+port_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ab462ca53d0eda5e199e30886e6329142 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf184984e35f57f6f7f722736095f658 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf184984e35f57f6f7f722736095f658"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:abf184984e35f57f6f7f722736095f658 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7135576a0f7cd2df8d49af5a001c59c1 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7135576a0f7cd2df8d49af5a001c59c1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>select</b> ()</td></tr>
+<tr class="separator:a7135576a0f7cd2df8d49af5a001c59c1 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20dd599177993607a9839d80bb0927d7 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20dd599177993607a9839d80bb0927d7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<tr class="separator:a20dd599177993607a9839d80bb0927d7 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92a7f23de99162c63611556e346b1fcc inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92a7f23de99162c63611556e346b1fcc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>isSelected</b> ()</td></tr>
+<tr class="separator:a92a7f23de99162c63611556e346b1fcc inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_class_pin"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_pin')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_pin.html">Pin</a></td></tr>
+<tr class="memitem:a8f8b180aa16d5a9e9af48a38dc1dca03 inherit pub_types_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f8b180aa16d5a9e9af48a38dc1dca03"></a>
+typedef volatile RwReg *&#160;</td><td class="memItemRight" valign="bottom"><b>port_ptr_t</b></td></tr>
+<tr class="separator:a8f8b180aa16d5a9e9af48a38dc1dca03 inherit pub_types_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0565bfc99cf3df826420f89304a7937 inherit pub_types_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0565bfc99cf3df826420f89304a7937"></a>
+typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></td></tr>
+<tr class="separator:aa0565bfc99cf3df826420f89304a7937 inherit pub_types_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastpin_8h_source.html">fastpin.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_input_pin.png b/docs/3.1/class_input_pin.png
new file mode 100644
index 00000000..a55eb193
--- /dev/null
+++ b/docs/3.1/class_input_pin.png
Binary files differ
diff --git a/docs/3.1/class_l_p_d1886.html b/docs/3.1/class_l_p_d1886.html
index e77e07a5..a6ff207b 100644
--- a/docs/3.1/class_l_p_d1886.html
+++ b/docs/3.1/class_l_p_d1886.html
@@ -93,7 +93,7 @@ Inheritance diagram for LPD1886&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_l_p_d1886.png" usemap="#LPD1886&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="LPD1886&lt; DATA_PIN, RGB_ORDER &gt;_map" name="LPD1886&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_l_p_d1886_controller1250_khz.html" alt="LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,472,80"/>
+<area href="class_l_p_d1886_controller1250_khz.html" alt="LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="251,56,744,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for LPD1886&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_l_p_d1886.png b/docs/3.1/class_l_p_d1886.png
index 16243daf..147a857a 100644
--- a/docs/3.1/class_l_p_d1886.png
+++ b/docs/3.1/class_l_p_d1886.png
Binary files differ
diff --git a/docs/3.1/class_l_p_d1886_controller1250_khz.html b/docs/3.1/class_l_p_d1886_controller1250_khz.html
index 957417e4..c8eeccae 100644
--- a/docs/3.1/class_l_p_d1886_controller1250_khz.html
+++ b/docs/3.1/class_l_p_d1886_controller1250_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
<div class="center">
<img src="class_l_p_d1886_controller1250_khz.png" usemap="#LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_l_p_d1886.html" alt="LPD1886&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,472,136"/>
+<area href="class_l_p_d1886.html" alt="LPD1886&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="251,112,744,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_l_p_d1886_controller1250_khz.png b/docs/3.1/class_l_p_d1886_controller1250_khz.png
index 92191901..4c5d5959 100644
--- a/docs/3.1/class_l_p_d1886_controller1250_khz.png
+++ b/docs/3.1/class_l_p_d1886_controller1250_khz.png
Binary files differ
diff --git a/docs/3.1/class_l_p_d8806_controller-members.html b/docs/3.1/class_l_p_d8806_controller-members.html
index 125d73cb..8136bd02 100644
--- a/docs/3.1/class_l_p_d8806_controller-members.html
+++ b/docs/3.1/class_l_p_d8806_controller-members.html
@@ -118,6 +118,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t scale) (defined in <a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -127,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_l_p_d8806_controller.html b/docs/3.1/class_l_p_d8806_controller.html
index a8d278b3..3cc8bdde 100644
--- a/docs/3.1/class_l_p_d8806_controller.html
+++ b/docs/3.1/class_l_p_d8806_controller.html
@@ -98,7 +98,7 @@ Inheritance diagram for LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SP
<div class="center">
<img src="class_l_p_d8806_controller.png" usemap="#LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,444,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,444,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -126,6 +126,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -177,6 +180,13 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:a31d4e01a823682556e26748193f722e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31d4e01a823682556e26748193f722e5"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:a31d4e01a823682556e26748193f722e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53fa59f3f195e48e956428d862168a7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53fa59f3f195e48e956428d862168a7d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t scale)</td></tr>
+<tr class="separator:a53fa59f3f195e48e956428d862168a7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@@ -217,7 +227,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_n_e_o_p_i_x_e_l.html b/docs/3.1/class_n_e_o_p_i_x_e_l.html
index 63a57a59..1939c1a5 100644
--- a/docs/3.1/class_n_e_o_p_i_x_e_l.html
+++ b/docs/3.1/class_n_e_o_p_i_x_e_l.html
@@ -93,7 +93,7 @@ Inheritance diagram for NEOPIXEL&lt; DATA_PIN &gt;:</div>
<div class="center">
<img src="class_n_e_o_p_i_x_e_l.png" usemap="#NEOPIXEL&lt; DATA_PIN &gt;_map" alt=""/>
<map id="NEOPIXEL&lt; DATA_PIN &gt;_map" name="NEOPIXEL&lt; DATA_PIN &gt;_map">
-<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for NEOPIXEL&lt; DATA_PIN &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_n_e_o_p_i_x_e_l.png b/docs/3.1/class_n_e_o_p_i_x_e_l.png
index db138da8..46de7e79 100644
--- a/docs/3.1/class_n_e_o_p_i_x_e_l.png
+++ b/docs/3.1/class_n_e_o_p_i_x_e_l.png
Binary files differ
diff --git a/docs/3.1/class_output_pin-members.html b/docs/3.1/class_output_pin-members.html
new file mode 100644
index 00000000..d594afaa
--- /dev/null
+++ b/docs/3.1/class_output_pin-members.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">OutputPin Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_output_pin.html">OutputPin</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fastset</b>(register port_ptr_t port, register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hi</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hi</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hival</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>isSelected</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lo</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lo</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>loval</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mask</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>OutputPin</b>(int pin) (defined in <a class="el" href="class_output_pin.html">OutputPin</a>)</td><td class="entry"><a class="el" href="class_output_pin.html">OutputPin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Pin</b>(int pin) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port_ptr_t</b> typedef (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port_t</b> typedef (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>release</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>select</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setInput</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setOutput</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>strobe</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>toggle</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_output_pin.html b/docs/3.1/class_output_pin.html
new file mode 100644
index 00000000..0071f5fd
--- /dev/null
+++ b/docs/3.1/class_output_pin.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: OutputPin Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_output_pin-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">OutputPin Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for OutputPin:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_output_pin.png" usemap="#OutputPin_map" alt=""/>
+ <map id="OutputPin_map" name="OutputPin_map">
+<area href="class_pin.html" alt="Pin" shape="rect" coords="0,56,71,80"/>
+<area href="class_selectable.html" alt="Selectable" shape="rect" coords="0,0,71,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad39cf32217852803ee3f1d410a93a1db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad39cf32217852803ee3f1d410a93a1db"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>OutputPin</b> (int pin)</td></tr>
+<tr class="separator:ad39cf32217852803ee3f1d410a93a1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_class_pin"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_pin')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_pin.html">Pin</a></td></tr>
+<tr class="memitem:acd4ade93d8a5831ea021e0fff857aad5 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd4ade93d8a5831ea021e0fff857aad5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Pin</b> (int pin)</td></tr>
+<tr class="separator:acd4ade93d8a5831ea021e0fff857aad5 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2309200ff683097b1aa8679ae3dc1e30 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2309200ff683097b1aa8679ae3dc1e30"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setOutput</b> ()</td></tr>
+<tr class="separator:a2309200ff683097b1aa8679ae3dc1e30 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b1c3fa3480cd4a57c065f2e8811543a inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b1c3fa3480cd4a57c065f2e8811543a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setInput</b> ()</td></tr>
+<tr class="separator:a3b1c3fa3480cd4a57c065f2e8811543a inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3b2ecbaab2e22b18da807c7c5aa147a inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3b2ecbaab2e22b18da807c7c5aa147a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ad3b2ecbaab2e22b18da807c7c5aa147a inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a575b9e3dbf144bb98fc14ee06e219f7d inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a575b9e3dbf144bb98fc14ee06e219f7d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a575b9e3dbf144bb98fc14ee06e219f7d inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafa819baff64cf2a594a53fbff947f3e inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafa819baff64cf2a594a53fbff947f3e"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>strobe</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:aafa819baff64cf2a594a53fbff947f3e inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a308662200bc1be2513c9ac65ddaa43b0 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a308662200bc1be2513c9ac65ddaa43b0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>toggle</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a308662200bc1be2513c9ac65ddaa43b0 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36d9f8ffbfb6547a076039fd1761200a inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36d9f8ffbfb6547a076039fd1761200a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:a36d9f8ffbfb6547a076039fd1761200a inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8453327e641cbdc1413d0f5acf9d5195 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8453327e641cbdc1413d0f5acf9d5195"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:a8453327e641cbdc1413d0f5acf9d5195 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf67a98d2bca9b9d27a3c24b8cc1a58b inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf67a98d2bca9b9d27a3c24b8cc1a58b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:abf67a98d2bca9b9d27a3c24b8cc1a58b inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a063487a763fe9a6fa795265480311c7c inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a063487a763fe9a6fa795265480311c7c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fastset</b> (register port_ptr_t port, register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:a063487a763fe9a6fa795265480311c7c inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70597f67481a4368727ae7d692a6e434 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70597f67481a4368727ae7d692a6e434"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>hival</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a70597f67481a4368727ae7d692a6e434 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91f5a6b9d254eab57c6baa4f3bce6518 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91f5a6b9d254eab57c6baa4f3bce6518"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>loval</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a91f5a6b9d254eab57c6baa4f3bce6518 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab462ca53d0eda5e199e30886e6329142 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab462ca53d0eda5e199e30886e6329142"></a>
+port_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ab462ca53d0eda5e199e30886e6329142 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf184984e35f57f6f7f722736095f658 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf184984e35f57f6f7f722736095f658"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:abf184984e35f57f6f7f722736095f658 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7135576a0f7cd2df8d49af5a001c59c1 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7135576a0f7cd2df8d49af5a001c59c1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>select</b> ()</td></tr>
+<tr class="separator:a7135576a0f7cd2df8d49af5a001c59c1 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20dd599177993607a9839d80bb0927d7 inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20dd599177993607a9839d80bb0927d7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<tr class="separator:a20dd599177993607a9839d80bb0927d7 inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92a7f23de99162c63611556e346b1fcc inherit pub_methods_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92a7f23de99162c63611556e346b1fcc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>isSelected</b> ()</td></tr>
+<tr class="separator:a92a7f23de99162c63611556e346b1fcc inherit pub_methods_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_class_pin"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_pin')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="class_pin.html">Pin</a></td></tr>
+<tr class="memitem:a8f8b180aa16d5a9e9af48a38dc1dca03 inherit pub_types_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f8b180aa16d5a9e9af48a38dc1dca03"></a>
+typedef volatile RwReg *&#160;</td><td class="memItemRight" valign="bottom"><b>port_ptr_t</b></td></tr>
+<tr class="separator:a8f8b180aa16d5a9e9af48a38dc1dca03 inherit pub_types_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0565bfc99cf3df826420f89304a7937 inherit pub_types_class_pin"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0565bfc99cf3df826420f89304a7937"></a>
+typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></td></tr>
+<tr class="separator:aa0565bfc99cf3df826420f89304a7937 inherit pub_types_class_pin"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastpin_8h_source.html">fastpin.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_output_pin.png b/docs/3.1/class_output_pin.png
new file mode 100644
index 00000000..a8ff46e8
--- /dev/null
+++ b/docs/3.1/class_output_pin.png
Binary files differ
diff --git a/docs/3.1/class_p9813_controller-members.html b/docs/3.1/class_p9813_controller-members.html
index 52df5e26..d50b5a30 100644
--- a/docs/3.1/class_p9813_controller-members.html
+++ b/docs/3.1/class_p9813_controller-members.html
@@ -118,16 +118,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_p9813_controller.html">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_p9813_controller.html b/docs/3.1/class_p9813_controller.html
index 56ff2ce5..3c353d89 100644
--- a/docs/3.1/class_p9813_controller.html
+++ b/docs/3.1/class_p9813_controller.html
@@ -97,7 +97,7 @@ Inheritance diagram for P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_
<div class="center">
<img src="class_p9813_controller.png" usemap="#P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,428,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,428,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -125,6 +125,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -176,6 +179,13 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:aac4f48b0da93055c0da7285839c4ce81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac4f48b0da93055c0da7285839c4ce81"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:aac4f48b0da93055c0da7285839c4ce81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac4f48b0da93055c0da7285839c4ce81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac4f48b0da93055c0da7285839c4ce81"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:aac4f48b0da93055c0da7285839c4ce81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@@ -216,7 +226,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_pin-members.html b/docs/3.1/class_pin-members.html
new file mode 100644
index 00000000..57d495c4
--- /dev/null
+++ b/docs/3.1/class_pin-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Pin Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_pin.html">Pin</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fastset</b>(register port_ptr_t port, register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hi</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hi</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>hival</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>isSelected</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lo</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lo</b>(register port_ptr_t port) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>loval</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mask</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Pin</b>(int pin) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>port_ptr_t</b> typedef (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>port_t</b> typedef (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>release</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>select</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(register port_t val) __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setInput</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setOutput</b>() (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>strobe</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>toggle</b>() __attribute__((always_inline)) (defined in <a class="el" href="class_pin.html">Pin</a>)</td><td class="entry"><a class="el" href="class_pin.html">Pin</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_pin.html b/docs/3.1/class_pin.html
new file mode 100644
index 00000000..4dd1047e
--- /dev/null
+++ b/docs/3.1/class_pin.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Pin Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="class_pin-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Pin Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for Pin:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_pin.png" usemap="#Pin_map" alt=""/>
+ <map id="Pin_map" name="Pin_map">
+<area href="class_selectable.html" alt="Selectable" shape="rect" coords="40,0,111,24"/>
+<area href="class_input_pin.html" alt="InputPin" shape="rect" coords="0,112,71,136"/>
+<area href="class_output_pin.html" alt="OutputPin" shape="rect" coords="81,112,152,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8f8b180aa16d5a9e9af48a38dc1dca03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f8b180aa16d5a9e9af48a38dc1dca03"></a>
+typedef volatile RwReg *&#160;</td><td class="memItemRight" valign="bottom"><b>port_ptr_t</b></td></tr>
+<tr class="separator:a8f8b180aa16d5a9e9af48a38dc1dca03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0565bfc99cf3df826420f89304a7937"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0565bfc99cf3df826420f89304a7937"></a>
+typedef RwReg&#160;</td><td class="memItemRight" valign="bottom"><b>port_t</b></td></tr>
+<tr class="separator:aa0565bfc99cf3df826420f89304a7937"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acd4ade93d8a5831ea021e0fff857aad5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd4ade93d8a5831ea021e0fff857aad5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Pin</b> (int pin)</td></tr>
+<tr class="separator:acd4ade93d8a5831ea021e0fff857aad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2309200ff683097b1aa8679ae3dc1e30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2309200ff683097b1aa8679ae3dc1e30"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setOutput</b> ()</td></tr>
+<tr class="separator:a2309200ff683097b1aa8679ae3dc1e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b1c3fa3480cd4a57c065f2e8811543a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b1c3fa3480cd4a57c065f2e8811543a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setInput</b> ()</td></tr>
+<tr class="separator:a3b1c3fa3480cd4a57c065f2e8811543a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad3b2ecbaab2e22b18da807c7c5aa147a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3b2ecbaab2e22b18da807c7c5aa147a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ad3b2ecbaab2e22b18da807c7c5aa147a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a575b9e3dbf144bb98fc14ee06e219f7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a575b9e3dbf144bb98fc14ee06e219f7d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a575b9e3dbf144bb98fc14ee06e219f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafa819baff64cf2a594a53fbff947f3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafa819baff64cf2a594a53fbff947f3e"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>strobe</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:aafa819baff64cf2a594a53fbff947f3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a308662200bc1be2513c9ac65ddaa43b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a308662200bc1be2513c9ac65ddaa43b0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>toggle</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a308662200bc1be2513c9ac65ddaa43b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36d9f8ffbfb6547a076039fd1761200a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36d9f8ffbfb6547a076039fd1761200a"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>hi</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:a36d9f8ffbfb6547a076039fd1761200a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8453327e641cbdc1413d0f5acf9d5195"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8453327e641cbdc1413d0f5acf9d5195"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>lo</b> (register port_ptr_t port) __attribute__((always_inline))</td></tr>
+<tr class="separator:a8453327e641cbdc1413d0f5acf9d5195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf67a98d2bca9b9d27a3c24b8cc1a58b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf67a98d2bca9b9d27a3c24b8cc1a58b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:abf67a98d2bca9b9d27a3c24b8cc1a58b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a063487a763fe9a6fa795265480311c7c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a063487a763fe9a6fa795265480311c7c"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>fastset</b> (register port_ptr_t port, register port_t val) __attribute__((always_inline))</td></tr>
+<tr class="separator:a063487a763fe9a6fa795265480311c7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70597f67481a4368727ae7d692a6e434"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70597f67481a4368727ae7d692a6e434"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>hival</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a70597f67481a4368727ae7d692a6e434"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91f5a6b9d254eab57c6baa4f3bce6518"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91f5a6b9d254eab57c6baa4f3bce6518"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>loval</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:a91f5a6b9d254eab57c6baa4f3bce6518"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab462ca53d0eda5e199e30886e6329142"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab462ca53d0eda5e199e30886e6329142"></a>
+port_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:ab462ca53d0eda5e199e30886e6329142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf184984e35f57f6f7f722736095f658"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf184984e35f57f6f7f722736095f658"></a>
+port_t&#160;</td><td class="memItemRight" valign="bottom"><b>mask</b> () __attribute__((always_inline))</td></tr>
+<tr class="separator:abf184984e35f57f6f7f722736095f658"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7135576a0f7cd2df8d49af5a001c59c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7135576a0f7cd2df8d49af5a001c59c1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>select</b> ()</td></tr>
+<tr class="separator:a7135576a0f7cd2df8d49af5a001c59c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20dd599177993607a9839d80bb0927d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20dd599177993607a9839d80bb0927d7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<tr class="separator:a20dd599177993607a9839d80bb0927d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92a7f23de99162c63611556e346b1fcc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92a7f23de99162c63611556e346b1fcc"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>isSelected</b> ()</td></tr>
+<tr class="separator:a92a7f23de99162c63611556e346b1fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastpin_8h_source.html">fastpin.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_pin.png b/docs/3.1/class_pin.png
new file mode 100644
index 00000000..95487980
--- /dev/null
+++ b/docs/3.1/class_pin.png
Binary files differ
diff --git a/docs/3.1/class_s_m16716_controller-members.html b/docs/3.1/class_s_m16716_controller-members.html
index 3da49f14..a8227913 100644
--- a/docs/3.1/class_s_m16716_controller-members.html
+++ b/docs/3.1/class_s_m16716_controller-members.html
@@ -117,7 +117,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_s_m16716_controller.html">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_s_m16716_controller.html">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_s_m16716_controller.html">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_s_m16716_controller.html">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_s_m16716_controller.html">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_s_m16716_controller.html">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -127,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_s_m16716_controller.html b/docs/3.1/class_s_m16716_controller.html
index 50d42cdc..a8532b9b 100644
--- a/docs/3.1/class_s_m16716_controller.html
+++ b/docs/3.1/class_s_m16716_controller.html
@@ -97,7 +97,7 @@ Inheritance diagram for SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SP
<div class="center">
<img src="class_s_m16716_controller.png" usemap="#SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,446,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,446,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -125,6 +125,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -176,6 +179,9 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:a3d720053186fd61d6ad90d48cac3d57d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d720053186fd61d6ad90d48cac3d57d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:a3d720053186fd61d6ad90d48cac3d57d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae99c85f11c5c8244bc94c2b4b02fe574"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae99c85f11c5c8244bc94c2b4b02fe574"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:ae99c85f11c5c8244bc94c2b4b02fe574"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@@ -216,7 +222,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_s_p_i_output-members.html b/docs/3.1/class_s_p_i_output-members.html
index dccbbf11..2af424c6 100644
--- a/docs/3.1/class_s_p_i_output-members.html
+++ b/docs/3.1/class_s_p_i_output-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_s_p_i_output.html b/docs/3.1/class_s_p_i_output.html
index 2bd2066e..bd24bf09 100644
--- a/docs/3.1/class_s_p_i_output.html
+++ b/docs/3.1/class_s_p_i_output.html
@@ -143,7 +143,7 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><b>writeByte</b>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html b/docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
new file mode 100644
index 00000000..d4590eaa
--- /dev/null
+++ b/docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png" usemap="#SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;_map" alt=""/>
+ <map id="SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;_map" name="SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;_map">
+</map>
+ </div></div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastspi_8h_source.html">fastspi.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png b/docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png
new file mode 100644
index 00000000..fa554921
--- /dev/null
+++ b/docs/3.1/class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png
Binary files differ
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html b/docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
new file mode 100644
index 00000000..4c65ce9d
--- /dev/null
+++ b/docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png" usemap="#SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;_map" alt=""/>
+ <map id="SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;_map" name="SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;_map">
+</map>
+ </div></div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="fastspi_8h_source.html">fastspi.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png b/docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png
new file mode 100644
index 00000000..82cc40f5
--- /dev/null
+++ b/docs/3.1/class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.png
Binary files differ
diff --git a/docs/3.1/class_selectable-members.html b/docs/3.1/class_selectable-members.html
index 685db4a7..0474d9e0 100644
--- a/docs/3.1/class_selectable-members.html
+++ b/docs/3.1/class_selectable-members.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_selectable.html b/docs/3.1/class_selectable.html
index f1f0ce31..9bb93630 100644
--- a/docs/3.1/class_selectable.html
+++ b/docs/3.1/class_selectable.html
@@ -90,6 +90,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">Selectable Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
+<div class="dynheader">
+Inheritance diagram for Selectable:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_selectable.png" usemap="#Selectable_map" alt=""/>
+ <map id="Selectable_map" name="Selectable_map">
+<area href="class_pin.html" alt="Pin" shape="rect" coords="40,56,111,80"/>
+<area href="class_input_pin.html" alt="InputPin" shape="rect" coords="0,112,71,136"/>
+<area href="class_output_pin.html" alt="OutputPin" shape="rect" coords="81,112,152,136"/>
+</map>
+ </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -109,7 +120,7 @@ virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>isSelected</b
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_selectable.png b/docs/3.1/class_selectable.png
new file mode 100644
index 00000000..01b56940
--- /dev/null
+++ b/docs/3.1/class_selectable.png
Binary files differ
diff --git a/docs/3.1/class_software_s_p_i_output-members.html b/docs/3.1/class_software_s_p_i_output-members.html
index d51e7468..3f7dc432 100644
--- a/docs/3.1/class_software_s_p_i_output-members.html
+++ b/docs/3.1/class_software_s_p_i_output-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_software_s_p_i_output.html b/docs/3.1/class_software_s_p_i_output.html
index 7d258bb8..64c847a9 100644
--- a/docs/3.1/class_software_s_p_i_output.html
+++ b/docs/3.1/class_software_s_p_i_output.html
@@ -143,7 +143,7 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><b>writeByte</b>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1803.html b/docs/3.1/class_t_m1803.html
index 1154c503..8ce51e43 100644
--- a/docs/3.1/class_t_m1803.html
+++ b/docs/3.1/class_t_m1803.html
@@ -93,7 +93,7 @@ Inheritance diagram for TM1803&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_t_m1803.png" usemap="#TM1803&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1803&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1803&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1803_controller400_khz.html" alt="TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,463,80"/>
+<area href="class_t_m1803_controller400_khz.html" alt="TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for TM1803&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1803.png b/docs/3.1/class_t_m1803.png
index 4cc61142..7d0c3b7f 100644
--- a/docs/3.1/class_t_m1803.png
+++ b/docs/3.1/class_t_m1803.png
Binary files differ
diff --git a/docs/3.1/class_t_m1803_controller400_khz.html b/docs/3.1/class_t_m1803_controller400_khz.html
index 9e490a58..09c8c4c4 100644
--- a/docs/3.1/class_t_m1803_controller400_khz.html
+++ b/docs/3.1/class_t_m1803_controller400_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_t_m1803_controller400_khz.png" usemap="#TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1803.html" alt="TM1803&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,463,136"/>
+<area href="class_t_m1803.html" alt="TM1803&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,112,720,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1803_controller400_khz.png b/docs/3.1/class_t_m1803_controller400_khz.png
index 69a5266c..3b04adc7 100644
--- a/docs/3.1/class_t_m1803_controller400_khz.png
+++ b/docs/3.1/class_t_m1803_controller400_khz.png
Binary files differ
diff --git a/docs/3.1/class_t_m1804.html b/docs/3.1/class_t_m1804.html
index 9b3e3b0e..e17d36c0 100644
--- a/docs/3.1/class_t_m1804.html
+++ b/docs/3.1/class_t_m1804.html
@@ -93,7 +93,7 @@ Inheritance diagram for TM1804&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_t_m1804.png" usemap="#TM1804&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1804&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1804&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1809_controller800_khz.html" alt="TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_t_m1809_controller800_khz.html" alt="TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for TM1804&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1804.png b/docs/3.1/class_t_m1804.png
index ba24d0e2..c182d7fe 100644
--- a/docs/3.1/class_t_m1804.png
+++ b/docs/3.1/class_t_m1804.png
Binary files differ
diff --git a/docs/3.1/class_t_m1809.html b/docs/3.1/class_t_m1809.html
index 10c58e5c..99a8814b 100644
--- a/docs/3.1/class_t_m1809.html
+++ b/docs/3.1/class_t_m1809.html
@@ -93,7 +93,7 @@ Inheritance diagram for TM1809&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_t_m1809.png" usemap="#TM1809&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1809&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1809&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1809_controller800_khz.html" alt="TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_t_m1809_controller800_khz.html" alt="TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for TM1809&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1809.png b/docs/3.1/class_t_m1809.png
index 7cd85045..6c88601c 100644
--- a/docs/3.1/class_t_m1809.png
+++ b/docs/3.1/class_t_m1809.png
Binary files differ
diff --git a/docs/3.1/class_t_m1809_controller800_khz.html b/docs/3.1/class_t_m1809_controller800_khz.html
index 899b059d..d8c26bad 100644
--- a/docs/3.1/class_t_m1809_controller800_khz.html
+++ b/docs/3.1/class_t_m1809_controller800_khz.html
@@ -93,8 +93,8 @@ Inheritance diagram for TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_t_m1809_controller800_khz.png" usemap="#TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1804.html" alt="TM1804&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,456,136"/>
-<area href="class_t_m1809.html" alt="TM1809&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="466,112,922,136"/>
+<area href="class_t_m1804.html" alt="TM1804&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,477,136"/>
+<area href="class_t_m1809.html" alt="TM1809&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="487,112,964,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -103,7 +103,7 @@ Inheritance diagram for TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1809_controller800_khz.png b/docs/3.1/class_t_m1809_controller800_khz.png
index 0e6ab407..1c2db34b 100644
--- a/docs/3.1/class_t_m1809_controller800_khz.png
+++ b/docs/3.1/class_t_m1809_controller800_khz.png
Binary files differ
diff --git a/docs/3.1/class_t_m1829.html b/docs/3.1/class_t_m1829.html
index c4f71c40..21f9f951 100644
--- a/docs/3.1/class_t_m1829.html
+++ b/docs/3.1/class_t_m1829.html
@@ -93,7 +93,7 @@ Inheritance diagram for TM1829&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_t_m1829.png" usemap="#TM1829&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1829&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1829&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1829_controller800_khz.html" alt="TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,533,80"/>
+<area href="class_t_m1829_controller800_khz.html" alt="TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="271,56,804,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for TM1829&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1829.png b/docs/3.1/class_t_m1829.png
index 80dd7235..f2160657 100644
--- a/docs/3.1/class_t_m1829.png
+++ b/docs/3.1/class_t_m1829.png
Binary files differ
diff --git a/docs/3.1/class_t_m1829_controller1600_khz.html b/docs/3.1/class_t_m1829_controller1600_khz.html
index 69545181..ee3c5bc8 100644
--- a/docs/3.1/class_t_m1829_controller1600_khz.html
+++ b/docs/3.1/class_t_m1829_controller1600_khz.html
@@ -101,7 +101,7 @@ Inheritance diagram for TM1829Controller1600Khz&lt; DATA_PIN, RGB_ORDER &gt;:</d
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1829_controller800_khz.html b/docs/3.1/class_t_m1829_controller800_khz.html
index 1745a301..49d3dad1 100644
--- a/docs/3.1/class_t_m1829_controller800_khz.html
+++ b/docs/3.1/class_t_m1829_controller800_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_t_m1829_controller800_khz.png" usemap="#TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_t_m1829.html" alt="TM1829&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,533,136"/>
+<area href="class_t_m1829.html" alt="TM1829&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="271,112,804,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_t_m1829_controller800_khz.png b/docs/3.1/class_t_m1829_controller800_khz.png
index 8706dc1a..fe648a19 100644
--- a/docs/3.1/class_t_m1829_controller800_khz.png
+++ b/docs/3.1/class_t_m1829_controller800_khz.png
Binary files differ
diff --git a/docs/3.1/class_u_c_s1903.html b/docs/3.1/class_u_c_s1903.html
index 702a9684..c2efdb59 100644
--- a/docs/3.1/class_u_c_s1903.html
+++ b/docs/3.1/class_u_c_s1903.html
@@ -93,7 +93,7 @@ Inheritance diagram for UCS1903&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_u_c_s1903.png" usemap="#UCS1903&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="UCS1903&lt; DATA_PIN, RGB_ORDER &gt;_map" name="UCS1903&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_u_c_s1903_controller400_khz.html" alt="UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,463,80"/>
+<area href="class_u_c_s1903_controller400_khz.html" alt="UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="247,56,731,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for UCS1903&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_u_c_s1903.png b/docs/3.1/class_u_c_s1903.png
index 732b4e33..634679e1 100644
--- a/docs/3.1/class_u_c_s1903.png
+++ b/docs/3.1/class_u_c_s1903.png
Binary files differ
diff --git a/docs/3.1/class_u_c_s1903_b.html b/docs/3.1/class_u_c_s1903_b.html
index 4e2bd2ec..600e885e 100644
--- a/docs/3.1/class_u_c_s1903_b.html
+++ b/docs/3.1/class_u_c_s1903_b.html
@@ -93,7 +93,7 @@ Inheritance diagram for UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_u_c_s1903_b.png" usemap="#UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;_map" name="UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_u_c_s1903_b_controller800_khz.html" alt="UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_u_c_s1903_b_controller800_khz.html" alt="UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_u_c_s1903_b.png b/docs/3.1/class_u_c_s1903_b.png
index 064e9eaf..a6d6daaa 100644
--- a/docs/3.1/class_u_c_s1903_b.png
+++ b/docs/3.1/class_u_c_s1903_b.png
Binary files differ
diff --git a/docs/3.1/class_u_c_s1903_b_controller800_khz.html b/docs/3.1/class_u_c_s1903_b_controller800_khz.html
index 4dd7fade..b2c67d5d 100644
--- a/docs/3.1/class_u_c_s1903_b_controller800_khz.html
+++ b/docs/3.1/class_u_c_s1903_b_controller800_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
<div class="center">
<img src="class_u_c_s1903_b_controller800_khz.png" usemap="#UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_u_c_s1903_b.html" alt="UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,456,136"/>
+<area href="class_u_c_s1903_b.html" alt="UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,112,720,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_u_c_s1903_b_controller800_khz.png b/docs/3.1/class_u_c_s1903_b_controller800_khz.png
index ed1a1db9..fee0cccb 100644
--- a/docs/3.1/class_u_c_s1903_b_controller800_khz.png
+++ b/docs/3.1/class_u_c_s1903_b_controller800_khz.png
Binary files differ
diff --git a/docs/3.1/class_u_c_s1903_controller400_khz.html b/docs/3.1/class_u_c_s1903_controller400_khz.html
index 9f83b68f..f002a15f 100644
--- a/docs/3.1/class_u_c_s1903_controller400_khz.html
+++ b/docs/3.1/class_u_c_s1903_controller400_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</d
<div class="center">
<img src="class_u_c_s1903_controller400_khz.png" usemap="#UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_u_c_s1903.html" alt="UCS1903&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,463,136"/>
+<area href="class_u_c_s1903.html" alt="UCS1903&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="247,112,731,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</d
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_u_c_s1903_controller400_khz.png b/docs/3.1/class_u_c_s1903_controller400_khz.png
index 5554d105..a0fcd334 100644
--- a/docs/3.1/class_u_c_s1903_controller400_khz.png
+++ b/docs/3.1/class_u_c_s1903_controller400_khz.png
Binary files differ
diff --git a/docs/3.1/class_w_s2801_controller-members.html b/docs/3.1/class_w_s2801_controller-members.html
index 4b869400..a1f6d15e 100644
--- a/docs/3.1/class_w_s2801_controller-members.html
+++ b/docs/3.1/class_w_s2801_controller-members.html
@@ -117,17 +117,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>WS2801Controller</b>() (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>WS2801Controller</b>() (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2801_controller.html b/docs/3.1/class_w_s2801_controller.html
index 79b8552a..082d9f23 100644
--- a/docs/3.1/class_w_s2801_controller.html
+++ b/docs/3.1/class_w_s2801_controller.html
@@ -97,7 +97,7 @@ Inheritance diagram for WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI
<div class="center">
<img src="class_w_s2801_controller.png" usemap="#WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,439,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,439,24"/>
<area href="class_w_s2803_controller.html" alt="WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="0,112,439,136"/>
</map>
</div></div>
@@ -126,6 +126,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -177,6 +180,13 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:a69fca4db95f5f60f27d7d1a8c7fa16a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69fca4db95f5f60f27d7d1a8c7fa16a0"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:a69fca4db95f5f60f27d7d1a8c7fa16a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69fca4db95f5f60f27d7d1a8c7fa16a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69fca4db95f5f60f27d7d1a8c7fa16a0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a69fca4db95f5f60f27d7d1a8c7fa16a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@@ -217,7 +227,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2803_controller-members.html b/docs/3.1/class_w_s2803_controller-members.html
index 91f5d218..94fddf32 100644
--- a/docs/3.1/class_w_s2803_controller-members.html
+++ b/docs/3.1/class_w_s2803_controller-members.html
@@ -117,17 +117,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTemperature</b>(CRGB temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTemperature</b>(ColorTemperature temperature) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, CRGB scale)=0 (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>(const struct CRGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>WS2801Controller</b>() (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>(const struct CARGB *data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, CRGB scale) (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, int nLeds, uint8_t brightness) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>showColor</b>(const struct CRGB &amp;data, uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>showLeds</b>(uint8_t brightness=255) (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b>() (defined in <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>)</td><td class="entry"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>WS2801Controller</b>() (defined in <a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a>)</td><td class="entry"><a class="el" href="class_w_s2801_controller.html">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2803_controller.html b/docs/3.1/class_w_s2803_controller.html
index 4b872a21..e59f7e81 100644
--- a/docs/3.1/class_w_s2803_controller.html
+++ b/docs/3.1/class_w_s2803_controller.html
@@ -96,7 +96,7 @@ Inheritance diagram for WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI
<img src="class_w_s2803_controller.png" usemap="#WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" alt=""/>
<map id="WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map" name="WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;_map">
<area href="class_w_s2801_controller.html" alt="WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;" shape="rect" coords="0,56,439,80"/>
-<area href="class_c_l_e_d_controller.html" alt="CLEDController" shape="rect" coords="0,0,439,24"/>
+<area href="class_c_l_e_d_controller.html" title="Base definition for an LED controller. " alt="CLEDController" shape="rect" coords="0,0,439,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -125,6 +125,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b> (const
<tr class="memitem:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06cfb05ad6e0f7982328928051f3f565"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
<tr class="separator:a06cfb05ad6e0f7982328928051f3f565 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55f6d5b215dc14f9473faea938b4c8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, uint8_t brightness)</td></tr>
+<tr class="separator:a4a55f6d5b215dc14f9473faea938b4c8 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b08378b29f92c5def65175ec5334037"></a>
<a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>setLeds</b> (<a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds)</td></tr>
<tr class="separator:a5b08378b29f92c5def65175ec5334037 inherit pub_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -178,6 +181,13 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>showColor</b>
<tr class="memitem:a69fca4db95f5f60f27d7d1a8c7fa16a0 inherit pro_methods_class_w_s2801_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69fca4db95f5f60f27d7d1a8c7fa16a0"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
<tr class="separator:a69fca4db95f5f60f27d7d1a8c7fa16a0 inherit pro_methods_class_w_s2801_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69fca4db95f5f60f27d7d1a8c7fa16a0 inherit pro_methods_class_w_s2801_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69fca4db95f5f60f27d7d1a8c7fa16a0"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct <a class="el" href="struct_c_r_g_b.html">CRGB</a> *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)</td></tr>
+<tr class="separator:a69fca4db95f5f60f27d7d1a8c7fa16a0 inherit pro_methods_class_w_s2801_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
+<tr class="memitem:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ae4f61fc85ef4609d65c14ca51434c4"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>show</b> (const struct CARGB *data, int nLeds, <a class="el" href="struct_c_r_g_b.html">CRGB</a> scale)=0</td></tr>
+<tr class="separator:a3ae4f61fc85ef4609d65c14ca51434c4 inherit pro_methods_class_c_l_e_d_controller"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_c_l_e_d_controller"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_l_e_d_controller')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a></td></tr>
<tr class="memitem:a4672f8f1e93d5df90685cb62c4ebbe0e inherit pro_attribs_class_c_l_e_d_controller"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4672f8f1e93d5df90685cb62c4ebbe0e"></a>
<a class="el" href="struct_c_r_g_b.html">CRGB</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_Data</b></td></tr>
@@ -211,7 +221,7 @@ static <a class="el" href="class_c_l_e_d_controller.html">CLEDController</a> *&#
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2811.html b/docs/3.1/class_w_s2811.html
index b48fb682..3a956838 100644
--- a/docs/3.1/class_w_s2811.html
+++ b/docs/3.1/class_w_s2811.html
@@ -93,7 +93,7 @@ Inheritance diagram for WS2811&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_w_s2811.png" usemap="#WS2811&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="WS2811&lt; DATA_PIN, RGB_ORDER &gt;_map" name="WS2811&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for WS2811&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2811.png b/docs/3.1/class_w_s2811.png
index f7b53e06..96b2eafb 100644
--- a/docs/3.1/class_w_s2811.png
+++ b/docs/3.1/class_w_s2811.png
Binary files differ
diff --git a/docs/3.1/class_w_s2811__400.html b/docs/3.1/class_w_s2811__400.html
index 609a2be6..ff062c1c 100644
--- a/docs/3.1/class_w_s2811__400.html
+++ b/docs/3.1/class_w_s2811__400.html
@@ -93,7 +93,7 @@ Inheritance diagram for WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_w_s2811__400.png" usemap="#WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;_map" name="WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_w_s2811_controller400_khz.html" alt="WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_w_s2811_controller400_khz.html" alt="WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="247,56,731,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2811__400.png b/docs/3.1/class_w_s2811__400.png
index 6b72d978..e4788658 100644
--- a/docs/3.1/class_w_s2811__400.png
+++ b/docs/3.1/class_w_s2811__400.png
Binary files differ
diff --git a/docs/3.1/class_w_s2811_controller400_khz.html b/docs/3.1/class_w_s2811_controller400_khz.html
index 7896b39e..a7cae432 100644
--- a/docs/3.1/class_w_s2811_controller400_khz.html
+++ b/docs/3.1/class_w_s2811_controller400_khz.html
@@ -93,7 +93,7 @@ Inheritance diagram for WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_w_s2811_controller400_khz.png" usemap="#WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_w_s2811__400.html" alt="WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,456,136"/>
+<area href="class_w_s2811__400.html" alt="WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="247,112,731,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2811_controller400_khz.png b/docs/3.1/class_w_s2811_controller400_khz.png
index cd8bb7f8..901e2551 100644
--- a/docs/3.1/class_w_s2811_controller400_khz.png
+++ b/docs/3.1/class_w_s2811_controller400_khz.png
Binary files differ
diff --git a/docs/3.1/class_w_s2811_controller800_khz.html b/docs/3.1/class_w_s2811_controller800_khz.html
index ef4d3354..d08409a7 100644
--- a/docs/3.1/class_w_s2811_controller800_khz.html
+++ b/docs/3.1/class_w_s2811_controller800_khz.html
@@ -93,10 +93,10 @@ Inheritance diagram for WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
<div class="center">
<img src="class_w_s2811_controller800_khz.png" usemap="#WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map" name="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_a_p_a104.html" alt="APA104&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,456,136"/>
-<area href="class_w_s2811.html" alt="WS2811&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="466,112,922,136"/>
-<area href="class_w_s2812.html" alt="WS2812&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="932,112,1388,136"/>
-<area href="class_w_s2812_b.html" alt="WS2812B&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="1398,112,1854,136"/>
+<area href="class_a_p_a104.html" alt="APA104&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,112,477,136"/>
+<area href="class_w_s2811.html" alt="WS2811&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="487,112,964,136"/>
+<area href="class_w_s2812.html" alt="WS2812&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="974,112,1451,136"/>
+<area href="class_w_s2812_b.html" alt="WS2812B&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="1461,112,1938,136"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -105,7 +105,7 @@ Inheritance diagram for WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;:</di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2811_controller800_khz.png b/docs/3.1/class_w_s2811_controller800_khz.png
index 57472331..92b9497c 100644
--- a/docs/3.1/class_w_s2811_controller800_khz.png
+++ b/docs/3.1/class_w_s2811_controller800_khz.png
Binary files differ
diff --git a/docs/3.1/class_w_s2812.html b/docs/3.1/class_w_s2812.html
index ae515812..36c66b23 100644
--- a/docs/3.1/class_w_s2812.html
+++ b/docs/3.1/class_w_s2812.html
@@ -93,7 +93,7 @@ Inheritance diagram for WS2812&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_w_s2812.png" usemap="#WS2812&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="WS2812&lt; DATA_PIN, RGB_ORDER &gt;_map" name="WS2812&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for WS2812&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2812.png b/docs/3.1/class_w_s2812.png
index 4887432a..237ee4ef 100644
--- a/docs/3.1/class_w_s2812.png
+++ b/docs/3.1/class_w_s2812.png
Binary files differ
diff --git a/docs/3.1/class_w_s2812_b.html b/docs/3.1/class_w_s2812_b.html
index 9b1c41e1..15c7dee0 100644
--- a/docs/3.1/class_w_s2812_b.html
+++ b/docs/3.1/class_w_s2812_b.html
@@ -93,7 +93,7 @@ Inheritance diagram for WS2812B&lt; DATA_PIN, RGB_ORDER &gt;:</div>
<div class="center">
<img src="class_w_s2812_b.png" usemap="#WS2812B&lt; DATA_PIN, RGB_ORDER &gt;_map" alt=""/>
<map id="WS2812B&lt; DATA_PIN, RGB_ORDER &gt;_map" name="WS2812B&lt; DATA_PIN, RGB_ORDER &gt;_map">
-<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="0,56,456,80"/>
+<area href="class_w_s2811_controller800_khz.html" alt="WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;" shape="rect" coords="243,56,720,80"/>
</map>
</div></div>
<hr/>The documentation for this class was generated from the following file:<ul>
@@ -102,7 +102,7 @@ Inheritance diagram for WS2812B&lt; DATA_PIN, RGB_ORDER &gt;:</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/class_w_s2812_b.png b/docs/3.1/class_w_s2812_b.png
index f47a81ca..28708dd2 100644
--- a/docs/3.1/class_w_s2812_b.png
+++ b/docs/3.1/class_w_s2812_b.png
Binary files differ
diff --git a/docs/3.1/classes.html b/docs/3.1/classes.html
index 941ac7f8..f4a80717 100644
--- a/docs/3.1/classes.html
+++ b/docs/3.1/classes.html
@@ -87,49 +87,58 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_J">J</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_deep_pixel_controller.html">DeepPixelController</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_t_m1804.html">TM1804</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811__400.html">WS2811_400</a>&#160;&#160;&#160;</td></tr>
-<tr><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_t_m1809.html">TM1809</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="class_a_p_a102_controller.html">APA102Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_n_e_o_p_i_x_e_l.html">NEOPIXEL</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="class_a_p_a104.html">APA104</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_g_w6205.html">GW6205</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_t_m1829.html">TM1829</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2812.html">WS2812</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="class_a_v_r_software_s_p_i_output.html">AVRSoftwareSPIOutput</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_g_w6205__400.html">GW6205_400</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1829_controller1600_khz.html">TM1829Controller1600Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2812_b.html">WS2812B</a>&#160;&#160;&#160;</td></tr>
+</td><td valign="top"><a class="el" href="class_d_m_x_serial_controller.html">DMXSerialController</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_w_s2811_controller400_khz.html">WS2811Controller400Khz</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_d_m_x_s_i_m_p_l_e.html">DMXSIMPLE</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811_controller800_khz.html">WS2811Controller800Khz</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_a_p_a102_controller.html">APA102Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_d_m_x_simple_controller.html">DMXSimpleController</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1803.html">TM1803</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2812.html">WS2812</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_a_p_a104.html">APA104</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2812_b.html">WS2812B</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_a_v_r_software_s_p_i_output.html">AVRSoftwareSPIOutput</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1804.html">TM1804</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;_&#160;&#160;</div></td></tr></table>
+</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_p9813_controller.html">P9813Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;_&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_fast_pin.html">FastPin</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_n_e_o_p_i_x_e_l.html">NEOPIXEL</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1809.html">TM1809</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_fast_pin_b_b.html">FastPinBB</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_t_m1809_controller800_khz.html">TM1809Controller800Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class___d_u_e_p_i_n.html">_DUEPIN</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_t_m1829.html">TM1829</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_fast_noise16.html">CFastNoise16</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_output_pin.html">OutputPin</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_t_m1829_controller1600_khz.html">TM1829Controller1600Khz</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="struct_c_h_s_v.html">CHSV</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_g_w6205.html">GW6205</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_t_m1829_controller800_khz.html">TM1829Controller800Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="unionbitswap__type.html">bitswap_type</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_h_s_v_palette16.html">CHSVPalette16</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_g_w6205__400.html">GW6205_400</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_j"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;j&#160;&#160;</div></td></tr></table>
</td></tr>
-<tr><td valign="top"><a class="el" href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_pixel_controller.html">PixelController</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
+<tr><td valign="top"><a class="el" href="class_c_h_s_v_palette256.html">CHSVPalette256</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_g_w6205_controller400_khz.html">GW6205Controller400Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_p9813_controller.html">P9813Controller</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_g_w6205_controller800_khz.html">GW6205Controller800Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_pin.html">Pin</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903.html">UCS1903</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="unionjust8bits.html">just8bits</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_min_wait.html">CMinWait</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="struct_pixel_controller.html">PixelController</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903_b.html">UCS1903B</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;q&#160;&#160;</div></td></tr></table>
</td></tr>
-<tr><td valign="top"><a class="el" href="class_c_fast_l_e_d.html">CFastLED</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class___d_u_e_p_i_n.html">_DUEPIN</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="struct_c_h_s_v.html">CHSV</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903.html">UCS1903</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;q&#160;&#160;</div></td></tr></table>
+<tr><td valign="top"><a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_r_g_b_palette16.html">CRGBPalette16</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classq.html">q</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_c_r_g_b_palette256.html">CRGBPalette256</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_input_pin.html">InputPin</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_selectable.html">Selectable</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
</td></tr>
-<tr><td valign="top"><a class="el" href="class_c_h_s_v_palette16.html">CHSVPalette16</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="union_i_e_e_e754binary32__t.html">IEEE754binary32_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_selectable.html">Selectable</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903_b.html">UCS1903B</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="class_c_h_s_v_palette256.html">CHSVPalette256</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_s_m16716_controller.html">SM16716Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903_b_controller800_khz.html">UCS1903BController800Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classq.html">q</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="class_c_l_e_d_controller.html">CLEDController</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_software_s_p_i_output.html">SoftwareSPIOutput</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_u_c_s1903_controller400_khz.html">UCS1903Controller400Khz</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="class_c_min_wait.html">CMinWait</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_l_p_d1886.html">LPD1886</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_s_p_i_output.html">SPIOutput</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
-</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
-</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="class_c_r_g_b_palette16.html">CRGBPalette16</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2801_controller.html">WS2801Controller</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="class_c_r_g_b_palette256.html">CRGBPalette256</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_t_m1803.html">TM1803</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2803_controller.html">WS2803Controller</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="class_t_m1803_controller400_khz.html">TM1803Controller400Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811.html">WS2811</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController</a>&#160;&#160;&#160;</td><td></td><td></td><td></td></tr>
-<tr><td valign="top"><a class="el" href="class_d_a_t_a___n_o_p.html">DATA_NOP</a>&#160;&#160;&#160;</td><td></td><td></td><td></td><td></td></tr>
+</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="class_s_m16716_controller.html">SM16716Controller</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_software_s_p_i_output.html">SoftwareSPIOutput</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2801_controller.html">WS2801Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structsub4.html">sub4</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_d_a_t_a___n_o_p.html">DATA_NOP</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_l_p_d1886.html">LPD1886</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_s_p_i_output.html">SPIOutput</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2803_controller.html">WS2803Controller</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="class_deep_pixel_controller.html">DeepPixelController</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_l_p_d1886_controller1250_khz.html">LPD1886Controller1250Khz</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html">SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811.html">WS2811</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="class_d_m_x_s_e_r_i_a_l.html">DMXSERIAL</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_l_p_d8806_controller.html">LPD8806Controller</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html">SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_w_s2811__400.html">WS2811_400</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="uniont_bytes_for_long.html">tBytesForLong</a>&#160;&#160;&#160;</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
-<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_J">J</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/classq-members.html b/docs/3.1/classq-members.html
index b1111eae..11e58e28 100644
--- a/docs/3.1/classq-members.html
+++ b/docs/3.1/classq-members.html
@@ -94,12 +94,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator*</b>(uint16_t v) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator*</b>(int32_t v) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator*</b>(int16_t v) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>q</b>(float fx) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>q</b>(uint8_t _i, uint8_t _f) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator*</b>(int v) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>q</b>(float fx) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>q</b>(uint8_t _i, uint8_t _f) (defined in <a class="el" href="classq.html">q&lt; T, F, I &gt;</a>)</td><td class="entry"><a class="el" href="classq.html">q&lt; T, F, I &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/classq.html b/docs/3.1/classq.html
index 789a5cc3..201f12f7 100644
--- a/docs/3.1/classq.html
+++ b/docs/3.1/classq.html
@@ -111,6 +111,9 @@ int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>operator*</b> (int
<tr class="memitem:a3fe5b150d81524fa1f5e77a9d359fd2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fe5b150d81524fa1f5e77a9d359fd2b"></a>
int16_t&#160;</td><td class="memItemRight" valign="bottom"><b>operator*</b> (int16_t v)</td></tr>
<tr class="separator:a3fe5b150d81524fa1f5e77a9d359fd2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae3d04f9b49c9b0ad8fd62e3ff0cdb47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae3d04f9b49c9b0ad8fd62e3ff0cdb47"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>operator*</b> (int v)</td></tr>
+<tr class="separator:aae3d04f9b49c9b0ad8fd62e3ff0cdb47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="lib8tion_8h_source.html">lib8tion.h</a></li>
@@ -118,7 +121,7 @@ int16_t&#160;</td><td class="memItemRight" valign="bottom"><b>operator*</b> (int
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/color_8h_source.html b/docs/3.1/color_8h_source.html
index eee6354b..9d0d1968 100644
--- a/docs/3.1/color_8h_source.html
+++ b/docs/3.1/color_8h_source.html
@@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/colorpalettes_8h_source.html b/docs/3.1/colorpalettes_8h_source.html
index c867b43a..56763648 100644
--- a/docs/3.1/colorpalettes_8h_source.html
+++ b/docs/3.1/colorpalettes_8h_source.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/colorutils_8h_source.html b/docs/3.1/colorutils_8h_source.html
index ad8a260a..1ee34d49 100644
--- a/docs/3.1/colorutils_8h_source.html
+++ b/docs/3.1/colorutils_8h_source.html
@@ -931,7 +931,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/controller_8h_source.html b/docs/3.1/controller_8h_source.html
index eae8f816..864d6780 100644
--- a/docs/3.1/controller_8h_source.html
+++ b/docs/3.1/controller_8h_source.html
@@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">static</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> *m_pTail;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">// set all the leds on the controller to a given color</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> showColor(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; data, <span class="keywordtype">int</span> nLeds, <a class="code" href="struct_c_r_g_b.html">CRGB</a> scale) = 0;</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; data, <span class="keywordtype">int</span> nLeds, <a class="code" href="struct_c_r_g_b.html">CRGB</a> scale) = 0;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// note that the uint8_ts will be in the order that you want them sent out to the device.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// nLeds is the number of RGB leds being written to</span></div>
@@ -151,8 +151,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// show function w/integer brightness, will scale for color correction and temperature</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">void</span> showColor(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp;data, <span class="keywordtype">int</span> nLeds, uint8_t brightness) {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; showColor(data, nLeds, getAdjustment(brightness));</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp;data, <span class="keywordtype">int</span> nLeds, uint8_t brightness) {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(data, nLeds, getAdjustment(brightness));</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// show function using the &quot;attached to this controller&quot; led data</span></div>
@@ -160,8 +160,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">show</a>(m_Data, m_nLeds, getAdjustment(brightness));</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordtype">void</span> showColor(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; data, uint8_t brightness=255) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; showColor(data, m_nLeds, getAdjustment(brightness));</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp; data, uint8_t brightness=255) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">showColor</a>(data, m_nLeds, getAdjustment(brightness));</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">// navigating the list of controllers</span></div>
@@ -188,23 +188,23 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// How many leds does this controller manage?</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">int</span> size() { <span class="keywordflow">return</span> m_nLeds; }</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">size</a>() { <span class="keywordflow">return</span> m_nLeds; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="comment">// Pointer to the CRGB array for this controller</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a>* leds() { <span class="keywordflow">return</span> m_Data; }</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a>* <a class="code" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">leds</a>() { <span class="keywordflow">return</span> m_Data; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// Reference to the n&#39;th item in the controller</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp;operator[](<span class="keywordtype">int</span> x) { <span class="keywordflow">return</span> m_Data[x]; }</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> &amp;<a class="code" href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">operator[]</a>(<span class="keywordtype">int</span> x) { <span class="keywordflow">return</span> m_Data[x]; }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">inline</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; setDither(uint8_t ditherMode = BINARY_DITHER) { m_DitherMode = ditherMode; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">inline</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; <a class="code" href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">setDither</a>(uint8_t ditherMode = BINARY_DITHER) { m_DitherMode = ditherMode; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">inline</span> uint8_t getDither() { <span class="keywordflow">return</span> m_DitherMode; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; setCorrection(<a class="code" href="struct_c_r_g_b.html">CRGB</a> correction) { m_ColorCorrection = correction; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; setCorrection(LEDColorCorrection correction) { m_ColorCorrection = correction; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; <a class="code" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">setCorrection</a>(<a class="code" href="struct_c_r_g_b.html">CRGB</a> correction) { m_ColorCorrection = correction; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; <a class="code" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">setCorrection</a>(LEDColorCorrection correction) { m_ColorCorrection = correction; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> getCorrection() { <span class="keywordflow">return</span> m_ColorCorrection; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; setTemperature(<a class="code" href="struct_c_r_g_b.html">CRGB</a> temperature) { m_ColorTemperature = temperature; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; setTemperature(ColorTemperature temperature) { m_ColorTemperature = temperature; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; <a class="code" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">setTemperature</a>(<a class="code" href="struct_c_r_g_b.html">CRGB</a> temperature) { m_ColorTemperature = temperature; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> &amp; <a class="code" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">setTemperature</a>(ColorTemperature temperature) { m_ColorTemperature = temperature; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> getTemperature() { <span class="keywordflow">return</span> m_ColorTemperature; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="struct_c_r_g_b.html">CRGB</a> getAdjustment(uint8_t scale) {</div>
@@ -622,15 +622,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="struct_c_r_g_b_html"><div class="ttname"><a href="struct_c_r_g_b.html">CRGB</a></div><div class="ttdef"><b>Definition:</b> pixeltypes.h:81</div></div>
-<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a646128b7d8c14b5020b285dbc8bc713b"><div class="ttname"><a href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">CFastLED::operator[]</a></div><div class="ttdeci">CLEDController &amp; operator[](int x)</div><div class="ttdoc">Get a reference to a registered controller. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:63</div></div>
+<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdoc">Base definition for an LED controller. </div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a18fba22754d2a1a206fc5db8d24a92d0"><div class="ttname"><a href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">CFastLED::size</a></div><div class="ttdeci">int size()</div><div class="ttdoc">Get the number of leds in the first controller. </div><div class="ttdef"><b>Definition:</b> FastLED.h:442</div></div>
<div class="ttc" id="struct_multi_pixel_controller_html"><div class="ttname"><a href="struct_multi_pixel_controller.html">MultiPixelController</a></div><div class="ttdef"><b>Definition:</b> controller.h:340</div></div>
-<div class="ttc" id="class_c_fast_l_e_d_html"><div class="ttname"><a href="class_c_fast_l_e_d.html">CFastLED</a></div><div class="ttdef"><b>Definition:</b> FastLED.h:118</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html"><div class="ttname"><a href="class_c_fast_l_e_d.html">CFastLED</a></div><div class="ttdoc">High level controller interface for FastLED. </div><div class="ttdef"><b>Definition:</b> FastLED.h:122</div></div>
<div class="ttc" id="struct_pixel_controller_html"><div class="ttname"><a href="struct_pixel_controller.html">PixelController</a></div><div class="ttdef"><b>Definition:</b> controller.h:158</div></div>
-<div class="ttc" id="class_c_fast_l_e_d_html_a3adb23ec5f919524928d576002cb45de"><div class="ttname"><a href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">CFastLED::show</a></div><div class="ttdeci">void show()</div><div class="ttdoc">Update all our controllers with the current led colors. </div><div class="ttdef"><b>Definition:</b> FastLED.h:279</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a7ae5d3864df01101d82d242c123ffb36"><div class="ttname"><a href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">CFastLED::setDither</a></div><div class="ttdeci">void setDither(uint8_t ditherMode=BINARY_DITHER)</div><div class="ttdoc">Set the dithering mode. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:133</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a28c2dfb0ec592db03f3063ade135f19f"><div class="ttname"><a href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">CFastLED::setTemperature</a></div><div class="ttdeci">void setTemperature(const struct CRGB &amp;temp)</div><div class="ttdoc">Set a global color temperature. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:117</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ae3c0a81b88fb64a65725cb2fed67f766"><div class="ttname"><a href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">CFastLED::leds</a></div><div class="ttdeci">CRGB * leds()</div><div class="ttdoc">Get a pointer to led data for the first controller. </div><div class="ttdef"><b>Definition:</b> FastLED.h:446</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a3adb23ec5f919524928d576002cb45de"><div class="ttname"><a href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">CFastLED::show</a></div><div class="ttdeci">void show()</div><div class="ttdoc">Update all our controllers with the current led colors. </div><div class="ttdef"><b>Definition:</b> FastLED.h:381</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_ad266c3e649cc12a6dc49a1e229acc282"><div class="ttname"><a href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">CFastLED::setCorrection</a></div><div class="ttdeci">void setCorrection(const struct CRGB &amp;correction)</div><div class="ttdoc">Set a global color correction. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:125</div></div>
+<div class="ttc" id="class_c_fast_l_e_d_html_a7315b060d295bad5fbd32e50eaaf02b0"><div class="ttname"><a href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">CFastLED::showColor</a></div><div class="ttdeci">void showColor(const struct CRGB &amp;color, uint8_t scale)</div><div class="ttdoc">Set all leds on all controllers to the given color/scale. </div><div class="ttdef"><b>Definition:</b> FastLED.cpp:75</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/delay_8h_source.html b/docs/3.1/delay_8h_source.html
index 004c0603..c4d593d4 100644
--- a/docs/3.1/delay_8h_source.html
+++ b/docs/3.1/delay_8h_source.html
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/dmx_8h_source.html b/docs/3.1/dmx_8h_source.html
index 2c09362e..bcf4fe93 100644
--- a/docs/3.1/dmx_8h_source.html
+++ b/docs/3.1/dmx_8h_source.html
@@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#define HAS_DMX_SIMPLE</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// note - dmx simple must be included before FastSPI for this code to be enabled</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt; <span class="keyword">class </span>DMXSimpleController : <span class="keyword">public</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> {</div>
+<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="class_d_m_x_simple_controller.html"> 10</a></span>&#160;<span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t DATA_PIN, EOrder RGB_ORDER = RGB&gt; <span class="keyword">class </span><a class="code" href="class_d_m_x_simple_controller.html">DMXSimpleController</a> : <span class="keyword">public</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> {</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="comment">// initialize the LED controller</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> init() { DmxSimple.usePin(DATA_PIN); }</div>
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#ifdef DmxSerial_h</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include&lt;DMXSerial.h&gt;</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">template</span> &lt;EOrder RGB_ORDER = RGB&gt; <span class="keyword">class </span>DMXSerialController : <span class="keyword">public</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> {</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_d_m_x_serial_controller.html"> 57</a></span>&#160;<span class="keyword">template</span> &lt;EOrder RGB_ORDER = RGB&gt; <span class="keyword">class </span><a class="code" href="class_d_m_x_serial_controller.html">DMXSerialController</a> : <span class="keyword">public</span> <a class="code" href="class_c_l_e_d_controller.html">CLEDController</a> {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// initialize the LED controller</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> init() { DMXSerial.init(DMXController); }</div>
@@ -185,11 +185,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="struct_c_r_g_b_html"><div class="ttname"><a href="struct_c_r_g_b.html">CRGB</a></div><div class="ttdef"><b>Definition:</b> pixeltypes.h:81</div></div>
-<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
+<div class="ttc" id="class_c_l_e_d_controller_html"><div class="ttname"><a href="class_c_l_e_d_controller.html">CLEDController</a></div><div class="ttdoc">Base definition for an LED controller. </div><div class="ttdef"><b>Definition:</b> controller.h:32</div></div>
+<div class="ttc" id="class_d_m_x_simple_controller_html"><div class="ttname"><a href="class_d_m_x_simple_controller.html">DMXSimpleController</a></div><div class="ttdef"><b>Definition:</b> dmx.h:10</div></div>
+<div class="ttc" id="class_d_m_x_serial_controller_html"><div class="ttname"><a href="class_d_m_x_serial_controller.html">DMXSerialController</a></div><div class="ttdef"><b>Definition:</b> dmx.h:57</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:44 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastled__config_8h_source.html b/docs/3.1/fastled__config_8h_source.html
index ac38daec..8d11fef7 100644
--- a/docs/3.1/fastled__config_8h_source.html
+++ b/docs/3.1/fastled__config_8h_source.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastpin_8h_source.html b/docs/3.1/fastpin_8h_source.html
index 295becef..f581b411 100644
--- a/docs/3.1/fastpin_8h_source.html
+++ b/docs/3.1/fastpin_8h_source.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#if defined(ARDUINO)</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">class </span>Pin : <span class="keyword">public</span> <a class="code" href="class_selectable.html">Selectable</a> {</div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="class_pin.html"> 23</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_pin.html">Pin</a> : <span class="keyword">public</span> <a class="code" href="class_selectable.html">Selectable</a> {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">volatile</span> RwReg *mPort;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">volatile</span> RoReg *mInPort;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; RwReg mPinMask;</div>
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; mInPort = portInputRegister(digitalPinToPort(mPin));</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; }</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; Pin(<span class="keywordtype">int</span> pin) : mPin(pin) { _init(); }</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="class_pin.html">Pin</a>(<span class="keywordtype">int</span> pin) : mPin(pin) { _init(); }</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">typedef</span> <span class="keyword">volatile</span> RwReg * port_ptr_t;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">typedef</span> RwReg port_t;</div>
@@ -146,17 +146,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isSelected() { <span class="keywordflow">return</span> (*mPort &amp; mPinMask) == mPinMask; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;};</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keyword">class </span>OutputPin : <span class="keyword">public</span> Pin {</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_output_pin.html"> 65</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_output_pin.html">OutputPin</a> : <span class="keyword">public</span> <a class="code" href="class_pin.html">Pin</a> {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; OutputPin(<span class="keywordtype">int</span> pin) : Pin(pin) { setOutput(); }</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="class_output_pin.html">OutputPin</a>(<span class="keywordtype">int</span> pin) : <a class="code" href="class_pin.html">Pin</a>(pin) { setOutput(); }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;};</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keyword">class </span>InputPin : <span class="keyword">public</span> Pin {</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="class_input_pin.html"> 70</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_input_pin.html">InputPin</a> : <span class="keyword">public</span> <a class="code" href="class_pin.html">Pin</a> {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; InputPin(<span class="keywordtype">int</span> pin) : Pin(pin) { setInput(); }</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="class_input_pin.html">InputPin</a>(<span class="keywordtype">int</span> pin) : <a class="code" href="class_pin.html">Pin</a>(pin) { setInput(); }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;};</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">class </span>FastPin {</div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="class_fast_pin.html"> 89</a></span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">class </span><a class="code" href="class_fast_pin.html">FastPin</a> {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">static</span> RwReg sPinMask;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">static</span> <span class="keyword">volatile</span> RwReg *sPort;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">static</span> <span class="keyword">volatile</span> RoReg *sInPort;</div>
@@ -191,11 +191,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">static</span> port_t mask() __attribute__ ((always_inline)) { <span class="keywordflow">return</span> sPinMask; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;};</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; RwReg FastPin&lt;PIN&gt;::sPinMask;</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">volatile</span> RwReg *FastPin&lt;PIN&gt;::sPort;</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">volatile</span> RoReg *FastPin&lt;PIN&gt;::sInPort;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; RwReg <a class="code" href="class_fast_pin.html">FastPin&lt;PIN&gt;::sPinMask</a>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">volatile</span> RwReg *<a class="code" href="class_fast_pin.html">FastPin&lt;PIN&gt;::sPort</a>;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">volatile</span> RoReg *<a class="code" href="class_fast_pin.html">FastPin&lt;PIN&gt;::sInPort</a>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">class </span>FastPinBB : <span class="keyword">public</span> FastPin&lt;PIN&gt; {};</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="class_fast_pin_b_b.html"> 128</a></span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t PIN&gt; <span class="keyword">class </span><a class="code" href="class_fast_pin_b_b.html">FastPinBB</a> : <span class="keyword">public</span> <a class="code" href="class_fast_pin.html">FastPin</a>&lt;PIN&gt; {};</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor">#endif // defined(ARDUINO)</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keyword">typedef</span> <span class="keyword">volatile</span> uint32_t &amp; reg32_t;</div>
@@ -204,11 +204,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif // __INC_FASTPIN_H</span></div>
+<div class="ttc" id="class_pin_html"><div class="ttname"><a href="class_pin.html">Pin</a></div><div class="ttdef"><b>Definition:</b> fastpin.h:23</div></div>
+<div class="ttc" id="class_output_pin_html"><div class="ttname"><a href="class_output_pin.html">OutputPin</a></div><div class="ttdef"><b>Definition:</b> fastpin.h:65</div></div>
+<div class="ttc" id="class_fast_pin_b_b_html"><div class="ttname"><a href="class_fast_pin_b_b.html">FastPinBB</a></div><div class="ttdef"><b>Definition:</b> fastpin.h:128</div></div>
<div class="ttc" id="class_selectable_html"><div class="ttname"><a href="class_selectable.html">Selectable</a></div><div class="ttdef"><b>Definition:</b> fastpin.h:14</div></div>
+<div class="ttc" id="class_fast_pin_html"><div class="ttname"><a href="class_fast_pin.html">FastPin</a></div><div class="ttdoc">The simplest level of Pin class. </div><div class="ttdef"><b>Definition:</b> fastpin.h:89</div></div>
+<div class="ttc" id="class_input_pin_html"><div class="ttname"><a href="class_input_pin.html">InputPin</a></div><div class="ttdef"><b>Definition:</b> fastpin.h:70</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastpin__arm__stm32_8h_source.html b/docs/3.1/fastpin__arm__stm32_8h_source.html
index c70b9d06..4ee89bf6 100644
--- a/docs/3.1/fastpin__arm__stm32_8h_source.html
+++ b/docs/3.1/fastpin__arm__stm32_8h_source.html
@@ -123,11 +123,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"> _R(GPIO ## L ## _OER)&gt; {}; \</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"> template&lt;&gt; class FastPinBB&lt;PIN&gt; : public _DUEPIN_BITBAND&lt;PIN, BIT, _R(REG_PIO ## L ## _ODSR), _R(REG_PIO ## L ## _SODR), _R(REG_PIO ## L ## _CODR), \</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"> _R(GPIO ## L ## _OER)&gt; {};</span></div>
-<div class="ttc" id="class___d_u_e_p_i_n_html"><div class="ttname"><a href="class___d_u_e_p_i_n.html">_DUEPIN</a></div><div class="ttdef"><b>Definition:</b> fastpin_arm_stm32.h:8</div></div>
+<div class="ttc" id="class___d_u_e_p_i_n_html"><div class="ttname"><a href="class___d_u_e_p_i_n.html">_DUEPIN</a></div><div class="ttdoc">Template definition for STM32 style ARM pins, providing direct access to the various GPIO registers...</div><div class="ttdef"><b>Definition:</b> fastpin_arm_stm32.h:8</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastspi_8h_source.html b/docs/3.1/fastspi_8h_source.html
index 76e04f63..8a329994 100644
--- a/docs/3.1/fastspi_8h_source.html
+++ b/docs/3.1/fastspi_8h_source.html
@@ -117,12 +117,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#if defined(FASTLED_TEENSY3) &amp;&amp; defined(CORE_TEENSY)</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t SPI_SPEED&gt;</div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">class </span><a class="code" href="class_s_p_i_output.html">SPIOutput</a>&lt;SPI_DATA, SPI_CLOCK, SPI_SPEED&gt; : <span class="keyword">public</span> ARMHardwareSPIOutput&lt;SPI_DATA, SPI_CLOCK, SPI_SPEED, 0x4002C000&gt; {};</div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html"> 36</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_s_p_i_output.html">SPIOutput</a>&lt;SPI_DATA, SPI_CLOCK, SPI_SPEED&gt; : <span class="keyword">public</span> ARMHardwareSPIOutput&lt;SPI_DATA, SPI_CLOCK, SPI_SPEED, 0x4002C000&gt; {};</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#if defined(SPI2_DATA)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">template</span>&lt;u<span class="keywordtype">int</span>8_t SPI_SPEED&gt;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span><a class="code" href="class_s_p_i_output.html">SPIOutput</a>&lt;SPI2_DATA, SPI2_CLOCK, SPI_SPEED&gt; : <span class="keyword">public</span> ARMHardwareSPIOutput&lt;SPI2_DATA, SPI2_CLOCK, SPI_SPEED, 0x4002C000&gt; {};</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html"> 41</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_s_p_i_output.html">SPIOutput</a>&lt;SPI2_DATA, SPI2_CLOCK, SPI_SPEED&gt; : <span class="keyword">public</span> ARMHardwareSPIOutput&lt;SPI2_DATA, SPI2_CLOCK, SPI_SPEED, 0x4002C000&gt; {};</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#elif defined(__SAM3X8E__)</span></div>
@@ -158,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastspi__bitbang_8h_source.html b/docs/3.1/fastspi__bitbang_8h_source.html
index 13210404..121eb53b 100644
--- a/docs/3.1/fastspi__bitbang_8h_source.html
+++ b/docs/3.1/fastspi__bitbang_8h_source.html
@@ -98,12 +98,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="comment">// The data types for pointers to the pin port - typedef&#39;d here from the Pin definition because on avr these</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="comment">// are pointers to 8 bit values, while on arm they are 32 bit</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> FastPin&lt;DATA_PIN&gt;::port_ptr_t data_ptr_t;</div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> FastPin&lt;CLOCK_PIN&gt;::port_ptr_t clock_ptr_t;</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port_ptr_t</a> clock_ptr_t;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="comment">// The data type for what&#39;s at a pin&#39;s port - typedef&#39;d here from the Pin definition because on avr the ports</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="comment">// are 8 bits wide while on arm they are 32.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> FastPin&lt;DATA_PIN&gt;::port_t data_t;</div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> FastPin&lt;CLOCK_PIN&gt;::port_t clock_t;</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port_t</a> clock_t;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <a class="code" href="class_selectable.html">Selectable</a> *m_pSelect;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">public</span>:</div>
@@ -114,8 +114,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">void</span> init() {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="comment">// set the pins to output and make sure the select is released (which apparently means hi? This is a bit</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="comment">// confusing to me)</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; FastPin&lt;DATA_PIN&gt;::setOutput();</div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; FastPin&lt;CLOCK_PIN&gt;::setOutput();</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::setOutput</a>();</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::setOutput</a>();</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; release();</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
@@ -195,20 +195,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// write the BIT&#39;th bit out via spi, setting the data pin then strobing the clcok</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t BIT&gt; __attribute__((always_inline, hot)) <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> writeBit(uint8_t b) {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span>(b &amp; (1 &lt;&lt; BIT)) {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; FastPin&lt;DATA_PIN&gt;::hi();</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hi</a>();</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span>(SPI_SPEED &lt; 3) {</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; FastPin&lt;CLOCK_PIN&gt;::strobe();</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::strobe</a>();</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; FastPin&lt;CLOCK_PIN&gt;::hi(); SPI_DELAY;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; FastPin&lt;CLOCK_PIN&gt;::lo(); SPI_DELAY;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hi</a>(); SPI_DELAY;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::lo</a>(); SPI_DELAY;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; FastPin&lt;DATA_PIN&gt;::lo();</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::lo</a>();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span>(SPI_SPEED &lt; 3) {</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; FastPin&lt;CLOCK_PIN&gt;::strobe();</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::strobe</a>();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; FastPin&lt;CLOCK_PIN&gt;::hi(); SPI_DELAY;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; FastPin&lt;CLOCK_PIN&gt;::lo(); SPI_DELAY;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hi</a>(); SPI_DELAY;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::lo</a>(); SPI_DELAY;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
@@ -217,13 +217,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// write the BIT&#39;th bit out via spi, setting the data pin then strobing the clock, using the passed in pin registers to accelerate access if needed</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t BIT&gt; __attribute__((always_inline)) <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> writeBit(uint8_t b, clock_ptr_t clockpin, data_ptr_t datapin) {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span>(b &amp; (1 &lt;&lt; BIT)) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; FastPin&lt;DATA_PIN&gt;::hi(datapin);</div>
-<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; FastPin&lt;CLOCK_PIN&gt;::hi(clockpin); SPI_DELAY;</div>
-<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; FastPin&lt;CLOCK_PIN&gt;::lo(clockpin); SPI_DELAY;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hi</a>(datapin);</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hi</a>(clockpin); SPI_DELAY;</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::lo</a>(clockpin); SPI_DELAY;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; FastPin&lt;DATA_PIN&gt;::lo(datapin);</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; FastPin&lt;CLOCK_PIN&gt;::hi(clockpin); SPI_DELAY;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; FastPin&lt;CLOCK_PIN&gt;::lo(clockpin); SPI_DELAY;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::lo</a>(datapin);</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hi</a>(clockpin); SPI_DELAY;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::lo</a>(clockpin); SPI_DELAY;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
@@ -234,14 +234,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; data_t hival, data_t loval, clock_t hiclock, clock_t loclock) {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// // only need to explicitly set clock hi if clock and data are on different ports</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(b &amp; (1 &lt;&lt; BIT)) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(datapin, hival);</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; FastPin&lt;CLOCK_PIN&gt;::fastset(clockpin, hiclock); SPI_DELAY;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; FastPin&lt;CLOCK_PIN&gt;::fastset(clockpin, loclock); SPI_DELAY;</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(datapin, hival);</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::fastset</a>(clockpin, hiclock); SPI_DELAY;</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::fastset</a>(clockpin, loclock); SPI_DELAY;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">// NOP;</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(datapin, loval);</div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; FastPin&lt;CLOCK_PIN&gt;::fastset(clockpin, hiclock); SPI_DELAY;</div>
-<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; FastPin&lt;CLOCK_PIN&gt;::fastset(clockpin, loclock); SPI_DELAY;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(datapin, loval);</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::fastset</a>(clockpin, hiclock); SPI_DELAY;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::fastset</a>(clockpin, loclock); SPI_DELAY;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
@@ -254,14 +254,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; writeBit&lt;BIT&gt;(b);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span>(b &amp; (1 &lt;&lt; BIT)) {</div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(clockdatapin, datahiclocklo); SPI_DELAY_HALF;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(clockdatapin, datahiclockhi); SPI_DELAY;</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(clockdatapin, datahiclocklo); SPI_DELAY_HALF;</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(clockdatapin, datahiclocklo); SPI_DELAY_HALF;</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(clockdatapin, datahiclockhi); SPI_DELAY;</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(clockdatapin, datahiclocklo); SPI_DELAY_HALF;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// NOP;</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(clockdatapin, dataloclocklo); SPI_DELAY_HALF;</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(clockdatapin, dataloclockhi); SPI_DELAY;</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; FastPin&lt;DATA_PIN&gt;::fastset(clockdatapin, dataloclocklo); SPI_DELAY_HALF;</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(clockdatapin, dataloclocklo); SPI_DELAY_HALF;</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(clockdatapin, dataloclockhi); SPI_DELAY;</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::fastset</a>(clockdatapin, dataloclocklo); SPI_DELAY_HALF;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
@@ -290,26 +290,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; writeByte(value);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keyword">register</span> data_ptr_t datapin = FastPin&lt;DATA_PIN&gt;::port();</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keyword">register</span> data_ptr_t datapin = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::port</a>();</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div>
-<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span>(FastPin&lt;DATA_PIN&gt;::port() != FastPin&lt;CLOCK_PIN&gt;::port()) {</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::port</a>() != <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port</a>()) {</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="comment">// If data and clock are on different ports, then writing a bit will consist of writing the value foor</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="comment">// the bit (hi or low) to the data pin port, and then two writes to the clock port to strobe the clock line</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keyword">register</span> clock_ptr_t clockpin = FastPin&lt;CLOCK_PIN&gt;::port();</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">register</span> data_t datahi = FastPin&lt;DATA_PIN&gt;::hival();</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">register</span> data_t datalo = FastPin&lt;DATA_PIN&gt;::loval();</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">register</span> clock_t clockhi = FastPin&lt;CLOCK_PIN&gt;::hival();</div>
-<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">register</span> clock_t clocklo = FastPin&lt;CLOCK_PIN&gt;::loval();</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keyword">register</span> clock_ptr_t clockpin = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port</a>();</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">register</span> data_t datahi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>();</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">register</span> data_t datalo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>();</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">register</span> clock_t clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hival</a>();</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">register</span> clock_t clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::loval</a>();</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">while</span>(len--) {</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; writeByte(value, clockpin, datapin, datahi, datalo, clockhi, clocklo);</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// If data and clock are on the same port then we can combine setting the data and clock pins</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">register</span> data_t datahi_clockhi = FastPin&lt;DATA_PIN&gt;::hival() | FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keyword">register</span> data_t datalo_clockhi = FastPin&lt;DATA_PIN&gt;::loval() | FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">register</span> data_t datahi_clocklo = FastPin&lt;DATA_PIN&gt;::hival() &amp; ~FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keyword">register</span> data_t datalo_clocklo = FastPin&lt;DATA_PIN&gt;::loval() &amp; ~FastPin&lt;CLOCK_PIN&gt;::mask();</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">register</span> data_t datahi_clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>() | <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keyword">register</span> data_t datalo_clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>() | <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">register</span> data_t datahi_clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>() &amp; ~<a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keyword">register</span> data_t datalo_clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>() &amp; ~<a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">while</span>(len--) {</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; writeByte(value, datapin, datahi_clockhi, datalo_clockhi, datahi_clocklo, datalo_clocklo);</div>
@@ -328,16 +328,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; writeByte(D::adjust(*data++));</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">register</span> clock_ptr_t clockpin = FastPin&lt;CLOCK_PIN&gt;::port();</div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">register</span> data_ptr_t datapin = FastPin&lt;DATA_PIN&gt;::port();</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">register</span> clock_ptr_t clockpin = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port</a>();</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">register</span> data_ptr_t datapin = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::port</a>();</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div>
-<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">if</span>(FastPin&lt;DATA_PIN&gt;::port() != FastPin&lt;CLOCK_PIN&gt;::port()) {</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::port</a>() != <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port</a>()) {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="comment">// If data and clock are on different ports, then writing a bit will consist of writing the value foor</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="comment">// the bit (hi or low) to the data pin port, and then two writes to the clock port to strobe the clock line</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">register</span> data_t datahi = FastPin&lt;DATA_PIN&gt;::hival();</div>
-<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">register</span> data_t datalo = FastPin&lt;DATA_PIN&gt;::loval();</div>
-<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keyword">register</span> clock_t clockhi = FastPin&lt;CLOCK_PIN&gt;::hival();</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">register</span> clock_t clocklo = FastPin&lt;CLOCK_PIN&gt;::loval();</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">register</span> data_t datahi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>();</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">register</span> data_t datalo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>();</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keyword">register</span> clock_t clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hival</a>();</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">register</span> clock_t clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::loval</a>();</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; uint8_t *end = data + len;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">while</span>(data != end) {</div>
@@ -347,10 +347,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// FastPin&lt;CLOCK_PIN&gt;::hi();</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// If data and clock are on the same port then we can combine setting the data and clock pins</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">register</span> data_t datahi_clockhi = FastPin&lt;DATA_PIN&gt;::hival() | FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">register</span> data_t datalo_clockhi = FastPin&lt;DATA_PIN&gt;::loval() | FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">register</span> data_t datahi_clocklo = FastPin&lt;DATA_PIN&gt;::hival() &amp; ~FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">register</span> data_t datalo_clocklo = FastPin&lt;DATA_PIN&gt;::loval() &amp; ~FastPin&lt;CLOCK_PIN&gt;::mask();</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">register</span> data_t datahi_clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>() | <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">register</span> data_t datalo_clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>() | <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">register</span> data_t datahi_clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>() &amp; ~<a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">register</span> data_t datalo_clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>() &amp; ~<a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; uint8_t *end = data + len;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div>
@@ -391,16 +391,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="comment">// If we can guaruntee that no one else will be writing data while we are running (namely, changing the values of the PORT/PDOR pins)</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// then we can use a bunch of optimizations in here</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keyword">register</span> data_ptr_t datapin = FastPin&lt;DATA_PIN&gt;::port();</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keyword">register</span> data_ptr_t datapin = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::port</a>();</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div>
-<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span>(FastPin&lt;DATA_PIN&gt;::port() != FastPin&lt;CLOCK_PIN&gt;::port()) {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">register</span> clock_ptr_t clockpin = FastPin&lt;CLOCK_PIN&gt;::port();</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::port</a>() != <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port</a>()) {</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">register</span> clock_ptr_t clockpin = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::port</a>();</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="comment">// If data and clock are on different ports, then writing a bit will consist of writing the value foor</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="comment">// the bit (hi or low) to the data pin port, and then two writes to the clock port to strobe the clock line</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keyword">register</span> data_t datahi = FastPin&lt;DATA_PIN&gt;::hival();</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keyword">register</span> data_t datalo = FastPin&lt;DATA_PIN&gt;::loval();</div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">register</span> clock_t clockhi = FastPin&lt;CLOCK_PIN&gt;::hival();</div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">register</span> clock_t clocklo = FastPin&lt;CLOCK_PIN&gt;::loval();</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keyword">register</span> data_t datahi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>();</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keyword">register</span> data_t datalo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>();</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">register</span> clock_t clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::hival</a>();</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">register</span> clock_t clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::loval</a>();</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">while</span>(pixels.has(1)) {</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">if</span>(FLAGS &amp; FLAG_START_BIT) {</div>
@@ -415,10 +415,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="comment">// If data and clock are on the same port then we can combine setting the data and clock pins</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">register</span> data_t datahi_clockhi = FastPin&lt;DATA_PIN&gt;::hival() | FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">register</span> data_t datalo_clockhi = FastPin&lt;DATA_PIN&gt;::loval() | FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keyword">register</span> data_t datahi_clocklo = FastPin&lt;DATA_PIN&gt;::hival() &amp; ~FastPin&lt;CLOCK_PIN&gt;::mask();</div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keyword">register</span> data_t datalo_clocklo = FastPin&lt;DATA_PIN&gt;::loval() &amp; ~FastPin&lt;CLOCK_PIN&gt;::mask();</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">register</span> data_t datahi_clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>() | <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">register</span> data_t datalo_clockhi = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>() | <a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keyword">register</span> data_t datahi_clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::hival</a>() &amp; ~<a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keyword">register</span> data_t datalo_clocklo = <a class="code" href="class_fast_pin.html">FastPin&lt;DATA_PIN&gt;::loval</a>() &amp; ~<a class="code" href="class_fast_pin.html">FastPin&lt;CLOCK_PIN&gt;::mask</a>();</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">while</span>(pixels.has(1)) {</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(FLAGS &amp; FLAG_START_BIT) {</div>
@@ -441,10 +441,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="struct_pixel_controller_html"><div class="ttname"><a href="struct_pixel_controller.html">PixelController</a></div><div class="ttdef"><b>Definition:</b> controller.h:158</div></div>
<div class="ttc" id="class_selectable_html"><div class="ttname"><a href="class_selectable.html">Selectable</a></div><div class="ttdef"><b>Definition:</b> fastpin.h:14</div></div>
<div class="ttc" id="class_a_v_r_software_s_p_i_output_html"><div class="ttname"><a href="class_a_v_r_software_s_p_i_output.html">AVRSoftwareSPIOutput</a></div><div class="ttdef"><b>Definition:</b> fastspi_bitbang.h:13</div></div>
+<div class="ttc" id="class_fast_pin_html"><div class="ttname"><a href="class_fast_pin.html">FastPin</a></div><div class="ttdoc">The simplest level of Pin class. </div><div class="ttdef"><b>Definition:</b> fastpin.h:89</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastspi__dma_8h_source.html b/docs/3.1/fastspi__dma_8h_source.html
index 0b8d9be2..74527de8 100644
--- a/docs/3.1/fastspi__dma_8h_source.html
+++ b/docs/3.1/fastspi__dma_8h_source.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="fragment"></div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastspi__nop_8h_source.html b/docs/3.1/fastspi__nop_8h_source.html
index 6f3f52f7..cd3dc02f 100644
--- a/docs/3.1/fastspi__nop_8h_source.html
+++ b/docs/3.1/fastspi__nop_8h_source.html
@@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastspi__ref_8h_source.html b/docs/3.1/fastspi__ref_8h_source.html
index 409c9b37..9ef9a030 100644
--- a/docs/3.1/fastspi__ref_8h_source.html
+++ b/docs/3.1/fastspi__ref_8h_source.html
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/fastspi__types_8h_source.html b/docs/3.1/fastspi__types_8h_source.html
index 7f6cd0a8..9502eab2 100644
--- a/docs/3.1/fastspi__types_8h_source.html
+++ b/docs/3.1/fastspi__types_8h_source.html
@@ -115,11 +115,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#define MAX_DATA_RATE 0</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="ttc" id="class_d_a_t_a___n_o_p_html"><div class="ttname"><a href="class_d_a_t_a___n_o_p.html">DATA_NOP</a></div><div class="ttdef"><b>Definition:</b> fastspi_types.h:16</div></div>
+<div class="ttc" id="class_d_a_t_a___n_o_p_html"><div class="ttname"><a href="class_d_a_t_a___n_o_p.html">DATA_NOP</a></div><div class="ttdoc">Some of the SPI controllers will need to perform a transform on each byte before doing anyting with i...</div><div class="ttdef"><b>Definition:</b> fastspi_types.h:16</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/files.html b/docs/3.1/files.html
index 23203003..d6224b89 100644
--- a/docs/3.1/files.html
+++ b/docs/3.1/files.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/functions.html b/docs/3.1/functions.html
index 6445186c..8c64e35a 100644
--- a/docs/3.1/functions.html
+++ b/docs/3.1/functions.html
@@ -90,14 +90,59 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
+<li>addLeds()
+: <a class="el" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">CFastLED</a>
+</li>
+<li>count()
+: <a class="el" href="class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6">CFastLED</a>
+</li>
+<li>countFPS()
+: <a class="el" href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">CFastLED</a>
+</li>
+<li>delay()
+: <a class="el" href="class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202">CFastLED</a>
+</li>
+<li>getBrightness()
+: <a class="el" href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716">CFastLED</a>
+</li>
+<li>getFPS()
+: <a class="el" href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd">CFastLED</a>
+</li>
+<li>leds()
+: <a class="el" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">CFastLED</a>
+</li>
+<li>operator[]()
+: <a class="el" href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">CFastLED</a>
+</li>
+<li>setBrightness()
+: <a class="el" href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb">CFastLED</a>
+</li>
+<li>setCorrection()
+: <a class="el" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">CFastLED</a>
+</li>
+<li>setDither()
+: <a class="el" href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">CFastLED</a>
+</li>
+<li>setMaxRefreshRate()
+: <a class="el" href="class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed">CFastLED</a>
+</li>
+<li>setTemperature()
+: <a class="el" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">CFastLED</a>
+</li>
<li>show()
-: <a class="el" href="class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b">CFastLED</a>
+: <a class="el" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">CFastLED</a>
+</li>
+<li>showColor()
+: <a class="el" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">CFastLED</a>
+</li>
+<li>size()
+: <a class="el" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">CFastLED</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/functions_func.html b/docs/3.1/functions_func.html
index f1989699..94bd3a21 100644
--- a/docs/3.1/functions_func.html
+++ b/docs/3.1/functions_func.html
@@ -90,14 +90,59 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
&#160;<ul>
+<li>addLeds()
+: <a class="el" href="class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f">CFastLED</a>
+</li>
+<li>count()
+: <a class="el" href="class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6">CFastLED</a>
+</li>
+<li>countFPS()
+: <a class="el" href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">CFastLED</a>
+</li>
+<li>delay()
+: <a class="el" href="class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202">CFastLED</a>
+</li>
+<li>getBrightness()
+: <a class="el" href="class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716">CFastLED</a>
+</li>
+<li>getFPS()
+: <a class="el" href="class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd">CFastLED</a>
+</li>
+<li>leds()
+: <a class="el" href="class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766">CFastLED</a>
+</li>
+<li>operator[]()
+: <a class="el" href="class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b">CFastLED</a>
+</li>
+<li>setBrightness()
+: <a class="el" href="class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb">CFastLED</a>
+</li>
+<li>setCorrection()
+: <a class="el" href="class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282">CFastLED</a>
+</li>
+<li>setDither()
+: <a class="el" href="class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36">CFastLED</a>
+</li>
+<li>setMaxRefreshRate()
+: <a class="el" href="class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed">CFastLED</a>
+</li>
+<li>setTemperature()
+: <a class="el" href="class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f">CFastLED</a>
+</li>
<li>show()
-: <a class="el" href="class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b">CFastLED</a>
+: <a class="el" href="class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de">CFastLED</a>
+</li>
+<li>showColor()
+: <a class="el" href="class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0">CFastLED</a>
+</li>
+<li>size()
+: <a class="el" href="class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0">CFastLED</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/hierarchy.html b/docs/3.1/hierarchy.html
index 904c6b2a..ffad10f1 100644
--- a/docs/3.1/hierarchy.html
+++ b/docs/3.1/hierarchy.html
@@ -89,69 +89,102 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class___d_u_e_p_i_n.html" target="_self">_DUEPIN&lt; PIN, _MASK, _ODR, _BSRR, _BRR &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_v_r_software_s_p_i_output.html" target="_self">AVRSoftwareSPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_v_r_software_s_p_i_output.html" target="_self">AVRSoftwareSPIOutput&lt; _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_software_s_p_i_output.html" target="_self">SoftwareSPIOutput&lt; _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output.html" target="_self">SPIOutput&lt; _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_2_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output.html" target="_self">SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_fast_l_e_d.html" target="_self">CFastLED</a></td><td class="desc"></td></tr>
-<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_h_s_v.html" target="_self">CHSV</a></td><td class="desc"></td></tr>
-<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette16.html" target="_self">CHSVPalette16</a></td><td class="desc"></td></tr>
-<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette256.html" target="_self">CHSVPalette256</a></td><td class="desc"></td></tr>
-<tr id="row_7_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_l_e_d_controller.html" target="_self">CLEDController</a></td><td class="desc"></td></tr>
-<tr id="row_7_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_p_a102_controller.html" target="_self">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_7_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_deep_pixel_controller.html" target="_self">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_7_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d8806_controller.html" target="_self">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_7_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_p9813_controller.html" target="_self">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_7_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_m16716_controller.html" target="_self">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_7_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_7_5_" class="arrow" onclick="toggleFolder('7_5_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2801_controller.html" target="_self">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_7_5_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2803_controller.html" target="_self">WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>ClocklessController</b></td><td class="desc"></td></tr>
-<tr id="row_8_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_0_" class="arrow" onclick="toggleFolder('8_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller400_khz.html" target="_self">GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205__400.html" target="_self">GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_1_" class="arrow" onclick="toggleFolder('8_1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller800_khz.html" target="_self">GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205.html" target="_self">GW6205&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_2_" class="arrow" onclick="toggleFolder('8_2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886_controller1250_khz.html" target="_self">LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886.html" target="_self">LPD1886&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_3_" class="arrow" onclick="toggleFolder('8_3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803_controller400_khz.html" target="_self">TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_3_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803.html" target="_self">TM1803&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_4_" class="arrow" onclick="toggleFolder('8_4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809_controller800_khz.html" target="_self">TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_4_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1804.html" target="_self">TM1804&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_4_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809.html" target="_self">TM1809&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller1600_khz.html" target="_self">TM1829Controller1600Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_6_" class="arrow" onclick="toggleFolder('8_6_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller800_khz.html" target="_self">TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_6_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829.html" target="_self">TM1829&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_7_" class="arrow" onclick="toggleFolder('8_7_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b_controller800_khz.html" target="_self">UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_7_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b.html" target="_self">UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_8_" class="arrow" onclick="toggleFolder('8_8_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_controller400_khz.html" target="_self">UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_8_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903.html" target="_self">UCS1903&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_9_" class="arrow" onclick="toggleFolder('8_9_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller400_khz.html" target="_self">WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_9_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811__400.html" target="_self">WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_10_" class="arrow" onclick="toggleFolder('8_10_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_10_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_p_a104.html" target="_self">APA104&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_10_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811.html" target="_self">WS2811&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_10_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812.html" target="_self">WS2812&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_10_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812_b.html" target="_self">WS2812B&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_11_" class="arrow" onclick="toggleFolder('8_11_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_8_11_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_n_e_o_p_i_x_e_l.html" target="_self">NEOPIXEL&lt; DATA_PIN &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_min_wait.html" target="_self">CMinWait&lt; WAIT &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_min_wait.html" target="_self">CMinWait&lt; 1000 &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_r_g_b.html" target="_self">CRGB</a></td><td class="desc"></td></tr>
-<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette16.html" target="_self">CRGBPalette16</a></td><td class="desc"></td></tr>
-<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette256.html" target="_self">CRGBPalette256</a></td><td class="desc"></td></tr>
-<tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_a_t_a___n_o_p.html" target="_self">DATA_NOP</a></td><td class="desc"></td></tr>
-<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="union_i_e_e_e754binary32__t.html" target="_self">IEEE754binary32_t</a></td><td class="desc"></td></tr>
-<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multi_pixel_controller.html" target="_self">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_pixel_controller.html" target="_self">PixelController&lt; RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classq.html" target="_self">q&lt; T, F, I &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_selectable.html" target="_self">Selectable</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class___d_u_e_p_i_n.html" target="_self">_DUEPIN&lt; PIN, _MASK, _ODR, _BSRR, _BRR &gt;</a></td><td class="desc">Template definition for STM32 style ARM pins, providing direct access to the various GPIO registers </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>ARMHardwareSPIOutput</b></td><td class="desc"></td></tr>
+<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html" target="_self">SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html" target="_self">SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>AVRHardwareSPIOutput</b></td><td class="desc"></td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html" target="_self">SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_v_r_software_s_p_i_output.html" target="_self">AVRSoftwareSPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_4_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_v_r_software_s_p_i_output.html" target="_self">AVRSoftwareSPIOutput&lt; _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_4_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_software_s_p_i_output.html" target="_self">SoftwareSPIOutput&lt; _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_4_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output.html" target="_self">SPIOutput&lt; _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_4_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output.html" target="_self">SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionbitswap__type.html" target="_self">bitswap_type</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_fast_l_e_d.html" target="_self">CFastLED</a></td><td class="desc">High level controller interface for FastLED </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_fast_noise16.html" target="_self">CFastNoise16</a></td><td class="desc">Class for accessing 16 bit noise </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_h_s_v.html" target="_self">CHSV</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette16.html" target="_self">CHSVPalette16</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_h_s_v_palette256.html" target="_self">CHSVPalette256</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_l_e_d_controller.html" target="_self">CLEDController</a></td><td class="desc">Base definition for an LED controller </td></tr>
+<tr id="row_11_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_p_a102_controller.html" target="_self">APA102Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_deep_pixel_controller.html" target="_self">DeepPixelController&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_11_2_" class="arrow" onclick="toggleFolder('11_2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_serial_controller.html" target="_self">DMXSerialController&lt; RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_2_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_s_e_r_i_a_l.html" target="_self">DMXSERIAL&lt; RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_11_3_" class="arrow" onclick="toggleFolder('11_3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_simple_controller.html" target="_self">DMXSimpleController&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_3_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_m_x_s_i_m_p_l_e.html" target="_self">DMXSIMPLE&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d8806_controller.html" target="_self">LPD8806Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_p9813_controller.html" target="_self">P9813Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_m16716_controller.html" target="_self">SM16716Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_11_7_" class="arrow" onclick="toggleFolder('11_7_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2801_controller.html" target="_self">WS2801Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_11_7_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2803_controller.html" target="_self">WS2803Controller&lt; DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>ClocklessController</b></td><td class="desc"></td></tr>
+<tr id="row_12_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_0_" class="arrow" onclick="toggleFolder('12_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller400_khz.html" target="_self">GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205__400.html" target="_self">GW6205_400&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller400_khz.html" target="_self">GW6205Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_2_" class="arrow" onclick="toggleFolder('12_2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller800_khz.html" target="_self">GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205.html" target="_self">GW6205&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_g_w6205_controller800_khz.html" target="_self">GW6205Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_4_" class="arrow" onclick="toggleFolder('12_4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886_controller1250_khz.html" target="_self">LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_4_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886.html" target="_self">LPD1886&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_l_p_d1886_controller1250_khz.html" target="_self">LPD1886Controller1250Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_6_" class="arrow" onclick="toggleFolder('12_6_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803_controller400_khz.html" target="_self">TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_6_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803.html" target="_self">TM1803&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1803_controller400_khz.html" target="_self">TM1803Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_8_" class="arrow" onclick="toggleFolder('12_8_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809_controller800_khz.html" target="_self">TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_8_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1804.html" target="_self">TM1804&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_8_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809.html" target="_self">TM1809&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_9_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1809_controller800_khz.html" target="_self">TM1809Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller1600_khz.html" target="_self">TM1829Controller1600Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_11_" class="arrow" onclick="toggleFolder('12_11_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller800_khz.html" target="_self">TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_11_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829.html" target="_self">TM1829&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_t_m1829_controller800_khz.html" target="_self">TM1829Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_13_" class="arrow" onclick="toggleFolder('12_13_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b_controller800_khz.html" target="_self">UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_13_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b.html" target="_self">UCS1903B&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_14_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_b_controller800_khz.html" target="_self">UCS1903BController800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_15_" class="arrow" onclick="toggleFolder('12_15_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_controller400_khz.html" target="_self">UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_15_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903.html" target="_self">UCS1903&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_u_c_s1903_controller400_khz.html" target="_self">UCS1903Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_17_" class="arrow" onclick="toggleFolder('12_17_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller400_khz.html" target="_self">WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_17_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811__400.html" target="_self">WS2811_400&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_18_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller400_khz.html" target="_self">WS2811Controller400Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_19_" class="arrow" onclick="toggleFolder('12_19_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_19_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_a_p_a104.html" target="_self">APA104&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_19_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811.html" target="_self">WS2811&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_19_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812.html" target="_self">WS2812&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_19_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2812_b.html" target="_self">WS2812B&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_20_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz&lt; DATA_PIN, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_12_21_" class="arrow" onclick="toggleFolder('12_21_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_21_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_n_e_o_p_i_x_e_l.html" target="_self">NEOPIXEL&lt; DATA_PIN &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_12_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_w_s2811_controller800_khz.html" target="_self">WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_min_wait.html" target="_self">CMinWait&lt; WAIT &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_min_wait.html" target="_self">CMinWait&lt; 1000 &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_r_g_b.html" target="_self">CRGB</a></td><td class="desc"></td></tr>
+<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette16.html" target="_self">CRGBPalette16</a></td><td class="desc"></td></tr>
+<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_r_g_b_palette256.html" target="_self">CRGBPalette256</a></td><td class="desc"></td></tr>
+<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d_a_t_a___n_o_p.html" target="_self">DATA_NOP</a></td><td class="desc">Some of the SPI controllers will need to perform a transform on each byte before doing anyting with it </td></tr>
+<tr id="row_19_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_19_" class="arrow" onclick="toggleFolder('19_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_fast_pin.html" target="_self">FastPin&lt; PIN &gt;</a></td><td class="desc">The simplest level of <a class="el" href="class_pin.html">Pin</a> class </td></tr>
+<tr id="row_19_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_fast_pin_b_b.html" target="_self">FastPinBB&lt; PIN &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_fast_pin.html" target="_self">FastPin&lt; CLOCK_PIN &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="union_i_e_e_e754binary32__t.html" target="_self">IEEE754binary32_t</a></td><td class="desc"></td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionjust8bits.html" target="_self">just8bits</a></td><td class="desc"></td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multi_pixel_controller.html" target="_self">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_pixel_controller.html" target="_self">PixelController&lt; RGB_ORDER &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classq.html" target="_self">q&lt; T, F, I &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_26_" class="arrow" onclick="toggleFolder('26_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>SAMHardwareSPIOutput</b></td><td class="desc"></td></tr>
+<tr id="row_26_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html" target="_self">SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_27_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_27_" class="arrow" onclick="toggleFolder('27_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_selectable.html" target="_self">Selectable</a></td><td class="desc"></td></tr>
+<tr id="row_27_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_27_0_" class="arrow" onclick="toggleFolder('27_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_pin.html" target="_self">Pin</a></td><td class="desc"></td></tr>
+<tr id="row_27_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_input_pin.html" target="_self">InputPin</a></td><td class="desc"></td></tr>
+<tr id="row_27_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_output_pin.html" target="_self">OutputPin</a></td><td class="desc"></td></tr>
+<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsub4.html" target="_self">sub4</a></td><td class="desc"></td></tr>
+<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="uniont_bytes_for_long.html" target="_self">tBytesForLong</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/hsv2rgb_8h_source.html b/docs/3.1/hsv2rgb_8h_source.html
index 37b951ed..9b069198 100644
--- a/docs/3.1/hsv2rgb_8h_source.html
+++ b/docs/3.1/hsv2rgb_8h_source.html
@@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/index.html b/docs/3.1/index.html
index 1c465af1..41e62bf3 100644
--- a/docs/3.1/index.html
+++ b/docs/3.1/index.html
@@ -82,7 +82,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/led__sysdefs_8h_source.html b/docs/3.1/led__sysdefs_8h_source.html
index 94963ae0..91cd5f8e 100644
--- a/docs/3.1/led__sysdefs_8h_source.html
+++ b/docs/3.1/led__sysdefs_8h_source.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/lib8tion_8h_source.html b/docs/3.1/lib8tion_8h_source.html
index 60bbab69..480af8b1 100644
--- a/docs/3.1/lib8tion_8h_source.html
+++ b/docs/3.1/lib8tion_8h_source.html
@@ -1943,7 +1943,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/md__r_e_a_d_m_e.html b/docs/3.1/md__r_e_a_d_m_e.html
index 79b08a23..8571ee7d 100644
--- a/docs/3.1/md__r_e_a_d_m_e.html
+++ b/docs/3.1/md__r_e_a_d_m_e.html
@@ -135,7 +135,7 @@ void loop() {
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/md__t_o_d_o.html b/docs/3.1/md__t_o_d_o.html
index a248c46b..8d4307ba 100644
--- a/docs/3.1/md__t_o_d_o.html
+++ b/docs/3.1/md__t_o_d_o.html
@@ -89,7 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>[ ] Re-test <a class="el" href="class_l_p_d1886.html">LPD1886</a></li>
<li>[ ] Improve performance of <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController</a></li>
<li>[ ] Re-arrange header files into platform/architecture specific subdirectories</li>
-<li>[ ] Make sure all platforms have Pin versions of FastPin classes for dynamic pin access?</li>
+<li>[ ] Make sure all platforms have <a class="el" href="class_pin.html">Pin</a> versions of <a class="el" href="class_fast_pin.html" title="The simplest level of Pin class. ">FastPin</a> classes for dynamic pin access?</li>
<li>[ ] Modify SPI classes to acquire/release SPI hardware resources on starting/finishing writing led data</li>
<li>[ ] Extend parallelization to 24-30 way on due, 20 way on teensy3.1?</li>
<li>[ ] Arduino Yun support?</li>
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/md_release_notes.html b/docs/3.1/md_release_notes.html
index 074eb546..2a179077 100644
--- a/docs/3.1/md_release_notes.html
+++ b/docs/3.1/md_release_notes.html
@@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</ul>
<h2>Preview 2</h2>
<ul>
-<li>Rename pin class to FastPin</li>
+<li>Rename pin class to <a class="el" href="class_fast_pin.html" title="The simplest level of Pin class. ">FastPin</a></li>
<li>Replace latch with select, more accurate description of what it does</li>
<li>Enforce intra-frame timing for ws2801s</li>
<li>SM16716 support</li>
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/noise_8h_source.html b/docs/3.1/noise_8h_source.html
index 2b04d216..8b504d01 100644
--- a/docs/3.1/noise_8h_source.html
+++ b/docs/3.1/noise_8h_source.html
@@ -88,11 +88,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define __INC_NOISE_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#if 0</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">class </span>CFastNoise16 {</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">class </span><a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> {</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; CFastNoise16 &amp;setOrigin(uint32_t x, uint32_t y, uint32_t z);</div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; CFastNoise16 &amp;setOrigin(uint32_t x, uint32_t y);</div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; CFastNoise16 &amp;setOrigin(uint32_t x);</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setOrigin(uint32_t x, uint32_t y, uint32_t z);</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setOrigin(uint32_t x, uint32_t y);</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setOrigin(uint32_t x);</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; uint32_t getX();</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; uint32_t getY();</div>
@@ -103,15 +103,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; uint32_t getOrigin(uint32_t &amp; x, uint32_t &amp; y);</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; uint32_t getOrigin(uint32_t &amp; x);</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; CFastNoise16 &amp;advance(int32_t x, int32_t y, int32_t z);</div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; CFastNoise16 &amp;advance(int32_t x, int32_t y;</div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; CFastNoise16 &amp;advance(int32_t x);</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;advance(int32_t x, int32_t y, int32_t z);</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;advance(int32_t x, int32_t y;</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;advance(int32_t x);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; CFastNoise16 &amp;advanceTime(int32_t t);</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;advanceTime(int32_t t);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; CFastNoise16 &amp;setScale(int32_t x_scale, int32_t y_scale, int32_t z_scale);</div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; CFastNoise16 &amp;setScale(int32_t x_scale, int32_t y_scale);</div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; CFastNoise16 &amp;setScale(int32_t x_scale);</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setScale(int32_t x_scale, int32_t y_scale, int32_t z_scale);</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setScale(int32_t x_scale, int32_t y_scale);</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setScale(int32_t x_scale);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; int32_t getScaleX();</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; int32_t getScaleY();</div>
@@ -120,14 +120,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordtype">void</span> getScale(int32_t &amp; x, int32_t &amp; y);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">void</span> getScale(int32_t &amp; x);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; CFastNoise16 &amp;setAmplitude(fract16 amplitude);</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setAmplitude(fract16 amplitude);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; CFastNoise16 &amp;setFrequency(<a class="code" href="classq.html">q88</a> frequency);</div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; CFastNoise16 &amp;setTime(uint32_t time);</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setFrequency(<a class="code" href="classq.html">q88</a> frequency);</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setTime(uint32_t time);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; CFastNoise16 &amp;setOctaves(<span class="keywordtype">int</span> octaves);</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setOctaves(<span class="keywordtype">int</span> octaves);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; CFastNoise16 &amp;setOctaveBlur(<span class="keywordtype">bool</span> blurOctaves);</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="class_c_fast_noise16.html">CFastNoise16</a> &amp;setOctaveBlur(<span class="keywordtype">bool</span> blurOctaves);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">void</span> getNoise(uint32_t x, uint32_t y, uint32_t z);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">void</span> getNoise(uint32_t x, uint32_t y);</div>
@@ -199,11 +199,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="struct_c_r_g_b_html"><div class="ttname"><a href="struct_c_r_g_b.html">CRGB</a></div><div class="ttdef"><b>Definition:</b> pixeltypes.h:81</div></div>
+<div class="ttc" id="class_c_fast_noise16_html"><div class="ttname"><a href="class_c_fast_noise16.html">CFastNoise16</a></div><div class="ttdoc">Class for accessing 16 bit noise. </div><div class="ttdef"><b>Definition:</b> noise.h:7</div></div>
<div class="ttc" id="classq_html"><div class="ttname"><a href="classq.html">q</a></div><div class="ttdef"><b>Definition:</b> lib8tion.h:1726</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/pages.html b/docs/3.1/pages.html
index a2be0cfa..ed6f1ff9 100644
--- a/docs/3.1/pages.html
+++ b/docs/3.1/pages.html
@@ -84,12 +84,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__r_e_a_d_m_e.html" target="_self">README</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md_release_notes.html" target="_self">FastLED3.0</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__t_o_d_o.html" target="_self">TODO</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="todo.html" target="_self">Todo List</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/pixeltypes_8h_source.html b/docs/3.1/pixeltypes_8h_source.html
index 59c8cb1a..5353dbf5 100644
--- a/docs/3.1/pixeltypes_8h_source.html
+++ b/docs/3.1/pixeltypes_8h_source.html
@@ -817,7 +817,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/platforms_8h_source.html b/docs/3.1/platforms_8h_source.html
index 43f6eb8a..286cf468 100644
--- a/docs/3.1/platforms_8h_source.html
+++ b/docs/3.1/platforms_8h_source.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/power__mgt_8h_source.html b/docs/3.1/power__mgt_8h_source.html
index 14369458..7de36772 100644
--- a/docs/3.1/power__mgt_8h_source.html
+++ b/docs/3.1/power__mgt_8h_source.html
@@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/search/all_1.js b/docs/3.1/search/all_1.js
index bf625714..02222ec5 100644
--- a/docs/3.1/search/all_1.js
+++ b/docs/3.1/search/all_1.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['addleds',['addLeds',['../class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f',1,'CFastLED::addLeds(CLEDController *pLed, struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#a79df28eb68fc2062b995f9000aed274c',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)']]],
['apa102controller',['APA102Controller',['../class_a_p_a102_controller.html',1,'']]],
['apa104',['APA104',['../class_a_p_a104.html',1,'']]],
['avrsoftwarespioutput',['AVRSoftwareSPIOutput',['../class_a_v_r_software_s_p_i_output.html',1,'']]],
diff --git a/docs/3.1/search/all_10.js b/docs/3.1/search/all_10.js
index 93cebf51..d583970f 100644
--- a/docs/3.1/search/all_10.js
+++ b/docs/3.1/search/all_10.js
@@ -1,12 +1,19 @@
var searchData=
[
- ['ws2801controller',['WS2801Controller',['../class_w_s2801_controller.html',1,'']]],
- ['ws2803controller',['WS2803Controller',['../class_w_s2803_controller.html',1,'']]],
- ['ws2811',['WS2811',['../class_w_s2811.html',1,'']]],
- ['ws2811_5f400',['WS2811_400',['../class_w_s2811__400.html',1,'']]],
- ['ws2811controller400khz',['WS2811Controller400Khz',['../class_w_s2811_controller400_khz.html',1,'']]],
- ['ws2811controller800khz',['WS2811Controller800Khz',['../class_w_s2811_controller800_khz.html',1,'']]],
- ['ws2811controller800khz_3c_20data_5fpin_2c_20grb_20_3e',['WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;',['../class_w_s2811_controller800_khz.html',1,'']]],
- ['ws2812',['WS2812',['../class_w_s2812.html',1,'']]],
- ['ws2812b',['WS2812B',['../class_w_s2812_b.html',1,'']]]
+ ['selectable',['Selectable',['../class_selectable.html',1,'']]],
+ ['setbrightness',['setBrightness',['../class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb',1,'CFastLED']]],
+ ['setcorrection',['setCorrection',['../class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282',1,'CFastLED']]],
+ ['setdither',['setDither',['../class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36',1,'CFastLED']]],
+ ['setmaxrefreshrate',['setMaxRefreshRate',['../class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed',1,'CFastLED']]],
+ ['settemperature',['setTemperature',['../class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f',1,'CFastLED']]],
+ ['show',['show',['../class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b',1,'CFastLED::show(uint8_t scale)'],['../class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de',1,'CFastLED::show()']]],
+ ['showcolor',['showColor',['../class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0',1,'CFastLED::showColor(const struct CRGB &amp;color, uint8_t scale)'],['../class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9',1,'CFastLED::showColor(const struct CRGB &amp;color)']]],
+ ['size',['size',['../class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0',1,'CFastLED']]],
+ ['sm16716controller',['SM16716Controller',['../class_s_m16716_controller.html',1,'']]],
+ ['softwarespioutput',['SoftwareSPIOutput',['../class_software_s_p_i_output.html',1,'']]],
+ ['spioutput',['SPIOutput',['../class_s_p_i_output.html',1,'']]],
+ ['spioutput_3c_20data_5fpin_2c_20clock_5fpin_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;',['../class_s_p_i_output.html',1,'']]],
+ ['spioutput_3c_20spi2_5fdata_2c_20spi2_5fclock_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;',['../class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html',1,'']]],
+ ['spioutput_3c_20spi_5fdata_2c_20spi_5fclock_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;',['../class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html',1,'']]],
+ ['sub4',['sub4',['../structsub4.html',1,'']]]
];
diff --git a/docs/3.1/search/all_11.html b/docs/3.1/search/all_11.html
new file mode 100644
index 00000000..fda6861d
--- /dev/null
+++ b/docs/3.1/search/all_11.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/all_11.js b/docs/3.1/search/all_11.js
new file mode 100644
index 00000000..e46697cb
--- /dev/null
+++ b/docs/3.1/search/all_11.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['todo',['TODO',['../md__t_o_d_o.html',1,'']]],
+ ['tbytesforlong',['tBytesForLong',['../uniont_bytes_for_long.html',1,'']]],
+ ['tm1803',['TM1803',['../class_t_m1803.html',1,'']]],
+ ['tm1803controller400khz',['TM1803Controller400Khz',['../class_t_m1803_controller400_khz.html',1,'']]],
+ ['tm1804',['TM1804',['../class_t_m1804.html',1,'']]],
+ ['tm1809',['TM1809',['../class_t_m1809.html',1,'']]],
+ ['tm1809controller800khz',['TM1809Controller800Khz',['../class_t_m1809_controller800_khz.html',1,'']]],
+ ['tm1829',['TM1829',['../class_t_m1829.html',1,'']]],
+ ['tm1829controller1600khz',['TM1829Controller1600Khz',['../class_t_m1829_controller1600_khz.html',1,'']]],
+ ['tm1829controller800khz',['TM1829Controller800Khz',['../class_t_m1829_controller800_khz.html',1,'']]],
+ ['todo_20list',['Todo List',['../todo.html',1,'']]]
+];
diff --git a/docs/3.1/search/all_12.html b/docs/3.1/search/all_12.html
new file mode 100644
index 00000000..fe96a790
--- /dev/null
+++ b/docs/3.1/search/all_12.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/all_12.js b/docs/3.1/search/all_12.js
new file mode 100644
index 00000000..6f848333
--- /dev/null
+++ b/docs/3.1/search/all_12.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['ucs1903',['UCS1903',['../class_u_c_s1903.html',1,'']]],
+ ['ucs1903b',['UCS1903B',['../class_u_c_s1903_b.html',1,'']]],
+ ['ucs1903bcontroller800khz',['UCS1903BController800Khz',['../class_u_c_s1903_b_controller800_khz.html',1,'']]],
+ ['ucs1903controller400khz',['UCS1903Controller400Khz',['../class_u_c_s1903_controller400_khz.html',1,'']]]
+];
diff --git a/docs/3.1/search/all_13.html b/docs/3.1/search/all_13.html
new file mode 100644
index 00000000..f75c009c
--- /dev/null
+++ b/docs/3.1/search/all_13.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/all_13.js b/docs/3.1/search/all_13.js
new file mode 100644
index 00000000..93cebf51
--- /dev/null
+++ b/docs/3.1/search/all_13.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['ws2801controller',['WS2801Controller',['../class_w_s2801_controller.html',1,'']]],
+ ['ws2803controller',['WS2803Controller',['../class_w_s2803_controller.html',1,'']]],
+ ['ws2811',['WS2811',['../class_w_s2811.html',1,'']]],
+ ['ws2811_5f400',['WS2811_400',['../class_w_s2811__400.html',1,'']]],
+ ['ws2811controller400khz',['WS2811Controller400Khz',['../class_w_s2811_controller400_khz.html',1,'']]],
+ ['ws2811controller800khz',['WS2811Controller800Khz',['../class_w_s2811_controller800_khz.html',1,'']]],
+ ['ws2811controller800khz_3c_20data_5fpin_2c_20grb_20_3e',['WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;',['../class_w_s2811_controller800_khz.html',1,'']]],
+ ['ws2812',['WS2812',['../class_w_s2812.html',1,'']]],
+ ['ws2812b',['WS2812B',['../class_w_s2812_b.html',1,'']]]
+];
diff --git a/docs/3.1/search/all_2.js b/docs/3.1/search/all_2.js
index 3ec93cd1..de7976eb 100644
--- a/docs/3.1/search/all_2.js
+++ b/docs/3.1/search/all_2.js
@@ -1,13 +1,4 @@
var searchData=
[
- ['cfastled',['CFastLED',['../class_c_fast_l_e_d.html',1,'']]],
- ['chsv',['CHSV',['../struct_c_h_s_v.html',1,'']]],
- ['chsvpalette16',['CHSVPalette16',['../class_c_h_s_v_palette16.html',1,'']]],
- ['chsvpalette256',['CHSVPalette256',['../class_c_h_s_v_palette256.html',1,'']]],
- ['cledcontroller',['CLEDController',['../class_c_l_e_d_controller.html',1,'']]],
- ['cminwait',['CMinWait',['../class_c_min_wait.html',1,'']]],
- ['cminwait_3c_201000_20_3e',['CMinWait&lt; 1000 &gt;',['../class_c_min_wait.html',1,'']]],
- ['crgb',['CRGB',['../struct_c_r_g_b.html',1,'']]],
- ['crgbpalette16',['CRGBPalette16',['../class_c_r_g_b_palette16.html',1,'']]],
- ['crgbpalette256',['CRGBPalette256',['../class_c_r_g_b_palette256.html',1,'']]]
+ ['bitswap_5ftype',['bitswap_type',['../unionbitswap__type.html',1,'']]]
];
diff --git a/docs/3.1/search/all_3.js b/docs/3.1/search/all_3.js
index f3337fee..ddb4d960 100644
--- a/docs/3.1/search/all_3.js
+++ b/docs/3.1/search/all_3.js
@@ -1,5 +1,16 @@
var searchData=
[
- ['data_5fnop',['DATA_NOP',['../class_d_a_t_a___n_o_p.html',1,'']]],
- ['deeppixelcontroller',['DeepPixelController',['../class_deep_pixel_controller.html',1,'']]]
+ ['cfastled',['CFastLED',['../class_c_fast_l_e_d.html',1,'']]],
+ ['cfastnoise16',['CFastNoise16',['../class_c_fast_noise16.html',1,'']]],
+ ['chsv',['CHSV',['../struct_c_h_s_v.html',1,'']]],
+ ['chsvpalette16',['CHSVPalette16',['../class_c_h_s_v_palette16.html',1,'']]],
+ ['chsvpalette256',['CHSVPalette256',['../class_c_h_s_v_palette256.html',1,'']]],
+ ['cledcontroller',['CLEDController',['../class_c_l_e_d_controller.html',1,'']]],
+ ['cminwait',['CMinWait',['../class_c_min_wait.html',1,'']]],
+ ['cminwait_3c_201000_20_3e',['CMinWait&lt; 1000 &gt;',['../class_c_min_wait.html',1,'']]],
+ ['count',['count',['../class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6',1,'CFastLED']]],
+ ['countfps',['countFPS',['../class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32',1,'CFastLED']]],
+ ['crgb',['CRGB',['../struct_c_r_g_b.html',1,'']]],
+ ['crgbpalette16',['CRGBPalette16',['../class_c_r_g_b_palette16.html',1,'']]],
+ ['crgbpalette256',['CRGBPalette256',['../class_c_r_g_b_palette256.html',1,'']]]
];
diff --git a/docs/3.1/search/all_4.js b/docs/3.1/search/all_4.js
index 6d85403d..10e24d3e 100644
--- a/docs/3.1/search/all_4.js
+++ b/docs/3.1/search/all_4.js
@@ -1,4 +1,10 @@
var searchData=
[
- ['fastled3_2e0',['FastLED3.0',['../md_release_notes.html',1,'']]]
+ ['data_5fnop',['DATA_NOP',['../class_d_a_t_a___n_o_p.html',1,'']]],
+ ['deeppixelcontroller',['DeepPixelController',['../class_deep_pixel_controller.html',1,'']]],
+ ['delay',['delay',['../class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202',1,'CFastLED']]],
+ ['dmxserial',['DMXSERIAL',['../class_d_m_x_s_e_r_i_a_l.html',1,'']]],
+ ['dmxserialcontroller',['DMXSerialController',['../class_d_m_x_serial_controller.html',1,'']]],
+ ['dmxsimple',['DMXSIMPLE',['../class_d_m_x_s_i_m_p_l_e.html',1,'']]],
+ ['dmxsimplecontroller',['DMXSimpleController',['../class_d_m_x_simple_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/all_5.js b/docs/3.1/search/all_5.js
index 7995504d..f418c594 100644
--- a/docs/3.1/search/all_5.js
+++ b/docs/3.1/search/all_5.js
@@ -1,7 +1,7 @@
var searchData=
[
- ['gw6205',['GW6205',['../class_g_w6205.html',1,'']]],
- ['gw6205_5f400',['GW6205_400',['../class_g_w6205__400.html',1,'']]],
- ['gw6205controller400khz',['GW6205Controller400Khz',['../class_g_w6205_controller400_khz.html',1,'']]],
- ['gw6205controller800khz',['GW6205Controller800Khz',['../class_g_w6205_controller800_khz.html',1,'']]]
+ ['fastpin',['FastPin',['../class_fast_pin.html',1,'']]],
+ ['fastpin_3c_20clock_5fpin_20_3e',['FastPin&lt; CLOCK_PIN &gt;',['../class_fast_pin.html',1,'']]],
+ ['fastpinbb',['FastPinBB',['../class_fast_pin_b_b.html',1,'']]],
+ ['fastled3_2e0',['FastLED3.0',['../md_release_notes.html',1,'']]]
];
diff --git a/docs/3.1/search/all_6.js b/docs/3.1/search/all_6.js
index c0a50855..04defdbd 100644
--- a/docs/3.1/search/all_6.js
+++ b/docs/3.1/search/all_6.js
@@ -1,4 +1,9 @@
var searchData=
[
- ['ieee754binary32_5ft',['IEEE754binary32_t',['../union_i_e_e_e754binary32__t.html',1,'']]]
+ ['getbrightness',['getBrightness',['../class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716',1,'CFastLED']]],
+ ['getfps',['getFPS',['../class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd',1,'CFastLED']]],
+ ['gw6205',['GW6205',['../class_g_w6205.html',1,'']]],
+ ['gw6205_5f400',['GW6205_400',['../class_g_w6205__400.html',1,'']]],
+ ['gw6205controller400khz',['GW6205Controller400Khz',['../class_g_w6205_controller400_khz.html',1,'']]],
+ ['gw6205controller800khz',['GW6205Controller800Khz',['../class_g_w6205_controller800_khz.html',1,'']]]
];
diff --git a/docs/3.1/search/all_7.js b/docs/3.1/search/all_7.js
index 81e2ccd8..775ca468 100644
--- a/docs/3.1/search/all_7.js
+++ b/docs/3.1/search/all_7.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['lpd1886',['LPD1886',['../class_l_p_d1886.html',1,'']]],
- ['lpd1886controller1250khz',['LPD1886Controller1250Khz',['../class_l_p_d1886_controller1250_khz.html',1,'']]],
- ['lpd8806controller',['LPD8806Controller',['../class_l_p_d8806_controller.html',1,'']]]
+ ['ieee754binary32_5ft',['IEEE754binary32_t',['../union_i_e_e_e754binary32__t.html',1,'']]],
+ ['inputpin',['InputPin',['../class_input_pin.html',1,'']]]
];
diff --git a/docs/3.1/search/all_8.js b/docs/3.1/search/all_8.js
index 6cab743a..0e8dba7c 100644
--- a/docs/3.1/search/all_8.js
+++ b/docs/3.1/search/all_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['multipixelcontroller',['MultiPixelController',['../struct_multi_pixel_controller.html',1,'']]]
+ ['just8bits',['just8bits',['../unionjust8bits.html',1,'']]]
];
diff --git a/docs/3.1/search/all_9.js b/docs/3.1/search/all_9.js
index 5694348f..bd4e3ed3 100644
--- a/docs/3.1/search/all_9.js
+++ b/docs/3.1/search/all_9.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['neopixel',['NEOPIXEL',['../class_n_e_o_p_i_x_e_l.html',1,'']]]
+ ['leds',['leds',['../class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766',1,'CFastLED']]],
+ ['lpd1886',['LPD1886',['../class_l_p_d1886.html',1,'']]],
+ ['lpd1886controller1250khz',['LPD1886Controller1250Khz',['../class_l_p_d1886_controller1250_khz.html',1,'']]],
+ ['lpd8806controller',['LPD8806Controller',['../class_l_p_d8806_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/all_a.js b/docs/3.1/search/all_a.js
index 5cfba1a1..6cab743a 100644
--- a/docs/3.1/search/all_a.js
+++ b/docs/3.1/search/all_a.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['p9813controller',['P9813Controller',['../class_p9813_controller.html',1,'']]],
- ['pixelcontroller',['PixelController',['../struct_pixel_controller.html',1,'']]]
+ ['multipixelcontroller',['MultiPixelController',['../struct_multi_pixel_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/all_b.js b/docs/3.1/search/all_b.js
index 6feb8274..5694348f 100644
--- a/docs/3.1/search/all_b.js
+++ b/docs/3.1/search/all_b.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['q',['q',['../classq.html',1,'']]]
+ ['neopixel',['NEOPIXEL',['../class_n_e_o_p_i_x_e_l.html',1,'']]]
];
diff --git a/docs/3.1/search/all_c.js b/docs/3.1/search/all_c.js
index b9205585..ef5c415a 100644
--- a/docs/3.1/search/all_c.js
+++ b/docs/3.1/search/all_c.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['readme',['README',['../md__r_e_a_d_m_e.html',1,'']]]
+ ['operator_5b_5d',['operator[]',['../class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b',1,'CFastLED']]],
+ ['outputpin',['OutputPin',['../class_output_pin.html',1,'']]]
];
diff --git a/docs/3.1/search/all_d.js b/docs/3.1/search/all_d.js
index d14168f5..eb497370 100644
--- a/docs/3.1/search/all_d.js
+++ b/docs/3.1/search/all_d.js
@@ -1,9 +1,6 @@
var searchData=
[
- ['selectable',['Selectable',['../class_selectable.html',1,'']]],
- ['show',['show',['../class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b',1,'CFastLED::show(uint8_t scale)'],['../class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de',1,'CFastLED::show()']]],
- ['sm16716controller',['SM16716Controller',['../class_s_m16716_controller.html',1,'']]],
- ['softwarespioutput',['SoftwareSPIOutput',['../class_software_s_p_i_output.html',1,'']]],
- ['spioutput',['SPIOutput',['../class_s_p_i_output.html',1,'']]],
- ['spioutput_3c_20data_5fpin_2c_20clock_5fpin_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;',['../class_s_p_i_output.html',1,'']]]
+ ['p9813controller',['P9813Controller',['../class_p9813_controller.html',1,'']]],
+ ['pin',['Pin',['../class_pin.html',1,'']]],
+ ['pixelcontroller',['PixelController',['../struct_pixel_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/all_e.js b/docs/3.1/search/all_e.js
index 76479d82..6feb8274 100644
--- a/docs/3.1/search/all_e.js
+++ b/docs/3.1/search/all_e.js
@@ -1,12 +1,4 @@
var searchData=
[
- ['todo',['TODO',['../md__t_o_d_o.html',1,'']]],
- ['tm1803',['TM1803',['../class_t_m1803.html',1,'']]],
- ['tm1803controller400khz',['TM1803Controller400Khz',['../class_t_m1803_controller400_khz.html',1,'']]],
- ['tm1804',['TM1804',['../class_t_m1804.html',1,'']]],
- ['tm1809',['TM1809',['../class_t_m1809.html',1,'']]],
- ['tm1809controller800khz',['TM1809Controller800Khz',['../class_t_m1809_controller800_khz.html',1,'']]],
- ['tm1829',['TM1829',['../class_t_m1829.html',1,'']]],
- ['tm1829controller1600khz',['TM1829Controller1600Khz',['../class_t_m1829_controller1600_khz.html',1,'']]],
- ['tm1829controller800khz',['TM1829Controller800Khz',['../class_t_m1829_controller800_khz.html',1,'']]]
+ ['q',['q',['../classq.html',1,'']]]
];
diff --git a/docs/3.1/search/all_f.js b/docs/3.1/search/all_f.js
index 6f848333..b9205585 100644
--- a/docs/3.1/search/all_f.js
+++ b/docs/3.1/search/all_f.js
@@ -1,7 +1,4 @@
var searchData=
[
- ['ucs1903',['UCS1903',['../class_u_c_s1903.html',1,'']]],
- ['ucs1903b',['UCS1903B',['../class_u_c_s1903_b.html',1,'']]],
- ['ucs1903bcontroller800khz',['UCS1903BController800Khz',['../class_u_c_s1903_b_controller800_khz.html',1,'']]],
- ['ucs1903controller400khz',['UCS1903Controller400Khz',['../class_u_c_s1903_controller400_khz.html',1,'']]]
+ ['readme',['README',['../md__r_e_a_d_m_e.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_10.html b/docs/3.1/search/classes_10.html
new file mode 100644
index 00000000..9d398267
--- /dev/null
+++ b/docs/3.1/search/classes_10.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/classes_10.js b/docs/3.1/search/classes_10.js
new file mode 100644
index 00000000..596dc324
--- /dev/null
+++ b/docs/3.1/search/classes_10.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['tbytesforlong',['tBytesForLong',['../uniont_bytes_for_long.html',1,'']]],
+ ['tm1803',['TM1803',['../class_t_m1803.html',1,'']]],
+ ['tm1803controller400khz',['TM1803Controller400Khz',['../class_t_m1803_controller400_khz.html',1,'']]],
+ ['tm1804',['TM1804',['../class_t_m1804.html',1,'']]],
+ ['tm1809',['TM1809',['../class_t_m1809.html',1,'']]],
+ ['tm1809controller800khz',['TM1809Controller800Khz',['../class_t_m1809_controller800_khz.html',1,'']]],
+ ['tm1829',['TM1829',['../class_t_m1829.html',1,'']]],
+ ['tm1829controller1600khz',['TM1829Controller1600Khz',['../class_t_m1829_controller1600_khz.html',1,'']]],
+ ['tm1829controller800khz',['TM1829Controller800Khz',['../class_t_m1829_controller800_khz.html',1,'']]]
+];
diff --git a/docs/3.1/search/classes_11.html b/docs/3.1/search/classes_11.html
new file mode 100644
index 00000000..c4b494ea
--- /dev/null
+++ b/docs/3.1/search/classes_11.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/classes_11.js b/docs/3.1/search/classes_11.js
new file mode 100644
index 00000000..6f848333
--- /dev/null
+++ b/docs/3.1/search/classes_11.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['ucs1903',['UCS1903',['../class_u_c_s1903.html',1,'']]],
+ ['ucs1903b',['UCS1903B',['../class_u_c_s1903_b.html',1,'']]],
+ ['ucs1903bcontroller800khz',['UCS1903BController800Khz',['../class_u_c_s1903_b_controller800_khz.html',1,'']]],
+ ['ucs1903controller400khz',['UCS1903Controller400Khz',['../class_u_c_s1903_controller400_khz.html',1,'']]]
+];
diff --git a/docs/3.1/search/classes_12.html b/docs/3.1/search/classes_12.html
new file mode 100644
index 00000000..c2620374
--- /dev/null
+++ b/docs/3.1/search/classes_12.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/classes_12.js b/docs/3.1/search/classes_12.js
new file mode 100644
index 00000000..93cebf51
--- /dev/null
+++ b/docs/3.1/search/classes_12.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['ws2801controller',['WS2801Controller',['../class_w_s2801_controller.html',1,'']]],
+ ['ws2803controller',['WS2803Controller',['../class_w_s2803_controller.html',1,'']]],
+ ['ws2811',['WS2811',['../class_w_s2811.html',1,'']]],
+ ['ws2811_5f400',['WS2811_400',['../class_w_s2811__400.html',1,'']]],
+ ['ws2811controller400khz',['WS2811Controller400Khz',['../class_w_s2811_controller400_khz.html',1,'']]],
+ ['ws2811controller800khz',['WS2811Controller800Khz',['../class_w_s2811_controller800_khz.html',1,'']]],
+ ['ws2811controller800khz_3c_20data_5fpin_2c_20grb_20_3e',['WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;',['../class_w_s2811_controller800_khz.html',1,'']]],
+ ['ws2812',['WS2812',['../class_w_s2812.html',1,'']]],
+ ['ws2812b',['WS2812B',['../class_w_s2812_b.html',1,'']]]
+];
diff --git a/docs/3.1/search/classes_2.js b/docs/3.1/search/classes_2.js
index 3ec93cd1..de7976eb 100644
--- a/docs/3.1/search/classes_2.js
+++ b/docs/3.1/search/classes_2.js
@@ -1,13 +1,4 @@
var searchData=
[
- ['cfastled',['CFastLED',['../class_c_fast_l_e_d.html',1,'']]],
- ['chsv',['CHSV',['../struct_c_h_s_v.html',1,'']]],
- ['chsvpalette16',['CHSVPalette16',['../class_c_h_s_v_palette16.html',1,'']]],
- ['chsvpalette256',['CHSVPalette256',['../class_c_h_s_v_palette256.html',1,'']]],
- ['cledcontroller',['CLEDController',['../class_c_l_e_d_controller.html',1,'']]],
- ['cminwait',['CMinWait',['../class_c_min_wait.html',1,'']]],
- ['cminwait_3c_201000_20_3e',['CMinWait&lt; 1000 &gt;',['../class_c_min_wait.html',1,'']]],
- ['crgb',['CRGB',['../struct_c_r_g_b.html',1,'']]],
- ['crgbpalette16',['CRGBPalette16',['../class_c_r_g_b_palette16.html',1,'']]],
- ['crgbpalette256',['CRGBPalette256',['../class_c_r_g_b_palette256.html',1,'']]]
+ ['bitswap_5ftype',['bitswap_type',['../unionbitswap__type.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_3.js b/docs/3.1/search/classes_3.js
index f3337fee..69fadd17 100644
--- a/docs/3.1/search/classes_3.js
+++ b/docs/3.1/search/classes_3.js
@@ -1,5 +1,14 @@
var searchData=
[
- ['data_5fnop',['DATA_NOP',['../class_d_a_t_a___n_o_p.html',1,'']]],
- ['deeppixelcontroller',['DeepPixelController',['../class_deep_pixel_controller.html',1,'']]]
+ ['cfastled',['CFastLED',['../class_c_fast_l_e_d.html',1,'']]],
+ ['cfastnoise16',['CFastNoise16',['../class_c_fast_noise16.html',1,'']]],
+ ['chsv',['CHSV',['../struct_c_h_s_v.html',1,'']]],
+ ['chsvpalette16',['CHSVPalette16',['../class_c_h_s_v_palette16.html',1,'']]],
+ ['chsvpalette256',['CHSVPalette256',['../class_c_h_s_v_palette256.html',1,'']]],
+ ['cledcontroller',['CLEDController',['../class_c_l_e_d_controller.html',1,'']]],
+ ['cminwait',['CMinWait',['../class_c_min_wait.html',1,'']]],
+ ['cminwait_3c_201000_20_3e',['CMinWait&lt; 1000 &gt;',['../class_c_min_wait.html',1,'']]],
+ ['crgb',['CRGB',['../struct_c_r_g_b.html',1,'']]],
+ ['crgbpalette16',['CRGBPalette16',['../class_c_r_g_b_palette16.html',1,'']]],
+ ['crgbpalette256',['CRGBPalette256',['../class_c_r_g_b_palette256.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_4.js b/docs/3.1/search/classes_4.js
index 7995504d..05c9aff1 100644
--- a/docs/3.1/search/classes_4.js
+++ b/docs/3.1/search/classes_4.js
@@ -1,7 +1,9 @@
var searchData=
[
- ['gw6205',['GW6205',['../class_g_w6205.html',1,'']]],
- ['gw6205_5f400',['GW6205_400',['../class_g_w6205__400.html',1,'']]],
- ['gw6205controller400khz',['GW6205Controller400Khz',['../class_g_w6205_controller400_khz.html',1,'']]],
- ['gw6205controller800khz',['GW6205Controller800Khz',['../class_g_w6205_controller800_khz.html',1,'']]]
+ ['data_5fnop',['DATA_NOP',['../class_d_a_t_a___n_o_p.html',1,'']]],
+ ['deeppixelcontroller',['DeepPixelController',['../class_deep_pixel_controller.html',1,'']]],
+ ['dmxserial',['DMXSERIAL',['../class_d_m_x_s_e_r_i_a_l.html',1,'']]],
+ ['dmxserialcontroller',['DMXSerialController',['../class_d_m_x_serial_controller.html',1,'']]],
+ ['dmxsimple',['DMXSIMPLE',['../class_d_m_x_s_i_m_p_l_e.html',1,'']]],
+ ['dmxsimplecontroller',['DMXSimpleController',['../class_d_m_x_simple_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_5.js b/docs/3.1/search/classes_5.js
index c0a50855..81325af3 100644
--- a/docs/3.1/search/classes_5.js
+++ b/docs/3.1/search/classes_5.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['ieee754binary32_5ft',['IEEE754binary32_t',['../union_i_e_e_e754binary32__t.html',1,'']]]
+ ['fastpin',['FastPin',['../class_fast_pin.html',1,'']]],
+ ['fastpin_3c_20clock_5fpin_20_3e',['FastPin&lt; CLOCK_PIN &gt;',['../class_fast_pin.html',1,'']]],
+ ['fastpinbb',['FastPinBB',['../class_fast_pin_b_b.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_6.js b/docs/3.1/search/classes_6.js
index 81e2ccd8..7995504d 100644
--- a/docs/3.1/search/classes_6.js
+++ b/docs/3.1/search/classes_6.js
@@ -1,6 +1,7 @@
var searchData=
[
- ['lpd1886',['LPD1886',['../class_l_p_d1886.html',1,'']]],
- ['lpd1886controller1250khz',['LPD1886Controller1250Khz',['../class_l_p_d1886_controller1250_khz.html',1,'']]],
- ['lpd8806controller',['LPD8806Controller',['../class_l_p_d8806_controller.html',1,'']]]
+ ['gw6205',['GW6205',['../class_g_w6205.html',1,'']]],
+ ['gw6205_5f400',['GW6205_400',['../class_g_w6205__400.html',1,'']]],
+ ['gw6205controller400khz',['GW6205Controller400Khz',['../class_g_w6205_controller400_khz.html',1,'']]],
+ ['gw6205controller800khz',['GW6205Controller800Khz',['../class_g_w6205_controller800_khz.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_7.js b/docs/3.1/search/classes_7.js
index 6cab743a..775ca468 100644
--- a/docs/3.1/search/classes_7.js
+++ b/docs/3.1/search/classes_7.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['multipixelcontroller',['MultiPixelController',['../struct_multi_pixel_controller.html',1,'']]]
+ ['ieee754binary32_5ft',['IEEE754binary32_t',['../union_i_e_e_e754binary32__t.html',1,'']]],
+ ['inputpin',['InputPin',['../class_input_pin.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_8.js b/docs/3.1/search/classes_8.js
index 5694348f..0e8dba7c 100644
--- a/docs/3.1/search/classes_8.js
+++ b/docs/3.1/search/classes_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['neopixel',['NEOPIXEL',['../class_n_e_o_p_i_x_e_l.html',1,'']]]
+ ['just8bits',['just8bits',['../unionjust8bits.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_9.js b/docs/3.1/search/classes_9.js
index 5cfba1a1..81e2ccd8 100644
--- a/docs/3.1/search/classes_9.js
+++ b/docs/3.1/search/classes_9.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['p9813controller',['P9813Controller',['../class_p9813_controller.html',1,'']]],
- ['pixelcontroller',['PixelController',['../struct_pixel_controller.html',1,'']]]
+ ['lpd1886',['LPD1886',['../class_l_p_d1886.html',1,'']]],
+ ['lpd1886controller1250khz',['LPD1886Controller1250Khz',['../class_l_p_d1886_controller1250_khz.html',1,'']]],
+ ['lpd8806controller',['LPD8806Controller',['../class_l_p_d8806_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_a.js b/docs/3.1/search/classes_a.js
index 6feb8274..6cab743a 100644
--- a/docs/3.1/search/classes_a.js
+++ b/docs/3.1/search/classes_a.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['q',['q',['../classq.html',1,'']]]
+ ['multipixelcontroller',['MultiPixelController',['../struct_multi_pixel_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_b.js b/docs/3.1/search/classes_b.js
index eb6cb0e2..5694348f 100644
--- a/docs/3.1/search/classes_b.js
+++ b/docs/3.1/search/classes_b.js
@@ -1,8 +1,4 @@
var searchData=
[
- ['selectable',['Selectable',['../class_selectable.html',1,'']]],
- ['sm16716controller',['SM16716Controller',['../class_s_m16716_controller.html',1,'']]],
- ['softwarespioutput',['SoftwareSPIOutput',['../class_software_s_p_i_output.html',1,'']]],
- ['spioutput',['SPIOutput',['../class_s_p_i_output.html',1,'']]],
- ['spioutput_3c_20data_5fpin_2c_20clock_5fpin_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;',['../class_s_p_i_output.html',1,'']]]
+ ['neopixel',['NEOPIXEL',['../class_n_e_o_p_i_x_e_l.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_c.js b/docs/3.1/search/classes_c.js
index 4f30ab14..f9e2113b 100644
--- a/docs/3.1/search/classes_c.js
+++ b/docs/3.1/search/classes_c.js
@@ -1,11 +1,4 @@
var searchData=
[
- ['tm1803',['TM1803',['../class_t_m1803.html',1,'']]],
- ['tm1803controller400khz',['TM1803Controller400Khz',['../class_t_m1803_controller400_khz.html',1,'']]],
- ['tm1804',['TM1804',['../class_t_m1804.html',1,'']]],
- ['tm1809',['TM1809',['../class_t_m1809.html',1,'']]],
- ['tm1809controller800khz',['TM1809Controller800Khz',['../class_t_m1809_controller800_khz.html',1,'']]],
- ['tm1829',['TM1829',['../class_t_m1829.html',1,'']]],
- ['tm1829controller1600khz',['TM1829Controller1600Khz',['../class_t_m1829_controller1600_khz.html',1,'']]],
- ['tm1829controller800khz',['TM1829Controller800Khz',['../class_t_m1829_controller800_khz.html',1,'']]]
+ ['outputpin',['OutputPin',['../class_output_pin.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_d.js b/docs/3.1/search/classes_d.js
index 6f848333..eb497370 100644
--- a/docs/3.1/search/classes_d.js
+++ b/docs/3.1/search/classes_d.js
@@ -1,7 +1,6 @@
var searchData=
[
- ['ucs1903',['UCS1903',['../class_u_c_s1903.html',1,'']]],
- ['ucs1903b',['UCS1903B',['../class_u_c_s1903_b.html',1,'']]],
- ['ucs1903bcontroller800khz',['UCS1903BController800Khz',['../class_u_c_s1903_b_controller800_khz.html',1,'']]],
- ['ucs1903controller400khz',['UCS1903Controller400Khz',['../class_u_c_s1903_controller400_khz.html',1,'']]]
+ ['p9813controller',['P9813Controller',['../class_p9813_controller.html',1,'']]],
+ ['pin',['Pin',['../class_pin.html',1,'']]],
+ ['pixelcontroller',['PixelController',['../struct_pixel_controller.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_e.js b/docs/3.1/search/classes_e.js
index 93cebf51..6feb8274 100644
--- a/docs/3.1/search/classes_e.js
+++ b/docs/3.1/search/classes_e.js
@@ -1,12 +1,4 @@
var searchData=
[
- ['ws2801controller',['WS2801Controller',['../class_w_s2801_controller.html',1,'']]],
- ['ws2803controller',['WS2803Controller',['../class_w_s2803_controller.html',1,'']]],
- ['ws2811',['WS2811',['../class_w_s2811.html',1,'']]],
- ['ws2811_5f400',['WS2811_400',['../class_w_s2811__400.html',1,'']]],
- ['ws2811controller400khz',['WS2811Controller400Khz',['../class_w_s2811_controller400_khz.html',1,'']]],
- ['ws2811controller800khz',['WS2811Controller800Khz',['../class_w_s2811_controller800_khz.html',1,'']]],
- ['ws2811controller800khz_3c_20data_5fpin_2c_20grb_20_3e',['WS2811Controller800Khz&lt; DATA_PIN, GRB &gt;',['../class_w_s2811_controller800_khz.html',1,'']]],
- ['ws2812',['WS2812',['../class_w_s2812.html',1,'']]],
- ['ws2812b',['WS2812B',['../class_w_s2812_b.html',1,'']]]
+ ['q',['q',['../classq.html',1,'']]]
];
diff --git a/docs/3.1/search/classes_f.html b/docs/3.1/search/classes_f.html
new file mode 100644
index 00000000..358e9d48
--- /dev/null
+++ b/docs/3.1/search/classes_f.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/classes_f.js b/docs/3.1/search/classes_f.js
new file mode 100644
index 00000000..426f4e5b
--- /dev/null
+++ b/docs/3.1/search/classes_f.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['selectable',['Selectable',['../class_selectable.html',1,'']]],
+ ['sm16716controller',['SM16716Controller',['../class_s_m16716_controller.html',1,'']]],
+ ['softwarespioutput',['SoftwareSPIOutput',['../class_software_s_p_i_output.html',1,'']]],
+ ['spioutput',['SPIOutput',['../class_s_p_i_output.html',1,'']]],
+ ['spioutput_3c_20data_5fpin_2c_20clock_5fpin_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; DATA_PIN, CLOCK_PIN, SPI_SPEED &gt;',['../class_s_p_i_output.html',1,'']]],
+ ['spioutput_3c_20spi2_5fdata_2c_20spi2_5fclock_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; SPI2_DATA, SPI2_CLOCK, SPI_SPEED &gt;',['../class_s_p_i_output_3_01_s_p_i2___d_a_t_a_00_01_s_p_i2___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html',1,'']]],
+ ['spioutput_3c_20spi_5fdata_2c_20spi_5fclock_2c_20spi_5fspeed_20_3e',['SPIOutput&lt; SPI_DATA, SPI_CLOCK, SPI_SPEED &gt;',['../class_s_p_i_output_3_01_s_p_i___d_a_t_a_00_01_s_p_i___c_l_o_c_k_00_01_s_p_i___s_p_e_e_d_01_4.html',1,'']]],
+ ['sub4',['sub4',['../structsub4.html',1,'']]]
+];
diff --git a/docs/3.1/search/functions_0.js b/docs/3.1/search/functions_0.js
index 834e07cb..37cb7c57 100644
--- a/docs/3.1/search/functions_0.js
+++ b/docs/3.1/search/functions_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['show',['show',['../class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b',1,'CFastLED::show(uint8_t scale)'],['../class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de',1,'CFastLED::show()']]]
+ ['addleds',['addLeds',['../class_c_fast_l_e_d.html#afd7928d822589740af6e23b2d510cf3f',1,'CFastLED::addLeds(CLEDController *pLed, struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#a79df28eb68fc2062b995f9000aed274c',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#ac4dff92f45048399edb0812a02ab9d96',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)'],['../class_c_fast_l_e_d.html#aa8ec7c8ab7c8aed4d85b9c3d6d5feaa9',1,'CFastLED::addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset=0)']]]
];
diff --git a/docs/3.1/search/functions_1.html b/docs/3.1/search/functions_1.html
new file mode 100644
index 00000000..4985f9bd
--- /dev/null
+++ b/docs/3.1/search/functions_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/functions_1.js b/docs/3.1/search/functions_1.js
new file mode 100644
index 00000000..e9b542ec
--- /dev/null
+++ b/docs/3.1/search/functions_1.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['count',['count',['../class_c_fast_l_e_d.html#ae5730545ea18b1f5228172f9d246beb6',1,'CFastLED']]],
+ ['countfps',['countFPS',['../class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32',1,'CFastLED']]]
+];
diff --git a/docs/3.1/search/functions_2.html b/docs/3.1/search/functions_2.html
new file mode 100644
index 00000000..152b4ed0
--- /dev/null
+++ b/docs/3.1/search/functions_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/functions_2.js b/docs/3.1/search/functions_2.js
new file mode 100644
index 00000000..da00328b
--- /dev/null
+++ b/docs/3.1/search/functions_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['delay',['delay',['../class_c_fast_l_e_d.html#a6819ff831058a710d4582dfc09817202',1,'CFastLED']]]
+];
diff --git a/docs/3.1/search/functions_3.html b/docs/3.1/search/functions_3.html
new file mode 100644
index 00000000..3c01efab
--- /dev/null
+++ b/docs/3.1/search/functions_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/functions_3.js b/docs/3.1/search/functions_3.js
new file mode 100644
index 00000000..bdb32f4e
--- /dev/null
+++ b/docs/3.1/search/functions_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['getbrightness',['getBrightness',['../class_c_fast_l_e_d.html#ac2615781ec12e025fb17cc0e66281716',1,'CFastLED']]],
+ ['getfps',['getFPS',['../class_c_fast_l_e_d.html#aa8c3ae3381e524ce30b181ffa23b83cd',1,'CFastLED']]]
+];
diff --git a/docs/3.1/search/functions_4.html b/docs/3.1/search/functions_4.html
new file mode 100644
index 00000000..c9e43d83
--- /dev/null
+++ b/docs/3.1/search/functions_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/functions_4.js b/docs/3.1/search/functions_4.js
new file mode 100644
index 00000000..2e5f58c3
--- /dev/null
+++ b/docs/3.1/search/functions_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['leds',['leds',['../class_c_fast_l_e_d.html#ae3c0a81b88fb64a65725cb2fed67f766',1,'CFastLED']]]
+];
diff --git a/docs/3.1/search/functions_5.html b/docs/3.1/search/functions_5.html
new file mode 100644
index 00000000..9e9d5c53
--- /dev/null
+++ b/docs/3.1/search/functions_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/functions_5.js b/docs/3.1/search/functions_5.js
new file mode 100644
index 00000000..cc27a8bb
--- /dev/null
+++ b/docs/3.1/search/functions_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['operator_5b_5d',['operator[]',['../class_c_fast_l_e_d.html#a646128b7d8c14b5020b285dbc8bc713b',1,'CFastLED']]]
+];
diff --git a/docs/3.1/search/functions_6.html b/docs/3.1/search/functions_6.html
new file mode 100644
index 00000000..9e23fe58
--- /dev/null
+++ b/docs/3.1/search/functions_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/3.1/search/functions_6.js b/docs/3.1/search/functions_6.js
new file mode 100644
index 00000000..57bc6776
--- /dev/null
+++ b/docs/3.1/search/functions_6.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['setbrightness',['setBrightness',['../class_c_fast_l_e_d.html#a730ba7d967e882b4b893689cf333b2eb',1,'CFastLED']]],
+ ['setcorrection',['setCorrection',['../class_c_fast_l_e_d.html#ad266c3e649cc12a6dc49a1e229acc282',1,'CFastLED']]],
+ ['setdither',['setDither',['../class_c_fast_l_e_d.html#a7ae5d3864df01101d82d242c123ffb36',1,'CFastLED']]],
+ ['setmaxrefreshrate',['setMaxRefreshRate',['../class_c_fast_l_e_d.html#a09f4d61853d88482fa5824144c8127ed',1,'CFastLED']]],
+ ['settemperature',['setTemperature',['../class_c_fast_l_e_d.html#a28c2dfb0ec592db03f3063ade135f19f',1,'CFastLED']]],
+ ['show',['show',['../class_c_fast_l_e_d.html#a83afdd1e2a21f33ac4f8d2610d6e331b',1,'CFastLED::show(uint8_t scale)'],['../class_c_fast_l_e_d.html#a3adb23ec5f919524928d576002cb45de',1,'CFastLED::show()']]],
+ ['showcolor',['showColor',['../class_c_fast_l_e_d.html#a7315b060d295bad5fbd32e50eaaf02b0',1,'CFastLED::showColor(const struct CRGB &amp;color, uint8_t scale)'],['../class_c_fast_l_e_d.html#a570df74cf09e6215c3647333d2b479a9',1,'CFastLED::showColor(const struct CRGB &amp;color)']]],
+ ['size',['size',['../class_c_fast_l_e_d.html#a18fba22754d2a1a206fc5db8d24a92d0',1,'CFastLED']]]
+];
diff --git a/docs/3.1/search/pages_2.js b/docs/3.1/search/pages_2.js
index 315735c5..15f7a8d0 100644
--- a/docs/3.1/search/pages_2.js
+++ b/docs/3.1/search/pages_2.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['todo',['TODO',['../md__t_o_d_o.html',1,'']]]
+ ['todo',['TODO',['../md__t_o_d_o.html',1,'']]],
+ ['todo_20list',['Todo List',['../todo.html',1,'']]]
];
diff --git a/docs/3.1/search/search.js b/docs/3.1/search/search.js
index 1d0cfb0d..08062e4b 100644
--- a/docs/3.1/search/search.js
+++ b/docs/3.1/search/search.js
@@ -7,9 +7,9 @@
var indexSectionsWithContent =
{
- 0: "_acdfgilmnpqrstuw",
- 1: "_acdgilmnpqstuw",
- 2: "s",
+ 0: "_abcdfgijlmnopqrstuw",
+ 1: "_abcdfgijlmnopqstuw",
+ 2: "acdglos",
3: "frt"
};
diff --git a/docs/3.1/struct_c_h_s_v-members.html b/docs/3.1/struct_c_h_s_v-members.html
index 8dfaeff5..98064870 100644
--- a/docs/3.1/struct_c_h_s_v-members.html
+++ b/docs/3.1/struct_c_h_s_v-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_c_h_s_v.html b/docs/3.1/struct_c_h_s_v.html
index bc4f4adc..4dd7a04a 100644
--- a/docs/3.1/struct_c_h_s_v.html
+++ b/docs/3.1/struct_c_h_s_v.html
@@ -109,53 +109,53 @@ Public Member Functions</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:ac42402dcbdd80073ae41e5c2e48f41be"><td class="memItemLeft" ><a class="anchor" id="ac42402dcbdd80073ae41e5c2e48f41be"></a>
+<tr class="memitem:afa6c4547f28905a0e24d3442812d6796"><td class="memItemLeft" ><a class="anchor" id="afa6c4547f28905a0e24d3442812d6796"></a>
union {</td></tr>
-<tr class="memitem:ae43a3a37e9f5529a5f7e724b82634bbb"><td class="memItemLeft" ><a class="anchor" id="ae43a3a37e9f5529a5f7e724b82634bbb"></a>
+<tr class="memitem:a03f1db326406a8ebfe13b7ba28cfca84"><td class="memItemLeft" ><a class="anchor" id="a03f1db326406a8ebfe13b7ba28cfca84"></a>
&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a39a89591b4d93fa53c8d5d58251ac722"><td class="memItemLeft" ><a class="anchor" id="a39a89591b4d93fa53c8d5d58251ac722"></a>
+<tr class="memitem:a3e6c96b070e3398ca221109c1234dc71"><td class="memItemLeft" ><a class="anchor" id="a3e6c96b070e3398ca221109c1234dc71"></a>
&#160;&#160;&#160;&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:abdfe8d71facef0ae6fc8883d21a4a622"><td class="memItemLeft" >
+<tr class="memitem:aa973d0a8d1c1f77e273ad4d9e7a418c6"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>hue</b></td></tr>
-<tr class="separator:abdfe8d71facef0ae6fc8883d21a4a622"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d526b5e51b4abb6b0e281df22642b6a"><td class="memItemLeft" >
+<tr class="separator:aa973d0a8d1c1f77e273ad4d9e7a418c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ad328aece294b6d85736e0d515588a4"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>h</b></td></tr>
-<tr class="separator:a5d526b5e51b4abb6b0e281df22642b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a39a89591b4d93fa53c8d5d58251ac722"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a39a89591b4d93fa53c8d5d58251ac722"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7555de37482f11a703df611914ffcc6a"><td class="memItemLeft" ><a class="anchor" id="a7555de37482f11a703df611914ffcc6a"></a>
+<tr class="separator:a9ad328aece294b6d85736e0d515588a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e6c96b070e3398ca221109c1234dc71"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a3e6c96b070e3398ca221109c1234dc71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb7437565deb3c00132bfde4939e1759"><td class="memItemLeft" ><a class="anchor" id="afb7437565deb3c00132bfde4939e1759"></a>
&#160;&#160;&#160;&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:aebc64e71d4a9ac732add5f4f8e571e50"><td class="memItemLeft" >
+<tr class="memitem:aa631f3293492b17784d1c2a62132dcb9"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>saturation</b></td></tr>
-<tr class="separator:aebc64e71d4a9ac732add5f4f8e571e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad274092cfdc0a0b27493c709a7e9188f"><td class="memItemLeft" >
+<tr class="separator:aa631f3293492b17784d1c2a62132dcb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a623597209c08fdbae16b17796c8a1d5a"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>sat</b></td></tr>
-<tr class="separator:ad274092cfdc0a0b27493c709a7e9188f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bd4581fc9289a883756baca8138051a"><td class="memItemLeft" >
+<tr class="separator:a623597209c08fdbae16b17796c8a1d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a024cb5dc30a56f90279e114b8864fce0"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>s</b></td></tr>
-<tr class="separator:a9bd4581fc9289a883756baca8138051a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7555de37482f11a703df611914ffcc6a"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a7555de37482f11a703df611914ffcc6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ca5081a2b5c283b1fb8e4a913705c75"><td class="memItemLeft" ><a class="anchor" id="a9ca5081a2b5c283b1fb8e4a913705c75"></a>
+<tr class="separator:a024cb5dc30a56f90279e114b8864fce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb7437565deb3c00132bfde4939e1759"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:afb7437565deb3c00132bfde4939e1759"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6ef321ad857104eff992eb7c8eb2683"><td class="memItemLeft" ><a class="anchor" id="ad6ef321ad857104eff992eb7c8eb2683"></a>
&#160;&#160;&#160;&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a0d22b289ed07bc0d0e1a20b01e924f03"><td class="memItemLeft" >
+<tr class="memitem:a9418876a1a5449e3e0882a352b6254c0"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>value</b></td></tr>
-<tr class="separator:a0d22b289ed07bc0d0e1a20b01e924f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a47ec42c8a9e9a918dd34f8766618938a"><td class="memItemLeft" >
+<tr class="separator:a9418876a1a5449e3e0882a352b6254c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e253bba65e196eb7d9f9e1b2cb7331a"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>val</b></td></tr>
-<tr class="separator:a47ec42c8a9e9a918dd34f8766618938a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45a21f1fba0f38822ec632b64c7abbe4"><td class="memItemLeft" >
+<tr class="separator:a4e253bba65e196eb7d9f9e1b2cb7331a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2298b3faa6b151a63e2bd8d183c1bdfd"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>v</b></td></tr>
-<tr class="separator:a45a21f1fba0f38822ec632b64c7abbe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ca5081a2b5c283b1fb8e4a913705c75"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a9ca5081a2b5c283b1fb8e4a913705c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae43a3a37e9f5529a5f7e724b82634bbb"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ae43a3a37e9f5529a5f7e724b82634bbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abcb67b31aa05cecdd11bd13da156e1db"><td class="memItemLeft" >
+<tr class="separator:a2298b3faa6b151a63e2bd8d183c1bdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6ef321ad857104eff992eb7c8eb2683"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:ad6ef321ad857104eff992eb7c8eb2683"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03f1db326406a8ebfe13b7ba28cfca84"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a03f1db326406a8ebfe13b7ba28cfca84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a056d380576671ed93859408204c52a99"><td class="memItemLeft" >
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>raw</b> [3]</td></tr>
-<tr class="separator:abcb67b31aa05cecdd11bd13da156e1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac42402dcbdd80073ae41e5c2e48f41be"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ac42402dcbdd80073ae41e5c2e48f41be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a056d380576671ed93859408204c52a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa6c4547f28905a0e24d3442812d6796"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:afa6c4547f28905a0e24d3442812d6796"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="pixeltypes_8h_source.html">pixeltypes.h</a></li>
@@ -163,7 +163,7 @@ union {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_c_r_g_b-members.html b/docs/3.1/struct_c_r_g_b-members.html
index 1d9a6405..8018740e 100644
--- a/docs/3.1/struct_c_r_g_b-members.html
+++ b/docs/3.1/struct_c_r_g_b-members.html
@@ -218,81 +218,82 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>Olive</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OliveDrab</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator bool</b>() const __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator%=</b>(uint8_t scaledown) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&amp;=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&amp;=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator*=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator++</b>() __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator++</b>(int DUMMY_ARG) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator+=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator-</b>() (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator--</b>() __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator--</b>(int DUMMY_ARG) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator-=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator/=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const CRGB &amp;rhs) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const uint32_t colorcode) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const CHSV &amp;rhs) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&gt;&gt;=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(uint8_t x) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(uint8_t x) const __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator|=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator|=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Orange</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>OrangeRed</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Orchid</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>PaleGoldenrod</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PaleGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>PaleTurquoise</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PaleVioletRed</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>PapayaWhip</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PeachPuff</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Peru</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Pink</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Plaid</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Plum</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>PowderBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Purple</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>r</b> (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>raw</b> (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Red</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>red</b> (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>RosyBrown</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RoyalBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>SaddleBrown</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Salmon</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>SandyBrown</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SeaGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Seashell</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setColorCode</b>(uint32_t colorcode) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>setHSV</b>(uint8_t hue, uint8_t sat, uint8_t val) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setHue</b>(uint8_t hue) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>setRGB</b>(uint8_t nr, uint8_t ng, uint8_t nb) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Sienna</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Silver</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SkyBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>SlateBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SlateGray</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>SlateGrey</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Snow</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>SpringGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SteelBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>subtractFromRGB</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Tan</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Teal</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Thistle</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Tomato</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Turquoise</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Violet</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Wheat</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>White</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>WhiteSmoke</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Yellow</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>YellowGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator rgb24</b>() const (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator%=</b>(uint8_t scaledown) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&amp;=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&amp;=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator*=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator++</b>() __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator++</b>(int DUMMY_ARG) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator+=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator-</b>() (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator--</b>() __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator--</b>(int DUMMY_ARG) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator-=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator/=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const CRGB &amp;rhs) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const uint32_t colorcode) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const CHSV &amp;rhs) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&gt;&gt;=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(uint8_t x) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(uint8_t x) const __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator|=</b>(const CRGB &amp;rhs) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator|=</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Orange</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>OrangeRed</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Orchid</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PaleGoldenrod</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>PaleGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PaleTurquoise</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>PaleVioletRed</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PapayaWhip</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>PeachPuff</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Peru</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Pink</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Plaid</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Plum</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PowderBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Purple</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>r</b> (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>raw</b> (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Red</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>red</b> (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RosyBrown</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>RoyalBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SaddleBrown</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Salmon</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SandyBrown</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>SeaGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Seashell</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setColorCode</b>(uint32_t colorcode) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setHSV</b>(uint8_t hue, uint8_t sat, uint8_t val) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>setHue</b>(uint8_t hue) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setRGB</b>(uint8_t nr, uint8_t ng, uint8_t nb) __attribute__((always_inline)) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Sienna</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Silver</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>SkyBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SlateBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>SlateGray</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SlateGrey</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Snow</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SpringGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>SteelBlue</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>subtractFromRGB</b>(uint8_t d) (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Tan</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Teal</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Thistle</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Tomato</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Turquoise</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Violet</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Wheat</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>White</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>WhiteSmoke</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Yellow</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>YellowGreen</b> enum value (defined in <a class="el" href="struct_c_r_g_b.html">CRGB</a>)</td><td class="entry"><a class="el" href="struct_c_r_g_b.html">CRGB</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_c_r_g_b.html b/docs/3.1/struct_c_r_g_b.html
index 2a43c72b..4bc2c28c 100644
--- a/docs/3.1/struct_c_r_g_b.html
+++ b/docs/3.1/struct_c_r_g_b.html
@@ -397,6 +397,9 @@ const uint8_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operat
<tr class="memitem:af32e6bf80075fd5b3d8195fff790a036"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af32e6bf80075fd5b3d8195fff790a036"></a>
<a class="el" href="struct_c_r_g_b.html">CRGB</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator-</b> ()</td></tr>
<tr class="separator:af32e6bf80075fd5b3d8195fff790a036"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84965381e0a989945231def23eb19150"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84965381e0a989945231def23eb19150"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>operator rgb24</b> () const </td></tr>
+<tr class="separator:a84965381e0a989945231def23eb19150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee82bf59b5b35061ba1a0b06c774aabf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee82bf59b5b35061ba1a0b06c774aabf"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>getLuma</b> ()</td></tr>
<tr class="separator:aee82bf59b5b35061ba1a0b06c774aabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -415,47 +418,47 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>maximizeBrightness</b
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:a3535c380c5e0783adbd64f2aad2b3ab5"><td class="memItemLeft" ><a class="anchor" id="a3535c380c5e0783adbd64f2aad2b3ab5"></a>
+<tr class="memitem:ac20bc0b3e222982ffd6d1b04dc285ef0"><td class="memItemLeft" ><a class="anchor" id="ac20bc0b3e222982ffd6d1b04dc285ef0"></a>
union {</td></tr>
-<tr class="memitem:a10f654406b4b2a93a659b7558536bee8"><td class="memItemLeft" ><a class="anchor" id="a10f654406b4b2a93a659b7558536bee8"></a>
+<tr class="memitem:aaa7008820ce0d42c2adaf09f20647e65"><td class="memItemLeft" ><a class="anchor" id="aaa7008820ce0d42c2adaf09f20647e65"></a>
&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a5c300e5ca38b8af13fa86bd198ee4fb0"><td class="memItemLeft" ><a class="anchor" id="a5c300e5ca38b8af13fa86bd198ee4fb0"></a>
+<tr class="memitem:a772d704f5f50d81d12cd0e71a6b92745"><td class="memItemLeft" ><a class="anchor" id="a772d704f5f50d81d12cd0e71a6b92745"></a>
&#160;&#160;&#160;&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a0f1661e781e335e84531aa0927a6cb91"><td class="memItemLeft" >
+<tr class="memitem:ad0da106f0b9b12e3ef31e877a881656e"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>r</b></td></tr>
-<tr class="separator:a0f1661e781e335e84531aa0927a6cb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a15f26f44ba9e20a95d9dfc20aa540b4e"><td class="memItemLeft" >
+<tr class="separator:ad0da106f0b9b12e3ef31e877a881656e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf90612d6ef7ad0bc68e87c20f3883a4"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>red</b></td></tr>
-<tr class="separator:a15f26f44ba9e20a95d9dfc20aa540b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c300e5ca38b8af13fa86bd198ee4fb0"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a5c300e5ca38b8af13fa86bd198ee4fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab74b5e820e52ca26b3ac0e741d8a5353"><td class="memItemLeft" ><a class="anchor" id="ab74b5e820e52ca26b3ac0e741d8a5353"></a>
+<tr class="separator:acf90612d6ef7ad0bc68e87c20f3883a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a772d704f5f50d81d12cd0e71a6b92745"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a772d704f5f50d81d12cd0e71a6b92745"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac17e41cf468d8d60357d90bc89013b8d"><td class="memItemLeft" ><a class="anchor" id="ac17e41cf468d8d60357d90bc89013b8d"></a>
&#160;&#160;&#160;&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:afe0760941fee2f8c09e5249dabd03ac2"><td class="memItemLeft" >
+<tr class="memitem:a1a5209c78c8d98149e7cb8ec0c07c5a7"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>g</b></td></tr>
-<tr class="separator:afe0760941fee2f8c09e5249dabd03ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a363eff9c64a7c88f8232e32d7dce3305"><td class="memItemLeft" >
+<tr class="separator:a1a5209c78c8d98149e7cb8ec0c07c5a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6af804cef66e612ab99001acf1c45a"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>green</b></td></tr>
-<tr class="separator:a363eff9c64a7c88f8232e32d7dce3305"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab74b5e820e52ca26b3ac0e741d8a5353"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ab74b5e820e52ca26b3ac0e741d8a5353"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d3121026d0c610f59dc3f294351896b"><td class="memItemLeft" ><a class="anchor" id="a3d3121026d0c610f59dc3f294351896b"></a>
+<tr class="separator:a6e6af804cef66e612ab99001acf1c45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac17e41cf468d8d60357d90bc89013b8d"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:ac17e41cf468d8d60357d90bc89013b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e60351de35384e429ab6626b56c8f7e"><td class="memItemLeft" ><a class="anchor" id="a3e60351de35384e429ab6626b56c8f7e"></a>
&#160;&#160;&#160;&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a42f299279ec584887ddd8f5966e97b97"><td class="memItemLeft" >
+<tr class="memitem:a70f1fa7ff445cd2007896441aeeb6c22"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>b</b></td></tr>
-<tr class="separator:a42f299279ec584887ddd8f5966e97b97"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a722b674ed21f071ee5e596784288dd17"><td class="memItemLeft" >
+<tr class="separator:a70f1fa7ff445cd2007896441aeeb6c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecafaa2a7d2773b55e61afd034817c1c"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>blue</b></td></tr>
-<tr class="separator:a722b674ed21f071ee5e596784288dd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d3121026d0c610f59dc3f294351896b"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a3d3121026d0c610f59dc3f294351896b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a10f654406b4b2a93a659b7558536bee8"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a10f654406b4b2a93a659b7558536bee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f037cce9e2ba29b4b22ff0370935250"><td class="memItemLeft" >
+<tr class="separator:aecafaa2a7d2773b55e61afd034817c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e60351de35384e429ab6626b56c8f7e"><td class="memItemLeft" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a3e60351de35384e429ab6626b56c8f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa7008820ce0d42c2adaf09f20647e65"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:aaa7008820ce0d42c2adaf09f20647e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b4d0fa1343a8dadbe97533463fe86b6"><td class="memItemLeft" >
&#160;&#160;&#160;uint8_t&#160;&#160;&#160;<b>raw</b> [3]</td></tr>
-<tr class="separator:a2f037cce9e2ba29b4b22ff0370935250"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3535c380c5e0783adbd64f2aad2b3ab5"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a3535c380c5e0783adbd64f2aad2b3ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a5b4d0fa1343a8dadbe97533463fe86b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac20bc0b3e222982ffd6d1b04dc285ef0"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:ac20bc0b3e222982ffd6d1b04dc285ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="pixeltypes_8h_source.html">pixeltypes.h</a></li>
@@ -463,7 +466,7 @@ union {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_multi_pixel_controller-members.html b/docs/3.1/struct_multi_pixel_controller-members.html
index c2e8c5b7..7a38af0b 100644
--- a/docs/3.1/struct_multi_pixel_controller-members.html
+++ b/docs/3.1/struct_multi_pixel_controller-members.html
@@ -133,13 +133,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MultiPixelController</b>(const uint8_t *d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER, bool advance=true, uint8_t skip=0) (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MultiPixelController</b>(const CRGB *d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MultiPixelController</b>(const CRGB &amp;d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>MultiPixelController</b>(const CARGB &amp;d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MultiPixelController</b>(const CARGB *d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>scale</b> (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scale</b> (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>scale</b> (defined in <a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_multi_pixel_controller.html">MultiPixelController&lt; LANES, MASK, RGB_ORDER &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_multi_pixel_controller.html b/docs/3.1/struct_multi_pixel_controller.html
index 883fff56..ab67785b 100644
--- a/docs/3.1/struct_multi_pixel_controller.html
+++ b/docs/3.1/struct_multi_pixel_controller.html
@@ -109,6 +109,12 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>initOffsets</b> (int
<tr class="memitem:a744ad917886ac61cfee6a0ae8454685c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a744ad917886ac61cfee6a0ae8454685c"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MultiPixelController</b> (const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;d, int len, <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;s, EDitherMode dither=BINARY_DITHER)</td></tr>
<tr class="separator:a744ad917886ac61cfee6a0ae8454685c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af010e36003697589dc55c111d837afa9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af010e36003697589dc55c111d837afa9"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>MultiPixelController</b> (const CARGB &amp;d, int len, <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;s, EDitherMode dither=BINARY_DITHER)</td></tr>
+<tr class="separator:af010e36003697589dc55c111d837afa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3839cfa5abdd2a6b799eba825e65e95"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3839cfa5abdd2a6b799eba825e65e95"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>MultiPixelController</b> (const CARGB *d, int len, <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;s, EDitherMode dither=BINARY_DITHER)</td></tr>
+<tr class="separator:ae3839cfa5abdd2a6b799eba825e65e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a008c610152750552f0cab513a71add4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a008c610152750552f0cab513a71add4f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>init_binary_dithering</b> ()</td></tr>
<tr class="separator:a008c610152750552f0cab513a71add4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -253,7 +259,7 @@ int uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>scale</b> { re
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_pixel_controller-members.html b/docs/3.1/struct_pixel_controller-members.html
index 724cb666..ec95346e 100644
--- a/docs/3.1/struct_pixel_controller-members.html
+++ b/docs/3.1/struct_pixel_controller-members.html
@@ -118,10 +118,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>PixelController</b>(const uint8_t *d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER, bool advance=true, uint8_t skip=0) (defined in <a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PixelController</b>(const CRGB *d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>PixelController</b>(const CRGB &amp;d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PixelController</b>(const CARGB &amp;d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>PixelController</b>(const CARGB *d, int len, CRGB &amp;s, EDitherMode dither=BINARY_DITHER) (defined in <a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a>)</td><td class="entry"><a class="el" href="struct_pixel_controller.html">PixelController&lt; RGB_ORDER &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/struct_pixel_controller.html b/docs/3.1/struct_pixel_controller.html
index 7b2536cd..a2253fcb 100644
--- a/docs/3.1/struct_pixel_controller.html
+++ b/docs/3.1/struct_pixel_controller.html
@@ -106,6 +106,12 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a22aa861b047d60d43c5937eda51c7ec8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22aa861b047d60d43c5937eda51c7ec8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>PixelController</b> (const <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;d, int len, <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;s, EDitherMode dither=BINARY_DITHER)</td></tr>
<tr class="separator:a22aa861b047d60d43c5937eda51c7ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae50dffd933b8e1505315b7d2797a219"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae50dffd933b8e1505315b7d2797a219"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>PixelController</b> (const CARGB &amp;d, int len, <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;s, EDitherMode dither=BINARY_DITHER)</td></tr>
+<tr class="separator:aae50dffd933b8e1505315b7d2797a219"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab13ac71f27f83c847c836c3f9854a062"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab13ac71f27f83c847c836c3f9854a062"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>PixelController</b> (const CARGB *d, int len, <a class="el" href="struct_c_r_g_b.html">CRGB</a> &amp;s, EDitherMode dither=BINARY_DITHER)</td></tr>
+<tr class="separator:ab13ac71f27f83c847c836c3f9854a062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accb48b27c47c742a8b13f97ae1d82d32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="accb48b27c47c742a8b13f97ae1d82d32"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>init_binary_dithering</b> ()</td></tr>
<tr class="separator:accb48b27c47c742a8b13f97ae1d82d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -193,7 +199,7 @@ uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>b</b> { return b ?
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/structsub4-members.html b/docs/3.1/structsub4-members.html
new file mode 100644
index 00000000..e77797b3
--- /dev/null
+++ b/docs/3.1/structsub4-members.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">sub4 Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structsub4.html">sub4</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a0</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a1</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a2</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a3</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a4</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a5</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a6</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a7</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>b0</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>b1</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>b2</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>b3</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>b4</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>b5</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>b6</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>b7</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c0</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>c1</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c2</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>c3</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c4</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>c5</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c6</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>c7</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>d0</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>d1</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>d2</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>d3</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>d4</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>d5</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>d6</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>d7</b> (defined in <a class="el" href="structsub4.html">sub4</a>)</td><td class="entry"><a class="el" href="structsub4.html">sub4</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/structsub4.html b/docs/3.1/structsub4.html
new file mode 100644
index 00000000..6a3e6765
--- /dev/null
+++ b/docs/3.1/structsub4.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: sub4 Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structsub4-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">sub4 Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:aaf45608c69eb1098fcc2c2d6ea81be61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf45608c69eb1098fcc2c2d6ea81be61"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a0</b>:1</td></tr>
+<tr class="separator:aaf45608c69eb1098fcc2c2d6ea81be61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76b0433eaf662ffa5629836d8059e962"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76b0433eaf662ffa5629836d8059e962"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a1</b>:1</td></tr>
+<tr class="separator:a76b0433eaf662ffa5629836d8059e962"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaef6f28b11733262eb24d46b8a69ad17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaef6f28b11733262eb24d46b8a69ad17"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a2</b>:1</td></tr>
+<tr class="separator:aaef6f28b11733262eb24d46b8a69ad17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bb9c56031bc0e26b231ac33ba3ee851"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bb9c56031bc0e26b231ac33ba3ee851"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a3</b>:1</td></tr>
+<tr class="separator:a2bb9c56031bc0e26b231ac33ba3ee851"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a194a0f8122b7c096bdfa25a1be9ef2e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a194a0f8122b7c096bdfa25a1be9ef2e1"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a4</b>:1</td></tr>
+<tr class="separator:a194a0f8122b7c096bdfa25a1be9ef2e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a412748c0d7d72736aa8b97c6e4224d8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a412748c0d7d72736aa8b97c6e4224d8b"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a5</b>:1</td></tr>
+<tr class="separator:a412748c0d7d72736aa8b97c6e4224d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc8a238228e93e405b1413fd6403e69"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcc8a238228e93e405b1413fd6403e69"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a6</b>:1</td></tr>
+<tr class="separator:adcc8a238228e93e405b1413fd6403e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b49e618d4ddb50e7c1df65dfb7caf5b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b49e618d4ddb50e7c1df65dfb7caf5b"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>a7</b>:1</td></tr>
+<tr class="separator:a3b49e618d4ddb50e7c1df65dfb7caf5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bb994c2ed456e701d2ab4d57d669317"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bb994c2ed456e701d2ab4d57d669317"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b0</b>:1</td></tr>
+<tr class="separator:a4bb994c2ed456e701d2ab4d57d669317"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76b8ba906d7eb00ebe2806a38a9c91f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76b8ba906d7eb00ebe2806a38a9c91f2"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b1</b>:1</td></tr>
+<tr class="separator:a76b8ba906d7eb00ebe2806a38a9c91f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1b5735d6214d3b9ab991a2a44c7e4a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b5735d6214d3b9ab991a2a44c7e4a8"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b2</b>:1</td></tr>
+<tr class="separator:aa1b5735d6214d3b9ab991a2a44c7e4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67403de17343f076596c0aaf840e3eaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67403de17343f076596c0aaf840e3eaf"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b3</b>:1</td></tr>
+<tr class="separator:a67403de17343f076596c0aaf840e3eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adada5fd53b415622cb805db1d6878259"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adada5fd53b415622cb805db1d6878259"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b4</b>:1</td></tr>
+<tr class="separator:adada5fd53b415622cb805db1d6878259"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ecbd68603a75da0bd98609c30c037cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ecbd68603a75da0bd98609c30c037cc"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b5</b>:1</td></tr>
+<tr class="separator:a7ecbd68603a75da0bd98609c30c037cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15d95cc4d8ac1b1de28e28dd9da25659"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15d95cc4d8ac1b1de28e28dd9da25659"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b6</b>:1</td></tr>
+<tr class="separator:a15d95cc4d8ac1b1de28e28dd9da25659"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ecfb8a25a14c7bedd272c11beeb90b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ecfb8a25a14c7bedd272c11beeb90b9"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>b7</b>:1</td></tr>
+<tr class="separator:a8ecfb8a25a14c7bedd272c11beeb90b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af19bf78fa32695ff3266f7817144d534"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af19bf78fa32695ff3266f7817144d534"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c0</b>:1</td></tr>
+<tr class="separator:af19bf78fa32695ff3266f7817144d534"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a201d80311b1db45a5be5f8f15c2d1fce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a201d80311b1db45a5be5f8f15c2d1fce"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c1</b>:1</td></tr>
+<tr class="separator:a201d80311b1db45a5be5f8f15c2d1fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af62353204ff783dca725ecb17e1be6ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af62353204ff783dca725ecb17e1be6ef"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c2</b>:1</td></tr>
+<tr class="separator:af62353204ff783dca725ecb17e1be6ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05ac5ed449c60006c191d62dbc67e4c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05ac5ed449c60006c191d62dbc67e4c9"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c3</b>:1</td></tr>
+<tr class="separator:a05ac5ed449c60006c191d62dbc67e4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a189aa548f04856f56c1178a1c5366537"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a189aa548f04856f56c1178a1c5366537"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c4</b>:1</td></tr>
+<tr class="separator:a189aa548f04856f56c1178a1c5366537"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1e3617efc9dc608c1ede8fda0190bbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1e3617efc9dc608c1ede8fda0190bbf"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c5</b>:1</td></tr>
+<tr class="separator:ad1e3617efc9dc608c1ede8fda0190bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a192ea23edbf6c67b74049484ca13375a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a192ea23edbf6c67b74049484ca13375a"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c6</b>:1</td></tr>
+<tr class="separator:a192ea23edbf6c67b74049484ca13375a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5215342ef5fbc83a2df41951b19ccd85"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5215342ef5fbc83a2df41951b19ccd85"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>c7</b>:1</td></tr>
+<tr class="separator:a5215342ef5fbc83a2df41951b19ccd85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7fd6345e61292153ff4c7fae931ca384"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fd6345e61292153ff4c7fae931ca384"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d0</b>:1</td></tr>
+<tr class="separator:a7fd6345e61292153ff4c7fae931ca384"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e70209d350d5da5d7acc1a3df93bd91"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e70209d350d5da5d7acc1a3df93bd91"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d1</b>:1</td></tr>
+<tr class="separator:a6e70209d350d5da5d7acc1a3df93bd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac575c15de0020328034d288b0e9db866"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac575c15de0020328034d288b0e9db866"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d2</b>:1</td></tr>
+<tr class="separator:ac575c15de0020328034d288b0e9db866"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adae47f7ddd57c1e2a1191e6f7a0b4146"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adae47f7ddd57c1e2a1191e6f7a0b4146"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d3</b>:1</td></tr>
+<tr class="separator:adae47f7ddd57c1e2a1191e6f7a0b4146"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af59d256057cfb1c1f18ef34e602755c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af59d256057cfb1c1f18ef34e602755c1"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d4</b>:1</td></tr>
+<tr class="separator:af59d256057cfb1c1f18ef34e602755c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bfc21fb276e8419953e836ad6e5efb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bfc21fb276e8419953e836ad6e5efb3"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d5</b>:1</td></tr>
+<tr class="separator:a3bfc21fb276e8419953e836ad6e5efb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11e81dc1eb753bbd1874177967fe808f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11e81dc1eb753bbd1874177967fe808f"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d6</b>:1</td></tr>
+<tr class="separator:a11e81dc1eb753bbd1874177967fe808f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a252ecdef790a6c2aa1de231f8912b7c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a252ecdef790a6c2aa1de231f8912b7c0"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>d7</b>:1</td></tr>
+<tr class="separator:a252ecdef790a6c2aa1de231f8912b7c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="bitswap_8h_source.html">bitswap.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/todo.html b/docs/3.1/todo.html
new file mode 100644
index 00000000..bc32fb8a
--- /dev/null
+++ b/docs/3.1/todo.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Todo List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">Todo List </div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><dl class="reflist">
+<dt><a class="anchor" id="_todo000001"></a>Member <a class="el" href="class_c_fast_l_e_d.html#a61d27e179c9b68bde89d220aebc0de32">CFastLED::countFPS</a> (int nFrames=25)</dt>
+<dd>make this a rolling counter <dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">nFrames</td><td>- how many frames to time for determining FPS </td></tr>
+ </table>
+ </dd>
+</dl>
+</dd>
+</dl>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/union_i_e_e_e754binary32__t-members.html b/docs/3.1/union_i_e_e_e754binary32__t-members.html
index a35a4887..a66b68de 100644
--- a/docs/3.1/union_i_e_e_e754binary32__t-members.html
+++ b/docs/3.1/union_i_e_e_e754binary32__t-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/union_i_e_e_e754binary32__t.html b/docs/3.1/union_i_e_e_e754binary32__t.html
index 4e0f0a90..652a42e1 100644
--- a/docs/3.1/union_i_e_e_e754binary32__t.html
+++ b/docs/3.1/union_i_e_e_e754binary32__t.html
@@ -99,48 +99,48 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>i</b></td></tr>
<tr class="memitem:aab5cc664d19fbca45bc9d4af1758ee7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab5cc664d19fbca45bc9d4af1758ee7f"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>f</b></td></tr>
<tr class="separator:aab5cc664d19fbca45bc9d4af1758ee7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af4eacb39a35a3b64e32d174c57a14e96"><td class="memItemLeft" ><a class="anchor" id="af4eacb39a35a3b64e32d174c57a14e96"></a>
+<tr class="memitem:a402b2b73e52027d365ab0c83c6195768"><td class="memItemLeft" ><a class="anchor" id="a402b2b73e52027d365ab0c83c6195768"></a>
struct {</td></tr>
-<tr class="memitem:ab4e550a7105fbd1e39f3af588a1db07d"><td class="memItemLeft" >
+<tr class="memitem:aa99081b8f1b9bccdccc76db6a5ce1a7e"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>mantissa</b>: 23</td></tr>
-<tr class="separator:ab4e550a7105fbd1e39f3af588a1db07d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ddc8cc27bd27b025913c2aa899e4ba9"><td class="memItemLeft" >
+<tr class="separator:aa99081b8f1b9bccdccc76db6a5ce1a7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff51733c00d7317e4920ae621ba3895f"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>exponent</b>: 8</td></tr>
-<tr class="separator:a9ddc8cc27bd27b025913c2aa899e4ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a78fea2352d3764d8f191f446e75b67ed"><td class="memItemLeft" >
+<tr class="separator:aff51733c00d7317e4920ae621ba3895f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1e3fe410546c4110cd9653019d15af3"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>signbit</b>: 1</td></tr>
-<tr class="separator:a78fea2352d3764d8f191f446e75b67ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af4eacb39a35a3b64e32d174c57a14e96"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:af4eacb39a35a3b64e32d174c57a14e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a32289857484f4dafe3b8a163558d16fe"><td class="memItemLeft" ><a class="anchor" id="a32289857484f4dafe3b8a163558d16fe"></a>
+<tr class="separator:ad1e3fe410546c4110cd9653019d15af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a402b2b73e52027d365ab0c83c6195768"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a402b2b73e52027d365ab0c83c6195768"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3345ca6c497eed2d9ba568aa1f483b5"><td class="memItemLeft" ><a class="anchor" id="ab3345ca6c497eed2d9ba568aa1f483b5"></a>
struct {</td></tr>
-<tr class="memitem:a9676f5f4f1beab483438a7c432fba121"><td class="memItemLeft" >
+<tr class="memitem:a77101a13bddb13555165c6b600d2accf"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>mant7</b>: 7</td></tr>
-<tr class="separator:a9676f5f4f1beab483438a7c432fba121"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a31351462e7863059c84a933ae91dbd0c"><td class="memItemLeft" >
+<tr class="separator:a77101a13bddb13555165c6b600d2accf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8605611969929487b60533b3a52aac36"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>mant16</b>: 16</td></tr>
-<tr class="separator:a31351462e7863059c84a933ae91dbd0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ebb98fab26b6ab6f8ae20ae967107c4"><td class="memItemLeft" >
+<tr class="separator:a8605611969929487b60533b3a52aac36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6b12d336017180efea8cce2b790c978"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>exp_</b>: 8</td></tr>
-<tr class="separator:a0ebb98fab26b6ab6f8ae20ae967107c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a019eecb15b02b02e605105fa5564e807"><td class="memItemLeft" >
+<tr class="separator:af6b12d336017180efea8cce2b790c978"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed828e90412aff92ab7fc6a8f3002c1d"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>sb_</b>: 1</td></tr>
-<tr class="separator:a019eecb15b02b02e605105fa5564e807"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a32289857484f4dafe3b8a163558d16fe"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a32289857484f4dafe3b8a163558d16fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a402b2b73e52027d365ab0c83c6195768"><td class="memItemLeft" ><a class="anchor" id="a402b2b73e52027d365ab0c83c6195768"></a>
+<tr class="separator:aed828e90412aff92ab7fc6a8f3002c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3345ca6c497eed2d9ba568aa1f483b5"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:ab3345ca6c497eed2d9ba568aa1f483b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e0fbdfa71dcdbc86e7f4324ae3d3e86"><td class="memItemLeft" ><a class="anchor" id="a0e0fbdfa71dcdbc86e7f4324ae3d3e86"></a>
struct {</td></tr>
-<tr class="memitem:a0ca10525e24733eb09743d81d3758b16"><td class="memItemLeft" >
+<tr class="memitem:a07531c1ea4dc07a40e40d90ca493c53d"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>mant_lo8</b>: 8</td></tr>
-<tr class="separator:a0ca10525e24733eb09743d81d3758b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8250f923840e9a170762557cbbcd43ad"><td class="memItemLeft" >
+<tr class="separator:a07531c1ea4dc07a40e40d90ca493c53d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4e4399d5a944ad5496e4ac708483125"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>mant_hi16_exp_lo1</b>: 16</td></tr>
-<tr class="separator:a8250f923840e9a170762557cbbcd43ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c3c910b75612bfe7361ac49a1580577"><td class="memItemLeft" >
+<tr class="separator:ad4e4399d5a944ad5496e4ac708483125"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a784deaf1d8b9c2f32981a8b7c200a912"><td class="memItemLeft" >
&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>sb_exphi7</b>: 8</td></tr>
-<tr class="separator:a9c3c910b75612bfe7361ac49a1580577"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a402b2b73e52027d365ab0c83c6195768"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a402b2b73e52027d365ab0c83c6195768"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a784deaf1d8b9c2f32981a8b7c200a912"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e0fbdfa71dcdbc86e7f4324ae3d3e86"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a0e0fbdfa71dcdbc86e7f4324ae3d3e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this union was generated from the following file:<ul>
<li><a class="el" href="lib8tion_8h_source.html">lib8tion.h</a></li>
@@ -148,7 +148,7 @@ struct {</td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 29 2014 22:13:42 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
diff --git a/docs/3.1/unionbitswap__type-members.html b/docs/3.1/unionbitswap__type-members.html
new file mode 100644
index 00000000..a2af39c6
--- /dev/null
+++ b/docs/3.1/unionbitswap__type-members.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">bitswap_type Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="unionbitswap__type.html">bitswap_type</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a</b> (defined in <a class="el" href="unionbitswap__type.html">bitswap_type</a>)</td><td class="entry"><a class="el" href="unionbitswap__type.html">bitswap_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>b</b> (defined in <a class="el" href="unionbitswap__type.html">bitswap_type</a>)</td><td class="entry"><a class="el" href="unionbitswap__type.html">bitswap_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bytes</b> (defined in <a class="el" href="unionbitswap__type.html">bitswap_type</a>)</td><td class="entry"><a class="el" href="unionbitswap__type.html">bitswap_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>word</b> (defined in <a class="el" href="unionbitswap__type.html">bitswap_type</a>)</td><td class="entry"><a class="el" href="unionbitswap__type.html">bitswap_type</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/unionbitswap__type.html b/docs/3.1/unionbitswap__type.html
new file mode 100644
index 00000000..8b37857e
--- /dev/null
+++ b/docs/3.1/unionbitswap__type.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: bitswap_type Union Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="unionbitswap__type-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">bitswap_type Union Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a2d1f4e8932378c4519158248150d11b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d1f4e8932378c4519158248150d11b8"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>word</b> [2]</td></tr>
+<tr class="separator:a2d1f4e8932378c4519158248150d11b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabab33af46370b5de438c01670d0e2cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabab33af46370b5de438c01670d0e2cb"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>bytes</b> [8]</td></tr>
+<tr class="separator:aabab33af46370b5de438c01670d0e2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5fc81de9de820f7ede4e5751593956d"><td class="memItemLeft" ><a class="anchor" id="af5fc81de9de820f7ede4e5751593956d"></a>
+struct {</td></tr>
+<tr class="memitem:a8caff9ca9c436a806123c320efe01e12"><td class="memItemLeft" >
+&#160;&#160;&#160;<a class="el" href="structsub4.html">sub4</a>&#160;&#160;&#160;<b>a</b></td></tr>
+<tr class="separator:a8caff9ca9c436a806123c320efe01e12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a160afb9bbd4132d6d47cf4453d625183"><td class="memItemLeft" >
+&#160;&#160;&#160;<a class="el" href="structsub4.html">sub4</a>&#160;&#160;&#160;<b>b</b></td></tr>
+<tr class="separator:a160afb9bbd4132d6d47cf4453d625183"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5fc81de9de820f7ede4e5751593956d"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:af5fc81de9de820f7ede4e5751593956d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this union was generated from the following file:<ul>
+<li><a class="el" href="bitswap_8h_source.html">bitswap.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/unionjust8bits-members.html b/docs/3.1/unionjust8bits-members.html
new file mode 100644
index 00000000..ac8136a8
--- /dev/null
+++ b/docs/3.1/unionjust8bits-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">just8bits Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="unionjust8bits.html">just8bits</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a0</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a1</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a2</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a3</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a4</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a5</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>a6</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>a7</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>raw</b> (defined in <a class="el" href="unionjust8bits.html">just8bits</a>)</td><td class="entry"><a class="el" href="unionjust8bits.html">just8bits</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/unionjust8bits.html b/docs/3.1/unionjust8bits.html
new file mode 100644
index 00000000..54b86429
--- /dev/null
+++ b/docs/3.1/unionjust8bits.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: just8bits Union Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="unionjust8bits-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">just8bits Union Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:abec3634476280a30569fd77b6d80be31"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abec3634476280a30569fd77b6d80be31"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>raw</b></td></tr>
+<tr class="separator:abec3634476280a30569fd77b6d80be31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f12e803efac14c0cd99d106cb38a8ae"><td class="memItemLeft" ><a class="anchor" id="a2f12e803efac14c0cd99d106cb38a8ae"></a>
+struct {</td></tr>
+<tr class="memitem:a3843805375c474689cd9d63f5c71e621"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a0</b>:1</td></tr>
+<tr class="separator:a3843805375c474689cd9d63f5c71e621"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1dab246dd9d35f9471278b2267e895b8"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a1</b>:1</td></tr>
+<tr class="separator:a1dab246dd9d35f9471278b2267e895b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3d9ec009920a8361f7fdc41849b2fc8"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a2</b>:1</td></tr>
+<tr class="separator:ac3d9ec009920a8361f7fdc41849b2fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c59242ab4bf074abaa4caa55421b26e"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a3</b>:1</td></tr>
+<tr class="separator:a3c59242ab4bf074abaa4caa55421b26e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a668b4990b4826eff0eacba25a7856b2c"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a4</b>:1</td></tr>
+<tr class="separator:a668b4990b4826eff0eacba25a7856b2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf2b4566f5acfca9079786c344d4bb62"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a5</b>:1</td></tr>
+<tr class="separator:abf2b4566f5acfca9079786c344d4bb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa40fb39bb8ef28d129dcd70f30b81141"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a6</b>:1</td></tr>
+<tr class="separator:aa40fb39bb8ef28d129dcd70f30b81141"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b1ed2646d9c1af23b1513b7e05698d0"><td class="memItemLeft" >
+&#160;&#160;&#160;uint32_t&#160;&#160;&#160;<b>a7</b>:1</td></tr>
+<tr class="separator:a7b1ed2646d9c1af23b1513b7e05698d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f12e803efac14c0cd99d106cb38a8ae"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a2f12e803efac14c0cd99d106cb38a8ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this union was generated from the following file:<ul>
+<li><a class="el" href="bitswap_8h_source.html">bitswap.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/uniont_bytes_for_long-members.html b/docs/3.1/uniont_bytes_for_long-members.html
new file mode 100644
index 00000000..6b1c1031
--- /dev/null
+++ b/docs/3.1/uniont_bytes_for_long-members.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">tBytesForLong Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="uniont_bytes_for_long.html">tBytesForLong</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_long</b> (defined in <a class="el" href="uniont_bytes_for_long.html">tBytesForLong</a>)</td><td class="entry"><a class="el" href="uniont_bytes_for_long.html">tBytesForLong</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>raw</b> (defined in <a class="el" href="uniont_bytes_for_long.html">tBytesForLong</a>)</td><td class="entry"><a class="el" href="uniont_bytes_for_long.html">tBytesForLong</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>
diff --git a/docs/3.1/uniont_bytes_for_long.html b/docs/3.1/uniont_bytes_for_long.html
new file mode 100644
index 00000000..0c96b972
--- /dev/null
+++ b/docs/3.1/uniont_bytes_for_long.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.8"/>
+<title>FastLED: tBytesForLong Union Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">FastLED
+ &#160;<span id="projectnumber">3.1</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.8 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="uniont_bytes_for_long-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">tBytesForLong Union Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ad4c360b406149839c91f36ae19a61acf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4c360b406149839c91f36ae19a61acf"></a>
+unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>_long</b></td></tr>
+<tr class="separator:ad4c360b406149839c91f36ae19a61acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2eb9fa677e575e2b0b9c63b4e15b80f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eb9fa677e575e2b0b9c63b4e15b80f2"></a>
+uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>raw</b> [4]</td></tr>
+<tr class="separator:a2eb9fa677e575e2b0b9c63b4e15b80f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this union was generated from the following file:<ul>
+<li>wiring.cpp</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Nov 30 2014 21:18:45 for FastLED by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.8
+</small></address>
+</body>
+</html>